客服热线:18391752892
顺水的鱼MT4外汇EA趋势对冲马丁延迟套利指标智能交易系统
顺水的鱼MT4外汇EA
商家二维码
手机查看商家
18391752892
首页>金融学院>行业分析>MQL4常用自定义函数 <上一个 下一个>
交易员学习资料推荐

  • 注册资本|未填写
  • 企业类型|
  • 主营产品|
  • 公司地区|全国
  • 公司荣誉|
金融学院分类
  • 暂无分类
本页信息为顺水的鱼MT4外汇EA为您提供的“MQL4常用自定义函数”金融学院,如您想了解更多关于“MQL4常用自定义函数”关注顺水外汇网。
品牌MQL4常用自定义函数 有效期至长期有效 最后更新2019-01-10 18:44
浏览次数161

MQL4常用自定义函数

1、在屏幕上显示文字标签 void iDisplayInfo(string LableName,string LableDoc,int Corner,int LableX,int LableY,int DocSize,string DocStyle,color DocColor); 2、金额转换手数 double iFundsToHands(string mySymbol,double myFunds); 3、订单净值转换点数 int iOrderEquitToPoint(int myTicket); 4、显示错误信息 string iGetErrorInfo(int myErrorNum); 5、交易繁忙,程序等待,更新缓存数据 void iWait(int myDelayTime); 6、有效时间段 bool iValidTime(string myStartTime,string myEndTime,bool myServerTime); 7、计算特定条件的订单 int iOrdersSort(int myOrderType,int myOrderSort,int myMaxMin,int myMagicNum); 8、持仓单数量统计 int iOrderStatistics(int myOrderType,int myMagicNum); 9、物件颜色 color iObjectColor(double myInput); 10、持仓单开仓量总计 int iGroupLots(int myOrderType,int myMagicNum); 11、持仓单净值总计 double iGroupEquity(int myOrderType,int myMagicNum); 12、开仓量整形 double iLotsFormat(double myLots); 13、批量清仓 void iBatchClose(int myType,double myLots,int myMagicNum); 14、标注符号和画线、文字 void iDrawSign(string myType,int myBarPos,double myPrice,color myColor,int mySymbol,string myString,int myDocSize); 15、时间周期转换字符 string iTimeframeToString(int myTimeframe); 16、文件操作 void iFileOperation(string myFileName,string myString,int myFileType,int myFileMode);   void iFileOperation(string myFileName,int myFileType,int myFileMode,string myFileString)    {       int myHandle; //文件序列号       if (myFileMode==0 myFileString== ) //新建文件          {             if (myFileType==0) myHandle=FileOpen(myFileName,FILE_BIN|FILE_WRITE);             if (myFileType==1) myHandle=FileOpen(myFileName,FILE_CSV|FILE_WRITE,             FileClose(myHandle);          }       if (myFileMode==1 myFileString!= ) //创建写入字符串          {             if (myFileType==0) myHandle=FileOpen(myFileName,FILE_BIN|FILE_WRITE);             if (myFileType==1) myHandle=FileOpen(myFileName,FILE_CSV|FILE_WRITE,             FileWrite(myHandle,myFileString);             FileClose(myHandle);          }       if (myFileMode==2 myFileString!= ) //追加写入字符串          {             if (myFileType==0)                {                   myHandle=FileOpen(myFileName,FILE_BIN|FILE_READ|FILE_WRITE);                   FileSeek(myHandle,0,SEEK_END);                   FileWrite(myHandle,myFileString);                   FileClose(myHandle);                }             if (myFileType==1)                {                   myHandle=FileOpen(myFileName,FILE_CSV|FILE_READ|FILE_WRITE,                   FileSeek(myHandle,SEEK_SET,SEEK_END);                   FileWrite(myHandle,myFileString);                   FileClose(myHandle);                }          }       return(0);    }   string iTimeframeToString(int myTimeframe)    {       switch(myTimeframe)          {             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;          }     }   void iDrawSign(string myType,int myBarPos,double myPrice,color myColor,int mySymbol,string myString,int myDocSize)       {          if (myType== Text )             {                string TextBarString=myType+Time[myBarPos];                ObjectCreate(TextBarString,OBJ_TEXT,0,Time[myBarPos],myPrice);                ObjectSet(TextBarString,OBJPROP_COLOR,myColor);//颜色                ObjectSet(TextBarString,OBJPROP_FONTSIZE,myDocSize);//大小                ObjectSetText(TextBarString,myString);//文字内容                ObjectSet(TextBarString,OBJPROP_BACK,false);             }          if (myType== Dot )             {                string DotBarString=myType+Time[myBarPos];                ObjectCreate(DotBarString,OBJ_ARROW,0,Time[myBarPos],myPrice);                ObjectSet(DotBarString,OBJPROP_COLOR,myColor);                ObjectSet(DotBarString,OBJPROP_ARROWCODE,mySymbol);                ObjectSet(DotBarString,OBJPROP_BACK,false);             }          if (myType== HLine )             {                string HLineBarString=myType+Time[myBarPos];                ObjectCreate(HLineBarString,OBJ_HLINE,0,Time[myBarPos],myPrice);                ObjectSet(HLineBarString,OBJPROP_COLOR,myColor);                ObjectSet(HLineBarString,OBJPROP_BACK,false);             }          if (myType== VLine )             {                string VLineBarString=myType+Time[myBarPos];                ObjectCreate(VLineBarString,OBJ_VLINE,0,Time[myBarPos],myPrice);                ObjectSet(VLineBarString,OBJPROP_COLOR,myColor);                ObjectSet(VLineBarString,OBJPROP_BACK,false);             }      }   void iBatchClose(int myType,double myLots,int myMagicNum)    {       for (int cnt=0;cnt          {             if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) OrderMagicNumber()==myMagicNum OrderSymbol()==Symbol())                {                   iWait(1000);                   if ((myType==OP_BUY || (myType==9 OrderType()==OP_BUY)) (myLots==0 || myLots OrderLots()))                      {                         myLots=OrderLots();                         OrderClose(OrderTicket(),myLots,Bid,0);                      }                   if ((myType==OP_SELL || (myType==9 OrderType()==OP_SELL)) (myLots==0 || myLots OrderLots()))                      {                         myLots=OrderLots();                         OrderClose(OrderTicket(),myLots,Ask,0);                      }                   if (myType==OP_BUYLIMIT || myType==OP_SELLLIMIT || myType==OP_BUYSTOP || myType==OP_SELLSTOP                      || (myType==9 (OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP)))                      {                         OrderDelete(OrderTicket());                      }                }          }       return(0);    }   double iLotsFormat(double myLots)    {       myLots=MathRound(myLots/MarketInfo(Symbol(), MODE_MINLOT))*MarketInfo(Symbol(), MODE_MINLOT);//开仓量整形       return(myLots);    }   double iGroupEquity(int myOrderType,int myMagicNum)    {       double myReturn;       if (OrdersTotal()==0) return(0);       for (int cnt=0;cnt          {             if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)                 OrderMagicNumber()==myMagicNum OrderSymbol()==Symbol() OrderType()==myOrderType)                {                   myReturn=myReturn+OrderProfit();                }          }       return(myReturn);    }   double iGroupLots(int myOrderType,int myMagicNum)    {       double myReturn;       if (OrdersTotal()==0) return(0);       for (int cnt=0;cnt          {             if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)                 OrderMagicNumber()==myMagicNum OrderSymbol()==Symbol() OrderType()==myOrderType)                {                   myReturn=myReturn+OrderLots();                }          }       return(myReturn);    }   color iObjectColor(double myInput)    {       color myColor;       if (myInput 0)          myColor = Green; //正数颜色为绿色       if (myInput 0)          myColor = Red; //负数颜色为红色       if (myInput == 0)          myColor = DarkGray; //0颜色为灰色       return(myColor);    }   int iOrderStatistics(int myOrderType,int myMagicNum)    {       int myReturn;       if (OrdersTotal()==0) return(0);       for (int cnt=0;cnt          {             if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)                 OrderMagicNumber()==myMagicNum OrderSymbol()==Symbol() OrderType()==myOrderType)                {                   myReturn=myReturn+1;                }          }       return(myReturn);    }   int iOrdersSort(int myOrderType,int myOrderSort,int myMaxMin,int myMagicNum)    {       int myReturn,myArrayRange,cnt,i,j;       if (OrdersTotal() =0) return(myReturn);       myArrayRange=OrdersTotal();       //持仓订单基本信息:0订单号,1开仓时间,2订单利润,3订单类型,4开仓量,5开仓价,       //                 6止损价,7止赢价,8订单特征码,9订单佣金,10掉期,11挂单有效日期       double myOrdersArray[][12]; //定义订单数组,第1维:订单序号;第2维:订单信息       ArrayResize(myOrdersArray,myArrayRange); //重新界定订单数组       ArrayInitialize(myOrdersArray, 0.0); //初始化订单数组       //订单数组赋值       for (cnt=0; cnt          {             //选中当前货币对相关持仓订单             if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) OrderSymbol()==Symbol() OrderMagicNumber()==myMagicNum)                {                   myOrdersArray[cnt][0]=OrderTicket();//0订单号                   myOrdersArray[cnt][1]=OrderOpenTime();//1开仓时间                   myOrdersArray[cnt][2]=OrderProfit();//2订单利润                   myOrdersArray[cnt][3]=OrderType();//3订单类型                   myOrdersArray[cnt][4]=OrderLots();//4开仓量                   myOrdersArray[cnt][5]=OrderOpenPrice();//5开仓价                   myOrdersArray[cnt][6]=OrderStopLoss();//6止损价                   myOrdersArray[cnt][7]=OrderTakeProfit();//7止赢价                   myOrdersArray[cnt][8]=OrderMagicNumber();//8订单特征码                   myOrdersArray[cnt][9]=OrderCommission();//9订单佣金                   myOrdersArray[cnt][10]=OrderSwap();//10掉期                   myOrdersArray[cnt][11]=OrderExpiration();//11挂单有效日期                }          }       double myTempArray[12]; //定义临时数组       //ArrayResize(myTempArray,myArrayRange); //重新界定临时数组       ArrayInitialize(myTempArray, 0.0); //初始化临时数组       //开始按条件排序       //---- 按时间降序排列数组,原始数组重新排序       if (myOrderSort==0)          {             for (i=0;i =myArrayRange;i++)                {                   for (j=myArrayRange;j j--)                      {                         if (myOrdersArray[j][1] myOrdersArray[j-1][1])                            {                               myTempArray[0]=myOrdersArray[j-1][0];                               myTempArray[1]=myOrdersArray[j-1][1];                               myTempArray[2]=myOrdersArray[j-1][2];                               myTempArray[3]=myOrdersArray[j-1][3];                               myTempArray[4]=myOrdersArray[j-1][4];                               myTempArray[5]=myOrdersArray[j-1][5];                               myTempArray[6]=myOrdersArray[j-1][6];                               myTempArray[7]=myOrdersArray[j-1][7];                               myTempArray[8]=myOrdersArray[j-1][8];                               myTempArray[9]=myOrdersArray[j-1][9];                               myTempArray[10]=myOrdersArray[j-1][10];                               myTempArray[11]=myOrdersArray[j-1][11];                                                             myOrdersArray[j-1][0]=myOrdersArray[j][0];                               myOrdersArray[j-1][1]=myOrdersArray[j][1];                               myOrdersArray[j-1][2]=myOrdersArray[j][2];                               myOrdersArray[j-1][3]=myOrdersArray[j][3];                               myOrdersArray[j-1][4]=myOrdersArray[j][4];                               myOrdersArray[j-1][5]=myOrdersArray[j][5];                               myOrdersArray[j-1][6]=myOrdersArray[j][6];                               myOrdersArray[j-1][7]=myOrdersArray[j][7];                               myOrdersArray[j-1][8]=myOrdersArray[j][8];                               myOrdersArray[j-1][9]=myOrdersArray[j][9];                               myOrdersArray[j-1][10]=myOrdersArray[j][10];                               myOrdersArray[j-1][11]=myOrdersArray[j][11];                                                             myOrdersArray[j][0]=myTempArray[0];                               myOrdersArray[j][1]=myTempArray[1];                               myOrdersArray[j][2]=myTempArray[2];                               myOrdersArray[j][3]=myTempArray[3];                               myOrdersArray[j][4]=myTempArray[4];                               myOrdersArray[j][5]=myTempArray[5];                               myOrdersArray[j][6]=myTempArray[6];                               myOrdersArray[j][7]=myTempArray[7];                               myOrdersArray[j][8]=myTempArray[8];                               myOrdersArray[j][9]=myTempArray[9];                               myOrdersArray[j][10]=myTempArray[10];                               myOrdersArray[j][11]=myTempArray[11];                            }                       }                }             if (myMaxMin==0) //x,0,0                {                   for (cnt=myArrayRange;cnt cnt--)                      {                         if (myOrdersArray[cnt][0]!=0 myOrderType==NormalizeDouble(myOrdersArray[cnt][3],0))                             {                               myReturn=NormalizeDouble(myOrdersArray[cnt][0],0);                               break;                            }                      }                }             if (myMaxMin==1) //x,0,1                {                   for (cnt=0;cnt                      {                         if (myOrdersArray[cnt][0]!=0 myOrderType==NormalizeDouble(myOrdersArray[cnt][3],0))                             {                               myReturn=NormalizeDouble(myOrdersArray[cnt][0],0);                               break;                            }                      }                }          }       //---- 按订单净值降序排列数组,原始数组重新排序       if (myOrderSort==1 || myOrderSort==2)          {             ArrayInitialize(myTempArray, 0.0); //初始化临时数组                         for (i=0;i =myArrayRange;i++)                {                   for (j=myArrayRange-1;j j--)                      {                         if (myOrdersArray[j][2] myOrdersArray[j-1][2])                            {                               myTempArray[0]=myOrdersArray[j-1][0];                               myTempArray[1]=myOrdersArray[j-1][1];                               myTempArray[2]=myOrdersArray[j-1][2];                               myTempArray[3]=myOrdersArray[j-1][3];                               myTempArray[4]=myOrdersArray[j-1][4];                               myTempArray[5]=myOrdersArray[j-1][5];                               myTempArray[6]=myOrdersArray[j-1][6];                               myTempArray[7]=myOrdersArray[j-1][7];                               myTempArray[8]=myOrdersArray[j-1][8];                               myTempArray[9]=myOrdersArray[j-1][9];                               myTempArray[10]=myOrdersArray[j-1][10];                               myTempArray[11]=myOrdersArray[j-1][11];                                                             myOrdersArray[j-1][0]=myOrdersArray[j][0];                               myOrdersArray[j-1][1]=myOrdersArray[j][1];                               myOrdersArray[j-1][2]=myOrdersArray[j][2];                               myOrdersArray[j-1][3]=myOrdersArray[j][3];                               myOrdersArray[j-1][4]=myOrdersArray[j][4];                               myOrdersArray[j-1][5]=myOrdersArray[j][5];                               myOrdersArray[j-1][6]=myOrdersArray[j][6];                               myOrdersArray[j-1][7]=myOrdersArray[j][7];                               myOrdersArray[j-1][8]=myOrdersArray[j][8];                               myOrdersArray[j-1][9]=myOrdersArray[j][9];                               myOrdersArray[j-1][10]=myOrdersArray[j][10];                               myOrdersArray[j-1][11]=myOrdersArray[j][11];                                                             myOrdersArray[j][0]=myTempArray[0];                               myOrdersArray[j][1]=myTempArray[1];                               myOrdersArray[j][2]=myTempArray[2];                               myOrdersArray[j][3]=myTempArray[3];                               myOrdersArray[j][4]=myTempArray[4];                               myOrdersArray[j][5]=myTempArray[5];                               myOrdersArray[j][6]=myTempArray[6];                               myOrdersArray[j][7]=myTempArray[7];                               myOrdersArray[j][8]=myTempArray[8];                               myOrdersArray[j][9]=myTempArray[9];                               myOrdersArray[j][10]=myTempArray[10];                               myOrdersArray[j][11]=myTempArray[11];                            }                       }                }             if (myOrderSort==1 myMaxMin==1) //x,1,1                {                   for (cnt=myArrayRange;cnt cnt--)                      {                         if (myOrdersArray[cnt][0]!=0 myOrderType==NormalizeDouble(myOrdersArray[cnt][3],0) myOrdersArray[cnt][2] 0)                             {                               myReturn=NormalizeDouble(myOrdersArray[cnt][0],0);                               break;                            }                      }                }             if (myOrderSort==1 myMaxMin==0) //x,1,0                {                   for (cnt=0;cnt                      {                         if (myOrdersArray[cnt][0]!=0 myOrderType==NormalizeDouble(myOrdersArray[cnt][3],0) myOrdersArray[cnt][2] 0)                             {                               myReturn=NormalizeDouble(myOrdersArray[cnt][0],0);                               break;                            }                      }                }             if (myOrderSort==2 myMaxMin==0) //x,2,1                {                   for (cnt=myArrayRange;cnt cnt--)                      {                         if (myOrdersArray[cnt][0]!=0 myOrderType==NormalizeDouble(myOrdersArray[cnt][3],0) myOrdersArray[cnt][2] 0)                             {                               myReturn=NormalizeDouble(myOrdersArray[cnt][0],0);                               break;                            }                      }                }             if (myOrderSort==2 myMaxMin==1) //x,2,0                {                   for (cnt=0;cnt                      {                         if (myOrdersArray[cnt][0]!=0 myOrderType==NormalizeDouble(myOrdersArray[cnt][3],0) myOrdersArray[cnt][2] 0)                             {                               myReturn=NormalizeDouble(myOrdersArray[cnt][0],0);                               break;                            }                      }                }          }       //---- 按开仓价降序排列数组,原始数组重新排序       if (myOrderSort==3)          {             for (i=0;i =myArrayRange;i++)                {                   for (j=myArrayRange;j j--)                      {                         if (myOrdersArray[j][5] myOrdersArray[j-1][5])                            {                               myTempArray[0]=myOrdersArray[j-1][0];                               myTempArray[1]=myOrdersArray[j-1][1];                               myTempArray[2]=myOrdersArray[j-1][2];                               myTempArray[3]=myOrdersArray[j-1][3];                               myTempArray[4]=myOrdersArray[j-1][4];                               myTempArray[5]=myOrdersArray[j-1][5];                               myTempArray[6]=myOrdersArray[j-1][6];                               myTempArray[7]=myOrdersArray[j-1][7];                               myTempArray[8]=myOrdersArray[j-1][8];                               myTempArray[9]=myOrdersArray[j-1][9];                               myTempArray[10]=myOrdersArray[j-1][10];                               myTempArray[11]=myOrdersArray[j-1][11];                                                             myOrdersArray[j-1][0]=myOrdersArray[j][0];                               myOrdersArray[j-1][1]=myOrdersArray[j][1];                               myOrdersArray[j-1][2]=myOrdersArray[j][2];                               myOrdersArray[j-1][3]=myOrdersArray[j][3];                               myOrdersArray[j-1][4]=myOrdersArray[j][4];                               myOrdersArray[j-1][5]=myOrdersArray[j][5];                               myOrdersArray[j-1][6]=myOrdersArray[j][6];                               myOrdersArray[j-1][7]=myOrdersArray[j][7];                               myOrdersArray[j-1][8]=myOrdersArray[j][8];                               myOrdersArray[j-1][9]=myOrdersArray[j][9];                               myOrdersArray[j-1][10]=myOrdersArray[j][10];                               myOrdersArray[j-1][11]=myOrdersArray[j][11];                                                             myOrdersArray[j][0]=myTempArray[0];                               myOrdersArray[j][1]=myTempArray[1];                               myOrdersArray[j][2]=myTempArray[2];                               myOrdersArray[j][3]=myTempArray[3];                               myOrdersArray[j][4]=myTempArray[4];                               myOrdersArray[j][5]=myTempArray[5];                               myOrdersArray[j][6]=myTempArray[6];                               myOrdersArray[j][7]=myTempArray[7];                               myOrdersArray[j][8]=myTempArray[8];                               myOrdersArray[j][9]=myTempArray[9];                               myOrdersArray[j][10]=myTempArray[10];                               myOrdersArray[j][11]=myTempArray[11];                            }                       }                }             if (myMaxMin==1) //x,3,0                {                   for (cnt=myArrayRange;cnt cnt--)                      {                         if (myOrdersArray[cnt][0]!=0 myOrderType==NormalizeDouble(myOrdersArray[cnt][3],0) myOrdersArray[cnt][5] 0)                             {                               myReturn=NormalizeDouble(myOrdersArray[cnt][0],0);                               break;                            }                      }                }             if (myMaxMin==0) //x,3,1                {                   for (cnt=0;cnt                      {                         if (myOrdersArray[cnt][0]!=0 myOrderType==NormalizeDouble(myOrdersArray[cnt][3],0) myOrdersArray[cnt][5] 0)                             {                               myReturn=NormalizeDouble(myOrdersArray[cnt][0],0);                               break;                            }                      }                }          }       return(myReturn);    }   bool iValidTime(string myStartTime,string myEndTime,bool myServerTime)    {       bool myValue=false;       int myST,myET;       if (myServerTime==true)          {             myST=StrToTime(Year()+ . +Month()+ . +Day()+ +myStartTime);             myET=StrToTime(Year()+ . +Month()+ . +Day()+ +myEndTime);                      }       if (myServerTime==false)          {             myST=StrToTime(myStartTime);             myET=StrToTime(myEndTime);                      }       if (myST myET) myET=myET+1440*60;       if (TimeCurrent() myST TimeCurrent()          {             myValue=true;          }       if (TimeLocal() myST TimeLocal()          {             myValue=true;          }       if (myST==myET) myValue=true;       return(myValue);    }   void iWait(int myDelayTime)     {       while (!IsTradeAllowed() || IsTradeContextBusy()) Sleep(myDelayTime);       RefreshRates();       return(0);    }   string iGetErrorInfo(int myErrorNum)    {       string myLastErrorStr;       if(myErrorNum =0)          {             switch (myErrorNum)                {                   case 0:myLastErrorStr= 错误代码: +0+ -没有错误返回 break;                   case 1:myLastErrorStr= 错误代码: +1+ -没有错误返回但结果不明 break;                   case 2:myLastErrorStr= 错误代码: +2+ -一般错误 break;                   case 3:myLastErrorStr= 错误代码: +3+ -无效交易参量 break;                   case 4:myLastErrorStr= 错误代码: +4+ -交易服务器繁忙 break;                   case 5:myLastErrorStr= 错误代码: +5+ -客户终端旧版本 break;                   case 6:myLastErrorStr= 错误代码: +6+ -没有连接服务器 break;                   case 7:myLastErrorStr= 错误代码: +7+ -没有权限 break;                   case 8:myLastErrorStr= 错误代码: +8+ -请求过于频繁 break;                   case 9:myLastErrorStr= 错误代码: +9+ -交易运行故障 break;                   case 64:myLastErrorStr= 错误代码: +64+ -账户禁止 break;                   case 65:myLastErrorStr= 错误代码: +65+ -无效账户 break;                   case 128:myLastErrorStr= 错误代码: +128+ -交易超时 break;                   case 129:myLastErrorStr= 错误代码: +129+ -无效价格 break;                   case 130:myLastErrorStr= 错误代码: +130+ -无效停止 break;                   case 131:myLastErrorStr= 错误代码: +131+ -无效交易量 break;                   case 132:myLastErrorStr= 错误代码: +132+ -市场关闭 break;                   case 133:myLastErrorStr= 错误代码: +133+ -交易被禁止 break;                   case 134:myLastErrorStr= 错误代码: +134+ -资金不足 break;                   case 135:myLastErrorStr= 错误代码: +135+ -价格改变 break;                   case 136:myLastErrorStr= 错误代码: +136+ -开价 break;                   case 137:myLastErrorStr= 错误代码: +137+ -经纪繁忙 break;                   case 138:myLastErrorStr= 错误代码: +138+ -重新开价 break;                   case 139:myLastErrorStr= 错误代码: +139+ -定单被锁定 break;                   case 140:myLastErrorStr= 错误代码: +140+ -只允许看涨仓位 break;                   case 141:myLastErrorStr= 错误代码: +141+ -过多请求 break;                   case 145:myLastErrorStr= 错误代码: +145+ -因为过于接近市场,修改无效 break;                   case 146:myLastErrorStr= 错误代码: +146+ -交易文本已满 break;                   case 147:myLastErrorStr= 错误代码: +147+ -时间周期被经纪否定 break;                   case 148:myLastErrorStr= 错误代码: +148+ -开单和挂单总数已被经纪限定 break;                   case 149:myLastErrorStr= 错误代码: +149+ -当对冲被拒绝时,打开相对于现有的一个单量 break;                   case 150:myLastErrorStr= 错误代码: +150+ -把为反FIFO规定的单子平掉 break;                   case 4000:myLastErrorStr= 错误代码: +4000+ -没有错误 break;                   case 4001:myLastErrorStr= 错误代码: +4001+ -错误函数指示 break;                   case 4002:myLastErrorStr= 错误代码: +4002+ -数组索引超出范围 break;                   case 4003:myLastErrorStr= 错误代码: +4003+ -对于调用堆栈储存器函数没有足够内存 break;                   case 4004:myLastErrorStr= 错误代码: +4004+ -循环堆栈储存器溢出 break;                   case 4005:myLastErrorStr= 错误代码: +4005+ -对于堆栈储存器参量没有内存 break;                   case 4006:myLastErrorStr= 错误代码: +4006+ -对于字行参量没有足够内存 break;                   case 4007:myLastErrorStr= 错误代码: +4007+ -对于字行没有足够内存 break;                   case 4008:myLastErrorStr= 错误代码: +4008+ -没有初始字行 break;                   case 4009:myLastErrorStr= 错误代码: +4009+ -在数组中没有初始字串符 break;                   case 4010:myLastErrorStr= 错误代码: +4010+ -对于数组没有内存 break;                   case 4011:myLastErrorStr= 错误代码: +4011+ -字行过长 break;                   case 4012:myLastErrorStr= 错误代码: +4012+ -余数划分为零 break;                   case 4013:myLastErrorStr= 错误代码: +4013+ -零划分 break;                   case 4014:myLastErrorStr= 错误代码: +4014+ -不明命令 break;                   case 4015:myLastErrorStr= 错误代码: +4015+ -错误转换(没有常规错误) break;                   case 4016:myLastErrorStr= 错误代码: +4016+ -没有初始数组 break;                   case 4017:myLastErrorStr= 错误代码: +4017+ -禁止调用DLL break;                   case 4018:myLastErrorStr= 错误代码: +4018+ -数据库不能下载 break;                   case 4019:myLastErrorStr= 错误代码: +4019+ -不能调用函数 break;                   case 4020:myLastErrorStr= 错误代码: +4020+ -禁止调用智能交易函数 break;                   case 4021:myLastErrorStr= 错误代码: +4021+ -对于来自函数的字行没有足够内存 break;                   case 4022:myLastErrorStr= 错误代码: +4022+ -系统繁忙 (没有常规错误) break;                   case 4050:myLastErrorStr= 错误代码: +4050+ -无效计数参量函数 break;                   case 4051:myLastErrorStr= 错误代码: +4051+ -无效开仓量 break;                   case 4052:myLastErrorStr= 错误代码: +4052+ -字行函数内部错误 break;                   case 4053:myLastErrorStr= 错误代码: +4053+ -一些数组错误 break;                   case 4054:myLastErrorStr= 错误代码: +4054+ -应用不正确数组 break;                   case 4055:myLastErrorStr= 错误代码: +4055+ -自定义指标错误 break;                   case 4056:myLastErrorStr= 错误代码: +4056+ -不协调数组 break;                   case 4057:myLastErrorStr= 错误代码: +4057+ -整体变量过程错误 break;                   case 4058:myLastErrorStr= 错误代码: +4058+ -整体变量未找到 break;                   case 4059:myLastErrorStr= 错误代码: +4059+ -测试模式函数禁止 break;                   case 4060:myLastErrorStr= 错误代码: +4060+ -没有确认函数 break;                   case 4061:myLastErrorStr= 错误代码: +4061+ -发送邮件错误 break;                   case 4062:myLastErrorStr= 错误代码: +4062+ -字行预计参量 break;                   case 4063:myLastErrorStr= 错误代码: +4063+ -整数预计参量 break;                   case 4064:myLastErrorStr= 错误代码: +4064+ -双预计参量 break;                   case 4065:myLastErrorStr= 错误代码: +4065+ -数组作为预计参量 break;                   case 4066:myLastErrorStr= 错误代码: +4066+ -刷新状态请求历史数据 break;                   case 4067:myLastErrorStr= 错误代码: +4067+ -交易函数错误 break;                   case 4099:myLastErrorStr= 错误代码: +4099+ -文件结束 break;                   case 4100:myLastErrorStr= 错误代码: +4100+ -一些文件错误 break;                   case 4101:myLastErrorStr= 错误代码: +4101+ -错误文件名称 break;                   case 4102:myLastErrorStr= 错误代码: +4102+ -打开文件过多 break;                   case 4103:myLastErrorStr= 错误代码: +4103+ -不能打开文件 break;                   case 4104:myLastErrorStr= 错误代码: +4104+ -不协调文件 break;                   case 4105:myLastErrorStr= 错误代码: +4105+ -没有选择定单 break;                   case 4106:myLastErrorStr= 错误代码: +4106+ -不明货币对 break;                   case 4107:myLastErrorStr= 错误代码: +4107+ -无效价格 break;                   case 4108:myLastErrorStr= 错误代码: +4108+ -无效定单编码 break;                   case 4109:myLastErrorStr= 错误代码: +4109+ -不允许交易 break;                   case 4110:myLastErrorStr= 错误代码: +4110+ -不允许长期 break;                   case 4111:myLastErrorStr= 错误代码: +4111+ -不允许短期 break;                   case 4200:myLastErrorStr= 错误代码: +4200+ -定单已经存在 break;                   case 4201:myLastErrorStr= 错误代码: +4201+ -不明定单属性 break;                   case 4202:myLastErrorStr= 错误代码: +4202+ -定单不存在 break;                   case 4203:myLastErrorStr= 错误代码: +4203+ -不明定单类型 break;                   case 4204:myLastErrorStr= 错误代码: +4204+ -没有定单名称 break;                   case 4205:myLastErrorStr= 错误代码: +4205+ -定单坐标错误 break;                   case 4206:myLastErrorStr= 错误代码: +4206+ -没有指定子窗口 break;                   case 4207:myLastErrorStr= 错误代码: +4207+ -定单一些函数错误 break;                   case 4250:myLastErrorStr= 错误代码: +4250+ -错误设定发送通知到队列中 break;                   case 4251:myLastErrorStr= 错误代码: +4251+ -无效参量- 空字符串传递到SendNotification()函数 break;                   case 4252:myLastErrorStr= 错误代码: +4252+ -无效设置发送通知(未指定ID或未启用通知) break;                   case 4253:myLastErrorStr= 错误代码: +4253+ -通知发送过于频繁 break;                }          }       return(myLastErrorStr);    }   int iOrderEquitToPoint(int myTicket)    {       int myPoint=0;       if (OrderSelect(myTicket,SELECT_BY_TICKET,MODE_TRADES))          {             if (OrderType()==OP_BUY)                {                   myPoint=(Bid-OrderOpenPrice())/Point;                }             if (OrderType()==OP_SELL)                {                   myPoint=(OrderOpenPrice()-Ask)/Point;                }          }       return(myPoint);    }   double iFundsToHands(string mySymbol,double myFunds)    {       double myLots=myFunds/MarketInfo(mySymbol, MODE_MARGINREQUIRED);//换算可开仓手数       myLots=MathRound(myLots/MarketInfo(mySymbol, MODE_MINLOT))*MarketInfo(Symbol(), MODE_MINLOT);//手数整形       return(myLots);    }   void iDisplayInfo(string LableName,string LableDoc,int Corner,int LableX,int LableY,int DocSize,string DocStyle,color DocColor)    {       if (Corner == -1) return(0);       ObjectCreate(LableName, OBJ_LABEL, 0, 0, 0);       ObjectSetText(LableName, LableDoc, DocSize, DocStyle,DocColor);       ObjectSet(LableName, OBJPROP_CORNER, Corner);       ObjectSet(LableName, OBJPROP_XDISTANCE, LableX);       ObjectSet(LableName, OBJPROP_YDISTANCE, LableY);    } 本文标签:
联系方式
顺水的鱼MT4外汇EA趋势对冲马丁延迟套利指标智能交易系统
0相关评论

为您推荐

免责声明:
当前页为MQL4常用自定义函数价格信息展示,该页所展示的MQL4常用自定义函数批发价格、MQL4常用自定义函数报价等相关信息均有企业自行提供,MQL4常用自定义函数价格真实性、准确性、合法性由店铺所有企业完全负责的。顺水的鱼MT4外汇EA趋势对冲马丁延迟套利指标智能交易系统对此不承担任何保证责任。
友情提醒:
建议您通过拨打MQL4常用自定义函数厂家联系方式确认最终价格,并索要MQL4常用自定义函数样品确认产品质量。如MQL4常用自定义函数报价过低,可能为虚假信息,请确认MQL4常用自定义函数报价真实性,谨防上当受骗。