//+------------------------------------------------------------------+
//| 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 连续亏损