2赞

357评论

14收藏

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

 

评论|共 357 个

EA狙击手

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

Sleep指定的时间间隔内暂停交易业务
void Sleep( int milliseconds)
The Sleep()函数是指在指定的时间间隔内暂停交易业务
The Sleep()函数不能在客户指标内计算。
当进入函数停止状态 智能交易每0.1 second秒会检测。
参量:
milliseconds   -   毫秒之内的内部睡眠。.
示例:
//---- 等待10秒
   Sleep(10000);

EA狙击手

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

Conversion functions格式转换函数
从一种格式转换到另一种格式提供数据的一组函数。
必须特别注意NormalizeDouble()函数它提供了价格介绍的必要的准确性。 在交易的操作中,如果当前的数字超出交易服务器的需求,意味着没有任何标准的价格可以使用。
CharToStr字符转换成字符串
string CharToStr( int char_code)
将字符型转换成字符串型结果。
参量:
char_code   -   字符的ACSII码 。
示例:
  string str="WORL" + CharToStr(44); // 'D'的44个代码。
  // 结果字串符将被WORLD

EA狙击手

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

DoubleToStr双精度浮点转换成字符串
string DoubleToStr( double value, int digits)
将双精度浮点型转换成字符串型的结果返回。
参量:
value   -   浮点型数字。
digits   -   精确格式,小数点后位(0-8)。
示例:
  string value=DoubleToStr(1.28473418, 5);
  // 值为"1.28473"

EA狙击手

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

NormalizeDouble给出环绕浮点值的精确度
double NormalizeDouble( double value, int digits)
给出环绕浮点值的精确度。返回双重类型的正常化。
计算止损和赢利值,挂单交易交易的开盘价必须正常化。精确值需要在小数点中预定义。
参量:
value   -   浮点值。
digits   -   精确格式,小数点之后的精确数字 (0-8)。
示例:
  double var1=0.123456789;
  Print(DoubleToStr(NormalizeDouble(var1,5),8));
  //  输入信息: 0.12346000

EA狙击手

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

StrToDouble字符串型转换成双精度浮点型
double StrToDouble( string value)
将字符串型转换成双精度浮点型结果。
参量:
value   -   数字的字符串转换格式 。
示例:
  double var=StrToDouble("103.2812");

EA狙击手

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

StrToInteger字符串型转换成整型
int StrToInteger( string value)
将字符串型转换成整型结果。
参量:
value   -   数字的字符串转换格式。
示例:
  int var1=StrToInteger("1024");

EA狙击手

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

StrToTime字符串型转换成时间型
datetime StrToTime( string value)
将字符串型转换成时间型,输入格式为 "yyyy.mm.dd hh:mi"
参量:
value   -   日期时间的字串符格式为 "yyyy.mm.dd hh:mi"。
示例:
  datetime var1;
  var1=StrToTime("2003.8.12 17:35");
  var1=StrToTime("17:35");      // 返回当前给出日期
  var1=StrToTime("2003.8.12");  // 返回午夜时间日期"00:00"

EA狙击手

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

TimeToStr时间类型转换为 "yyyy.mm.dd hh:mi"格式
string TimeToStr( datetime value, void mode)
时间类型(从1970 1月1 日通过的相当数量秒数)转换为 "yyyy.mm.dd hh:mi"格式。
参量:
value   -   自1970年1月所通过的数量秒数。
mode   -   选择数据输出模式可以是以下的一个或者组合:
TIME_DATE 结果格式为 "yyyy.mm.dd",
TIME_MINUTES 结果格式为 "hh:mi",
TIME_SECONDS 结果格式为 "hh:mi:ss"。
示例:
  string var1=TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);

EA狙击手

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

Custom indicators自定义指标
自定义指标中使用的一组函数。
这些函数不能在智能交易和脚本中使用。
IndicatorBuffers
void IndicatorBuffers( int count)
对于缓冲储存器分配记忆应用自定义指标计算。缓冲储存器的总数不能超过8或者是小于自定义缓冲 属性中所给出的值。 如果客户指标要求另外的缓冲器计数,那么这个功能必须使用为指定总额缓冲。
参量:
count   -   在指标缓冲器和8缓冲储存器之间分配缓冲储存器的总量。
示例:
#property  indicator_separate_window
#property  indicator_buffers 1
#property  indicator_color1  Silver
//---- 自定义参量
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
//---- 自定义缓冲
double     ind_buffer1[];
double     ind_buffer2[];
double     ind_buffer3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- 使用2个添加缓冲。
   IndicatorBuffers(3);
//---- 画出设定
   SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,3);
   SetIndexDrawBegin(0,SignalSMA);
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 绘制3 个添加缓冲位置
   SetIndexBuffer(0,ind_buffer1);
   SetIndexBuffer(1,ind_buffer2);
   SetIndexBuffer(2,ind_buffer3);
//----  DataWindow 和自定义窗口标签名称
   IndicatorShortName("OsMA("+FastEMA+","+SlowEMA+","+SignalSMA+")");
//---- 初始化结束
   return(0);
  }

EA狙击手

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

IndicatorCounted
int IndicatorCounted( )
在自定义最后一次开启之后,函数返回柱的总数不会改变。计算过的柱数无须重新计算。大多数情况下, 同样数额的索引值不需要重估。函数应用到优化计算中。
注解: 最近的柱无须考虑计算, 在多数情况下, 这个柱是要被重估的。不过,自定义指标显示交易中的新柱的第一价格变动。 可能先前柱的最后一个价格变动没有处理的结果(因为在最后 一个价格变动进入时倒数第二个没有 处理 完成)客定义标将不会显示和计算。 在这样的情况下为了避免错误, IndicatorCounted()函数会返回前一个柱。
示例:
  int start()
    {
     int limit;
     int counted_bars=IndicatorCounted();
  //---- 检验可能出现错误
     if(counted_bars<0) return(-1);
  //---- 最后数的柱将被重数
     if(counted_bars>0) counted_bars--;
     limit=Bars-counted_bars;
  //---- 主环
     for(int i=0; i<limit; i++)
       {
        //---- ma_shift set to 0 because SetIndexShift called abowe
        ExtBlueBuffer[i]=iMA(NULL,0,JawsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);
        ExtRedBuffer[i]=iMA(NULL,0,TeethPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);
        ExtLimeBuffer[i]=iMA(NULL,0,LipsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);
       }
  //---- 完成
     return(0);
    }

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

EA之家评论守则