如何编写EA电脑基础知识IT计算机专业资料复习进程.doc

上传人:1595****071 文档编号:86464649 上传时间:2023-04-14 格式:DOC 页数:24 大小:200KB
返回 下载 相关 举报
如何编写EA电脑基础知识IT计算机专业资料复习进程.doc_第1页
第1页 / 共24页
如何编写EA电脑基础知识IT计算机专业资料复习进程.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《如何编写EA电脑基础知识IT计算机专业资料复习进程.doc》由会员分享,可在线阅读,更多相关《如何编写EA电脑基础知识IT计算机专业资料复习进程.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Good is good, but better carries it.精益求精,善益求善。如何编写EA电脑基础知识IT计算机专业资料-该换平台了,新手老手马上到大牛推荐的幸运平台,领取2000赠金easy-forex外汇交易平台是个人投资者寻求外汇及其他主要全球市场交易机会的首选,提供24小时外汇交易,黄金交易,石油交易!官方注册连接:http:/record.partners.easy-第四章认识Close0和Open0一个K线的开始叫Open0一个K线的结束叫Close0上一个的K线的开始叫Open1上一个K线的结束叫Close1上上一个的K线的开始叫Open2上上一个K线的结束叫Clo

2、se2所以要判断几时的K线就什么号码比如:Open0Open1Open2Open3Open4比如:Close0Close1Close2Close3Close4Close0Open0表示上升Close0Open0&Close1Open1&Close2Open2&Close3Open3)buyme();表示后方有3次上升然后这一次也是上升判断就下注上升也就是买上Buy反过来就卖下Sell第5章:认识High0Low0第五章认识High0和Low0一个K线的高点叫High0一个K线的低点叫Low0上一个的K线的高点叫High1上一个K线的低点叫Low1上上一个的K线的高点叫High2上上一个K线的低

3、点叫Low2所以要判断几时K线的高低点就什么号码比如:High0High1High2High3High4比如:Low0Low1Low2Low3Low4High0Low0表示我们可以得到他们的差点High1Low1表示我们可以得到上一回的差点如果你这样编写if(Close0Open0&Close1Open1&(High1Low1)/Point10&(High0Low0)/Point10)buyme();表示后方有上升超过10点然后这一次是上升超过10点判断就下注上升也就是买上Buy反过来就卖下Sellif(Close0Open0&Close110&(High0Low0)/Point10)sell

4、me();第柒章:学会解读EA第七章如何解读EA告诉我以下怎样解读if(s+b=0&ma1nowma2now&(ma1now-ma2now)/point10&macd1now0&macd2now/point10&close0open0&high0-low0/point10&close0-open0/point10)buyme();解读:如果(买卖等于零加上均线1大过均线2加上均线1减均线2大过10点加上macd1超过零加上macd2超过10点加上收盘大过开盘加上高减低大过10点加上收盘减开盘大过10点)这样才买上成交所以一些基本的语句我们是一定要记住和知道的不知道就不会解读不会解读就不会编写策

5、略不会编写就永远作市场的水鱼第八章:认识Point第八章如何认识Point什么是Point?Point是什么?为什么叫Point?为什么要乘以Point?为什么又除以Point?Point的英文解释是“点”MT4系统内定这个Point字代表一个变化的“点”比如:欧元的计算1.9356/Point=19356又比如:日元的计算132.66/Point=13266注意:Point是会自动变化的好处是当你编写程式的时候不会因为欧元对美元欧元对日元就会出错那么Point有什么用呢?再比如:High的值减Low的值或者关盘减开盘if(Close0Open0/Point10)buyme();他的值可能是1

6、.3100-1.3270=-170-170是没有大过10因为是下降,所以没有成交交易再比如:macd1_0的值减macd1_1的值再比如:ma1now的值减ma2now的值总之是计算“点”用的Point没有固定的值碰到GU可能是0.0001碰到EJ可能是0.001使用的目的就是要把他们变成“整数”你可以了解为除/Point与乘*point/Point小數點往後移小數變成整數*Point小數點往前移整數變成小數例子:EU小數點有4位EU/Point小數點往后移4位小數變成整數JY小數點有2位JY/Point小數點往后移2位也是小數点變成整數JY的high0low0小數点/Point整數EU的hi

7、gh0low0小數点/Point整數例子:JY的if(high0low010*Point)buyme();JY的高盘减低盘大过10点就买上EU的if(high0low010*Point)buyme();EU的高盘减低盘大过10点就买上这两个答案一样if(high0low010*Point)buyme();if(high0low0)/Point10)buyme();注意:Point的P是大写的Ask的A也是大写的Bid的B要大写颜色Red的R也是大写的第9章:认识Time0第九章认识Time0什么是Time0?没有人告诉过我我也没有问过任何人什么是Time0?很多时候我们遇到新的词句我们第一步就

8、是“研究”而不是问问了也是白问因为明天你就忘记了是忘得一干二尽啊!在上一个EA速成班的策略中我有用到你还记得吗?你有注意到吗?单看它的写法应该可以猜到一二如果你想知道没有他的效果会怎样简单,把Time0给删掉看看效果怎样自我学习是不可少的功课认识Time0记住Time0的效果在以后编写策略时可能会有用到的第10章:认识时间观念第十章认识时间观念很多人在编写策略时写到到不知道怎样写这样写也不行那样也不行干脆避开热门时间不下注这就用到时间了有些人只喜欢玩热门时间比如早上八点到下午3点看看别人编写的/-判断K线开盘时间,以减少运行次数。-if(Minute()=0)return(0);/正点时间任何

9、时间段均不运行。if(Minute()3)nAllowSend=0;return(0);/从此行起可以编写您认为有价值的交易时间,我们现在是开盘3分钟内。/-看看别人编写的if(TimeDayOfWeek(TimeCurrent()=0&Allow_Trade_On_Sun=FALSE)ok_to_trade=FALSE;if(TimeDayOfWeek(TimeCurrent()=1&Allow_Trade_On_Mon=FALSE)ok_to_trade=FALSE;if(TimeDayOfWeek(TimeCurrent()=2&Allow_Trade_On_Tue=FALSE)ok_t

10、o_trade=FALSE;if(TimeDayOfWeek(TimeCurrent()=3&Allow_Trade_On_Wed=FALSE)ok_to_trade=FALSE;if(TimeDayOfWeek(TimeCurrent()=4&Allow_Trade_On_Thu=FALSE)ok_to_trade=FALSE;if(TimeDayOfWeek(TimeCurrent()=5&Allow_Trade_On_Fri=FALSE)ok_to_trade=FALSE;if(TimeDayOfWeek(TimeCurrent()=6&Allow_Trade_On_Sat=FALSE)

11、ok_to_trade=FALSE;if(TimeHour(TimeCurrent()!=0)ok_to_trade=FALSE;if(TimeMinute(TimeCurrent()!=0)ok_to_trade=FALSE;if(ok_to_trade=FALSE)else。看别人的EA就是为了“自我学习”你学习到了什么?你看到了什么?第一:时间是写在策略的前面if(TimeDayOfWeek(TimeCurrent()=5意思就是星期几?5就是星期5如果要用到小时应该是这样编写的if(TimeHour(TimeCurrent()=4)。如果要用到分钟应该是这样编写的if(TimeMinu

12、te(TimeCurrent()=4)。第11章:认识常用之符号第十一章认识常用符号如果你不认识这些符号你很难编写你的EA策略可能都不知道怎样表达ab这个代表a大过bab这个代表a大过b或者等于ba=macd2&macd1_2macd2&macd1_20)CTP();/跟蹤止贏return(0);/+-下面是各子程序-+doubleLotsOptimized()/確定下單量,開倉調用doublelot=Lots;intorders=HistoryTotal();/historyorderstotalintlosses=0;/numberoflossesorderswithoutabreak/M

13、arketInfo(Symbol(),MODE_MINLOT);/MarketInfo(Symbol(),MODE_MAXLOT);/MarketInfo(Symbol(),MODE_LOTSTEP);lot=NormalizeDouble(MaximumRisk*AccountBalance()/AccountLeverage(),1);if(lotmaxLots)lot=maxLots;return(lot);/平倉持有的買單voidCloseBuy()if(OrdersTotal()0)for(i=OrdersTotal()-1;i0)for(i=OrdersTotal()-1;i0)O

14、rderSelect(OrdersTotal()-1,SELECT_BY_POS);LastOrderPrice=OrderOpenPrice();return(LastOrderPrice);/+./判斷是否買或賣或平倉intbuyorsell()/在這個函數計算設置你的交易信號doubleMacdCurrent,MacdPrevious,SignalCurrent;doubleSignalPrevious,MaCurrent,MaPrevious;doubleMacdnew,LastPrice;Macdnew=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MA

15、IN,0);/目前macd值MacdCurrent=iStochastic(NULL,0,9,9,8,MODE_SMA,0,MODE_MAIN,0);/目前stoch值/MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);MacdPrevious=iStochastic(NULL,0,9,9,8,MODE_SMA,0,MODE_MAIN,1);/SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);SignalCurrent=iStochastic(NULL,

16、NULL,0,9,9,8,PRICE_CLOSE,MODE_SIGNAL,0);/SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);SignalPrevious=iStochastic(NULL,NULL,0,9,9,8,PRICE_CLOSE,MODE_SIGNAL,1);MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);/

17、strMain=iStochastic(NULL,0,9,9,8,MODE_SMA,0,MODE_MAIN,0);LastPrice=GetLastOrderPrice()-0.03;/if(MacdCurrentSignalCurrent&Bid123.50)/設定stoch25且價位需低於123.5if(MacdCurrent22&Macdnew-0.005&Bid122&LastPrice80&MacdCurrentSignalCurrent)return(-1);/賣return(0);/不交易intnowbuyorsell=0;voidCheckForOpen()if(Time0=l

18、asttime)return;/每時間週期檢查一次lasttime=Time0;nowbuyorsell=buyorsell();/獲取買賣信號if(nowbuyorsell=1)/買先結束已賣的CloseSell();if(nowbuyorsell=-1)/賣先結束已買的CloseBuy();/if(TimeDayOfWeek(CurTime()=1)/if(TimeHour(CurTime()19)return;/週五晚11點後不做/if(OrdersTotal()=maxOpen)return;/如果已持有開倉數達到最大,不做if(nowbuyorsell=0)return;/不交易Tr

19、adeOK();/去下單交易voidTradeOK()/去下單交易interror;if(nowbuyorsell=1)/買switch(whichmethod)case1:res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,MAGICMA,0,Blue);break;case2:res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-StopLoss*Point,0,MAGICMA,0,Blue);break;case3:res=OrderSend(Symbol(),OP_BU

20、Y,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point,MAGICMA,0,Blue);break;case4:res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,MAGICMA,0,Blue);break;default:res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,MAGICMA,0,Blue);break;if(res=0)error=GetLastErr

21、or();if(error=134)Print(Received134ErrorafterOrderSend()!);/notenoughmoneyif(error=135)RefreshRates();/priceshavechangedSleep(10000);return;if(nowbuyorsell=-1)/賣switch(whichmethod)case1:res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,MAGICMA,0,Red);break;case2:res=OrderSend(Symbol(),OP_SELL

22、,LotsOptimized(),Bid,3,Bid+StopLoss*Point,0,MAGICMA,0,Red);break;case3:res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,Bid-TakeProfit*Point,MAGICMA,0,Red);break;case4:res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,MAGICMA,0,Red);break;default:res=

23、OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,MAGICMA,0,Red);break;if(res=0)error=GetLastError();if(error=134)Print(Received134ErrorafterOrderSend()!);/notenoughmoneyif(error=135)RefreshRates();/priceshavechangedSleep(10000);return;voidCTP()/跟蹤止贏boolbs=false;for(inti=0;i(TrailingStop*MarketIn

24、fo(OrderSymbol(),MODE_POINT)if(OrderStopLoss()(TrailingStop*MarketInfo(OrderSymbol(),MODE_POINT)if(OrderStopLoss()(Ask+TrailingStop*MarketInfo(OrderSymbol(),MODE_POINT)bs=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*MarketInfo(OrderSymbol(),MODE_POINT),OrderTakeProfit(),0,Tan);第20章:什么

25、是magic第十四章什么是Magicmagic在红毛话的意思就是“魔术”在MT4的用意就是辨认这EA开的单子MT4顾虑到不是所有的顾客都使用EA开单有时候你是可以自己手动开单有magicno的EA他只辨认及管理EA自己开的单子他不会管理你手动开的单子意思就是比如你总结有10个单但只有三个是EA自动开单的假如EA要关闭单子他只会选择magicno一样的3个单子关掉不会选择你手动添加的单子关闭第二的可能是有些人会在同一个户口使用许多不同的EA个个EA有他自己的魔术号码所有EA管理自己的魔术号码就不会出乱子了也有可能一个EA里面有好几个magic号码其用意也是在控制复杂的开单和关单有时候有些人用自定

26、函数的名称MAGICMA或MagicNumber但效果一样的举例:#defineMAGICMA2828228/intMagicNumber=200601182020;/allowsmultipleexpertstotradeonsameaccount以下是一个添加在TrailingStop的MAGICMA方式voidTrailingStop()/ifwehaveopenedpositionswetakecareofthemfor(cnt=OrdersTotal();cnt=0;cnt-)OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);if(OrderSym

27、bol()=Symbol()&OrderMagicNumber()=MAGICMA)if(OrderType()=OP_SELL)if(TrailingStop0)if(OrderOpenPrice()-Ask)(Point*TrailingStop)if(OrderStopLoss()(Ask+Point*TrailingStop)|(OrderStopLoss()=0)OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);return(0);if(OrderType()=OP_BUY)if(TrailingStop0)if(Bid-OrderOpenPrice()Point*TrailingStop)if(OrderStopLoss()Bid-Point*TrailingStop)OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);return(0);/endTrailingStop/只有你多多参考别人怎样加“魔术号码”久而久之你也会了没有什么了不起的哈哈和。-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁