EA: TST

 

TST:

智能交易系统未使用任何指标。 它仅使用当前价格和零柱线的 OHLC。


作者: Vladimir Karputov

 
回滚率是以点为单位还是以前一栏的百分比为单位?
 
Ilya Vasenin:
回滚率是以点为单位还是以前一栏的百分比为单位?

从零(最右侧)柱状图的最高价算起,以点为单位:

//--- 调整 3 或 5 位数
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5)
      digits_adjust=10;
   m_adjusted_point=m_symbol.Point()*digits_adjust;

   ExtStopLoss       = InpStopLoss     * m_adjusted_point;
   ExtTakeProfit     = InpTakeProfit   * m_adjusted_point;
   ExtTrailingStop   = InpTrailingStop * m_adjusted_point;
   ExtTrailingStep   = InpTrailingStep * m_adjusted_point;
   ExtRollbackRate   = InpRollbackRate * m_adjusted_point;
//---
   return(INIT_SUCCEEDED);
  }

и

   MqlRates rates[1];
   if(CopyRates(m_symbol.Name(),InpTimeframe,0,1,rates)!=1)
      return;

   if(rates[0].open-m_symbol.Bid()>0 && rates[0].high-m_symbol.Bid()>ExtRollbackRate)
 

弗拉基米尔-卡尔普托夫,谢谢你的澄清。

所有刻度线:

基于真实刻度的每个刻度:

M1 上的 OHLC

为什么上述选择会导致结果如此不同?

是否有可能为进一步研究进行修改。

在参数中禁止开立第一笔卖出或买入交易。重点是在增长或下降期间的单向交易中测试 Expert Advisor。

 
Ilya Vasenin:

弗拉基米尔-卡尔普托夫

***

为什么选择不同,结果会有如此大的差异?

***

因为最真实、100% 符合实际情况的模式是 "基于真实刻度的每个刻度 "测试模式。

其他模式都是人为的刻度生成模式。人工模式是如何生成的:

MetaTrader 5 终端策略测试器中的刻度生成算法

MetaTrader 5 终端策略测试器中的刻度生成算法 创建 Expert Advisors - MQL5 中的自动交易系统 MetaTrader 5 客户端有一个内置编程环境,用于开发无需人工干预即可进行交易的全自动策略(交易机器人)。交易机器人的另一个名称是专家顾问。MetaTrader 5 的智能交易系统和技术指标使用 MQL5 语言编写,该语言具有现代编程语言的所有优点:执行速度快、支持面向对象编程 (OOP) 和调试。用 MQL5 调试程序的能力可以让您从编程的角度编写最安全的代码,但这只是开发一个有利可图的稳定交易系统的必要条件,而不是充分条件。能够在大量历史数据中显示出良好结果的交易系统被称为稳健交易系统(robust Trading System)。

文章 | 2010.05.21 15:58 |MetaQuotes Software Corp.| 测试员 | MetaTrader 5

 

弗拉基米尔-卡尔普托夫(Vladimir Karputov)认为,"智能交易系统"(EA)应在实时真实蜡烛图的基础上,通过分析生成的柱状图来开启交易。刻度线的生成简化了实际情况,实时 EA 也应如此。根据当前报价生成刻度线图并进行入场。从理论上讲,这在智能交易系统中可能实现吗?

下面是一个例子,说明实时条目和刻度线生成有什么问题。

"如果一根蜡烛是十字星,即收盘===开盘,则分析之前的蜡烛,如果之前的蜡烛是上升蜡烛,则这根十字星被视为下降蜡烛。

从这里开始,条目将截然不同。也许有一个圣杯。

 
Ilya Vasenin:
弗拉基米尔-卡尔普托夫(Vladimir Karputov)认为,"智能交易系统"(EA)应在实时真实蜡烛图的基础上,通过分析生成的柱状图来开启交易。刻度线的生成简化了实际情况,实时 EA 也应如此。根据当前报价生成刻度线图并进行入场。从理论上讲,这在智能交易系统中可以实现吗?

对不起,我看到了熟悉的字母,但无法读出连贯的思想。我听不懂这些胡言乱语。

 
Vladimir Karputov:

对不起,我看到了熟悉的字母,但我无法把它们读成一个连贯的思想。我听不懂胡言乱语。

好吧,我试着换一种表述方式。

以下是 Expert Advisor 在基于真实刻度线的刻度线生成模式 下的工作。带箭头的数字 1 表示零蜡烛。根据该策略的规定,只要价格从高点向下滚动到 回滚率 的距离 ,并且我们处于一个新的条形图中,这就是建立买入头寸的信号。Expert Advisor 开立了买入头寸(如箭头 2 所示)。下一个烛台是看跌的,根据策略,在形成 3 号烛台后,应该建立卖出头寸。但这并没有发生。更多的白线表示没有进行交易的烛台。为什么会出现这种情况呢?

与此同时,在 "All ticks "生成模式下,Expert Advisor 会在该位置建仓。


 
Ilya Vasenin:

好吧,我换个说法。

以下是 Expert Advisor 在基于真实刻度线的刻度线生成模式 下的工作。带箭头的数字 1 表示零蜡烛。根据该策略的规定,只要价格从高点向下滚动到 回滚率 的距离 ,并且我们处于一个新的条形图中,这就是建立买入头寸的信号。Expert Advisor 开立了买入头寸(如箭头 2 所示)。下一个烛台是看跌的,根据策略,在形成 3 号烛台后,应该建立卖出头寸。但这并没有发生。更多的白线表示没有进行交易的烛台。为什么会出现这种情况?

同时,在 "所有烛点 "生成模式下,智能交易系统会在这个位置建仓。


请提供 EA 设置、符号名称、时间框架和日期。
 

该智能交易系统无法在我的 Alpari 净账户上运行。我使用 forts 报价进行测试,在测试器中对 Expert Advisor 进行测试。

符号 RTS 6.18,时间 M5,26.04.18-11.05.18。

" 基于真实刻度线的刻度线生成模式 "下都没有执行 EA 说明中指定的操作 同时,蜡烛本身在 "所有刻度线 "生成模式下与在 " 基于真实刻度线的刻度线 生成模式 "下看起来是一样的。但在 "所有刻度线 "模式下,智能交易系统有时会 看跌条形图形成后打开买入,而在 " 基于真实刻度线的价位 生成模式 "下,智能交易系统会在此处打开卖出。

这也极大地改变了结果画面。

如有必要,我可以制作不同刻度线生成模式下的工作画面。

 
Ilya Vasenin:

该智能交易系统无法在我的 Alpari 净账户上运行。我使用 forts quotes 进行测试,在测试器中对 Expert Advisor 进行测试。

符号 RTS 6.18, 时间 M5, 26.04.18-11.05.18

另外,我还注意到为什么数据如此不同。

测试的符号没有区别。我在不同的符号上进行了测试,在任何地方,EA 在" 基于真实刻度线的刻度线生成模式 "下都无法执行 EA 说明中指定的操作 同时,蜡烛本身在 "所有刻度线 "生成模式下与在 " 基于真实刻度线的刻度线 生成模式 "下看起来是一样的。但在 "所有刻度线 "模式下,EA 有时会在看跌条形图形成后打开买入,而在 " 基于真实刻度线的刻度线 生成模式 "下,EA 会在此处打开卖出。

这也会改变结果。

如果有必要,我可以制作不同刻度线生成模式下的工作画面。

如果您使用的不是外汇符号,我不会对代码的工作发表评论。请在外汇符号上进行检查。