客服热线:18391752892

请大家看一下 这ea通不过 怎么修改?

   日期:2019-01-12     浏览:251    
马上注册,结交更多好友,下载更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 //----程序预设参数extern string str1 = ====系统预设参数==== extern double 预设开仓量 = 0.1;double Lots;string 订单注释= string MyOrderComment;int 订单特征码=0;int MyMagicNum;//----程控参数int BuyGroupOrders, SellGroupOrders; //买入、卖出组成交持仓单数量总计int BuyGroupFirstTicket, SellGroupFirstTicket; //买入、卖出组第一单单号int BuyGroupLastTicket, SellGroupLastTicket; //买入、卖出组最后一单单号int BuyGroupMaxProfitTicket, SellGroupMaxProfitTicket; //买入、卖出组最大盈利单单号int BuyGroupMinProfitTicket, SellGroupMinProfitTicket; //买入、卖出组最小盈利单单号int BuyGroupMaxLossTicket, SellGroupMaxLossTicket; //买入、卖出组最大亏损单单号int BuyGroupMinLossTicket, SellGroupMinLossTicket; //买入、卖出组最小亏损单单号double BuyGroupLots, SellGroupLots; //买入、卖出组成交持仓单开仓量总计double BuyGroupProfit, SellGroupProfit; //买入、卖出组成交持仓单利润总计int BuyLimitOrders, SellLimitOrders; //买入限制挂单、卖出限制挂单数量总计int BuyStopOrders, SellStopOrders; //买入停止挂单、卖出停止挂单数量总计//持仓订单基本信息:0订单号,1开仓时间,2订单利润,3订单类型,4开仓量,5开仓价,//           6止损价,7止赢价,8订单特征码,9订单佣金,10掉期,11挂单有效日期double OrdersArray[][12];//第1维:订单序号;第2维:订单信息double TempOrdersArray[][12];//临时数组int MyArrayRange; //数组记录数量int cnt, i, j; //计数器变数 int start()   {     iMain();     return(0);   } void iMain()   {     iShowInfo();   } void iShowInfo()   {     //初始化变数     BuyGroupOrders=0; SellGroupOrders=0; //买入、卖出组成交持仓单数量总计     BuyGroupFirstTicket=0; SellGroupFirstTicket=0; //买入、卖出组第一张订单单号     BuyGroupLastTicket=0; SellGroupLastTicket=0; //买入、卖出组最后一张订单号     BuyGroupMaxProfitTicket=0; SellGroupMaxProfitTicket=0; //买入、卖出组最大盈利单单号     BuyGroupMinProfitTicket=0; SellGroupMinProfitTicket=0; //买入、卖出组最小盈利单单号     BuyGroupMaxLossTicket=0; SellGroupMaxLossTicket=0; //买入、卖出组最大亏损单单号     BuyGroupMinLossTicket=0; SellGroupMinLossTicket=0; //买入、卖出组最小亏损单单号     BuyGroupLots=0; SellGroupLots=0; //买入、卖出组成交单持仓量     BuyGroupProfit=0; SellGroupProfit=0; //买入、卖出组成交单利润     BuyLimitOrders=0; SellLimitOrders=0; //买入限制挂单、卖出限制挂单数量总计     BuyStopOrders=0; SellStopOrders=0; //买入停止挂单、卖出停止挂单数量总计     //初始化订单数组     MyArrayRange=OrdersTotal()+1;     ArrayResize(OrdersArray, MyArrayRange); //重新界定数组     ArrayInitialize(OrdersArray, 0.0); //初始化数组     if (OrdersTotal() 0)       {         //遍历持仓单,创建数组         for (cnt=0; cnt =MyArrayRange; cnt++)           {             //选中当前货币对相关持仓订单             if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) OrderSymbol()==Symbol() OrderMagicNumber()==MyMagicNum)               {                 OrdersArray[cnt][0]=OrderTicket();//0订单号                 OrdersArray[cnt][1]=OrderOpenTime();//1开仓时间                 OrdersArray[cnt][2]=OrderProfit();//2订单利润                 OrdersArray[cnt][3]=OrderType();//3订单类型                 OrdersArray[cnt][4]=OrderLots();//4开仓量                 OrdersArray[cnt][5]=OrderOpenPrice();//5开仓价                 OrdersArray[cnt][6]=OrderStopLoss();//6止损价                 OrdersArray[cnt][7]=OrderTakeProfit();//7止赢价                 OrdersArray[cnt][8]=OrderMagicNumber();//8订单特征码                 OrdersArray[cnt][9]=OrderCommission();//9订单佣金                 OrdersArray[cnt][10]=OrderSwap();//10掉期                 OrdersArray[cnt][11]=OrderExpiration();//11挂单有效日期               }           }         //统计基本信息         for (cnt=0; cnt MyArrayRange; cnt++)           {             //买入持仓单             if (OrdersArray[cnt][0]!=0 OrdersArray[cnt][3]==OP_BUY)               {                 BuyGroupOrders=BuyGroupOrders+1; //买入组订单数量                 BuyGroupLots=BuyGroupLots+OrdersArray[cnt][4]; //买入组开仓量                 BuyGroupProfit=BuyGroupProfit+OrdersArray[cnt][2]; //买入组利润               }             //卖出持仓单             if (OrdersArray[cnt][0]!=0 OrdersArray[cnt][3]==OP_SELL)               {                 SellGroupOrders=SellGroupOrders+1; //卖出组订单数量                 SellGroupLots=SellGroupLots+OrdersArray[cnt][4]; //卖出组开仓量                 SellGroupProfit=SellGroupProfit+OrdersArray[cnt][2]; //卖出组利润               }             //买入组限制挂单总计             if (OrdersArray[cnt][0]!=0 OrdersArray[cnt][3]==OP_BUYLIMIT) BuyLimitOrders=BuyLimitOrders+1;             //卖出组限制挂单总计             if (OrdersArray[cnt][0]!=0 OrdersArray[cnt][3]==OP_SELLLIMIT) SellLimitOrders=SellLimitOrders+1;             //买入组停止挂单总计             if (OrdersArray[cnt][0]!=0 OrdersArray[cnt][3]==OP_BUYSTOP) BuyStopOrders=BuyStopOrders+1;             //卖出组停止挂单总计             if (OrdersArray[cnt][0]!=0 OrdersArray[cnt][3]==OP_SELLSTOP) SellStopOrders=SellStopOrders+1;           }         //计算买入卖出组首尾单号         BuyGroupFirstTicket=iOrderSortTicket(0,0,1); //买入组第1单单号         SellGroupFirstTicket=iOrderSortTicket(1,0,1); //卖出组第1单单号         BuyGroupLastTicket=iOrderSortTicket(0,0,0); //买入组最后1单单号         SellGroupLastTicket=iOrderSortTicket(1,0,0); //卖出组最后1单单号                 BuyGroupMinProfitTicket=iOrderSortTicket(0,1,1); //买入组最小盈利单单号         SellGroupMinProfitTicket=iOrderSortTicket(1,1,1); //卖出组最小盈利单单号         BuyGroupMaxProfitTicket=iOrderSortTicket(0,1,0); //买入组最大盈利单单号         SellGroupMaxProfitTicket=iOrderSortTicket(1,1,0); //卖出组最大盈利单单号         BuyGroupMaxLossTicket=iOrderSortTicket(0,2,0); //买入组最大亏损单单号         SellGroupMaxLossTicket=iOrderSortTicket(1,2,0); //卖出组最大亏损单单号         BuyGroupMinLossTicket=iOrderSortTicket(0,2,1); //买入组最小亏损单单号         SellGroupMinLossTicket=iOrderSortTicket(1,2,1); //卖出组最小亏损单单号       }     return(0);   } int iOrderSortTicket(int myOrderType,int myOrderSort,int myMaxMin)   {     int myTicket=0;     int myArraycnt=0;     int myArraycnt1=0;     int myType;     //创建临时数组     double myTempArray[][12]; //定义临时数组     ArrayResize(myTempArray, MyArrayRange); //重新界定临时数组     ArrayInitialize(myTempArray, 0.0); //初始化临时数组     double myTempOrdersArray[][12]; //定义临时数组     myArraycnt=BuyGroupOrders+SellGroupOrders;     if (myArraycnt==0) return(0);     myArraycnt1=myArraycnt;     myArraycnt=myArraycnt-1;     ArrayResize(myTempOrdersArray, myArraycnt1); //重新界定临时数组     ArrayInitialize(myTempOrdersArray, 0.0); //初始化临时数组     for (cnt=0; cnt =MyArrayRange; cnt++)       {         if ((OrdersArray[cnt][3]==0 || OrdersArray[cnt][3]==1) OrdersArray[cnt][0]!=0)           {             myTempOrdersArray[myArraycnt][0]=OrdersArray[cnt][0];             myTempOrdersArray[myArraycnt][1]=OrdersArray[cnt][1];             myTempOrdersArray[myArraycnt][2]=OrdersArray[cnt][2];             myTempOrdersArray[myArraycnt][3]=OrdersArray[cnt][3];             myTempOrdersArray[myArraycnt][4]=OrdersArray[cnt][4];             myTempOrdersArray[myArraycnt][5]=OrdersArray[cnt][5];             myTempOrdersArray[myArraycnt][6]=OrdersArray[cnt][6];             myTempOrdersArray[myArraycnt][7]=OrdersArray[cnt][7];             myTempOrdersArray[myArraycnt][8]=OrdersArray[cnt][8];             myTempOrdersArray[myArraycnt][9]=OrdersArray[cnt][9];             myTempOrdersArray[myArraycnt][10]=OrdersArray[cnt][10];             myTempOrdersArray[myArraycnt][11]=OrdersArray[cnt][11];             myArraycnt=myArraycnt-1;           }       }     //按时间降序排列数组     if (myOrderSort==0)       {         for (i=0; i =MyArrayRange; i++)           {             for (j=MyArrayRange; j j--)               {                 if (OrdersArray[j][1] OrdersArray[j-1][1])                   {                     myTempArray[0][0]=OrdersArray[j-1][0];                     myTempArray[0][1]=OrdersArray[j-1][1];                     myTempArray[0][2]=OrdersArray[j-1][2];                     myTempArray[0][3]=OrdersArray[j-1][3];                     myTempArray[0][4]=OrdersArray[j-1][4];                     myTempArray[0][5]=OrdersArray[j-1][5];                     myTempArray[0][6]=OrdersArray[j-1][6];                     myTempArray[0][7]=OrdersArray[j-1][7];                     myTempArray[0][8]=OrdersArray[j-1][8];                     myTempArray[0][9]=OrdersArray[j-1][9];                     myTempArray[0][10]=OrdersArray[j-1][10];                     myTempArray[0][11]=OrdersArray[j-1][11];                                         OrdersArray[j-1][0]=OrdersArray[j][0];                     OrdersArray[j-1][1]=OrdersArray[j][1];                     OrdersArray[j-1][2]=OrdersArray[j][2];                     OrdersArray[j-1][3]=OrdersArray[j][3];                     OrdersArray[j-1][4]=OrdersArray[j][4];                     OrdersArray[j-1][5]=OrdersArray[j][5];                     OrdersArray[j-1][6]=OrdersArray[j][6];                     OrdersArray[j-1][7]=OrdersArray[j][7];                     OrdersArray[j-1][8]=OrdersArray[j][8];                     OrdersArray[j-1][9]=OrdersArray[j][9];                     OrdersArray[j-1][10]=OrdersArray[j][10];                     OrdersArray[j-1][11]=OrdersArray[j][11];                                         OrdersArray[j][0]=myTempArray[0][0];                     OrdersArray[j][1]=myTempArray[0][1];                     OrdersArray[j][2]=myTempArray[0][2];                     OrdersArray[j][3]=myTempArray[0][3];                     OrdersArray[j][4]=myTempArray[0][4];                     OrdersArray[j][5]=myTempArray[0][5];                     OrdersArray[j][6]=myTempArray[0][6];                     OrdersArray[j][7]=myTempArray[0][7];                     OrdersArray[j][8]=myTempArray[0][8];                     OrdersArray[j][9]=myTempArray[0][9];                     OrdersArray[j][10]=myTempArray[0][10];                     OrdersArray[j][11]=myTempArray[0][11];                   }               }           }       }     //按利润降序排列数组     double myTempArray1[][12]; //定义临时数组     ArrayResize(myTempArray1, myArraycnt1); //重新界定临时数组     ArrayInitialize(myTempArray1, 0.0); //初始化临时数组     if (myOrderSort==1 || myOrderSort==2)       {         for (i=0; i =myArraycnt1; i++)           {             for (j=myArraycnt1-1; j j--)               {                 if (myTempOrdersArray[j][2] myTempOrdersArray[j-1][2])                   {                     myTempArray1[0][0]=myTempOrdersArray[j-1][0];                     myTempArray1[0][1]=myTempOrdersArray[j-1][1];                     myTempArray1[0][2]=myTempOrdersArray[j-1][2];                     myTempArray1[0][3]=myTempOrdersArray[j-1][3];                     myTempArray1[0][4]=myTempOrdersArray[j-1][4];                     myTempArray1[0][5]=myTempOrdersArray[j-1][5];                     myTempArray1[0][6]=myTempOrdersArray[j-1][6];                     myTempArray1[0][7]=myTempOrdersArray[j-1][7];                     myTempArray1[0][8]=myTempOrdersArray[j-1][8];                     myTempArray1[0][9]=myTempOrdersArray[j-1][9];                     myTempArray1[0][10]=myTempOrdersArray[j-1][10];                     myTempArray1[0][11]=myTempOrdersArray[j-1][11];                                         myTempOrdersArray[j-1][0]=myTempOrdersArray[j][0];                     myTempOrdersArray[j-1][1]=myTempOrdersArray[j][1];                     myTempOrdersArray[j-1][2]=myTempOrdersArray[j][2];                     myTempOrdersArray[j-1][3]=myTempOrdersArray[j][3];                     myTempOrdersArray[j-1][4]=myTempOrdersArray[j][4];                     myTempOrdersArray[j-1][5]=myTempOrdersArray[j][5];                     myTempOrdersArray[j-1][6]=myTempOrdersArray[j][6];                     myTempOrdersArray[j-1][7]=myTempOrdersArray[j][7];                     myTempOrdersArray[j-1][8]=myTempOrdersArray[j][8];                     myTempOrdersArray[j-1][9]=myTempOrdersArray[j][9];                     myTempOrdersArray[j-1][10]=myTempOrdersArray[j][10];                     myTempOrdersArray[j-1][11]=myTempOrdersArray[j][11];                                         myTempOrdersArray[j][0]=myTempArray1[0][0];                     myTempOrdersArray[j][1]=myTempArray1[0][1];                     myTempOrdersArray[j][2]=myTempArray1[0][2];                     myTempOrdersArray[j][3]=myTempArray1[0][3];                     myTempOrdersArray[j][4]=myTempArray1[0][4];                     myTempOrdersArray[j][5]=myTempArray1[0][5];                     myTempOrdersArray[j][6]=myTempArray1[0][6];                     myTempOrdersArray[j][7]=myTempArray1[0][7];                     myTempOrdersArray[j][8]=myTempArray1[0][8];                     myTempOrdersArray[j][9]=myTempArray1[0][9];                     myTempOrdersArray[j][10]=myTempArray1[0][10];                     myTempOrdersArray[j][11]=myTempArray1[0][11];                   }               }           }       }     //X订单类型最小亏损单     if (myOrderSort==2 myMaxMin==1)       {         for (cnt=0; cnt =myArraycnt1; cnt++)           {             myType=NormalizeDouble(myTempOrdersArray[cnt][3],0);             if (myTempOrdersArray[cnt][2] 0 myType==myOrderType)                {                 myTicket=NormalizeDouble(myTempOrdersArray[cnt][0],0);                 break;               }           }       }     //X订单类型最大亏损单     if (myOrderSort==2 myMaxMin==0)       {         for (cnt=myArraycnt1; cnt cnt--)           {             myType=NormalizeDouble(myTempOrdersArray[cnt][3],0);             if (myTempOrdersArray[cnt][2] 0 myType==myOrderType)                {                 myTicket=NormalizeDouble(myTempOrdersArray[cnt][0],0);                 break;               }           }       }     //X订单类型最大盈利单     if (myOrderSort==1 myMaxMin==0)       {         for (cnt=0; cnt =myArraycnt1; cnt++)           {             myType=NormalizeDouble(myTempOrdersArray[cnt][3],0);             if (myTempOrdersArray[cnt][2] 0 myType==myOrderType)                {                 myTicket=NormalizeDouble(myTempOrdersArray[cnt][0],0);                 break;               }           }       }     //X订单类型最小盈利单     if (myOrderSort==1 myMaxMin==1)       {         for (cnt=myArraycnt1; cnt cnt--)           {             myType=NormalizeDouble(myTempOrdersArray[cnt][3],0);             if (myTempOrdersArray[cnt][2] 0 myType==myOrderType)                {                 myTicket=NormalizeDouble(myTempOrdersArray[cnt][0],0);                 break;               }           }       }      //X订单类型第1开仓单     if (myOrderSort==0 myMaxMin==1)       {         for (cnt=MyArrayRange; cnt cnt--)           {             myType=NormalizeDouble(OrdersArray[cnt][3],0);             if (OrdersArray[cnt][0]!=0 myType==myOrderType)                {                 myTicket=NormalizeDouble(OrdersArray[cnt][0],0);                 break;               }           }       }     //X类型最后开仓单     if (myOrderSort==0 myMaxMin==0)       {         for (cnt=0; cnt =MyArrayRange; cnt++)           {             myType=NormalizeDouble(OrdersArray[cnt][3],0);             if (OrdersArray[cnt][0]!=0 myType==myOrderType)                {                 myTicket=NormalizeDouble(OrdersArray[cnt][0],0);                 break;               }           }       }     return(myTicket);   } int init()   {     iShowInfo();     //初始化预设变数     Lots=预设开仓量;     MyOrderComment=订单注释;     MyMagicNum=订单特征码;     return(0);   } int deinit()   {     return(0);   }

外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关行情快递
推荐行情快递
点击排行