Подскажите код для советника для ТейкПрофита

 
Добрый день уважаемые форумчане. Подскажите код для советника для проверки выставления Тейк-профита? В Forex4you часто расширяют спред. Из-за этого не выставляется ТП и не пересчитывается и из за этого не высталяеться ордер. Заранее спасибо!!!!
 
Valsorya:
Добрый день уважаемые форумчане. Подскажите код для советника для проверки выставления Тейк-профита? В Forex4you часто расширяют спред. Из-за этого не выставляется ТП и не пересчитывается и из за этого не высталяеться ордер. Заранее спасибо!!!!
Пишите код, учитывая: "

Ограничение по минимальной дистанции StopLevel."

Пример, кода по отношению к стоп-лоссу есть в учебнике - ф-ия

Tral_Stop() (крайняя на страничке):

if (TralingStop<Level_new)          // Если меньше допустимого..
         TralingStop=Level_new;           // .. то допустимый
      TS=TralingStop*Point;               // То же в относит.знач.цены
 
Valsorya:
Добрый день уважаемые форумчане. Подскажите код для советника для проверки выставления Тейк-профита? В Forex4you часто расширяют спред. Из-за этого не выставляется ТП и не пересчитывается и из за этого не высталяеться ордер. Заранее спасибо!!!!

Там расширяют не спрэд на новостях, а стоплевел, это можно использовать и с пользой как новостной фильтр) если уровень стопов на счете NDD выше стандартных 20 на EURUSD, то можно не открывать сделку, если же открыться всеже невтерпеж, то можно в уровне TP учесть новый уровень стопов, он скачет 80-160-200 в зависимости от новостей, определить его можно командой. Также можно проверить если в ордере отсутсвует TP (по причине что ДЦ раздвинул стопы) то отслеживать позицию виртуально.

int stoplevel =  MarketInfo(Symbol(),MODE_STOPLEVEL);
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 06.08.2008                                                     |
//|  Описание : Возвращает цену TakeProfit последней открытой позиций или -1.  |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double TakeProfitLastPos (string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=-1;
  int      i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderTakeProfit();
              }
            }
          }
        }
      }
    }
  }
  return(r);
}
 

Спасибо проверим ))) Если пройдет отблагодарю, в долгу не останусь )))

Ордер высталяется но без Тейкпрофита, вот такая проблемка у меня. Я торгую Илан 1.6 Динамик если что,например я выставил Тейкпрофит  6 , а когда новость или еще какой нибудь скачек то разширяют ТП и робот не может установить ТП 6, а ордер открывается но без ТП, и из-за этого бывают проколы и ордер висит ((( в воздухе от остальной серии, а когда замечаешь то может уже и минус набежать по нему ((((.

 
Valsorya:

Спасибо проверим ))) Если пройдет отблагодарю, в долгу не останусь )))

Ордер высталяется но без Тейкпрофита, вот такая проблемка у меня. Я торгую Илан 1.6 Динамик если что,например я выставил Тейкпрофит  6 , а когда новость или еще какой нибудь скачек то разширяют ТП и робот не может установить ТП 6, а ордер открывается но без ТП, и из-за этого бывают проколы и ордер висит ((( в воздухе от остальной серии, а когда замечаешь то может уже и минус набежать по нему ((((.

Это О-О-ОЧЕНЬ малюсенький тэйк (это Вы потом поймёте), а пока можно использовать виртуальный ТэйкПрофит. Вот библиотека для его организации (этот вариант для разбирающихся в кодах), а можно просто парраллельно на график повесить этого советника, указав ему нужный виртуальный Тэйк. 

А работает виртуальный тэйк так: при достижении ордером намеченной прибыли, ордер закрывается. Никаких модификаций самого тэйкпрофита НЕ ПРОИСХОДИТ.