找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 0|回复: 0

【马丁SW无限】马丁SW无限

[复制链接]

1万

主题

54

回帖

4871

积分

管理员

积分
4871
发表于 2026-8-10 17:44:59 | 显示全部楼层 |阅读模式
//+------------------------------------------------------------------+

//|                                                        huobi.mq4 |

//|                        Copyright 2019, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright 2019, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+


//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

input int 加仓最大单量=22;

input int 回踩次数=3;

input int    一K最大单量=1;

input int    一天最大单量=300;

extern bool 报警开关=true;

extern bool 弹窗报警=true;

extern bool 邮件报警=true;

extern bool 手机推送报警=true;

input int 大于停止时间=24;

input int 小于停止时间=0;


input ENUM_TIMEFRAMES sw运行周期=30;

input int 均线参数=5;

input bool 均线开关=0;

input bool sw开关=1;

input double 首仓=0.01;

input bool sw变色加仓=1;

input double 亏损点数1=150;

input double 仓1=0.02;

input double 亏损点数2=150;

input double 仓2=0.03;

input double 亏损点数3=150;

input double 仓3=0.04;

input double 亏损点数4=150;

input double 仓4=0.05;

input double 亏损点数5=200;

input double 仓5=0.06;

input double 亏损点数6=200;

input double 仓6=0.07;

input double 亏损点数7=200;

input double 仓7=0.08;

input double 亏损点数8=200;

input double 仓8=0.1;

input double 亏损点数9=250;

input double 仓9=0.12;

input double 亏损点数10=250;

input double 仓10=0.14;

input double 亏损点数11=250;

input double 仓11=0.17;

input double 亏损点数12=250;

input double 仓12=0.2;

input double 亏损点数13=300;

input double 仓13=0.3;

input double 亏损点数14=0;

input double 仓14=0;

input double 亏损点数15=0;

input double 仓15=0;

input double 亏损点数16=0;

input double 仓16=0;

input double 亏损点数17=0;

input double 仓17=0;

input double 亏损点数18=0;

input double 仓18=0;

input double 亏损点数19=0;

input double 仓19=0;

input double 亏损点数20=0;

input double 仓20=0;;

input int    止盈点数=500;

input double 止损金额=2000;

input bool 跟踪止盈开关=1;

input double genzong1=300;//跟踪止盈触发点数1

input double genzf1=298;//跟踪保盈点数1

input double genzong2=250;//跟踪止盈触发点数2

input double genzf2=248;//跟踪保盈点数2

input double genzong3=200;//跟踪止盈触发点数3

input double genzf3=198;//跟踪保盈点数3

input double genzong4=180;//跟踪止盈触发点数4

input double genzf4=178;//跟踪保盈点数4

input double genzong5=150;//跟踪止盈触发点数5

input double genzf5=148;//跟踪保盈点数5

input double genzong6=100;//跟踪止盈触发点数6

input double genzf6=98;//跟踪保盈点数6

input double genzong7=60;//跟踪止盈触发点数7

input double genzf7=58;//跟踪保盈点数7

input double genzong8=40;//跟踪止盈触发点数8

input double genzf8=38;//跟踪保盈点数8

input double genzong9=30;//跟踪止盈触发点数9

input double genzf9=28;//跟踪保盈点数9

input double genzong10=20;//跟踪止盈触发点数10

input double genzf10=15;//跟踪保盈点数10

input double genzong11=20;//跟踪止盈触发点数11

input double genzf11=15;//跟踪保盈点数11

input double genzong12=20;//跟踪止盈触发点数12

input double genzf12=15;//跟踪保盈点数12

input double genzong13=10;//跟踪止盈触发点数13

input double genzf13=5;//跟踪保盈点数13

input double genzong14=5;//跟踪止盈触发点数14

input double genzf14=1;//跟踪保盈点数14


extern int           Magic2 = 111901;

bool 多=1;

bool 空=1;

int  开始=0;

int  结束=24;

int 小时1=24,小时2=0;


string Settings_ex = "---- Indicator Settings";

datetime 时间限制=D'2099.09.04';

int 绑定账号=70028150;

int kscs=0;

datetime com7y,com7ay;

datetime com9,com8,com7,com6,com5;

datetime com9a,com8a,com7a,com6a,com5a;

datetime cvm;

int com = 0;

int com1 = 0;//短线,高低平

int com2 = 0;//限制交易次数

int jiange=0;

bool baoj=0;

int jiange1=0;

bool baoj1=0;

int                  TradesSlippage = 50,CloseSlippage=50;

int com1a = 0;//短线,高低平

int com2a = 0;//限制交易次数

int jiangea=0;

bool baoja=0;

int jiange1a=0;

bool baoj1a=0;

double pingcdx=0;

int g1=0;

int g=0;

bool panz=0;

int com9h=0;

int shij1,shij2;

int shij1a,shij2a;

int danliang;

datetime yhg;


int danliang1;

int danliangv;

int danliang1v;


int danliangx;


int danliangx1;

int danliangxv;

int danliangx1v;

int danliangz;


int danliangz1;

int danliangzv;

int danliangz1v;

datetime yhga;

double jizhun1=0;

datetime jim[9];


double ji5zhun1=0;

int zhuangt=0;

double ji5zhun2=0;

double pingcd=0;

bool genz=0;

bool jiack=0;

bool jiacd=0;

bool sell2=0,buy2=0;

int kongci=0,duoci=0;


int OnInit()

  {

//--- create timer

   EventSetTimer(1);


//---

   return(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Expert deinitialization function                                 |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

//--- destroy timer

   EventKillTimer();


  }

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

void OnTick()

  {

//---


bool y3=0;


if(yhg!=iTime(NULL,0,1))


         {danliangv=0;danliang1v=0;


         danliangxv=0;danliangx1v=0;

         danliangzv=0;danliangz1v=0;

         yhg=iTime(NULL,0,1);


        }


   if(yhga!=iTime(NULL,1440,1))


         {danliang=0;danliang1=0;

         danliangx=0;danliangx1=0;

         danliangz=0;danliangz1=0;

         yhga=iTime(NULL,1440,1);


        }


   if(DayOfWeek()==1&&TimeHour(TimeLocal())==6&&TimeMinute(TimeLocal())<3)y3=1;   


          if(DayOfWeek()==1&&TimeHour(TimeLocal())<6)y3=1;  


            if(TimeHour(TimeCurrent())>小时1||TimeHour(TimeCurrent())<小时2)y3=1;   


if(y3==0){


int cd1 = -1;

   int cd2 = -1;

      int cd3 = -1;

   int cd4 = -1;

    int cd5 = -1;


      bool hs=IsConnected();

  if(hs==0){Alert("MT4网络故障暂停运行30秒,请检查网络");Sleep(30000);}


  if(hs==1){


      cd3 = CountTrades("sell",Magic2);//已经有卖开单

   cd4 = CountTrades("buy",Magic2);//已经有买开单


  }


  int 运行周期=sw运行周期;


double swd=iCustom(NULL,运行周期,"Z_SwingTrading",0,1);

double sw1d=iCustom(NULL,运行周期,"Z_SwingTrading",1,1);


double swdv=iCustom(NULL,运行周期,"Z_SwingTrading",0,2);

double sw1dv=iCustom(NULL,运行周期,"Z_SwingTrading",1,2);


//double swdva=iCustom(NULL,运行周期,"Z_SwingTrading",0,3);

//double sw1dva=iCustom(NULL,运行周期,"Z_SwingTrading",1,3);


//  kong               duo

if(swd>sw1d&&swdv<sw1dv&&sell2==0){sell2=1;kongci=0;}//转空

//    duo               kong

if(swd<sw1d&&swdv>sw1dv&&buy2==0){buy2=1;duoci=0;}//转多

//  kong               duo


bool duo=0,kong=0;

if(swd>sw1d){buy2=0;kong=1;}//多停

//    duo               kong

if(swd<sw1d){sell2=0;duo=1;}//空停


   if(kong==1)jiacd=0;

   if(duo==1)jiack=0;


double xiagui=MathMin(swd,sw1d);

double shanggui=MathMax(swd,sw1d);

bool sanzhuxiao=0,sanzhuda=0;

bool junxxiao=0,junxda=0;


if(iClose(NULL,运行周期,1)<xiagui&&iClose(NULL,运行周期,2)<xiagui&&iClose(NULL,运行周期,3)<xiagui)sanzhuxiao=1;

if(iClose(NULL,运行周期,1)>shanggui&&iClose(NULL,运行周期,2)>shanggui&&iClose(NULL,运行周期,3)>shanggui)sanzhuda=1;


double junxian=iMA(NULL,运行周期,均线参数,0,MODE_EMA,PRICE_CLOSE,1);

if(junxian<xiagui)junxxiao=1;

if(junxian>shanggui)junxda=1;


if(均线开关==0){junxxiao=1;junxda=1;}


bool kaiduo=0,kaikong=0;

if(sell2==1&&swd>sw1d&&swdv>sw1dv&&sanzhuxiao==1&&Close[0]>xiagui)kaikong=1;//首单控


if(buy2==1&&swd<sw1d&&swdv<sw1dv&&sanzhuda==1&&Close[0]<shanggui)kaiduo=1;


bool shijian=0;

if(TimeHour(Time[0])>=开始&&TimeHour(Time[0])<=结束)shijian=1;


if(shijian==0)danliang=一天最大单量;


if(sw开关==1){


if(多==1&&danliang<一天最大单量&&kaiduo==1&&danliangv<=一K最大单量&&jim[1]!=iTime(NULL,运行周期,1)&&cd4<1&&cd3<1)

{int tik=OrderSend(Symbol(),OP_BUY,首仓,Ask,TradesSlippage,0,0,"sw-buy1",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;

jim[1]=iTime(NULL,运行周期,1);


jiacd=1;

duoci=duoci+1;

}


Print("sw-buy1");

   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy1");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy1",

   Symbol()+" "+PeriodToText()+    "sw-buy1");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy1");

            }


}


if(空==1&&danliang1<一天最大单量&&kaikong==1&&danliang1v<=一K最大单量&&jim[2]!=iTime(NULL,运行周期,1)&&cd3<1&&cd4<1)

{int tik=OrderSend(Symbol(),OP_SELL,首仓,Bid,TradesSlippage,0,0,"sw-sell1",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;

jim[2]=iTime(NULL,运行周期,1);

jiack=1;

kongci=kongci+1;


}

Print("sw-sell1");

   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell1");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell1",

   Symbol()+" "+PeriodToText()+    "sw-sell1");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell1");

            }

}

}


   double 总仓位d=CountTradesv("buy",Magic2);

    double 总仓位k=CountTradesv("sell",Magic2);


double junjiadv=FindLastOrder("buy","rice",Magic2);


double junjiakv=FindLastOrder("sell","rice",Magic2);


   //FindLastOrder(string as_0, string as_8,int Mag)


   if(kong==1)jiacd=0;

   if(duo==1)jiack=0;


   if(sw变色加仓==1){if(多==1)jiacd=1;


                     if(空==1)jiack=1;}


   if(多==1&&danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==1&&Bid<junjiadv-亏损点数1*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓1,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}

   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


     if(多==1&&danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==2&&Bid<junjiadv-亏损点数2*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓2,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


     if(多==1&&danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==3&&Bid<junjiadv-亏损点数3*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓3,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


     if(多==1&&danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==4&&Bid<junjiadv-亏损点数4*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓4,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


       if(多==1&&danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==5&&Bid<junjiadv-亏损点数5*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓5,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


         if(多==1&&danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==6&&Bid<junjiadv-亏损点数6*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓6,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


           if(多==1&&danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==7&&Bid<junjiadv-亏损点数7*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓7,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


              if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==8&&Bid<junjiadv-亏损点数8*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓8,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==9&&Bid<junjiadv-亏损点数9*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓9,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==10&&Bid<junjiadv-亏损点数10*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓10,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==11&&Bid<junjiadv-亏损点数11*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓11,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==12&&Bid<junjiadv-亏损点数12*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓12,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==13&&Bid<junjiadv-亏损点数13*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓13,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==14&&Bid<junjiadv-亏损点数14*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓14,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==15&&Bid<junjiadv-亏损点数15*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓15,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==16&&Bid<junjiadv-亏损点数16*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓16,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==17&&Bid<junjiadv-亏损点数17*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓17,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==18&&Bid<junjiadv-亏损点数18*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓18,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==19&&Bid<junjiadv-亏损点数19*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓19,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

               }


}


                   if(danliang<一天最大单量&&danliangv<=一K最大单量&&cd4==20&&Bid<junjiadv-亏损点数20*Point&&jiacd==1&&cd4<加仓最大单量){

int tik=OrderSend(Symbol(),OP_BUY,仓20,Ask,TradesSlippage,0,0,"sw-buy2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang=danliang+1;

danliangv=danliangv+1;


}   if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-buy2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-buy2",

   Symbol()+" "+PeriodToText()+    "sw-buy2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-buy2");

            }


}


    if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==1&&Bid>junjiakv+亏损点数1*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓1,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


}  if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

      if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==2&&Bid>junjiakv+亏损点数2*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓2,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

         if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==3&&Bid>junjiakv+亏损点数3*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓3,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

            if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==4&&Bid>junjiakv+亏损点数4*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓4,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

               if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==5&&Bid>junjiakv+亏损点数5*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓5,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==6&&Bid>junjiakv+亏损点数6*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓6,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                   if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==7&&Bid>junjiakv+亏损点数7*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓7,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==8&&Bid>junjiakv+亏损点数8*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓8,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==9&&Bid>junjiakv+亏损点数9*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓9,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==10&&Bid>junjiakv+亏损点数10*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓10,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==11&&Bid>junjiakv+亏损点数11*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓11,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==12&&Bid>junjiakv+亏损点数12*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓12,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==13&&Bid>junjiakv+亏损点数13*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓13,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==14&&Bid>junjiakv+亏损点数14*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓14,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==15&&Bid>junjiakv+亏损点数15*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓15,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==16&&Bid>junjiakv+亏损点数16*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓16,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==17&&Bid>junjiakv+亏损点数17*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓17,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==18&&Bid>junjiakv+亏损点数18*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓18,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                  if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==19&&Bid>junjiakv+亏损点数19*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓19,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}

                   if(danliang1<一天最大单量&&danliang1v<=一K最大单量&&cd3==20&&Bid>junjiakv+亏损点数20*Point&&jiack==1&&cd3<加仓最大单量){

    int tik=OrderSend(Symbol(),OP_SELL,仓20,Bid,TradesSlippage,0,0,"sw-sell2",Magic2,0,clrGreen);

Sleep(2000);

if(tik>0){

danliang1=danliang1+1;

danliang1v=danliang1v+1;


} if(报警开关)

   {   

    if(弹窗报警)

   Alert(Symbol()," "+PeriodToText()+    "sw-sell2");

   if(邮件报警)

   SendMail(Symbol()+" "+PeriodToText()+    "sw-sell2",

   Symbol()+" "+PeriodToText()+    "sw-sell2");

   if(手机推送报警)

   SendNotification(Symbol()+" "+PeriodToText()+ "sw-sell2");

            }

}


     }


    double fukuid=CountTradeslirun("buy",Magic2);

   double fukuik=CountTradeslirun("sell",Magic2);


     int cd3 = CountTrades("sell",Magic2);//已经有卖开单

  int cd4 = CountTrades("buy",Magic2);//已经有买开单


double junjiad=AveragePrice("buy",Magic2);


double junjiak=AveragePrice("sell",Magic2);


int yinglidd=0;

int yinglidk=0;

if(Bid-junjiad>0&&junjiad>0)yinglidd=(Bid-junjiad)/Point;

if(Bid<junjiak&&junjiak>0)yinglidk=(junjiak-Bid)/Point;


  if(yinglidd>止盈点数)deleteordermd(Magic2);


  if(yinglidk>止盈点数)deleteordermk(Magic2);


  if(fukuid+fukuik<-止损金额)deleteorderm(Magic2);


  // double fukuid=CountTradeslirun("buy");

  // double fukuik=CountTradeslirun("sell");

  if(跟踪止盈开关==1){


double zhisun=0;


   if(yinglidd>genzong1&&cd4==1){ zhisun=junjiad+genzf1*Point;

  jlllkxiug("buy",zhisun,Magic2); }


    if(yinglidd>genzong2&&cd4==2){ zhisun=junjiad+genzf2*Point;

  jlllkxiug("buy",zhisun,Magic2); }


    if(yinglidd>genzong3&&cd4==3){ zhisun=junjiad+genzf3*Point;

  jlllkxiug("buy",zhisun,Magic2); }

     if(yinglidd>genzong4&&cd4==4){ zhisun=junjiad+genzf4*Point;

  jlllkxiug("buy",zhisun,Magic2); }

       if(yinglidd>genzong5&&cd4==5){ zhisun=junjiad+genzf5*Point;

  jlllkxiug("buy",zhisun,Magic2); }

        if(yinglidd>genzong6&&cd4==6){ zhisun=junjiad+genzf6*Point;

  jlllkxiug("buy",zhisun,Magic2); }

         if(yinglidd>genzong7&&cd4==7){ zhisun=junjiad+genzf7*Point;

  jlllkxiug("buy",zhisun,Magic2); }

          if(yinglidd>genzong8&&cd4==8){ zhisun=junjiad+genzf8*Point;

  jlllkxiug("buy",zhisun,Magic2); }

            if(yinglidd>genzong9&&cd4==9){ zhisun=junjiad+genzf9*Point;

  jlllkxiug("buy",zhisun,Magic2); }

             if(yinglidd>genzong10&&cd4==10){ zhisun=junjiad+genzf10*Point;

  jlllkxiug("buy",zhisun,Magic2); }

              if(yinglidd>genzong11&&cd4==11){ zhisun=junjiad+genzf11*Point;

  jlllkxiug("buy",zhisun,Magic2); }

               if(yinglidd>genzong12&&cd4==12){ zhisun=junjiad+genzf12*Point;

  jlllkxiug("buy",zhisun,Magic2); }

                if(yinglidd>genzong13&&cd4==13){ zhisun=junjiad+genzf13*Point;

  jlllkxiug("buy",zhisun,Magic2); }

      if(yinglidd>genzong14&&cd4>=14){ zhisun=junjiad+genzf14*Point;

  jlllkxiug("buy",zhisun,Magic2); }


   if(yinglidk>genzong1&&cd3==1){zhisun=junjiak-genzf1*Point;

  jlllkxiug("sell",zhisun,Magic2); }

    if(yinglidk>genzong2&&cd3==2){zhisun=junjiak-genzf2*Point;

  jlllkxiug("sell",zhisun,Magic2); }

    if(yinglidk>genzong3&&cd3==3){zhisun=junjiak-genzf3*Point;

  jlllkxiug("sell",zhisun,Magic2); }

     if(yinglidk>genzong4&&cd3==4){zhisun=junjiak-genzf4*Point;

  jlllkxiug("sell",zhisun,Magic2); }

       if(yinglidk>genzong5&&cd3==5){zhisun=junjiak-genzf5*Point;

  jlllkxiug("sell",zhisun,Magic2); }

        if(yinglidk>genzong6&&cd3==6){zhisun=junjiak-genzf6*Point;

  jlllkxiug("sell",zhisun,Magic2); }

         if(yinglidk>genzong7&&cd3==7){zhisun=junjiak-genzf7*Point;

  jlllkxiug("sell",zhisun,Magic2); }

          if(yinglidk>genzong8&&cd3==8){zhisun=junjiak-genzf8*Point;

  jlllkxiug("sell",zhisun,Magic2); }

           if(yinglidk>genzong9&&cd3==9){zhisun=junjiak-genzf9*Point;

  jlllkxiug("sell",zhisun,Magic2); }

            if(yinglidk>genzong10&&cd3==10){zhisun=junjiak-genzf10*Point;

  jlllkxiug("sell",zhisun,Magic2); }

             if(yinglidk>genzong11&&cd3==11){zhisun=junjiak-genzf11*Point;

  jlllkxiug("sell",zhisun,Magic2); }

              if(yinglidk>genzong12&&cd3==12){zhisun=junjiak-genzf12*Point;

  jlllkxiug("sell",zhisun,Magic2); }

               if(yinglidk>genzong13&&cd3==13){zhisun=junjiak-genzf13*Point;

  jlllkxiug("sell",zhisun,Magic2); }

      if(yinglidk>genzong14&&cd3>=14){zhisun=junjiak-genzf14*Point;

  jlllkxiug("sell",zhisun,Magic2); }


   }


  }

//+------------------------------------------------------------------+

//| Timer function                                                   |

//+------------------------------------------------------------------+

void OnTimer()

  {

//---


  }

//+------------------------------------------------------------------+


double AveragePrice(string as_0,int mic){      //返回现有买单平均价格,或者卖单平均价格

   double ld_8 = 0;

   double ld_16 = 0;

   for (int l_pos_24 = OrdersTotal() - 1; l_pos_24 >= 0; l_pos_24--) {

      OrderSelect(l_pos_24, SELECT_BY_POS, MODE_TRADES);

      if (OrderSymbol() != Symbol() || (OrderMagicNumber() != mic)) continue;

      if (OrderSymbol() == Symbol() && (OrderMagicNumber() == mic)) {

         if (as_0 == "buy") {

            if (OrderType() == OP_BUY) {

               ld_8 += OrderOpenPrice() * OrderLots();

               ld_16 += OrderLots();

            }

         }

         if (as_0 == "sell") {

            if (OrderType() == OP_SELL) {

               ld_8 += OrderOpenPrice() * OrderLots();

               ld_16 += OrderLots();

            }

         }

      }

   }

  if(ld_16>0) ld_8 = NormalizeDouble(ld_8 / ld_16, Digits);

   return (ld_8);

}


double CountTradesv(string as_0,int mic){

   double l_count_8 = 0;

   for (int l_pos_12 = OrdersTotal() - 1; l_pos_12 >= 0; l_pos_12--) {

      OrderSelect(l_pos_12, SELECT_BY_POS, MODE_TRADES);

      if (OrderSymbol() != Symbol() || (OrderMagicNumber() != mic)) continue;

      if (OrderSymbol() == Symbol() && (OrderMagicNumber() == mic)) {

         if (as_0 == "buy")

            if (OrderType() == OP_BUY) l_count_8=l_count_8+OrderLots();

         if (as_0 == "sell")

            if (OrderType() == OP_SELL) l_count_8=l_count_8+OrderLots();

      }

   }

   return (l_count_8);

}     


double CountTradeslirun(string as_0,int mic){

   double l_count_8 = 0;

   for (int l_pos_12 = OrdersTotal() - 1; l_pos_12 >= 0; l_pos_12--) {

      OrderSelect(l_pos_12, SELECT_BY_POS, MODE_TRADES);

      if (OrderSymbol() != Symbol() || (OrderMagicNumber() != mic)) continue;

      if (OrderSymbol() == Symbol() && (OrderMagicNumber() == mic)) {

         if (as_0 == "buy")

            if (OrderType() == OP_BUY) l_count_8=l_count_8+OrderProfit();

         if (as_0 == "sell")

            if (OrderType() == OP_SELL) l_count_8=l_count_8+OrderProfit();

      }

   }

   return (l_count_8);

}     


void deleteorderm(int magi)//平仓,本编号本货币的所有订单,一个TICK平所有

{

datetime time=TimeCurrent();

   for(int i=OrdersTotal()-1;i>=0;i--)

   {

      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){

         if(OrderOpenTime()<time){

           if(OrderSymbol()==Symbol() && OrderMagicNumber()==magi)

               if(OrderType()>=2)

               {

                  OrderDelete(OrderTicket());

                  i=OrdersTotal();

               }

               else

               {

                  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);

                  i=OrdersTotal();

               }

            }

         }

      }

   }


double FindLastOrder(string as_0, string as_8,int Mag) {//返回最近最新开仓的价格或者仓位,多单空单可选

   double l_ord_open_price_16=0;

   double l_ord_lots_24=0;

   int l_ticket_32 = 0;

   for (int l_pos_36 = OrdersTotal() - 1; l_pos_36 >= 0; l_pos_36--) {

      OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES);

      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Mag) continue;

      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Mag) {

         if (as_0 == "buy") {

            if (OrderType() == OP_BUY) {

               if (OrderTicket() > l_ticket_32) {

                  l_ord_open_price_16 = OrderOpenPrice();

                  l_ord_lots_24 = OrderLots();

                  l_ticket_32 = OrderTicket();

               }

            }

         }

         if (as_0 == "sell") {

            if (OrderType() == OP_SELL) {

               if (OrderTicket() > l_ticket_32) {

                  l_ord_open_price_16 = OrderOpenPrice();

                  l_ord_lots_24 = OrderLots();

                  l_ticket_32 = OrderTicket();

               }

            }

         }

      }

   }

   if (as_8 == "rice") return (l_ord_open_price_16);

   if (as_8 == "Lots") return (l_ord_lots_24);

   return (0.0);

}


  int CountTrades(string as_0,int Magic) {//返回现有本货币本订单编号买单总数,或者卖单总数

   int l_count_8 = 0;

   for (int l_pos_12 = OrdersTotal() - 1; l_pos_12 >= 0; l_pos_12--) {

      OrderSelect(l_pos_12, SELECT_BY_POS, MODE_TRADES);

      //if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;

      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {

         if (as_0 == "buy")

            if (OrderType() == OP_BUY) l_count_8++;

         if (as_0 == "sell")

            if (OrderType() == OP_SELL) l_count_8++;

      }

   }

   return (l_count_8);

}


void deleteordermd(int magi)//平仓,本编号本货币的所有订单,一个TICK平所有

{

datetime time=TimeCurrent();

   for(int i=OrdersTotal()-1;i>=0;i--)

   {

      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){

         if(OrderOpenTime()<time){

           if(OrderSymbol()==Symbol() && OrderMagicNumber()==magi&&OrderType()==0)

               if(OrderType()>=2)

               {

                  OrderDelete(OrderTicket());

                  i=OrdersTotal();

               }

               else

               {

                  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);

                  i=OrdersTotal();

               }

            }

         }

      }

   }


void deleteordermk(int magi)//平仓,本编号本货币的所有订单,一个TICK平所有

{

datetime time=TimeCurrent();

   for(int i=OrdersTotal()-1;i>=0;i--)

   {

      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){

         if(OrderOpenTime()<time){

           if(OrderSymbol()==Symbol() && OrderMagicNumber()==magi&&OrderType()==1)

               if(OrderType()>=2)

               {

                  OrderDelete(OrderTicket());

                  i=OrdersTotal();

               }

               else

               {

                  OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);

                  i=OrdersTotal();

               }

            }

         }

      }

   }


string PeriodToText()

{

   switch (Period())

   {

      case 1:

            return("M1");

            break;

      case 5:

            return("M5");

            break;

      case 15:

            return("M15");

            break;

      case 30:

            return("M30");

            break;

      case 60:

            return("H1");

            break;

      case 240:

            return("H4");

            break;

      case 1440:

            return("D1");

            break;

      case 10080:

            return("W1");

            break;

      case 43200:

            return("MN1");

            break;

   }

   return "NULL";

}


void jlllkxiug(string as_0,double zhis,int Magic1) {//每张单子修改止损

  // double l_price_8;

   //double l_price_16 = AveragePrice(as_0);

   for (int l_pos_24 = OrdersTotal() - 1; l_pos_24 >= 0; l_pos_24--) {

      OrderSelect(l_pos_24, SELECT_BY_POS, MODE_TRADES);

      if (OrderSymbol() != Symbol() || (OrderMagicNumber() != Magic1)) continue;

      if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic1)) {

         if (as_0 == "buy") {

            if (OrderType() == OP_BUY) {

             //  l_price_8 = l_price_16 + 止损点数 * Point;//止盈价格

               if (OrderStopLoss() != zhis) {

                  //Print("多平均价格 " + DoubleToStr(l_price_16, 4) + "利润空间 = " + Profit + " 多止盈位= " + DoubleToStr(l_price_8, 4));

                  OrderModify(OrderTicket(), OrderOpenPrice(), zhis, OrderTakeProfit(), 0, clrLightSkyBlue);

               }

            }

         }

         if (as_0 == "sell") {

            if (OrderType() == OP_SELL) {

            //   l_price_8 = l_price_16  - 止损点数 * Point;//止盈价格

               if (OrderStopLoss() != zhis) {

                 // Print("空平均价格 " + DoubleToStr(l_price_16, 4) + "利润空间 = " + Profit + " 空止盈= " + DoubleToStr(l_price_8, 4));

                  OrderModify(OrderTicket(), OrderOpenPrice(), zhis, OrderTakeProfit(), 0, clrLightSkyBlue);

               }

            }

         }

      }

   }

}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-8-27 11:42 , Processed in 0.209431 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表