- 发布者:
- Vladimir Karputov
- 显示:
- 1210
- 等级:
- 已发布:
- 2018.11.05 09:48
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
思路来自: Collector
MQL5 代码作者: barabashkakvn
EA 仅在出现新柱线时才起作用。 仅当市场没有 EA 所开仓位(搜索当前品种和当前独有 EA 标识符 - 魔幻数字),才会考虑来自 iBullsPower(多头推力)和 iBearsPower(空头推力)指标的交易信号。
两个指标仅有一个设置 - Bulls and Bears: averaging period。 交易信号形成算法: 数据来自两根柱线 - Bar current 和 Bar current+1 - 取自两个指标,且数值除以 2
double prev = ((bears[1]+bulls[1])/2.0); double curr = ((bears[0]+bulls[0])/2.0);
如果前一根柱线上的平均值小于当前柱线上的平均值,则“买入”:
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; }
如果前一根柱线上的平均值超过当前柱线上的平均值,则“卖出”:
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:
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/22016