[問題] MT4條件式平倉
各位前輩大家好~
現在已知滿足條件下開倉,
也曉得如何控制停損停利,
但小弟現在有個疑問關於條件式的平倉
舉個例,以下是我的程式:
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
11/05 01:12, 3F
推
11/05 01:21, , 4F
11/05 01:21, 4F
→
11/12 16:33, , 5F
11/12 16:33, 5F
Trading 近期熱門文章
211
680
PTT職涯區 即時熱門文章