新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 137

 
FOTOGRAF14:

大家好!我怎么写我的病情!?我需要在价格超过止损距离后下一个止损单。

for Buy.....

如果( )

{

------------

}

for Sell.....


将STB转移到Breakeven的函数,订单票 和点位距离被传入函数中

void zero_profit(int ticket, int distance)
  {
   double sl=0.0;

   if(OrderSelect(ticket,SELECT_BY_TICKET))
     {
      if(OrderType()==OP_BUY)
        {
         if(Bid>=OrderOpenPrice() && Bid-OrderOpenPrice()>=distance*_Point) sl=OrderOpenPrice();
         if(OrderStopLoss()!=0 && OrderStopLoss()>=OrderOpenPrice())return;
        }
      if(OrderType()==OP_SELL)
        {
         if(Ask<=OrderOpenPrice() && OrderOpenPrice()-Ask>=distance*_Point) sl=OrderOpenPrice();
         if(OrderStopLoss()!=0 && OrderStopLoss()<=OrderOpenPrice())return;
        }
      ResetLastError();

      if(sl<=0)return;
      if(!OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0))
        {
         int error=GetLastError();
         rezult=StringConcatenate(OrderSymbol(),": error modifying StopLoss order ",OrderTicket()," ",TypeToStr(OrderType())," №- ",error);
         Print(rezult);
        }

     }
  }


...

 
Vitaly Muzichenko:

不会有任何绘画)

搜索逻辑本身很重,如何让它更容易--我还不知道。

维塔利,我原来想向你解释,不是计算拖累了测试人员,而是视觉测试 中的图形对象。按他建议的方式做

阿列克谢-科齐岑

你可以在指示器中滚动它,而不需要画图)。而且最好能做出选择。跳--画,跳--不画:)

并看到速度上的差异。

滞后的甚至不是绘图,只是图表上的图形存在。

 
Alexey Viktorov:

甚至不是画图拖累了事情,只是图表上有图形存在。

没有争论...这就是为什么我说,当我不需要它时,我就把它关掉(DRAW_NONE),就这样......而你可以访问这些值,都是一样的。
 
Alexey Viktorov:

维塔利,我最初试图向你解释,不是计算拖累了测试人员,而是视觉测试 中的图形对象。按他说的做

并看到速度上的差异。

滞后的甚至不是绘图,只是图表上的图形存在。

我测试功能时根本没有任何图形,做这个图只是为了在写代码时看一下计算的正确性--这纯粹是技术性的,早已从代码中删除。在测试期间,图表是空白的。

因此,当我没有功能时,测试就会 "飞 "起来,但连接功能--就会慢慢地进行。

P.S. 我原则上不需要图形对象。忘掉图形吧--我没有,也不会有!

 
Vitaly Muzichenko:

我测试函数时根本没有任何图表,做图表只是为了在写代码时看到计算的正确性--它曾经是纯技术性的,很早就从代码中删除了。在测试期间,图表是空白的。

因此,当我没有功能时,测试就会 "飞 "起来,但连接功能--就会慢慢地进行。

P.S. 我原则上不需要图形对象。忘掉图形吧--我没有,也不会有!

你看过这里 吗?
 
Artyom Trishkin:
你看过这里 吗?

很好,我将尝试把这些功能拉到EA中。我稍后将公布结果。

谢谢你!!!。

 
请帮助理解如何正确编写代码以获得4:00和15:00开盘的条形图的指数。
 
missha689:
请帮助我理解如何正确编写代码以获得4:00和15:00开盘的条形图的指数。

那是一个。

datetime some_time=D'2017.03.03 4:00';
  int      shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent());
  Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);

那是两个。

datetime some_time=D'2004.03.21 12:00';
  int      shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time);
  Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
Доступ к таймсериям и индикаторам - Справочник MQL4
Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Доступ к таймсериям и индикаторам - Справочник MQL4
 
Alexey Viktorov:

那是一个。

datetime some_time=D'2017.03.03 4:00';
  int      shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent());
  Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);

那是两个。

datetime some_time=D'2004.03.21 12:00';
  int      shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time);
  Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
我知道它被设置为一个特定的日期,但我如何设置昨天的柱状指数为15,今天的柱状指数为4呢?
 
你能告诉我如何以编程方式找出昨天的日期和时间吗?
原因: