描述
本文将为您展示如何利用Heiken Ashi蜡烛图进行交易。
- 仅使用挂单(买入限价单和卖出限价单)。
- 支持对冲(通过不同的魔术号码)。
- 可以进行过滤(通过两个时间框架,如下面的代码所示)。
了解这一EA的核心思想,请关注以下两个函数:
int AshiUp(int TF=PERIOD_CURRENT) { double haLowHigh_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,0,1); double haOpen_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,2,1); double haClose_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,3,1); double haLowHigh_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,0,0); double haOpen_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,2,0); double haClose_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,3,0); if((haClose_0>haOpen_0 && haOpen_0==haLowHigh_0) && (haClose_1>haOpen_1 && haOpen_1!=haLowHigh_1)) return(1); else return(0); } int AshiDown(int TF=PERIOD_CURRENT) { double haLowHigh_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,0,1); double haOpen_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,2,1); double haClose_1 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,3,1); double haLowHigh_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,0,0); double haOpen_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,2,0); double haClose_0 = iCustom(Symbol(),TF,"Heiken Ashi",Red,White,Red,White,3,0); if((haClose_0<haOpen_0 && haOpen_0==haLowHigh_0) && (haClose_1<haOpen_1 && haOpen_1!=haLowHigh_1)) return(1); else return(0); }
以下是检测买入的代码:
//--- 交易 if(TotalOrdersCount(MagicNumberBuy)<1) if(AshiUp(1440)==1 && AshiUp()==1) BuyExecute();
此外,不允许与金属交易,如下所示:
//+------------------------------------------------------------------+ //| EA初始化函数 //+------------------------------------------------------------------+ int OnInit() { Comment(" "); if(Symbol()=="金" || Symbol()=="黄金" || Symbol()=="gold" || Symbol()=="XAUUSD" || Symbol()=="AUCMDUSD" || Symbol() == "银" || Symbol() == "白银" || Symbol() == "silver" || Symbol() == "XAGUSD" || Symbol() == "E_SI" || Symbol() == "铜" || Symbol() == "COPPER" || Symbol() == "copper" || Symbol() == "CUCMDUSD" || Symbol() == "XAUEUR" || Symbol() == "黄金.欧元" || Symbol() == "黄金.欧元" || Symbol() == "XAGEUR" || Symbol() == "白银.欧元" || Symbol() == "白银.欧元" || Symbol() == "美国原油" || Symbol() == "USOIL" || Symbol() == "英国原油" || Symbol() == "UKOIL" || Symbol() == "天然气" || Symbol() == "NGas" || Symbol() == "Bund" || Symbol() == "BUND" || Symbol() == "bund" || Symbol() == "原油" || Symbol() == "布伦特" || Symbol() == "BRENT" || Symbol() == "brent" || Symbol() == "原油" || Symbol() == "COPPER" || Symbol() == "BRENTCMDUSD" || Symbol() == "WTI" || Symbol() == "轻质" || Symbol() == "LIGHT" || Symbol() == "LIGHTCMDUSD" || Symbol() == "COPPER" || Symbol() == "钯" || Symbol() == "PALLADIUM" || Symbol() == "palladium" || Symbol() == "PDCMDUSD" || Symbol() == "铂金" || Symbol() == "PLATINUM" || Symbol() == "platinum" || Symbol() == "PTCMDUSD" ) { Comment(SymbolErr); Alert(SymbolErr); return(INIT_FAILED); } . . . }
图片

建议
- 此示例代码仅供对编程/交易感兴趣的交易者学习或修改。
- 请勿用于真实账户交易。
- 仅在模拟账户或策略测试器中使用。
- 您可以删除第55到70行的代码,以便在金属上尝试。
祝您好运!
评论 0