Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 718

 
Artyom Trishkin:

Ошибка 1 - это нет ошибки, но результат неизвестен. Дело в том, что вы пытаетесь модифицировать стоп на ту же цену, на которой он уже стоит. Перед модификацией сравнивайте цену стопа с ценой, на которую хотите его установить. Если он уже стоит на этой цене, то и модифицировать нечего.

А там есть такое, или что-то не так?

 
Andrey Sokolov:

А там есть такое, или что-то не так?

Там нет такого. Тогда вопрос: вы написали ...

Сделал функцию, которая при достижении ордером ... ... ...

... зачем тогда спрашиваете есть там такое или нету? Раз сами сделали - должны чётко осознавать что сделали. Или как? Я вот себе с трудом могу представить как делать что-то, не зная при этом что же я делаю...

 
Artyom Trishkin:

Там нет такого. Тогда вопрос: вы написали ...

... зачем тогда спрашиваете есть там такое или нету? Раз сами сделали - должны чётко осознавать что сделали. Или как? Я вот себе с трудом могу представить как делать что-то, не зная при этом что же я делаю...

 if (OrderStopLoss()!=OrderOpenPrice()

Нужно переместить сл на цену открытия, вот, проверяю что она не там. Что не так?

 
Andrey Sokolov:

Нужно переместить сл на цену открытия, вот, проверяю что она не там. Что не так?

А цена открытия ордера - это разве цена стопа?

 
Artyom Trishkin:

А цена открытия ордера - это разве цена стопа?

так если при модифи переносим сл на цену открытия, то разве нет?

 
Andrey Sokolov:

так если при модифи переносим сл на цену открытия, то разве нет?

А в следующий раз что будет?

 
Artyom Trishkin:

А в следующий раз что будет?

А в следующий раз не будет  OrderStopLoss()!=OrderOpenPrice() 

не?

 
coldunprofi:

Здравствуйте! Как сделать чтобы советник по внешним переменным открыл позиции заданного объема единичных ордеров обоих позиций, например

задано объем единичного ордера = 1.35 лота, общий объем открываемых позиций 500 лотов, эксперт открывает ордер бай объемом 1.35 лота, затем открывает сэлл ордер объемом 1.35 лота,

далее все повторяется пока не откроется 500 лотов бай и 500 лотов сэлл, причем так как количество лотов не кратно 1.35, то последний ордер должен быть меньше чем 1.35

Возьмите в CodeBase любую панель, разберитесь с исходником и теперь при появлении/внешних переменных пусть делает те-же действия что и по кнопкам. Будет просто периодичный опрос переменных (например в таймере) и эмуляция нажатия кнопки  
 
coldunprofi:

Здравствуйте! Как сделать чтобы советник по внешним переменным открыл позиции заданного объема единичных ордеров обоих позиций, например

задано объем единичного ордера = 1.35 лота, общий объем открываемых позиций 500 лотов, эксперт открывает ордер бай объемом 1.35 лота, затем открывает сэлл ордер объемом 1.35 лота,

далее все повторяется пока не откроется 500 лотов бай и 500 лотов сэлл, причем так как количество лотов не кратно 1.35, то последний ордер должен быть меньше чем 1.35

Привет. не проще это сделать вот так 

MathMin(Lot,500-(общий лот уже открытых ордеров))
где Lot например будет 1.35
 
Andrey Sokolov:

А в следующий раз не будет  OrderStopLoss()!=OrderOpenPrice() 

не?

Перед OrderModify() распечатайте значения цены открытия и новой цены стопа.

И своё неуважительное "не?" оставьте при себе если хотите помощь получить. Впрочем, я прямо в этой ветке выкладывал полностью рабочий шаблон для любого трала - можете поискать.

Причина обращения: