外匯mt4編程:ea編寫中級(第2版).doc_第1頁
外匯mt4編程:ea編寫中級(第2版).doc_第2頁
外匯mt4編程:ea編寫中級(第2版).doc_第3頁
外匯mt4編程:ea編寫中級(第2版).doc_第4頁
外匯mt4編程:ea編寫中級(第2版).doc_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

外匯mt4編程:ea編寫中級(第2版) 外匯MT4編程: MT4 EA編寫中級(第2版共十六課)原創(chuàng):李沂鴻(柒俠伍義)國家:馬來西亞 第1章:初級EA以下是初級EA /ea 不讀這個注解/#property copyright 柒俠伍義_初級EA教程_商業(yè)版本datetime 限制一根柱子下注一次 =0; /自定義extern double下注數(shù)量=0.1; /自定義extern double止損=200; /自定義extern double止盈=200; /自定義extern double 滑點=30; /自定義externbool 使用音樂=true; /true=要用 false=不要用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; /自定義指定用戶帳號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);/命令ea隱藏ea中的指標if(AccountFreeMarginCheck(Symbol(),OP_BUY,下注數(shù)量)<=0| GetLastError()=134) return;/命令ea如果保證金不足不要交易if(AccountFreeMarginCheck(Symbol(),OP_SELL,下注數(shù)量)<=0| GetLastError()=134)return;/命令ea如果保證金不足不要交易/ea 不讀這個注解/ if( /開始如果OrdersTotal()=0 /沒有單可以下注&&Close0-Open0>200*Point /判斷上升趨勢&&Close1-Open1>200*Point /判斷上升趨勢&&Close2-Open2>200*Point /判斷上升趨勢&&Close3-Open3>200*Point /判斷上升趨勢&& 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次&& IsDemo() /限制模擬戶口運行&& DayOfWeek()!=0 /禮拜不要交易&& DayOfWeek()!=6 /星期6不要交易&& DayOfWeek()!=5 /星期5不要交易&&(Hour()>開始交易時間&&Hour()<結束交易時間)/限制交易時間:早上3點到晚上10點可以交易&&Year()=2009 /限制交易時間:只限2009年可以運行&&(Year()<=死亡日期年&&Month()<=死亡日期月&&Day()<=死亡日期日&&Hour()<=死亡日期時) /ea死亡日期&& AccountNumber()=用戶賬戶/指定用戶賬戶&&(AccountBalance()<贏錢目標&&AccountBalance()>輸錢目標) /贏太多了不要做單 輸太慘了不要做單&&AccountCompany()=交易商 /指定交易商方可交易&&(Symbol()=貨幣對1|Symbol()=貨幣對2|Symbol()=貨幣對3) /指定貨幣對&&(Period()=時間周期1|Period()=時間周期2) /指定時間周期運行)OrderSend(Symbol(),OP_BUY,下注數(shù)量,Ask,滑點,Ask-止損*Point,Ask+止盈*Point,+ea名字+,魔術號碼,0,Green);限制一根柱子下注一次 =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 /判斷下降趨勢&&Open3-Close3>200*Point /判斷下降趨勢&& 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次&& IsDemo() /限制模擬戶口運行&& DayOfWeek()!=0 /禮拜不要交易&& DayOfWeek()!=6 /星期6不要交易&& DayOfWeek()!=5 /星期5不要交易&&(Hour()>開始交易時間&&Hour()<結束交易時間)/限制交易時間:早上3點到晚上10點可以交易&&Year()=2009 /限制交易時間:只限2009年可以運行&&(Year()<=死亡日期年&&Month()<=死亡日期月&&Day()<=死亡日期日&&Hour()<=死亡日期時) /ea死亡日期&& AccountNumber()=用戶賬戶/指定用戶賬戶&&(AccountBalance()<贏錢目標&&AccountBalance()>輸錢目標) /贏太多了不要做單 輸太慘了不要做單&&AccountCompany()=交易商 /指定交易商方可交易&&(Symbol()=貨幣對1|Symbol()=貨幣對2|Symbol()=貨幣對3) /指定貨幣對&&(Period()=時間周期1|Period()=時間周期2) /指定時間周期運行)OrderSend(Symbol(),OP_SELL,下注數(shù)量,Bid,滑點,Bid+止損*Point,Bid-止盈*Point,+ea名字+,魔術號碼,0,Red);限制一根柱子下注一次 =Time0;if(使用音樂)PlaySound(Conditions.wav);if(使用彈出提示)Alert( M,Period(),Symbol(),sell開倉,余額資金:,AccountBalance(), ); / end if結束如果 /ea 不讀這個注解/ return(0); /叫 ea重復運行每秒大概可能重新運算100次 /startto end 結束主程式 第2章:刪除不是很重要的自定義為了方便學習 1. /ea 不讀這個注解/2. #property copyright 柒俠伍義_初級EA教程_商業(yè)版本3. datetime 限制一根柱子下注一次 =0; /自定義4. extern double 下注數(shù)量=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. /double 死亡日期年=2009; /自定義ea終止日期15. /double 死亡日期月=12; /自定義ea終止日期16. /double 死亡日期日=12; /自定義ea終止日期17. /double 死亡日期時=12; /自定義ea終止日期18. /double 用戶賬戶=90240764; /自定義指定用戶帳號19. /double 贏錢目標 =10000;/自定義贏太多了不要做單20. /double 輸錢目標 =500; /自定義輸太慘了不要做單21. /string 交易商 = FOREX.com; /自定義交易商22. /extern string 貨幣對1 = EURUSD; /自定義指定貨幣對23. /extern string 貨幣對2 = EURJPY; /自定義指定貨幣對24. /extern string 貨幣對3 = GBPUSD; /自定義指定貨幣對25. /double 時間周期1=30,時間周期2=60; /自定義時間周期26. /ea 不讀這個注解/27. int start() /ea 開始運行28. /開始主程式29. 30. HideTestIndicators(true);/命令ea隱藏ea中的指標31. if(AccountFreeMarginCheck(Symbol(),OP_BUY,下注數(shù)量)<=0| GetLastError()=134) return;/命令ea如果保證金不足不要交易32. if(AccountFreeMarginCheck(Symbol(),OP_SELL,下注數(shù)量)<=0| GetLastError()=134)return;/命令ea如果保證金不足不要交易33. 34. /ea 不讀這個注解/35. 36. if( /開始如果37. OrdersTotal()=0 /沒有單可以下注38. &&Close0-Open0>200*Point /判斷上升趨勢39. &&Close1-Open1>200*Point /判斷上升趨勢40. &&Close2-Open2>200*Point /判斷上升趨勢41. &&Close3-Open3>200*Point /判斷上升趨勢42. && 限制一根柱子下注一次 !=Time0/限制一根柱子下注一次43. /&& IsDemo() /限制模擬戶口運行44. /&& DayOfWeek() !=0 /禮拜不要交易45. /&& DayOfWeek() !=6 /星期6不要交易46. /&& DayOfWeek() !=5 /星期5不要交易47. /&&(Hour()>開始交易時間&&Hour()<結束交易時間)/限制交易時間:早上3點到晚上10點可以交易48. /&& Year()=2009/限制交易時間:只限2009年可以運行49. /&&(Year()<=死亡日期年&&Month()<=死亡日期月&&Day()<=死亡日期日&&Hour()<=死亡日期時)/ea死亡日期50. /&& AccountNumber()=用戶賬戶/指定用戶賬戶51. /&&(AccountBalance()<贏錢目標&&AccountBalance()>輸錢目標) /贏太多了不要做單 輸太慘了不要做單52. /&& AccountCompany()=交易商/指定交易商方可交易53. /&&(Symbol()=貨幣對1|Symbol()=貨幣對2|Symbol()=貨幣對3) /指定貨幣對54. /&&(Period()=時間周期1|Period()=時間周期2) /指定時間周期運行55. )56. OrderSend(Symbol(),OP_BUY,下注數(shù)量,Ask,滑點,Ask-止損*Point,Ask+止盈*Point,+ea名字+,魔術號碼,0,Green);57. 限制一根柱子下注一次 =Time0;58. if(使用音樂)PlaySound(Conditions.wav);59. if(使用彈出提示)Alert( M,Period(),Symbol(),buy開倉,余額資金:,AccountBalance(), );60. / end if 結束如果61. 62. /ea 不讀這個注解/63. 64. 65. if( /開始 如果66. OrdersTotal()=0 /沒有單可以下注67. &&Open0-Close0>200*Point /判斷下降趨勢68. &&Open1-Close1>200*Point /判斷下降趨勢69. &&Open2-Close2>200*Point /判斷下降趨勢70. &&Open3-Close3>200*Point /判斷下降趨勢71. && 限制一根柱子下注一次 !=Time0/限制一根柱子下注一次72. /&& IsDemo() /限制模擬戶口運行73. /&& DayOfWeek() !=0 /禮拜不要交易74. /&& DayOfWeek() !=6 /星期6不要交易75. /&& DayOfWeek() !=5 /星期5不要交易76. /&&(Hour()>開始交易時間&&Hour()<結束交易時間)/限制交易時間:早上3點到晚上10點可以交易77. /&& Year()=2009/限制交易時間:只限2009年可以運行78. /&&(Year()<=死亡日期年&&Month()<=死亡日期月&&Day()<=死亡日期日&&Hour()<=死亡日期時)/ea死亡日期79. /&& AccountNumber()=用戶賬戶/指定用戶賬戶80. /&&(AccountBalance()<贏錢目標&&AccountBalance()>輸錢目標) /贏太多了不要做單 輸太慘了不要做單81. /&& AccountCompany()=交易商/指定交易商方可交易82. /&&(Symbol()=貨幣對1|Symbol()=貨幣對2|Symbol()=貨幣對3) /指定貨幣對83. /&&(Period()=時間周期1|Period()=時間周期2) /指定時間周期運行84. )85. OrderSend(Symbol(),OP_SELL,下注數(shù)量,Bid,滑點,Bid+止損*Point,Bid-止盈*Point,+ea名字+,魔術號碼,0,Red);86. 限制一根柱子下注一次 =Time0;87. if(使用音樂)PlaySound(Conditions.wav);88. if(使用彈出提示)Alert( M,Period(),Symbol(),sell開倉,余額資金:,AccountBalance(), );89. / end if 結束如果90. 91. 92. /ea 不讀這個注解/93. 94. return(0); /叫 ea 重復運行 每秒大概可能重新運算100次95. /start to end 結束主程式 第3章:真正刪除不重要的是不是好看一點了?哈哈和。 1. 2. /ea 不讀這個注解/3. #property copyright 柒俠伍義_初級EA教程_商業(yè)版本4. datetime 限制一根柱子下注一次 =0; /自定義5. extern double下注數(shù)量=0.1; /自定義6. extern double 止損=200; /自定義7. extern double 止盈=200; /自定義8. extern double 滑點=30; /自定義9. externbool 使用音樂=true; /true=要用 false=不要用10. externbool 使用彈出提示=false; /true=要用 false=不要用11. string ea名字 =柒俠伍義_初級EA教程;12. double 魔術號碼=16384; /自定義魔術號碼13. /ea 不讀這個注解/14. int start() /ea 開始運行15. /開始主程式16. HideTestIndicators(true);/命令ea隱藏ea中的指標17. if(AccountFreeMarginCheck(Symbol(),OP_BUY,下注數(shù)量)<=0| GetLastError()=134) return;/命令ea如果保證金不足不要交易18. if(AccountFreeMarginCheck(Symbol(),OP_SELL,下注數(shù)量)<=0| GetLastError()=134)return;/命令ea如果保證金不足不要交易19. /ea 不讀這個注解/20. 21. if( /開始如果22. OrdersTotal()=0 /沒有單可以下注23. &&Close0-Open0>200*Point /判斷上升趨勢24. &&Close1-Open1>200*Point /判斷上升趨勢25. &&Close2-Open2>200*Point /判斷上升趨勢26. &&Close3-Open3>200*Point /判斷上升趨勢27. && 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次28. )29. OrderSend(Symbol(),OP_BUY,下注數(shù)量,Ask,滑點,Ask-止損*Point,Ask+止盈*Point,+ea名字+,魔術號碼,0,Green);30. 限制一根柱子下注一次 =Time0;31. if(使用音樂)PlaySound(Conditions.wav);32. if(使用彈出提示)Alert( M,Period(),Symbol(),buy開倉,余額資金:,AccountBalance(), );33. / end if 結束如果 34. /ea 不讀這個注解/35. 36. if( /開始 如果37. OrdersTotal()=0 /沒有單可以下注38. &&Open0-Close0>200*Point /判斷下降趨勢39. &&Open1-Close1>200*Point /判斷下降趨勢40. &&Open2-Close2>200*Point /判斷下降趨勢41. &&Open3-Close3>200*Point /判斷下降趨勢42. && 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次43. )44. OrderSend(Symbol(),OP_SELL,下注數(shù)量,Bid,滑點,Bid+止損*Point,Bid-止盈*Point,+ea名字+,魔術號碼,0,Red);45. 限制一根柱子下注一次 =Time0;46. if(使用音樂)PlaySound(Conditions.wav);47. if(使用彈出提示)Alert( M,Period(),Symbol(),sell開倉,余額資金:,AccountBalance(), );48. / end if結束如果 49. 50. /ea 不讀這個注解/51. return(0); /叫 ea重復運行每秒大概可能重新運算100次52. /startto end 結束主程式 第4章:把復雜變簡單-子程式注意變法!把這個ea saveas另外一個新的名字,比如:my3ea /ea 不讀這個注解/#property copyright 柒俠伍義_初級EA教程_商業(yè)版本datetime 限制一根柱子下注一次 =0; /自定義extern double下注數(shù)量=0.1; /自定義extern double止損=200; /自定義extern double止盈=200; /自定義extern double 滑點=30; /自定義externbool 使用音樂=true; /true=要用 false=不要用externbool 使用彈出提示=false; /true=要用 false=不要用string ea名字 =柒俠伍義_初級EA教程;double魔術號碼=16384; /自定義魔術號碼/ea 不讀這個注解/int start() /ea 開始運行 /開始主程式HideTestIndicators(true);/命令ea隱藏ea中的指標if(AccountFreeMarginCheck(Symbol(),OP_BUY,下注數(shù)量)<=0| GetLastError()=134) return;/命令ea如果保證金不足不要交易if(AccountFreeMarginCheck(Symbol(),OP_SELL,下注數(shù)量)<=0| GetLastError()=134)return;/命令ea如果保證金不足不要交易/ea 不讀這個注解/ 策略管理(); /子程式/ea 不讀這個注解/ return(0); /叫 ea重復運行每秒大概可能重新運算100次 /startto end 結束主程式/ea 不讀這個注解/void 策略管理() /子程式if( /開始如果OrdersTotal()=0 /沒有單可以下注&&Close0-Open0>200*Point /判斷上升趨勢&&Close1-Open1>200*Point /判斷上升趨勢&&Close2-Open2>200*Point /判斷上升趨勢&&Close3-Open3>200*Point /判斷上升趨勢&& 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次)OrderSend(Symbol(),OP_BUY,下注數(shù)量,Ask,滑點,Ask-止損*Point,Ask+止盈*Point,+ea名字+,魔術號碼,0,Green);限制一根柱子下注一次 =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 /判斷下降趨勢&&Open3-Close3>200*Point /判斷下降趨勢&& 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次)OrderSend(Symbol(),OP_SELL,下注數(shù)量,Bid,滑點,Bid+止損*Point,Bid-止盈*Point,+ea名字+,魔術號碼,0,Red);限制一根柱子下注一次 =Time0;if(使用音樂)PlaySound(Conditions.wav);if(使用彈出提示)Alert( M,Period(),Symbol(),sell開倉,余額資金:,AccountBalance(), ); / end if結束如果 /結束子程式 第5章:把復雜變簡單-子程式中的子程式 /ea 不讀這個注解/#property copyright 柒俠伍義_初級EA教程_商業(yè)版本datetime 限制一根柱子下注一次 =0; /自定義extern double下注數(shù)量=0.1; /自定義extern double止損=200; /自定義extern double止盈=200; /自定義extern double 滑點=30; /自定義externbool 使用音樂=true; /true=要用 false=不要用externbool 使用彈出提示=false; /true=要用 false=不要用string ea名字 =柒俠伍義_初級EA教程;double魔術號碼=16384; /自定義魔術號碼/ea 不讀這個注解/int start() /ea 開始運行 /開始主程式HideTestIndicators(true);/命令ea隱藏ea中的指標if(AccountFreeMarginCheck(Symbol(),OP_BUY,下注數(shù)量)<=0| GetLastError()=134) return;/命令ea如果保證金不足不要交易if(AccountFreeMarginCheck(Symbol(),OP_SELL,下注數(shù)量)<=0| GetLastError()=134)return;/命令ea如果保證金不足不要交易/ea 不讀這個注解/ 策略管理(); /子程式/ea 不讀這個注解/ return(0); /叫 ea重復運行每秒大概可能重新運算100次 /startto end 結束主程式/ea 不讀這個注解/void 策略管理() /子程式if( /開始如果OrdersTotal()=0 /沒有單可以下注&&Close0-Open0>200*Point /判斷上升趨勢&&Close1-Open1>200*Point /判斷上升趨勢&&Close2-Open2>200*Point /判斷上升趨勢&&Close3-Open3>200*Point /判斷上升趨勢&& 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次)買上(); / end if 結束如果 /ea 不讀這個注解/ if( /開始 如果OrdersTotal()=0 /沒有單可以下注&&Open0-Close0>200*Point /判斷下降趨勢&&Open1-Close1>200*Point /判斷下降趨勢&&Open2-Close2>200*Point /判斷下降趨勢&&Open3-Close3>200*Point /判斷下降趨勢&& 限制一根柱子下注一次!=Time0 /限制一根柱子下注一次)OrderSend(Symbol(),OP_SELL,下注數(shù)量,Bid,滑點,Bid+止損*Point,Bid-止盈*Point,+ea名字+,魔術號碼,0,Red);限制一根柱子下注一次 =Time0;if(使用音樂)PlaySound(Conditions.wav);if(使用彈出提示)Alert( M,Period(),Symbol(),sell開倉,余額資金:,AccountBalance(), ); / end if結束如果 /結束策略管理子程式/void 買上() /買上子程式開始OrderSend(Symbol(),OP_BUY,下注數(shù)量,Ask,滑點,Ask-止損*Point,Ask+止盈*Point,+ea名字+,魔術號碼,0,Green);限制一根柱子下注一次 =Time0;if(使用音樂)PlaySound(Conditions.wav);if(使用彈出提示)Alert( M,Period(),Symbol(),buy開倉,余額資金:,AccountBalance(), );/結束買上 第6章:把復雜變簡單-賣下子程式你應當學會把買上變成子程式試一試把 賣下變成子程式 /-#property copyright 柒俠伍義_初級EA教程_商業(yè)版本datetime 限制一根柱子下注一次 =0; /自定義extern double下注數(shù)量=0.1; /自定義extern double止損=200; /自定義extern double止盈=200; /自定義extern double 滑點=30; /自定義externbool 使用音樂=true; /true=要用 false=不要用externbool 使用彈出提示=false; /true=要用 false=不要用string ea名字 =柒俠伍義_初級EA教程;double魔術號碼=16384; /自定義魔術號碼/-int start() /ea 開始運行 /開始主程式HideTestIndicators(true);/命令ea隱藏ea中的指標if(AccountFreeMarginCheck(Symbol()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論