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

 
MakarFX:

我认为它应该是这样的

如果我们每次都在OnTick()中创建一个新对象,那么前一个tick的时间将不会被保存在任何地方。
创建全局对象的全部意义在于存储前一个tick的时间,将其与新tick的时间相比较,我们就会知道是否有一个新的bar...

 
MakarFX:
为什么我们需要NB_M1这个变量?
它的唯一目的是存储每个符号和时间框架的最后处理时间:
protected:
   datetime          m_TOld;        // Время хранится 
   ENUM_TIMEFRAMES   m_TimeFrame;   //    для каждого таймфрейма
   string            m_Symbol;      //    каждого символа

 
Mikhail Tkachev:
class CIsNewBar

返回true/false , 我们谈论的是什么时间?

 
MakarFX:

试试吧,在测试器中是可以的。

不,不是这样的。 现在它一次打开和关闭一个合同。

这个想法正是在追踪时多开一份合同,追踪止损被布瑞克连带拉高。

它顺从地做这一切。但我看到的缺点是,在止损=150点,获利=500点的情况下,它开出了5个合同,而且还经常拉动止损。
然而,我注意到,买入五份合同会导致入市 价格下降,因此,风险/利润率要高得多。
正因为如此,我想让它跟踪一个合同,它最多拉到两个合同的获利,而跟踪止损最多配合五次。
正因为如此,我的机器人中出现了追踪订单(额外买入和额外卖出)和追踪(追踪止损)。
 
Eugen8519:
不,不是这样的,它每次开仓和平仓都是一个合同。

我们的想法是,追踪合同将开出一个额外的合同,追踪止损将被拉高,甚至是制动。

它顺从地做这一切。但我看到一个缺点,就是在止损=150点,获利=500点的情况下,它可以开出5个合约,而且还经常画出一个止损。
然而,我注意到,买入五份合同会导致入市 价格下降,因此,风险/利润率要高得多。
正因为如此,我想让它跟踪一个合同,它最多拉到两个合同的获利,而跟踪止损最多配合五次。
因此,在机器人中加入了追踪订单(额外买入和额外卖出)和追踪(追踪止损)。

这里,将 "0 "改成 "2"。

   if(pos_total<=0 )
      {TrailingOrder();}
   Trailing();
 

如何使这个问题自动解决? ORDER_FILLING_FOK ORDER_FILLING_IOCORDER_FILLING_RETURN

也许有人有一个现成的?

 
Aleksandr Egorov:

如何使这个问题自动解决? ORDER_FILLING_FOK ORDER_FILLING_IOCORDER_FILLING_RETURN

也许有人有一个现成的例子?

文档中有一个现成的例子。但首先你需要 为一个符号 定义 一个填充策略 搜索SYMBOL_FILLING_FOK

 
Aleksandr Egorov:

如何使这个问题自动解决? ORDER_FILLING_FOK ORDER_FILLING_IOCORDER_FILLING_RETURN

也许有人有现成的?

自己直接填写MqlTradeRequest ?

有太多的隐患了 !

请看 CTrade::FillingCheck() - 开发人员建议如何定义填充物

 
大家下午好。有人遇到过类似的情况吗?一般来说,有一个可扩展的震荡器。我需要以编程方式知道,这个振荡器的可见窗口的刻度的当前极端值是什么。我希望我明白我在说什么)。如果能得到帮助,我将不胜感激!
 
AMarkov:
大家下午好。也许有人遇到过类似的情况?一般来说,有一个可扩展的震荡器。我需要以编程方式知道目前这个振荡器的可见窗口的刻度的极端值是什么。我希望我明白我在说什么)。如果能得到帮助,我将不胜感激!
bool  ChartGetInteger( 
   long    chart_id,        // идентификатор графика 
   int     prop_id,         // идентификатор свойства 
   int     sub_window,      // номер подокна 
   long&   long_var         // сюда примем значение свойства 
   );

识别码为CHART_PRICE_MIN 和CHART_PRICE_MAX。