初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1048

 

这里甚至写上了打印的内容



撰写了一篇文章,也许这将有助于http://recordit.co/ot9m4jpiws

 
Roman Sharanov:

这里甚至写上了打印的内容


关于修改请求的低调,实际上是不改变已经存在的水平。
 
Vladimir Karputov:
我不能在不实际改变已经存在的级别的情况下执行修改请求。

那么,是什么导致了这个错误?那就是我想把旧的止损点(本例中为零)放在止损点中。

我在记录上加了一个检查,如果同拍是一样的,那就不转了......但还是一样的

还是我必须对三通进行规范化处理,否则就无法检查?

 
Roman Sharanov:

那么,是什么导致了这个错误?那就是我想把旧的止损点(本例中为零)放在止损点中。

我在记录上加了一个检查,如果同拍是一样的,那就不转了......但还是一样的

或者我需要对TP进行规范化处理,否则它就无法检查?

该位置有这些站位:一个西瓜和三个甜瓜。你想换站,注意,你发了一个订单:一个西瓜和三个甜瓜。

也就是说,实际上没有变化的停止。
 
Vladimir Karputov:
该位置有这些站位:一个西瓜和三个甜瓜。你想换站,注意,你发了一个订单:一个西瓜和三个甜瓜。

因此,实际上没有任何变化的停止。

我明白了。那么我如何在不改变止损水平的情况下改变获利

 
Roman Sharanov:

明白了。那么我如何在不改变止损水平的情况下改变止盈

你什么都不懂。阅读关于西瓜和甜瓜的文章,直到它变得清晰。
 
Vladimir Karputov:
你什么都不懂。阅读关于西瓜和甜瓜的文章,直到清楚为止。

让我们从以下事实中抽象出我有

我有一个头寸,它在第5层取款,在第3层进场,在第2层止损。

我想在第6级上移动采取。

我如何做到这一点?

 
Roman Sharanov:

让我们从以下事实中抽象出我有

我有一个头寸,它在第5层取款,在第3层进场,在第2层止损。

我想在第6级上移动采取。

我如何做到这一点?

完整的代码。符号。时间框架。测试开始的日期。图(截图)。"日志 "选项卡的日志文件。
这是最低限度。
我正在等待,直到明天。
 

关于交易、自动交易系统和策略测试的论坛

初学者的常见问题 MQL5 MT5 MetaTrader 5

罗曼-沙拉诺夫, 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函数,但它说 "Man!PositionClose' - 该函数只能在全局范围内声明"。

我当时想,我的意思是这个同样的函数默认在#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);
   }
   
//---------- Закрываем позиции и удаляем ордера перед концом сессии энд