Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1048

 

Вот написал даже принты



Сделал запись, может это поможет http://recordit.co/ot9m4jpiws

 
Roman Sharanov:

Вот написал даже принты


Низзя выполнять запрос на модификацию фактически не меняю уже существующих уровней.
 
Vladimir Karputov:
Низзя выполнять запрос на модификацию фактически не меняю уже существующих уровней.

Так что вызывает ошибку? То что я пытаюсь в стоп подставить старый стоп (нулевой в этом случае)

На записи я добавил проверку, если тейк такой же, то не выполняется перенос...но все равно тоже самое

Или надо нормальзировать тейк, иначе не прозодит проверку?

 
Roman Sharanov:

Так что вызывает ошибку? То что я пытаюсь в стоп подставить старый стоп (нулевой в этом случае)

На записи я добавил проверку, если тейк такой же, то не выполняется перенос...но все равно тоже самое

Или надо нормальзировать тейк, иначе не прозодит проверку?

У позиции были такие стопы: один арбуз и три дыни. Вы хотите поменять стопы и, внимание, отсылаете приказ: один арбуз и три дыни. 

То есть фактически нет изменения стопов.
 
Vladimir Karputov:
У позиции были такие стопы: один арбуз и три дыни. Вы хотите поменять стопы и, внимание, отсылаете приказ: один арбуз и три дыни. 

То есть фактически нет изменения стопов.

Понял. Тогда как мне изменить то тейк профит, при этом не меняя уровня стопа?

 
Roman Sharanov:

Понял. Тогда как мне изменить то тейк профит, при этом не меняя уровня стопа?

Ничего Вы не поняли. Читать про арбузы и дыни пока не станет понятно.
 
Vladimir Karputov:
Ничего Вы не поняли. Читать про арбузы и дыни пока не станет понятно.

Абстрагируемся от того, что у меня

Есть позиция, ее тейк на уровне 5, ее вход на уровне 3, ее стоп на уровне 2

Я хочу переставить тейк на уровень 6

Как мне это сделать?

 
Roman Sharanov:

Абстрагируемся от того, что у меня

Есть позиция, ее тейк на уровне 5, ее вход на уровне 3, ее стоп на уровне 2

Я хочу переставить тейк на уровень 6

Как мне это сделать?

Полный код. Символ. Таймфрейм. Дата начала теста. График (скриншот). Лог-фал вкладки «Журнал».
Это минимум. 
Жду до завтра. 
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопросы от начинающих MQL5 MT5 MetaTrader 5

Roman Sharanov, 2019.05.23 09:43

void transposeTakeProfit(double tpLvl){
        for(int i = PositionsTotal() - 1; i >= 0; i--){
        PositionSelectByTicket(PositionGetTicket(i));
        if(PositionGetString(POSITION_SYMBOL) == _Symbol && PositionGetInteger(POSITION_MAGIC) == _magic){
                trade.PositionModify(PositionGetTicket(i), PositionGetDouble(POSITION_SL), tpLvl);
        }
   }
}

Ну вот здесь это происходит, открывается сделка, передается уровень, на который надо переместить все тейк, если есть другие сделки

Но это перваяделка, сразу идет в эту функцию и сразу ошибка


PositionSelectByTicket здесь абсолютно лишний. Достаточно оставить выделенное.

Чтобы не пытаться ставить стоп или тейк на ту цену где он уже поставлен надо сделать проверку, не совпадает-ли новый стоп\тейк со старым.

И надо понять сколько спредов является минимальным уровнем для постановки стопов.

 

Всем привет. Подскажите что за ерунда.

Пишу код на mql5, хочу воспользоваться функцией  PositionClose, а он мне - "Братан! 'PositionClose' - function can be declared only in the global scope "

Я такой, в смысле эта же функция по умолчанию находится в #include <Trade\Trade.mqh>


Проверил. Есть там такая.

Чего он выпендривается, чего ему надо, как закрыть позицию?


Сам код


string bumaga1 = "SBERP";
 int MinuteClose;
 
//---------- Закрываем позиции и удаляем ордера перед концом сессии старт
 MinuteClose =  MinuteMQL4();
 
 if (PositionSelect(bumaga1) && HOUR1 == 18 && MinuteClose > 15)
 {
                bool  PositionClose(bumaga1, 3);
 }
 
  if (!PositionSelect(bumaga1) && HOUR1 == 18)
  {
                                bool  OrderDelete(tik1);
   }
   
//---------- Закрываем позиции и удаляем ордера перед концом сессии энд
Причина обращения: