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

 
Volodymyr Zubov #:

总是要考虑断电等问题......

历史上的EA应该在任何时候都能配置和工作。

这时的机器人是一个真正的工作交易系统。对初学者来说,现在还为时过早。他们需要规定一个基本的算法,并测试交易系统,作为一个开始。

 
законопослушный гражданин 可能造成的数据损失


double openPrice()
  {
   double OP = dMA;
   if (GetLotSize()>LotControl) OP = dMA + Deviation * _Point;
   return(OP);
  }
 
Nerd Trader #:

通过画图和删除,在按下一个按钮后使一条线跟随鼠标光标。

也许有另一种方法?因为处理器冷却器开始发出噪音 :)

很好。删除,创建。创建,删除。还有,为什么CPU会发出噪音...:)

但我们不会打开文档,阅读ObjectSetInteger和ObjectSetDouble 这样漂亮的函数 ...

 
Nerd Trader #:

通过画图和删除,在按下一个按钮后使一条线跟随鼠标光标。

也许有另一种方法?处理器冷却器开始有噪音了 :)

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {    
   if(ObjectGetInteger(0,"button_bs",OBJPROP_STATE))
     {
      int      x     =(int)lparam;
      int      y     =(int)dparam;
      datetime dt    =0;
      double   price =0;
      int      window=0;
     
      if(id == CHARTEVENT_MOUSE_MOVE)
        {
         if(ChartXYToTimePrice(0,x,y,window,dt,price))
           {
            if(ObjectMove(0,"H Line",window,dt,price))
              {
               ChartRedraw(0);
              }
           }
        }
     }
   else
     {
      ObjectDelete(0,"H Line");
     }
  }
 
MakarFX #:
ObjectMove是移位,而不是设置新坐标......?至少文件中说它是这样的...
 
MakarFX #:

正是我所需要的,谢谢你。


Mihail Matkovskij#:

这很好。删除,创建。创建,删除。还有,为什么CPU会发出噪音...:)

但我们不会打开文档并阅读ObjectSetInteger和ObjectSetDouble 这样的好函数......

我非常理解为什么CPU会被聪明地加载。当他们把google搜索放到*.chm中时,你就会写出我打开的内容和我不读的地方。

 
Nerd Trader #:

正是我所需要的,谢谢你。


我清楚地知道为什么CPU正在加载,聪明的家伙。当他们把谷歌搜索放在*.chm中时,那么你可以给我写上我打开的内容和我不读的地方。

什么谷歌搜索?:)

https://www.mql5.com/ru/docs/objects

Документация по MQL5: Графические объекты
Документация по MQL5: Графические объекты
  • www.mql5.com
Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
从鼠标移动事件中删除了线的创建,仍然没有好转--冷却器很吵,我想这是应该的。
   if(ObjectGetInteger(0,"button_bs",OBJPROP_STATE)){
      int      x     =(int)lparam;
      int      y     =(int)dparam;
      datetime dt    =0;
      double   price =0;
      int      window=0;

      if(ChartXYToTimePrice(0,x,y,window,dt,price)){
        ObjectCreate(0,"H Line",OBJ_HLINE,window,dt,price);
        if(id == CHARTEVENT_MOUSE_MOVE)
          if(ObjectMove(0,"H Line",window,dt,price))
            ChartRedraw(0);
      }
      else{
        ObjectDelete(0,"H Line");
      }
  }
 
Nerd Trader #:
从鼠标移动事件中删除了线的创建,尽管如此,它并没有变得更好--冷却器很吵,我想它应该是这样。

然后,除尘、润滑轴承、更换散热膏......。:)

 
Mihail Matkovskij #:

然后,除尘、润滑轴承、更换散热膏......。:)

但说真的,ChartRedraw每秒钟被调用超过24次......

还有ObjectCreate!恐怖的是...