[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 943

 
         OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);    

我们还需要对这种关闭代码进行检查,如果它关闭了FALSE - 那么它将再次关闭。

最初有一个IF检查,如果它通过了OrderClose,也许把类似return(1);?

 

帮我一个忙。

检查为挂单设置的StopLoss和TakeProfit(不是点数,而是绝对价格)。 购货站 我把它写成如下。

if ((Bid-StopLoss)/Point < MarketInfo(Symbol(),MODE_STOPLEVEL))
      SL = NormalizeDouble((Bid - (MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)),Digits); // устанавливаем SL на минимально возможном уровне
         else SL = StopLoss;              // StopLoss - изначально заданный ценовой уровень
   if ((TakeProfit - Ask)/Point < MarketInfo(Symbol(),MODE_STOPLEVEL))
      TP = NormalizeDouble((Ask + (MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)),Digits); // устанавливаем ТР на минимально возможном уровне
         else TP = TakeProfit;            // TakeProfit - изначально заданный ценовой уровень
做得正确吗?
 

怎样才能使脚本要求输入参数?:)

也就是说,我希望用户在启动脚本时能够在相关的框中设置所需的参数,只是还找不到如何去做。

 
Mathers:

怎样才能使脚本要求输入参数?:)

也就是说,我希望用户在启动脚本时能够在相关的框中设置所需的参数,只是还找不到如何去做。

#property show_inputs
 
谢谢你
 
下午好,我是mql编程的新手,我不能把算法弄好。我是mql编程的新手,我不能正确地写它。我需要进入市场,比方说,以X的价格买入,并在相对于这个价格的X+50点和X+100点下两个买单。我想看看如何编写这样的程序代码。我花了很多时间自己研究mql4,但我不知道如何编程,这很难。但有一个疯狂的愿望:)。
 
这里有一个简单的例子...
附加的文件:
lywqkt.mq4  1 kb
 

请告知谁知道如何设置一个计时器--例如事件A发生了,5秒钟后,例如事件B发生了......。

谢谢你!

 
Lim1:

请告知谁知道如何设置一个计时器--例如事件A发生了,5秒钟后,例如事件B发生了......。

谢谢你!

sleep()函数 是交互式的,如果你不明白,可以在代码的任何地方输入,把光标放在上面,然后按F1(非常有用)。
 
if (OrderType() == OP_SELL) 
          {
            diff = OrderStopLoss()-Ask-Point*TrailingStop;
            if (diff>0) 
              {
                if (!OrderModify(OrderTicket(), OrderOpenPrice(), Ask+Point*TrailingStop,0,0))
                       Print("Error ", GetLastError(), ": Start()->OrderModify() [trailing stop]");
                else 
                       Print("Trailing stop on #", OrderTicket()," [place stop loss at ", 
                               Ask+Point*TrailingStop, "]");
              }
            return(0);
          }        
   if (OrderType() == OP_SELL) 
          {
            diff = OrderStopLoss()-Ask-Point*TrailingStop;
            if (diff>0) 
              {
                if (!OrderModify(OrderTicket(), OrderOpenPrice(), Ask+Point*TrailingStop,0,0))
                       Print("Error ", GetLastError(), ": Start()->OrderModify() [trailing stop]");
                else 
                       Print("Trailing stop on #", OrderTicket()," [place stop loss at ", 
                               Ask+Point*TrailingStop, "]");
              }
            return(0);
          }  
找到了TrailingStop的代码,但它不能正确工作,即Trailing相对于Tick图表不断移动...它没有拉升到所需的数值,而是向上摆动--上升,如果下降--下降......。
原因: