《外汇mt4编程:ea编写中级(第2版)》由会员分享,可在线阅读,更多相关《外汇mt4编程:ea编写中级(第2版)(92页珍藏版)》请在金锄头文库上搜索。
1、外汇mt4编程:ea编写中级(第2版) 外汇MT4编程: MT4 EA编写中级(第2版共十六课)原创:李沂鸿(柒侠伍义)国家:马来西亚 第1章:初级EA以下是初级EA /ea 不读这个注解/#property copyright 柒侠伍义_初级EA教程_商业版本datetime 限制一根柱子下注一次 =0; /自定义extern double下注数量=0.1; /自定义extern double止损=200; /自定义extern double止盈=200; /自定义extern double 滑点=30; /自定义externbool 使用音乐=true; /true=要用 false=不要
2、用externbool 使用弹出提示=false; /true=要用 false=不要用string ea名字 =柒侠伍义_初级EA教程;extern double开始交易时间=3; /自定义交易时间extern double结束交易时间=23; /自定义交易时间double魔术号码=16384; /自定义魔术号码double 死亡日期年=2009; /自定义ea终止日期double 死亡日期月=12; /自定义ea终止日期double 死亡日期日=12; /自定义ea终止日期double 死亡日期时=12; /自定义ea终止日期double 用户账户=90240764; /自定义指定用户帐号
3、double 赢钱目标 =10000;/自定义赢太多了不要做单double 输钱目标=500; /自定义输太惨了不要做单string 交易商 = FOREX.com;/自定义交易商extern string 货币对1 =EURUSD; /自定义指定货币对extern string 货币对2 =EURJPY; /自定义指定货币对extern string 货币对3 =GBPUSD; /自定义指定货币对double时间周期1=30,时间周期2=60; /自定义时间周期/ea 不读这个注解/int start() /ea 开始运行 /开始主程式HideTestIndicators(true);/命令
4、ea隐藏ea中的指标if(AccountFreeMarginCheck(Symbol(),OP_BUY,下注数量)<=0| GetLastError()=134) return;/命令ea如果保证金不足不要交易if(AccountFreeMarginCheck(Symbol(),OP_SELL,下注数量)<=0| GetLastError()=134)return;/命令ea如果保证金不足不要交易/ea 不读这个注解/ if( /开始如果OrdersTotal()=0 /没有单可以下注&&Close0-Open0>200*Point /判断上升趋势&&
5、amp;Close1-Open1>200*Point /判断上升趋势&&Close2-Open2>200*Point /判断上升趋势&&Close3-Open3>200*Point /判断上升趋势&& 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次&& IsDemo() /限制模拟户口运行&& DayOfWeek()!=0 /礼拜不要交易&& DayOfWeek()!=6 /星期6不要交易&& DayOfWeek()!=5 /星期5不要交易&&a
6、mp;(Hour()>开始交易时间&&Hour()<结束交易时间)/限制交易时间:早上3点到晚上10点可以交易&&Year()=2009 /限制交易时间:只限2009年可以运行&&(Year()<=死亡日期年&&Month()<=死亡日期月&&Day()<=死亡日期日&&Hour()<=死亡日期时) /ea死亡日期&& AccountNumber()=用户账户/指定用户账户&&(AccountBalance()<赢钱目标&am
7、p;&AccountBalance()>输钱目标) /赢太多了不要做单 输太惨了不要做单&&AccountCompany()=交易商 /指定交易商方可交易&&(Symbol()=货币对1|Symbol()=货币对2|Symbol()=货币对3) /指定货币对&&(Period()=时间周期1|Period()=时间周期2) /指定时间周期运行)OrderSend(Symbol(),OP_BUY,下注数量,Ask,滑点,Ask-止损*Point,Ask+止盈*Point,+ea名字+,魔术号码,0,Green);限制一根柱子下注一次
8、=Time0;if(使用音乐)PlaySound(Conditions.wav);if(使用弹出提示)Alert( M,Period(),Symbol(),buy开仓,余额资金:,AccountBalance(), ); / end if 结束如果 /ea 不读这个注解/ if( /开始 如果OrdersTotal()=0 /没有单可以下注&&Open0-Close0>200*Point /判断下降趋势&&Open1-Close1>200*Point /判断下降趋势&&Open2-Close2>200*Point /判断下降趋势
9、&&Open3-Close3>200*Point /判断下降趋势&& 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次&& IsDemo() /限制模拟户口运行&& DayOfWeek()!=0 /礼拜不要交易&& DayOfWeek()!=6 /星期6不要交易&& DayOfWeek()!=5 /星期5不要交易&&(Hour()>开始交易时间&&Hour()<结束交易时间)/限制交易时间:早上3点到晚上10点可以交易&&Y
10、ear()=2009 /限制交易时间:只限2009年可以运行&&(Year()<=死亡日期年&&Month()<=死亡日期月&&Day()<=死亡日期日&&Hour()<=死亡日期时) /ea死亡日期&& AccountNumber()=用户账户/指定用户账户&&(AccountBalance()<赢钱目标&&AccountBalance()>输钱目标) /赢太多了不要做单 输太惨了不要做单&&AccountCompany()=交易
11、商 /指定交易商方可交易&&(Symbol()=货币对1|Symbol()=货币对2|Symbol()=货币对3) /指定货币对&&(Period()=时间周期1|Period()=时间周期2) /指定时间周期运行)OrderSend(Symbol(),OP_SELL,下注数量,Bid,滑点,Bid+止损*Point,Bid-止盈*Point,+ea名字+,魔术号码,0,Red);限制一根柱子下注一次 =Time0;if(使用音乐)PlaySound(Conditions.wav);if(使用弹出提示)Alert( M,Period(),Symbol(),sel
12、l开仓,余额资金:,AccountBalance(), ); / end if结束如果 /ea 不读这个注解/ return(0); /叫 ea重复运行每秒大概可能重新运算100次 /startto end 结束主程式 第2章:删除不是很重要的自定义为了方便学习 1. /ea 不读这个注解/2. #property copyright 柒侠伍义_初级EA教程_商业版本3. datetime 限制一根柱子下注一次 =0; /自定义4. extern double 下注数量=0.1; /自定义5. extern double 止损=200; /自定义6. extern double 止盈=200; /自定义7. extern double 滑点=30; /自定义8. extern bool 使用音乐=true; /true=要用 false=不要用9. extern bool 使用弹出提示=false; /true=要用 false=不要用10. string ea名字 = 柒侠伍义_初级EA教程;11. /extern double 开始交易时间=3; /自定义交易时间12. /extern double 结束交易时间=23; /自定义交易时间13. double 魔术号码=16384; /自定义魔术号码14.