heping120 发表于 2024-10-4 15:45:46

一次只下一单EA,自己改变做单方向

一次只下一单,自己改变做单方向

xirely 发表于 2024-10-5 14:07:21

能赚钱吗?

王德峰 发表于 2024-10-5 14:17:02

extern int    止盈=100;      /// 止盈点数;
extern int    止损=100;      /// 止损点数;
extern double 一单=0.01;   /// 下单手数;
extern double 二单=0.01;   /// 下单手数;
extern double 三单=0.02;   /// 下单手数;
extern double 四单=0.02;   /// 下单手数;
extern double 五单=0.03;   /// 下单手数;
extern double 六单=0.03;/// 下单手数;
extern double 七单=0.04;/// 下单手数;
extern double 八单=0.04;/// 下单手数;
extern double 九单=0.05;   /// 下单手数;
extern double 十单=0.05;   /// 下单手数;
extern double 十一单=0.01;   /// 下单手数;
extern double 十二单=0.01;   /// 下单手数;
extern double 十三单=0.02;   /// 下单手数;
extern double 十四单=0.02;/// 下单手数;
extern double 十五单=0.03;/// 下单手数;
extern double 十六单=0.03;/// 下单手数;
extern double 十七单=0.04;   /// 下单手数;
extern double 十八单=0.04;   /// 下单手数;
extern double 十九单=0.05;   /// 下单手数;
extern double 二十单=0.05;   /// 下单手数;






int init()
{
   return(0);
}
int deinit()
{
   return(0);
}

//+---------------------------主程序开始运作------------------------------------------------------------------------+
int start()

{if (Close-Close>0){








{
double yy3=OrdersTotal();   ///订单数;
double yy;
RefreshRates();
yy=HistoryTotal();
yy=yy-1;
string flagg;               ///////////第几号开单,无需改动。
string flaggy="z";
if (flaggy=="z")
{
flaggy="y";
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
double yy9=OrderProfit();
if((StringFind(OrderComment(),"aaa",0)==0) && (yy9>0))
{
Print ("jjj===",StringFind(OrderComment(),"aaa",0));
flagg="bbb";
}
else if ((StringFind(OrderComment(),"bbb",0)==0) && (yy9>0))
{
flagg="ccc";
}
else if ((StringFind(OrderComment(),"ccc",0)==0) && (yy9>0))
{
flagg="ddd";
}
else if ((StringFind(OrderComment(),"ddd",0)==0) && (yy9>0))
{
flagg="eee";
}
else if ((StringFind(OrderComment(),"eee",0)==0) && (yy9>0))
{
flagg="fff";
}
else if ((StringFind(OrderComment(),"fff",0)==0) && (yy9>0))
{
flagg="ggg";
}
else if ((StringFind(OrderComment(),"ggg",0)==0) && (yy9>0))
{
flagg="hhh";
}
else if ((StringFind(OrderComment(),"hhh",0)==0) && (yy9>0))
{
flagg="iii";
}
else if ((StringFind(OrderComment(),"iii",0)==0) && (yy9>0))
{
flagg="jjj";
}
else if ((StringFind(OrderComment(),"jjj",0)==0) && (yy9>0))
{
flagg="jjj";
}


else
{
flagg="kkk";
}
//--------利润为正的情况---------------------------------------------------------------------------------------------
if (yy9>0)
{
flagg="aaa";
}
//---------利润为正的情况结束----------------------------------------------------------------------------------------
}
else
{
flagg="111";
}
}
double guo=HistoryTotal();/////历史单数
////------第一次操盘开始----------------------------------------------------------------------------------------------
if(flagg=="aaa")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
//string zhushi;
int ticket=OrderSend(Symbol(),OP_BUY,一单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
datetime ctm=OrderOpenTime();
Print(OrderComment());
datetime ctm1=OrderCloseTime();
double close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="bbb";

}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
   }
}
}
///------第一次操盘结束,第二次操盘开始----------------------------------------------------------------------------
if(flagg=="bbb")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,二单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="ccc";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第二次操盘结束,第三次操盘开始-----------------------------------------------------------------------------
if(flagg=="ccc")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,三单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="ddd";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第三次操盘结束,第四次操盘开始------------------------------------------------------------------------------
if(flagg=="ddd")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,四单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="eee";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}




///------第四次操盘结束,第五次操盘开始-----------------------------------------------------------------------------
if(flagg=="eee")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,五单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="fff";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第五次操盘结束,第六次操盘开始------------------------------------------------------------------------------
if(flagg=="fff")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,六单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="ggg";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}



///------第六次操盘结束,第七次操盘开始-----------------------------------------------------------------------------
if(flagg=="ggg")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,七单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="hhh";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第七次操盘结束,第八次操盘开始------------------------------------------------------------------------------
if(flagg=="hhh")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,八单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="iii";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}

///------第八次操盘结束,第九次操盘开始-----------------------------------------------------------------------------
if(flagg=="iii")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,九单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="jjj";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第九次操盘结束,第十次操盘开始------------------------------------------------------------------------------
if(flagg=="jjj")
{
yy3=OrdersTotal();
if (yy3==0 )
{
RefreshRates();
yy=HistoryTotal();
if (yy-yy3==guo)
{
ticket=OrderSend(Symbol(),OP_BUY,十单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flagg,16384,0,Red);
}
else
{///////// 修复FLAGG开始
yy=yy-1;
if(OrderSelect(yy,SELECT_BY_POS,MODE_HISTORY)==true)
{
ctm=OrderOpenTime();
ctm1=OrderCloseTime();
close1=OrderClosePrice();
yy9=OrderProfit();
if (yy9<0)
{
flagg="111";
}
else
{
flagg="jjj";
}
guo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}



















///------全部结束,开始循环---------------------------------------------------------------------------------------------
   return(0);
}
//+-------------------------------------------------------------------------------------------------------------------+





}else{





{
double ll3=OrdersTotal();   ///订单数;
double ll;
RefreshRates();
ll=HistoryTotal();
ll=ll-1;
string flag;               ///////////第几号开单,无需改动。
string kflaggy="m";
if (kflaggy=="m")
{
kflaggy="l";
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
double ll9=OrderProfit();
if((StringFind(OrderComment(),"111",0)==0) && (ll9>0))
{
Print ("101010===",StringFind(OrderComment(),"111",0));
flag="222";
}
else if ((StringFind(OrderComment(),"222",0)==0) && (ll9>0))
{
flag="333";
}
else if ((StringFind(OrderComment(),"333",0)==0) && (ll9>0))
{
flag="444";
}
else if ((StringFind(OrderComment(),"444",0)==0) && (ll9>0))
{
flag="555";
}
else if ((StringFind(OrderComment(),"555",0)==0) && (ll9>0))
{
flag="666";
}
else if ((StringFind(OrderComment(),"666",0)==0) && (ll9>0))
{
flag="777";
}
else if ((StringFind(OrderComment(),"777",0)==0) && (ll9>0))
{
flag="888";
}
else if ((StringFind(OrderComment(),"888",0)==0) && (ll9>0))
{
flag="999";
}
else if ((StringFind(OrderComment(),"999",0)==0) && (ll9>0))
{
flag="101010";
}
else if ((StringFind(OrderComment(),"101010",0)==0) && (ll9>0))
{
flag="101010";
}

else
{
flag="111";
}
//--------利润为正的情况---------------------------------------------------------------------------------------------
if (ll9<0)
{
flag="aaa";
}
//---------利润为正的情况结束----------------------------------------------------------------------------------------
}
else
{
flag="111";
}
}
double kguo=HistoryTotal();/////历史单数
////------第一次操盘开始----------------------------------------------------------------------------------------------
if(flag=="111")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
//string zhushi;
int kticket=OrderSend(Symbol(),OP_SELL,十一单,Bid,300,Bid+止盈*Point,Bid-止损*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
datetime cctm=OrderOpenTime();
Print(OrderComment());
datetime cctm1=OrderCloseTime();
double cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="aaa";
}
else
{
flag="222";

}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
   }
}
}
///------第十一次操盘结束,第十二次操盘开始----------------------------------------------------------------------------
if(flag=="222")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_SELL,十一单,Bid,300,Bid+止盈*Point,Bid-止损*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="aaa";
}
else
{
flag="333";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第十二次操盘结束,第十三次操盘开始-----------------------------------------------------------------------------
if(flag=="333")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_SELL,十三单,Bid,300,Bid+止盈*Point,Bid-止损*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="111";
}
else
{
flag="444";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第十三次操盘结束,第十四次操盘开始------------------------------------------------------------------------------
if(flag=="444")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_BUY,十四单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="111";
}
else
{
flag="555";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}




///------第十四次操盘结束,第十五次操盘开始-----------------------------------------------------------------------------
if(flag=="555")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_SELL,十五单,Bid,300,Bid+止盈*Point,Bid-止损*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="111";
}
else
{
flag="666";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第十五次操盘结束,第十六次操盘开始------------------------------------------------------------------------------
if(flag=="666")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_BUY,十六单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="111";
}
else
{
flag="777";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}



///------第十六次操盘结束,第十七次操盘开始-----------------------------------------------------------------------------
if(flag=="777")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_SELL,十七单,Bid,300,Bid+止盈*Point,Bid-止损*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="111";
}
else
{
flag="888";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}
///------第十七次操盘结束,第十八次操盘开始------------------------------------------------------------------------------
if(flag=="888")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_BUY,十八单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="111";
}
else
{
flag="999";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}






///------第十八次操盘结束,第十九次操盘开始-----------------------------------------------------------------------------
if(flag=="999")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_SELL,十九单,Bid,300,Bid+止盈*Point,Bid-止损*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="111";
}
else
{
flag="101010";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}












///------第十九次操盘结束,第二十次操盘开始------------------------------------------------------------------------------
if(flag=="101010")
{
ll3=OrdersTotal();
if (ll3==0 )
{
RefreshRates();
ll=HistoryTotal();
if (ll-ll3==kguo)
{
kticket=OrderSend(Symbol(),OP_BUY,二十单,Ask,300,Ask-止损*Point,Ask+ 止盈*Point,flag,16384,0,Red);
}
else
{///////// 修复FLAGG开始
ll=ll-1;
if(OrderSelect(ll,SELECT_BY_POS,MODE_HISTORY)==true)
{
cctm=OrderOpenTime();
cctm1=OrderCloseTime();
cclose1=OrderClosePrice();
ll9=OrderProfit();
if (ll9<0)
{
flag="111";
}
else
{
flag="101010";
}
kguo=HistoryTotal();
    } ///////// 修复FLAGG结束
}
}
}



































///------全部结束,开始循环---------------------------------------------------------------------------------------------
   return(0);
}
//+-------------------------------------------------------------------------------------------------------------------+


}
///------全部结束,开始循环---------------------------------------------------------------------------------------------
   return(0);
}
//

王德峰 发表于 2024-10-5 14:21:43

王德峰 发表于 2024-10-5 14:17
extern int    止盈=100;      /// 止盈点数;
extern int    止损=100;      /// 止损点数;
extern dou ...

以上是作者发布的“一次只下一单EA,自己改变做单方向”的源码

王德峰 发表于 2024-10-5 14:23:50

王德峰 发表于 2024-10-5 14:21
以上是作者发布的“一次只下一单EA,自己改变做单方向”的源码

此时此刻,我只想说一句话,还我金币来!

GGGcsjdj 发表于 2024-10-6 08:57:56

王德峰 发表于 2024-10-5 14:23
此时此刻,我只想说一句话,还我金币来!

老王这操作溜
页: [1]
查看完整版本: 一次只下一单EA,自己改变做单方向