Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хвастаетесь? )
Либо показывайте код, либо закрывайте тему.
Код разбросан. Часть в советнике, часть в индикаторе. Полностью советник и индикатор выкладывать не буду. А если какой то конкретный кусок интересует могу выложить. Пишите, что конкретно надо.
Я просто не понимаю, зачем поддерживать ветку, если ваш вопрос уже решен, а остальные от обсуждения ничего не получат.
Предложил добавить конструктива )
Я просто не понимаю, зачем поддерживать ветку, если ваш вопрос уже решен, а остальные от обсуждения ничего не получат.
Предложил добавить конструктива )
Ладно, уговорили.) Выкладываю всё что касается перетаскивания SL. Для ТП я пока не делал, не особенно это пока нужно. Ну по аналогии сделать не проблема. Индикатор выкладываю полностью, а из советника выдернул всё, что касается перетаскивания SL. Нововведения языка не изучал, многое делаю по старинке, так что не обессудьте.
Код индикатора:
Куски из советника:
//+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Модификация одного предварительно выбранного ордера. | //+----------------------------------------------------------------------------+ //| Параметры: | //| pp - цена установки ордера | //| sl - ценовой уровень стопа | //| tp - ценовой уровень тейка | //| ex - дата истечения | //+----------------------------------------------------------------------------+ void ModifyOrder1(double pp=-1, double sl=0, double tp=0, datetime ex=0) { bool fm; color cl=IIFc(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP, clModifyBuy, clModifySell); double op, pa, pb, os, ot; int dg=MarketInfo(OrderSymbol(), MODE_DIGITS), er, it; if (pp<=0) pp=OrderOpenPrice(); if (sl<0 ) sl=OrderStopLoss(); if (tp<0 ) tp=OrderTakeProfit(); pp=NormalizeDouble(pp, dg); sl=NormalizeDouble(sl, dg); tp=NormalizeDouble(tp, dg); op=NormalizeDouble(OrderOpenPrice() , dg); os=NormalizeDouble(OrderStopLoss() , dg); ot=NormalizeDouble(OrderTakeProfit(), dg); if (pp!=op || sl!=os || tp!=ot) { for (it=1; it<=NumberOfTry; it++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break; while (!IsTradeAllowed()) Sleep(5000); RefreshRates(); fm=OrderModify(OrderTicket(), pp, sl, tp, ex, cl); if (fm) { PlaySound("wait.wav"); break; } else { er=GetLastError(); PlaySound("timeout.wav"); pa=MarketInfo(OrderSymbol(), MODE_ASK); pb=MarketInfo(OrderSymbol(), MODE_BID); Print("Error(",er,") modifying order: ",ErrorDescription(er),", try ",it); Print("Ask=",pa," Bid=",pb," sy=",OrderSymbol(), " op="+GetNameOP(OrderType())," pp=",pp," sl=",sl," tp=",tp); Sleep(1000*10); } } } }
Для ТП я пока не делал, не особенно это пока нужно.
Поэтому и появилась возможность тянуть цену открытия вверх и ставить СЛ в прибыли ;)
Спасибо за конструктив.
Поэтому и появилась возможность тянуть цену открытия вверх и ставить СЛ в прибыли ;)
Спасибо за конструктив.
А как это связано с тейкпрофитом?
Там ещё на всякий случай надо добавить одно условие в функции ModifYSL(double priceModifySL=0). Как говорится кашу маслом не испортишь.)
Нужно ввести ещё одну глобальную переменную для модификации ТР. Я же не зря назвал глобальную переменную "ModifySL" . А будет ещё GV "ModifyTP".
Да это понятно. Имеется в виду вот что: если у ордера нет стопа, то можно потащить линию самого ордера, и стоп будет выставлен туда, куда "притащим" линию. Это в случае, если нет обработки тейка. А если есть обработка и стопов, и тейков, но у ордера нет ни того, ни другого, то если потянуть линию ордера, то что устанавливать? Тейк или стоп?
Понял. Тогда либо делать дополнительно кнопки для задания вида модификации, либо сделать так как это делается на реальном графике. Первоначальным направлением движения от цены ордера определять, что должны вытащить ТП или SL.