Скачать MetaTrader 5

Минимально допустимый уровень стоп-лосса/тейк-профита

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Создавай интересные темы на форуме по автоматическому трейдингу!
first_may
326
first_may 2011.07.26 12:26 

Здравствуйте, подскажите пожалуйста, как правильно пользоваться минимальным допустимым уровнем стоп-лосса/тейк-профита в пунктах. Я написал следующее:

int MinLot=MarketInfo(Symbol(),MODE_MINLOT); - минимальный размер лота

double VMin=MarketInfo(Symbol(),MODE_POINT)*MarketInfo(Symbol(),MODE_STOPLEVEL); - минимально допустимый уровень стоп-лосса/тейк-профита в валюте котировки

double VStopLossLong=Ask- VMin ; - уровень стоп-лосса
double VTakeProfitLong=Ask+ VMin ; - уровень тейк-профита

int ticket=OrderSend(Symbol(),OP_BUY,MinLot,Ask,0,VStopLossLong,VTakeProfitLong,"BUY: min",16381,0,Green);

Но ордер не выставляется :(. Заранее спасибо.

Cmu4
1227
Cmu4 2011.07.26 12:48  
В некоторых ДЦ не возвращается значение минимального уровня. Проверьте через Print () или Comment().
first_may
326
first_may 2011.07.26 12:53  

Проверил, возвращает, допустим MarketInfo(Symbol(),MODE_POINT)=0,01, а MarketInfo(Symbol(),MODE_STOPLEVEL)=30. Но ордер не ставиться.

А вообще, если я хотел установить минимальные значения, то написал по логике правильно?

И второе, если этот вариант не работает, то как можно установить по другому минимальные значение?

first_may
326
first_may 2011.07.26 13:10  
Профи, подскажите же пожалуйста, как установить миниальный стоп-лосс? Мне кажется здесь ничего тайного нет, если Вы поделитесь свои опытом. По логике же вроде написано все верно, н опочему ордер не выставляется?
Boris
3901
Boris 2011.07.26 13:14  
int init()
{
  StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL);
  if(TP < StopLevel) TP = StopLevel;
  if(SL < StopLevel) SL = StopLevel;
  return(0);
}
И Трал и любое другое также... Удачи!
Cmu4
1227
Cmu4 2011.07.26 13:18  
first_may:
Профи, подскажите же пожалуйста, как установить миниальный стоп-лосс? Мне кажется здесь ничего тайного нет, если Вы поделитесь свои опытом. По логике же вроде написано все верно, н опочему ордер не выставляется?
У вас косяк в переменной MinLot - тип должен быть double (а у вас в коде int).
first_may
326
first_may 2011.07.26 13:26  
Cmu4:
У вас косяк в переменной MinLot - тип должен быть double (а у вас в коде int).


Возможно, сейчас проверю.
first_may
326
first_may 2011.07.26 13:41  
Cmu4:
У вас косяк в переменной MinLot - тип должен быть double (а у вас в коде int).


Проверил, дело не в этом :(.
first_may
326
first_may 2011.07.26 13:43  
borilunad:
И Трал и любое другое также... Удачи!


StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL); - для примера я показал, что MarketInfo(Symbol(),MODE_POINT)=0,01, а MarketInfo(Symbol(),MODE_STOPLEVEL)=30. Для данного значение ордер выставился, но насколько я понимаю, 30 - это не минимальное значение стопа.

Boris
3901
Boris 2011.07.26 13:45  
first_may:


Проверил, дело не в этом :(.

Лот должен быть double, остальное смотрите выше!
Boris
3901
Boris 2011.07.26 13:49  
first_may:


StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL); - для примера я показал, что MarketInfo(Symbol(),MODE_POINT)=0,01, а MarketInfo(Symbol(),MODE_STOPLEVEL)=30. Для данного значение ордер выставился, но насколько я понимаю, 30 - это не минимальное значение стопа.


В любой момент может меняться. Поэтому перед нормализацией поставьте RefreshRates();
12345
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий