文章 "开发跨平台网格 EA 交易(第三部分): 使用马丁格尔的基于修正的网格" - 页 5

 
Ben Shapiro:

每次我尝试在历史数据上测试时,都会得到这样的结果:

2019.08.17 20:38:02.707 2018.11.18 22:23:30市场卖出 0.01 XXX 失败 [不支持填充模式]

我选择的任何符号(外汇或股票)都会出现这种情况。未执行任何交易。问题出在哪里?


您可以尝试修改 "订单填写模式 "输入参数。让它符合您经纪商符号的规格。

如何检查符号的成交模式?

进入 "Market Watch"(市场观察)-> 选择符号并右击-> 点击 "Specification...(规格...)"菜单项-> 检查 "Filling"(填单)描述。

 

您不认为更大的止损会导致失败吗?

什么可以防止在通道中交易获利,例如,20 点止损和 20 点止损?

真实账户的资金被耗尽了--至少我不排除这个原因...

"第二个信号 是最近在真实账户上开通的。在撰写本文时,它只在股票市场上交易:SBUX、MCD、KO、MSFT、NKE、ORCL、ADBE、CMCSA、LLY、HPE"。

A far takeout - speak of greed, I think first of all, and especially as you described in the article like, that on the starting volume the price takes a very long time to get to THAT takeout....

 
为何该EA在MT5中无法完成测试,日志没有显示错误,只有不断的requote但没有任何成交,有人能完成测试吗?能否告诉我是怎么回事?
 
Ben Shapiro:

每次我尝试在历史数据上测试时,都会得到这样的结果:

2019.08.17 20:38:02.707 2018.11.18 22:23:30市场卖出 0.01 XXX 失败 [不支持填充模式]

我选择的任何符号(外汇或股票)都会出现这种情况。未执行任何交易。问题出在哪里?


请阅读源代码 Luke!

switch(useORDER_FILLING_RETURN){
   case FOK:
      mrequest.type_filling = ORDER_FILLING_FOK;
      break;
   case RETURN:
      mrequest.type_filling = ORDER_FILLING_RETURN;
      break;
   case IOC:
      mrequest.type_filling = ORDER_FILLING_IOC;
      break;
}

代码非常漂亮。选择您的填充模式。对经纪人友好 :)

 
Arthur Albano:

阅读资料来源:卢克!

代码非常漂亮。选择您的填充模式。对经纪人友好 :)

该代码对于跨平台、时间序列和所有功能来说都非常整洁,但是,我正试图挖掘我的 MT4 测试版(1260 版本)在使用该代码开仓交易时获得的卖出价/买入价。每次尝试 OrderSend 都以错误 138(新价格)结束,好像 MqlTick 结构产生了错误的 Ask/Bid 价格?- 我在所有与操作 tf 相同的时间框架上运行了它,结果还是一样。

是否有试用过该 EA 的人遇到过类似问题,以及测试器中出现 138 个错误的原因是什么?

此外,正如上面的问题一样,在市场价格下单(这可能是经纪人/工具的唯一选择)似乎不是该 EA 的选项,至少在 MQL4 的编译中是这样:

#ifdef __MQL5__ 
   #include <Trade\Trade.mqh>
   CTrade Trade;

   enum TypeOfFilling // 填充模式
     {
      FOK,//order_filling_fok
      RETURN,// order_filling_return
      IOC,//order_filling_ioc
     }; 
   input TypeOfFilling  useORDER_FILLING_RETURN=FOK; // 订单填充模式
#endif 

(但我不应该傲慢地询问 MT5 平台是否需要这样的选择......;-)


此外,我自己不是程序员,但我看到了一个代码示例,其中假定......'策略测试器 来说,必须 在每个进入的 tick 上运行,但实时处理最好在定时器事件上进行 - 标准为 200 毫秒。

感谢您对上述问题的评论。

The Fundamentals of Testing in MetaTrader 5
The Fundamentals of Testing in MetaTrader 5
  • www.mql5.com
The idea of ​​automated trading is appealing by the fact that the trading robot can work non-stop for 24 hours a day, seven days a week. The robot does not get tired, doubtful or scared, it's is totally free from any psychological problems. It is sufficient enough to clearly formalize the trading rules and implement them in the algorithms, and...
 
rmshau:

该代码对于跨平台、时间序列和所有方面来说都非常整洁,但是,我正在尝试挖掘我的 MT4 测试器(1260 版本)在使用该代码开仓交易时获得的卖出价/买入价。每次尝试 OrderSend 都以错误 138(新价格)结束,好像 MqlTick 结构产生了错误的 Ask/Bid 价格?- 我在所有与操作 tf 相同的时间框架上运行了它,结果还是一样。

是否有试用过该 EA 的人遇到过类似问题,以及测试器中出现 138 个错误的原因是什么?

此外,正如上述问题一样,按市场价格填写订单(这可能是经纪人/工具的唯一选择)似乎不是该 EA 的选项,至少对于MQL4 组件来说不是:

(但我不应该傲慢地询问MT5 平台是否需要这样的选择......;-)


此外,我自己不是程序员,但我看到了一个代码示例,其中假定...'策略测试器 来说,必须 在每个进入的 tick 上运行,但实时处理最好在定时器事件上进行 - 标准为 200 毫秒。

感谢您对上述问题的评论。

此主题是关于 MQL5 的,您似乎不知道自己使用的是什么平台。

任何有关 MT4 的问题都应发布在 MT4 版块

 
我的也是这样
 
fxsaber 交易次数 会减少。

也可以直接在测试器中删除这些收益,只需一行就能生成一个普通的 TS。


因此,我不明白我的结论错在哪里。所有加注 TS 都是一种自欺欺人--减少利润。我说的不是扑克牌形式的流失,而是利润减少。毕竟,可以从任何加注 TS 中抽出利润更高的 TS。这个结论在逻辑上似乎是正确的。但我不明白为什么我不确定,因为我做过这样的实验。

我没有看到相同的结论。二号输入没有记忆,后面的输入也没有记忆,这意味着它的 MO 与 TC 中的其他输入相同,即为 0。这就好比在第四个红子之后等待第五个黑子,只是因为连续出现 5 个红子的概率微乎其微。在现实中,我们有相同的 50/50,这意味着使用 martin 或这样的网格进行交易需要无限的资金,才能获得有保证的固定回报。

 
Vasiliy Sokolov #:

我没有看到相同的结论。二号输入没有记忆,后面的输入也没有记忆,因此它的 MO 与此 TS 中的其他输入相同,即等于零。这就好比在第四个红子之后等待第五个黑子,只是因为连续出现 5 个红子的概率微乎其微。在现实中,我们有相同的 50/50,这意味着使用马丁或这样的网格进行交易需要无限的资金,才能获得有保证的固定回报。

我猜你曲解了我的话。

 
一样