MT4公式根据自己的策略改成的ea
-
相关简介://+------------------------------------------------------------------+ //| RSI -------- QQE V01 .mq4 | //| 
-
文章来源:股海网作者:股海网发布时间:2013-09-08浏览次数:
//+------------------------------------------------------------------+
//| RSI -------- QQE V01 .mq4 |
//| liu song |
//+------------------------------------------------------------------+
#property copyright "liu song"
#property link "liu****gwh@qq.com qq:56*****90"
extern double a = 1.2;
extern double b = 43.2365;
extern double c = 50.2589;
extern double Lots = 0.1;
extern double slippage=3.0;
extern double diancha=10.0;
extern double kuisun=100.0;
extern int maxlots =1;
extern int SL = 2000;
extern int duan_sl=20;
extern int TP = 20000;
extern string MT4LevelStopReversevB0设置 =" MT4-LevelStop-Reverse-vB0设置";
extern bool UseATRMode = true;
extern int NonATRStopPips =1800;
extern int ATRPeriod = 9;
extern double ATRMultiplier = 2.0;
extern int ATRSmoothing = 0;
extern color UpArrowColor = DodgerBlue;
extern color DnArrowColor = OrangeRed;
extern int ArrowDistance = 0;
int start()
{
//----
double qqe_0,qqe_1,qqe_2,qqe_3,qqe_5,qqe_6,qqe_7,qqe_day_1,qqe_day_2;
double sell,buy,i,guadan,lirun;
double mt4_stop_1,mt4_stop_2,chazhi,chazhi_1;
qqe_day_1 = iCustom (Symbol(), PERIOD_D1, "###QQE_Alert_MTF_v3###", 0, 0);
qqe_day_2 = iCustom (Symbol(), PERIOD_D1, "###QQE_Alert_MTF_v3###", 1, 0);
qqe_0 = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 0);
qqe_1 = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 1);
qqe_2 = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 2);
qqe_3 = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 3);
qqe_5 = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 5);
qqe_6 = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 6);
qqe_7 = iCustom (Symbol(), NULL, "###QQE_Alert_MTF_v3###", 0, 7);
mt4_stop_1 = iCustom(NULL,0,"MT4-LevelStop-Reverse-vB0-3",
UseATRMode,NonATRStopPips,ATRPeriod,ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,0,1);
mt4_stop_2 = iCustom(NULL,0,"MT4-LevelStop-Reverse-vB0-3",
UseATRMode,NonATRStopPips,ATRPeriod,ATRMultiplier,ATRSmoothing,UpArrowColor,DnArrowColor,ArrowDistance,0,2);
chazhi=mt4_stop_1-mt4_stop_2;
if(chazhi>0){
chazhi_1=chazhi;
}
else{
if(chazhi<0){
chazhi_1= 0 -chazhi;
}
}
int total = OrdersTotal();
if (OrdersTotal( ) > 0 ){
for(i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()==OP_SELLLIMIT){
if(((qqe_6-qqe_5)>a) && qqe_6>c && qqe_7<=qqe_6&&
((qqe_2-qqe_1)>a) && qqe_2>c && qqe_3<=qqe_2 ){
sell= NormalizeDouble((High[2]+Close[2])/2, Digits);
OrderModify(OrderTicket(),sell,sell+SL*Point,sell-TP*Point,0,Blue);
}
else{
if (((qqe_6-qqe_5)>a) && qqe_6>c&& qqe_7<=qqe_6){
OrderDelete(OrderTicket(),Blue);
}
}
}
if(OrderType()==OP_SELL){
Comment("账户利润", DoubleToStr(OrderProfit(), 2));
lirun = OrderProfit();
if(chazhi_1>0){
OrderModify(OrderTicket(),OrderOpenPrice(),mt4_stop_1,0,0,Blue);
}
/* if(((qqe_1-qqe_2)>a)){
buy= NormalizeDouble((Low[2]+Close[2])/2, Digits);
OrderModify(OrderTicket(),OrderOpenPrice(),0,buy+diancha*Point,0,Blue);
}*/
if(0-lirun>=SL/10){
OrderClose(OrderTicket(),OrderLots(),Ask,slippage*Point,White);
Sleep(5000);
}
}
}
}
if (OrdersTotal( ) > 0 ){
for(i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()==OP_BUYLIMIT)
{
if(((qqe_5-qqe_6)>a) && qqe_6<b && qqe_7>=qqe_6&&
((qqe_1-qqe_2)>a) && qqe_2<b && qqe_3>=qqe_2){
buy= NormalizeDouble((Low[2]+Close[2])/2, Digits);
OrderModify(OrderTicket(),buy,buy-SL*Point,buy+TP*Point,0,Blue);
}
else{
if (((qqe_5-qqe_6)>a) && qqe_6<b && qqe_7>=qqe_6){
OrderDelete(OrderTicket(),Blue);
}
}
}
if(OrderType()==OP_BUY){
lirun = OrderProfit();
Comment("账户利润", DoubleToStr(OrderProfit(), 2));
if(chazhi_1>0){
OrderModify(OrderTicket(),OrderOpenPrice(),mt4_stop_1,0,0,Blue);
}
/* if(((qqe_2-qqe_1)>a)){
sell= NormalizeDouble((High[2]+Close[2])/2, Digits);
OrderModify(OrderTicket(),OrderOpenPrice(),0,sell-diancha*Point,0,Blue);
} */
if(0-lirun>=SL/10){
OrderClose(OrderTicket(),OrderLots(),Bid,slippage*Point,White);
Sleep(5000);
}
}
}
}
sell= NormalizeDouble((High[2]+Close[2])/2, Digits);
if (total<maxlots && qqe_day_1< qqe_day_2 && ((qqe_2-qqe_1)>a) && qqe_2>c && qqe_3<=qqe_2){
OrderSend(Symbol(),OP_SELLLIMIT,Lots,sell,slippage*Point,sell+SL*Point,sell-TP*Point,"sell",12345,0,Green);
}
buy= NormalizeDouble((Low[2]+Close[2])/2, Digits);
if (total<maxlots && qqe_day_1> qqe_day_2 && ((qqe_1-qqe_2)>a) && qqe_2<b && qqe_3>=qqe_2){
OrderSend(Symbol(),OP_BUYLIMIT,Lots,buy,slippage*Point,buy-SL*Point,buy+TP*Point,"buy",12345,0,Red);
}
//----
return(0);
}
//+------------------------------------------------------------------+
商品
EURUSD (Euro vs US Dollar)
时间周期
4 小时图 2008.12.01 00:00 - 2009.12.29 20:00 (2008.12.01 - 2009.12.30)
复盘模型
每个即时价位(基于所有可利用的最小时段的每一个价位的分形插值计算)
参数
a=1.2; b=43.2365; c=50.2589; Lots=0.1; slippage=3; diancha=10; kuisun=100; maxlots=1; SL=2000; duan_sl=20; TP=20000; MT4LevelStopReversevB0设置=" MT4-LevelStop-Reverse-vB0设置"; UseATRMode=true; NonATRStopPips=1800; ATRPeriod=9; ATRMultiplier=2; ATRSmoothing=0; UpArrowColor=DodgerBlue; DnArrowColor=OrangeRed; ArrowDistance=0;
经测试过的柱数
2670
用于复盘的即时价数量
12775300
复盘模型的质量
n/a
输入图表错误
420
起始资金
1000.00
总净盈利
2036.62
总获利
3628.03
总亏损
-1591.41
盈利比
2.28
预期盈利
61.72
绝对亏损
313.77
最大亏损
770.07 (26.06%)
相对亏损
43.07% (519.12)
交易单总计
33
卖单 (获利百分比)
29 (55.17%)
买单 (获利百分比)
4 (50.00%)
盈利交易(占总百分比)
18 (54.55%)
亏损交易(占总百分比)
15 (45.45%)
最大:
获利交易
743.33
亏损交易
-200.00
平均:
获利交易
201.56
亏损交易
-106.09
最大:
连续获利金额
4 (798.36)
连续亏损金额
3 (-469.60)
最多:
连续获利次数
798.36 (4)
连续亏损次数
-469.60 (3)
平均:
连续获利
2
连续亏损