[問題] MT4條件式平倉

看板Trading (金融交易)作者 (獵人)時間12年前 (2012/11/04 18:03), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
各位前輩大家好~ 現在已知滿足條件下開倉, 也曉得如何控制停損停利, 但小弟現在有個疑問關於條件式的平倉 舉個例,以下是我的程式: int start() { double ema15M10=iMA(Symbol(),PERIOD_M15,10,0,MODE_EMA,PRICE_CLOSE,0); double ema30M10=iMA(Symbol(),PERIOD_M30,10,0,MODE_EMA,PRICE_CLOSE,0); double ema15M20=iMA(Symbol(),PERIOD_M15,20,0,MODE_EMA,PRICE_CLOSE,0); double ema30M20=iMA(Symbol(),PERIOD_M30,20,0,MODE_EMA,PRICE_CLOSE,0); if((ema15M10<ema30M10)&&(ema15M20<ema30M20))//sell { sell(0.1,300,400,Symbol()+"sell",0); } if((ema15M10>ema30M10)&&(ema15M20>ema30M20))//buy { buy(0.1,300,400,Symbol()+"buy",0); } return(0); } int buy(double Lots,int loss,int profit,string comment,int magic) { int com=0; int ticket=0; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderComment()==comment) { com=1; } } } if(com==0) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,30,Ask-loss*Point,Ask+profit*Point,comment,magic,0,Red); } return(ticket); } int sell(double Lots,int loss,int profit,string comment,int magic) { int com=0; int ticket=0; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderComment()==comment) { com=1; } } } if(com==0) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,30,Bid+loss*Point,Bid-profit*Point,comment,magic,0,Green); } return(ticket); } 現在我想把平倉條件改為當其再次交叉時平倉 原來的停損及停利取消,要如何從這個程式去改呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 41.203.229.157

11/05 01:10, , 1F
原程式開倉條件加入無任何倉位時才開 有倉位則判斷指標
11/05 01:10, 1F

11/05 01:10, , 2F
是否停損反手做或停利
11/05 01:10, 2F

11/05 01:12, , 3F
再寫個判斷Magic Number以區別手動程式單
11/05 01:12, 3F

11/05 01:21, , 4F
這樣指標訊號就會一直用到 寫成副程式方便許多 結構也好
11/05 01:21, 4F

11/12 16:33, , 5F
謝謝S大,實驗中
11/12 16:33, 5F
文章代碼(AID): #1GbZrg1p (Trading)
文章代碼(AID): #1GbZrg1p (Trading)