量化交易系统

MT5-K Trade Lib5

  • 型号:
Main Image

MT4/5通用交易库(  一份代码通用4和5 )

#import "K Trade Lib5.ex5"
   //简单开单
   long OrderOpen(int type,double volume,int magic,string symbol="",string comment="",double opprice=0,double sl=0,double tp=0,int expiration=0,bool slsetmode=false,bool tpsetmode=false);
   //复杂开单
   void SetMagic(int magic,int magic_plus=0);
   void SetLotsAddMode(int mode=0,double lotsadd=0);
   long OrderOpenAdvance(int mode,int type,double volume,int step,int magic,string symbol="",string comment="",double sl=0,double tp=0,bool slsetmode=false,bool tpsetmode=false);
#import

1.简单的系统OrderSend二次封装:

OrderOpen函数

long OrderOpen(
      int type,         //交易类型
      double volume,    //交易手数
      int magic,        //魔术号
      string symbol="", //交易品种
      string comment="",//注释
      double opprice=0, //挂单价格,非挂单可以留空
      double sl=0,      //止损点数,区别于系统的SL
      double tp=0,      //止盈点数,区别于系统的TP
      int expiration=0, //挂单中设置,同系统
      bool slsetmode=false,//设置为true,设置sl为价格否则为点数
      bool tpsetmode=false //设置为true,设置tp为价格否则为点数 
);

2.复杂订单系统开单(包含逆势加仓,顺势加仓,随机间距加仓; 手数增加模式有倍数模式,增量模式,以及固定手数模式)

void SetMagic(
   int magic,        //设置MAGIC,本设置是针对需要统计订单所对应的魔术号
   int magic_plus=0  //可以设置范围  当 (魔术号>=magic ,魔术号<=magic+magic_plus) 的范围内的魔术号订单都会作为统计 
);
void SetLotsAddMode(
   int mode=0,          //1->倍数开仓  2->增量开仓 ,0或者其他->固定手数下面参数设置无效
   double lotsadd=0     //根据mode设置而定,倍率手数本参数为倍率,增量模式为增量,否则无效
);
long OrderOpenAdvance(
   int mode,         //0x1 逆势加仓,0x2顺势加仓,0x4间距随机加仓 
   int type,         //交易类型 0->BUY 1->SELL
   double volume,    //固定手数 
   int step,         //加仓间距
   int magic,        //魔术号
   string symbol="", //品种
   string comment="",//注释 
   double sl=0,      //止损设置(默认设置点数)
   double tp=0,      //止盈设置(默认设置点数)
   bool slsetmode=false,//false为sl点数设置,true为sl价格模式
   bool tpsetmode=false //false为tp点数设置,true为tp价格模式
);

交易范例:(马丁逆势加仓)  非常简单实现马丁加仓,同样可以简单的实现顺势加仓等

void OnTick()
  {
//--- 
      SetLotsAddMode(1,2.0);
      int mode=1;//逆势加仓模式
      int type=0;//0为多单,1为空单  同系统方式
      double lots=0.01; //手数设置
      int step=200; //加仓间距
      int magic =556024;//设置魔术号
      
      OrderOpenAdvance(mode,type,lots,step,magic);
  }