2赞

357评论

14收藏

MQL4 Reference MQL4命令手册(完整版)

 

评论|共 357 个

EA狙击手

发表于 2013-7-19 23:35:46 | 显示全部楼层

MQL4 运行错误代码
常数        值        描述
ERR_NO_MQLERROR        4000        没有错误。
ERR_WRONG_FUNCTION_POINTER        4001        错误函数指示。
ERR_ARRAY_INDEX_OUT_OF_RANGE        4002        数组索引超出范围。
ERR_NO_MEMORY_FOR_CALL_STACK        4003        对于调用堆栈储存器函数没有足够内存。
ERR_RECURSIVE_STACK_OVERFLOW        4004        循环堆栈储存器溢出。
ERR_NOT_ENOUGH_STACK_FOR_PARAM        4005        对于堆栈储存器参量没有内存。
ERR_NO_MEMORY_FOR_PARAM_STRING        4006        对于字行参量没有足够内存。
ERR_NO_MEMORY_FOR_TEMP_STRING        4007        对于字行没有足够内存。
ERR_NOT_INITIALIZED_STRING        4008        没有初始字行。
ERR_NOT_INITIALIZED_ARRAYSTRING        4009        在数组中没有初始字串符。
ERR_NO_MEMORY_FOR_ARRAYSTRING        4010        对于数组没有内存。
ERR_TOO_LONG_STRING        4011        字行过长。
ERR_REMAINDER_FROM_ZERO_DIVIDE        4012        余数划分为零。
ERR_ZERO_DIVIDE        4013        零划分。
ERR_UNKNOWN_COMMAND        4014        不明命令。
ERR_WRONG_JUMP        4015        错误转换(没有常规错误)。
ERR_NOT_INITIALIZED_ARRAY        4016        没有初始数组。
ERR_DLL_CALLS_NOT_ALLOWED        4017        禁止调用DLL 。
ERR_CANNOT_LOAD_LIBRARY        4018        数据库不能下载。
ERR_CANNOT_CALL_FUNCTION        4019        不能调用函数。
ERR_EXTERNAL_CALLS_NOT_ALLOWED        4020        禁止调用智能交易函数。
ERR_NO_MEMORY_FOR_RETURNED_STR        4021        对于来自函数的字行没有足够内存。
ERR_SYSTEM_BUSY        4022        系统繁忙 (没有常规错误)。
ERR_INVALID_FUNCTION_PARAMSCNT        4050        无效计数参量函数。
ERR_INVALID_FUNCTION_PARAM值        4051        无效参量值函数。
ERR_STRING_FUNCTION_INTERNAL        4052        字行函数内部错误。
ERR_SOME_ARRAY_ERROR        4053        一些数组错误。
ERR_INCORRECT_SERIESARRAY_USING        4054        应用不正确数组。
ERR_CUSTOM_INDICATOR_ERROR        4055        自定义指标错误。
ERR_INCOMPATIBLE_ARRAYS        4056        不协调数组。
ERR_GLOBAL_VARIABLES_PROCESSING        4057        整体变量过程错误。
ERR_GLOBAL_VARIABLE_NOT_FOUND        4058        整体变量未找到。
ERR_FUNC_NOT_ALLOWED_IN_TESTING        4059        测试模式函数禁止。
ERR_FUNCTION_NOT_CONFIRMED        4060        没有确认函数
ERR_SEND_MAIL_ERROR        4061        发送邮件错误。
ERR_STRING_PARAMETER_EXPECTED        4062        字行预计参量。
ERR_INTEGER_PARAMETER_EXPECTED        4063        整数预计参量。
ERR_DOUBLE_PARAMETER_EXPECTED        4064        双预计参量。
ERR_ARRAY_AS_PARAMETER_EXPECTED        4065        数组作为预计参量。
ERR_HISTORY_WILL_UPDATED        4066        刷新状态请求历史数据。
ERR_TRADE_ERROR        4067        交易函数错误。
ERR_END_OF_FILE        4099        文件结束。
ERR_SOME_FILE_ERROR        4100        一些文件错误。
ERR_WRONG_FILE_NAME        4101        错误文件名称。
ERR_TOO_MANY_OPENED_FILES        4102        打开文件过多。
ERR_CANNOT_OPEN_FILE        4103        不能打开文件。
ERR_INCOMPATIBLE_FILEACCESS        4104        不协调文件。
ERR_NO_ORDER_SELECTED        4105        没有选择定单。
ERR_UNKNOWN_SYMBOL        4106        不明货币对。
ERR_INVALID_PRICE_PARAM        4107        无效价格。
ERR_INVALID_TICKET        4108        无效定单编码。
ERR_TRADE_NOT_ALLOWED        4109        不允许交易。
ERR_LONGS_NOT_ALLOWED        4110        不允许长期。
ERR_SHORTS_NOT_ALLOWED        4111        不允许短期。
ERR_OBJECT_ALREADY_EXISTS        4200        定单已经存在。
ERR_UNKNOWN_OBJECT_PROPERTY        4201        不明定单属性。
ERR_OBJECT_DOES_NOT_EXIST        4202        定单不存在。
ERR_UNKNOWN_OBJECT_TYPE        4203        不明定单类型。
ERR_NO_OBJECT_NAME        4204        没有定单名称。
ERR_OBJECT_COORDINATES_ERROR        4205        定单坐标错误。
ERR_NO_SPECIFIED_SUBWINDOW        4206        没有指定子窗口。
ERR_SOME_OBJECT_ERROR        4207        定单一些函数错误。

EA狙击手

发表于 2013-7-19 23:36:05 | 显示全部楼层

Predefined variables预定义变量
对于每个执行的MQL4程序,一定数量的变量设定可以轻松应对图表中的价格状态:智能交易,脚本或者是客户指标。.
资料应用到可变量的模型中来。
可以由预定义的变量分开处理。 这些数据会在开启后应用 RefreshRates()函数更新。
Ask最新卖价
double Ask
对于当前货币对的最新卖价格。使用RefreshRates()函数更新。
参见 MarketInfo().
示例:
  if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25)
    {
     OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,
               "My order #2",3,D'2005.10.10 12:30',Red);
     return;
    }
Bars柱数
int Bars
返回图表中的柱数。
参见 iBars().
示例:
  int counter=1;
  for(int i=1; i<=Bars; i++)
    {
     Print(关闭[i-1]);
    }
Bid最新买价
double Bid
对于当前货币对的最新买价格。使用RefreshRates()函数更新。
参见 MarketInfo().
示例:
  if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
    {
     OrderSend("EURUSD",OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,
               "My Order #2",3,D'2005.10.10 12:30',Red);
     return(0);
    }

EA狙击手

发表于 2013-7-19 23:36:16 | 显示全部楼层

Close[]收盘价
double Close[]
系列数组包含当前图表每个柱的收盘价格。
系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为Bars-1.
参见 iClose().
示例:
  int handle = FileOpen("file.csv", FILE_CSV|FILE_WRITE, ";");
  if(handle>0)
    {
     // 表格栏标题记录
     FileWrite(handle, "Time;Open;High;Low;Close;Volume");
     // 数据记录
     for(int i=0; i<Bars; i++)
       FileWrite(handle, Time[i], Open[i], High[i], Low[i], Close[i], Volume[i]);
     FileClose(handle);
    }

EA狙击手

发表于 2013-7-19 23:36:24 | 显示全部楼层

Digits汇率小数位
int Digits
返回当前货币对的汇率小数位
参见 MarketInfo().
示例:
Print(DoubleToStr(Close[0], 小数位));

EA狙击手

发表于 2013-7-19 23:36:33 | 显示全部楼层

High[]最高价
double High[]
系列数组包含当前图表每个柱的最高价格。
系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为 Bars-1.
参见 iHigh().
示例:
//---- 最大值
   i=Bars-KPeriod;
   if(counted_bars>KPeriod) i=Bars-counted_bars-1;
   while(i>=0)
     {
      double max=-1000000;
      k = i + KPeriod-1;
      while(k>=i)
        {
         price=High[k];
         if(max<price) max=price;
         k--;
        }
      HighesBuffer[i]=max;
      i--;
     }
//----

EA狙击手

发表于 2013-7-19 23:36:43 | 显示全部楼层

Low[]最低价
double Low[]
系列数组包含当前图表每个柱的最低价格。
系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为 Bars-1.
参见 iLow().
示例:
//---- 最小值
   i=Bars-KPeriod;
   if(counted_bars>KPeriod) i=Bars-counted_bars-1;
   while(i>=0)
     {
      double min=1000000;
      k = i + KPeriod-1;
      while(k>=i)
        {
         price=Low[k];
         if(min>price) min=price;
         k--;
        }
      LowesBuffer[i]=min;
      i--;
     }
//----

EA狙击手

发表于 2013-7-19 23:36:55 | 显示全部楼层

Open[]开盘价
double Open[]
系列数组包含当前图表每个柱的开盘价格。
系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为Bars-1.
参见 iOpen().
示例:
   i = Bars - counted_bars - 1;
   while(i>=0)
     {
      double high  = High[i];
      double low   = Low[i];
      double open  = Open[i];
      double close = Close[i];
      AccumulationBuffer[i] = (close-low) - (high-close);
      if(AccumulationBuffer[i] != 0)
        {
         double diff = high - low;
         if(0==diff)
            AccumulationBuffer[i] = 0;
         else
           {
            AccumulationBuffer[i] /= diff;
            AccumulationBuffer[i] *= Volume[i];
           }
        }
      if(i<Bars-1) AccumulationBuffer[i] += AccumulationBuffer[i+1];
      i--;
     }

EA狙击手

发表于 2013-7-19 23:37:04 | 显示全部楼层

Point点值
double Point
返回当前图表的点值
参见 MarketInfo().
示例:
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point);

EA狙击手

发表于 2013-7-19 23:37:13 | 显示全部楼层

Time[]开盘时间
datetime Time[]
系列数组包含当前图表的每个柱开盘时间。数据像日期时间一样呈现时间,从1979年1月1日零点开始以秒计算。

系列数组元素被索引入倒序的定单,即从最后一个到第一个。当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为 Bars-1.

参见 iTime().
示例:
   for(i=Bars-2; i>=0; i--)
     {
      if(High[i+1] > LastHigh) LastHigh = High[i+1];
      if(Low[i+1] < LastLow)   LastLow  = Low[i+1];
      //----
      if(TimeDay(Time[i]) != TimeDay(Time[i+1]))
        {
         P = (LastHigh + LastLow + Close[i+1])/3;
         R1 = P*2 - LastLow;
         S1 = P*2 - LastHigh;
         R2 = P + LastHigh - LastLow;
         S2 = P - (LastHigh - LastLow);
         R3 = P*2 + LastHigh - LastLow*2;
         S3 = P*2 - (LastHigh*2 - LastLow);
         LastLow  = Open[i];
         LastHigh = Open[i];
        }
      //----
      PBuffer[i]  = P;
      S1Buffer[i] = S1;
      R1Buffer[i] = R1;
      S2Buffer[i] = S2;
      R2Buffer[i] = R2;
      S3Buffer[i] = S3;
      R3Buffer[i] = R3;
     }

EA狙击手

发表于 2013-7-19 23:37:28 | 显示全部楼层

Volume[]成交量
double Volume[]
系列数组包含当前图表每个柱价格变动成交量。
系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为 Bars-1.
参见 iVolume().
示例:
      if(i==0 && time0<i_time+periodseconds)
        {
         d_volume += Volume[0];
         if(Low[0]<d_low)   d_low = Low[0];
         if(High[0]>d_high) d_high = High[0];
         d_close = Close[0];
        }
      last_fpos = FileTell(ExtHandle);
      last_volume = Volume[i];
      FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
      FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
      FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
      FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
      FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
      FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);

您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则