- 发布者:
- Vladimir Karputov
- 显示:
- 1811
- 等级:
- 已发布:
- 2018.06.25 12:02
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
思路来自: Gatis。
MQL5 编码: Vladimir Karputov。
EA 分析 四个参数:
- 柱线 #1 上 MACD 主线值 (macd_main_1)
- 柱线 #1 上 MACD 信号值 (macd_signal_1)
- 柱线 #1 上 SAR 指标 (sar_1) 相对于价格 Bid (m_symbol.Bid()) 的值
在买卖出信号的基本公式中这些参数的组合:
bool open_buy = (macd_main_1>macd_signal_1 && macd_signal_1<0 && sar_1<m_symbol.Bid()); bool open_sell = (macd_main_1<macd_signal_1 && macd_signal_1>0 && sar_1>m_symbol.Bid());
然而,您可以在公式的任何部分优化符号 < 和 > 的值。 为此, 对于每个 < 和 > 符号, 它们引入自己的 变量 (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, and InpMoreLessSell_3)。 通过这些变量,基本公式被修改如下:
bool open_buy= (InpMoreLessBuy_1 ? macd_main_1>macd_signal_1 : macd_main_1<macd_signal_1) && (!InpMoreLessBuy_2 ? macd_signal_1 < 0 : macd_signal_1 > 0 ) && (!InpMoreLessBuy_3 ? sar_1 < m_symbol.Bid() : sar_1 > m_symbol.Bid() ); bool open_sell=(!InpMoreLessSell_1 ? macd_main_1<macd_signal_1 : macd_main_1>macd_signal_1) && (InpMoreLessSell_2 ? macd_signal_1 > 0 : macd_signal_1 < 0 ) && (InpMoreLessSell_3 ? sar_1 > m_symbol.Bid() : sar_1 < m_symbol.Bid() );
EA 本身只在出现新柱线时才会操作。 当收到一个信号时,与所收信号相反的持仓将被平仓。
在优化公式时,优化仓位数量也是合理的:
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/20827

一款典型的使用平均真实范围的多色直方图形式振荡器。

ATR_Normalize_Histogram 指标在输入参数中提供时间帧选择选项,当突破超买/超卖区域时警报。