Автор |
Сообщение |
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
Вводная: есть система на минутном тайм-фрейме, которая колбасит себе и колбасит, но очень сильно запаздывает на выходе bp gjpbwbb после сильного движения, хотя в 50% случаев это и приводит к тому, что ловится еще большее движение (но это уже частности!).
Пожелания: хотелось бы понять, как можно прописать в системе условие, при котором половина позиции закрывалась бы при достижении некоторого заранее заданного уровня (скажем - 500 пунктов).
Главный трабл: хотелось бы, чтобы при поступлении следующего сигнала, система открывала позицию в прежнем объеме.
Код: |
short=sell;
cover=buy; |
Просьба: подскажите пожалуйста код или место, где можно посмотреть!
Заранее спасибо! |
_________________ Мой блог: http://analyseman.blogspot.com/ |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Вообще это не просто. Я бы сказал очень не просто. А псмотреть надо в сторону SigScaleIn SigScaleOut и в хелпере главу Pyramiding (scaling in/out) and mutliple currencies in the portfolio backtester |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Tsch писал(а): |
А через АА - там же вроде есть что-то про ТП и СЛ? |
Имееш ввиду в настройках?
Есть. Только те стопы и профиты закрывают позицию полностью.
Я бы начал писать цикл с полным контролем, что сейчас открыто, По какой цене... И в нем реализовывал бы добавление/сокращение позиции... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
Примерно такого ответа я и ожидал, и боялся! Честно говоря надеялся, что есть простой ответ! Ладно, будем думать на эту тему! |
_________________ Мой блог: http://analyseman.blogspot.com/ |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
BabyBear
Советник
Зарегистрирован: 10.12.2008
Сообщения: 53
|
Tsch писал(а): |
Вводная: есть система на минутном тайм-фрейме, которая колбасит себе и колбасит, но очень сильно запаздывает на выходе bp gjpbwbb после сильного движения, хотя в 50% случаев это и приводит к тому, что ловится еще большее движение (но это уже частности!).
Пожелания: хотелось бы понять, как можно прописать в системе условие, при котором половина позиции закрывалась бы при достижении некоторого заранее заданного уровня (скажем - 500 пунктов).
Главный трабл: хотелось бы, чтобы при поступлении следующего сигнала, система открывала позицию в прежнем объеме.
Код: |
short=sell;
cover=buy; |
Просьба: подскажите пожалуйста код или место, где можно посмотреть!
Заранее спасибо! |
создай новую тему в разделе http://amisite.ru/phpBB2/viewforum.php?f=18
опиши полностью все условия системы. я напишу как это можно сдеать.
когда создашь тему, напиши мне в личку, а то я тут редко |
|
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
Tsch
Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск
|
Спасибо за желание помочь, но я еще сам по*бусь и Олегу мозг по*бу, потом пойму, что надо было сразу на помощь соглашаться и обращусь, но это чуть позже! |
_________________ Мой блог: http://analyseman.blogspot.com/ |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
BabyBear
Советник
Зарегистрирован: 10.12.2008
Сообщения: 53
|
пришло такое письмо
Цитата: |
Покупаем на весь текущий депозит 100%.
Продаем в два этапа. На продажу всего два сигнала.
На первом Sell – выходим 50% от депо, на втором Sell – оставшимися (в
данном случае 50%).
|
Код: |
// сигнал на отркрытие лонга
Buy[ BarCount - 75] = 1;
// сигнал на закрытие части лонга
Buy[ BarCount - 50] = sigScaleOut;
// сигнал на закрытие лонга
Sell[ BarCount - 25] = 1;
// чиста для порядку
Short = 0;
Cover = 0;
// так указывается , какую часть лонга закрывать
SetPositionSize( 50, spsPercentOfPosition * ( Buy == sigScaleOut ) );
// всё это рисуем на
Plot( Close, "", colorBlack, styleCandle);
PlotShapes( (Buy == 1) * shapeUpArrow, colorBrightGreen, 0, L);
PlotShapes( (Buy == sigScaleIn) * shapeSmallUpTriangle, colorBrightGreen, 0, L);
PlotShapes( (Buy == sigScaleOut) * shapeHollowSmallDownTriangle, colorRed, 0, H);
PlotShapes( (Short == 1) * shapeDownArrow, colorRed, 0, H);
PlotShapes( (Short == sigScaleIn) * shapeSmallDownTriangle, colorRed, 0, H);
PlotShapes( (Short == sigScaleOut) * shapeHollowSmallUpTriangle, colorBrightGreen, 0, L);
PlotShapes( (Sell == 1) * shapeDownArrow, colorYellow, 0, H + 10 * TickSize);
PlotShapes( (Sell == 2) * shapeHollowDownArrow, colorYellow, 0, H + 10 * TickSize); // stop
PlotShapes( (Sell == 3) * shapeHollowDownArrow, colorYellow, 0, H + 10 * TickSize); // limit
PlotShapes( (Cover == 1) * shapeUpArrow, colorGreen, 0, L - 10 * TickSize);
PlotShapes( (Cover == 2) * shapeHollowUpArrow, colorGreen, 0, L - 10 * TickSize); // stop
PlotShapes( (Cover == 3) * shapeHollowUpArrow, colorGreen, 0, L - 10 * TickSize); // limit
|
Для особо внимательных замечу, что закрытие части лонга вполне может вычисляться по цене BuyPrice
И еще. в табличке (не помню как называется) это будет одна строка. Прибыль будет верная, а лот или цена покупки изменятся. обратите внимание.
когда мы с 000 с этим копались, писали ветку http://forex.kbpauk.ru/showflat.php/Cat/0/Number/122474/an/0/page/0#Post122474 |
|
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
АС
Зарегистрирован: 03.04.2016
Сообщения: 2
|
В справке нашел пример как выходить 2-мя частями без цикла. Но, при вставленном коде Equity(1), sigScaleOut не работает! А Equity(1) мне нужен для корректного отображения трейл-стопа. Собственно код:
Код: |
InLong = Flip(Buy, Sell);
DoScaleOut = ExRem(InLong AND (H-ValueWhen(Buy, BuyPrice))>(LongRisk+50), Sell);
Buy = Buy+sigScaleOut*DoScaleOut;
BuyPrice = IIf(Buy==sigScaleOut, ValueWhen(Buy, BuyPrice)+LongRisk+50, C);
SetPositionSize(2, spsShares);
SetPositionSize(1, spsShares*(Buy==sigScaleOut));
PlotShapes(Buy*shapeSmallUpTriangle, colorBlue, 0, Valuewhen(Buy, BuyPrice), Offset = -9);
PlotShapes(Sell*shapeSmallCircle, colorRed, 0, Valuewhen(Sell, SellPrice), Offset = 0);
Plot(IIf(Sell, LongStop, Null), "", colorRed, styleStaircase+styleThick+styleNoLabel);
LongStopLine = IIf(InLong, LongStop, Null);
Plot(LongStopLine, "", colorRed, styleStaircase+styleDashed+styleNoLabel); |
Хочется чтобы и sigScaleOut работал и корректно отображался стоп. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А куда ты там Equity() ставишь?
Надо сперва стоп и эквити а уже потом городить частичный выход. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
АС
Зарегистрирован: 03.04.2016
Сообщения: 2
|
Ага, сейчас все нормально. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|