根据KDJ实现自动交易并移动止损止盈

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
double d=iStochastic(Symbol(),PERIOD_M15,5,3,3,MODE_SMA,0,MODE_SIGNAL,0);
double kp=iStochastic(Symbol(),PERIOD_M30,5,3,3,MODE_SMA,0,MODE_MAIN,1);
double dp=iStochastic(Symbol(),PERIOD_M30,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);
if(sun==0&&ying!= 0){
ticket=OrderSend(Symbol(),OP_SELL,lots,Ask,70,0,Bid+ying*Point,comment,magic,0,Green);}
if(sun!= 0&&ying==0){
ticket=OrderSend(Symbol(),OP_SELL,lots,Ask,70,Bid-sun*Point,comment,magic,0,Green);}
{
int com=0,ticket=0;
for(int i=0;i<OrdersTotal();i++)
{ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{ if(OrderComment()==comment)
{ comment=1;}
}
}
if(com==0)
{ if(OrderComment()==comment)
{ comment=1;}
}
}
if(com==0)
{
if(sun!=0&&ying!=0){
ticket=OrderSend(Symbol(),OP_SELL,lots,Ask,70,Bid-sun*Point,Bid+ying*Point,comment,magic,0,Green);}
// sell(0.3,70,250,Symbol()+"sell1",0);
//sell(0.4,70,250,Symbol()+"sell2",0);
}
for(int j=0;j<OrdersTotal();j++)
{
OrderSelect(j, SELECT_BY_POS,MODE_TRADES);
if(ticket<0)
{Alert(GetLastError());}
return(ticket);
}
}
if(sun!= 0&&ying==0){
ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,70,comment,magic,0,Green);}
if(sun==0&&ying==0){
ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,70,0,0,comment,magic,0,Green);}
}
}
return(0);
}
}
int buy(double lots,int sun,int ying,string comment,int magic)
{
int com=0,ticket=0;
for(int i=0;i<OrdersTotal();i++)
{ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if((k>d)&&(kp<dp))
{
if(buy(0.2,400,850,Symbol()+"buy1",0)>0)
{buytisun=200;}
// buy(0.2,70,250,Symbol()+"sell",0);
buy(0.3,70,250,Symbol()+"buy1",0);
buy(0.4,70,250,Symbol()+"buy2",0);
if(OrderModify(OrderTicket(),OrderOpenPrice(),sellSL-Point*200,OrderTakeProfit(),0)==true)
{selltisun=selltisun+200;}
}
}
if(( ema10m15> ema20m15)&&(ema10m30>ema20m30))
double ema10m30=iMA(Symbol(),PERIOD_M30,10,0,MODE_EMA,PRICE_CLOSE,0);
double ema20m30=iMA(Symbol(),PERIOD_M30,20,0,MODE_EMA,PRICE_CLOSE,0);
double k=iStochastic(Symbol(),PERIOD_M15,5,3,3,MODE_SMA,0,MODE_MAIN,0);
if(sun==0&&ying==0){
ticket=OrderSend(Symbol(),OP_SELL,lots,Ask,70,0,0,comment,magi来自百度文库,0,Green);}
if(ticket<0)
{Alert(GetLastError());}
return(ticket);
}
}
int sell(double lots,int sun,int ying,string comment,int magic)
if(( ema10m15< ema20m15)&&(ema10m30<ema20m30))
{
if((k<d)&&(kp>dp))
{
if(sell(0.2,400,850,Symbol()+"sell",0)<0)
{selltisun=200;}//下单后初始化
//sell(0.2,400,850,Symbol()+"sell",0);
根据KDJ实现自动交易并移动止损止盈
int com=0,ticket=0;
double lots;int sun;int ying;string comment;int magic;
int buytisun=200;
int selltisun=200;
int init()
{
return(0);
}
int deinit()
{
if(sun!=0&&ying!=0){
ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,70,Bid+sun*Point,Bid-ying*Point,comment,magic,0,Green);}
if(sun==0&&ying!= 0){
ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,70,0,Bid-ying*Point,comment,magic,0,Green);}
{
return(0);
}
int start()
{
double ema10m15=iMA(Symbol(),PERIOD_M15,10,0,MODE_EMA,PRICE_CLOSE,0);
double ema20m15=iMA(Symbol(),PERIOD_M15,20,0,MODE_EMA,PRICE_CLOSE,0);
if (OrderComment()==(Symbol()+"buy")) //多单移动止损止盈
if(((Bid-OrderOpenPrice())/Point)>=buytisun)
{
double buySL=OrderStopLoss();
if(OrderModify(OrderTicket(),OrderOpenPrice(),buySL+Point*200,OrderTakeProfit(),0)==true)
{buytisun=buytisun+200;}
}
if (OrderComment()==(Symbol()+"sell")) //空单移动止损止盈
if(((OrderOpenPrice()-Ask)/Point)>=selltisun)
{
double sellSL=OrderStopLoss();
相关文档
最新文档