创意作者: Collector
MQL5 代码作者: barabashkakvn
这个 EA 只在新 K 线出现时运行。只有当市场没有由 EA 开立的头寸时,才会考虑来自 iBullsPower(牛市力量)和 iBearsPower(熊市力量)指标的交易信号(搜索是通过当前符号和当前独特的 EA 标识符 - 魔术数字进行的)。
两个指标只有一个设置 - 牛市和熊市:平均周期。交易信号形成算法:从两个 K 线 - 当前 K 线和 当前 K+1 - 中提取数据,并将其值除以 2。
double prev = ((bears[1]+bulls[1])/2.0); double curr = ((bears[0]+bulls[0])/2.0);
如果前一个 K 线的平均值小于当前 K 线,便会开多单:
if(prev<curr && curr<0) { //ClosePositions(POSITION_TYPE_SELL); double sl=(InpStopLoss==0)?0.0:m_symbol.Ask()-ExtStopLoss; if(sl>=m_symbol.Bid()) // 情况:头寸尚未开立,且必须已关闭 { PrevBars=0; return; } double tp=(InpTakeProfit==0)?0.0:m_symbol.Ask()+ExtTakeProfit; OpenBuy(sl,tp); return; }
如果前一个 K 线的平均值大于当前 K 线,便会开空单:
if(prev>curr && curr>0) { //ClosePositions(POSITION_TYPE_BUY); double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss; if(sl<=m_symbol.Ask()) // 情况:头寸尚未开立,且必须已关闭 { PrevBars=0; return; } double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit; OpenSell(sl,tp); return; }
EURUSD, M15:
