公告:
  • 如需开户,可联系客服指导操作。
  • 客服微信:Jin-DaoCheng
    1. 首页 > 交易跟单

    EA编程教程大全之常用函数

    对于每个执行的MQL4程序,一定数量的变量设定可以轻松应对图表中的价格状态:

    智能交易,脚本或者是客户指标。.

    资料应用到可变量的模型中来。

    可以由预定义的变量分开处理。

    这些数据会在开启后应用 RefreshRates()函数更新。

    Ask

    Bars

    Bid

    Close

    Digits

    High

    Low

    Open

    Point

    Time

    Volume

    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);

    }

    Close

    double Close[]

    系列数组包含当前图表每个柱的收盘价格。

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

    参见 iClose().

    示例:

    int handle = FileOpen("file.csv", FILE_CSV|FILE_WRITE, ";");

    if(handle0)

    {

    // 表格栏标题记录

    FileWrite(handle, "Time;Open;High;Low;Close;Volume");

    // 数据记录

    for(int i=0; i

    FileWrite(handle, Time, Open, High, Low, Close, Volume);

    Fileclose(handle);

    }

    Digits

    int Digits

    返回当前货币对的汇率小数位

    参见 MarketInfo().

    示例:

    Print(DoubleToStr(Close[0], 小数位));

    High

    double High[]

    系列数组包含当前图表每个柱的最高价格。

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

    参见 iHigh().

    示例:

    //---- 最大值

    i=Bars-KPeriod;

    if(counted_barsKPeriod) i=Bars-counted_bars-1;

    while(i=0)

    {

    double max=-1000000;

    k = i + KPeriod-1;

    while(k=i)

    {

    price=High[k];

    if(max

    k--;

    }

    HighesBuffer=max;

    i--;

    }

    //----

    Low

    double Low[]

    系列数组包含当前图表每个柱的最低价格。

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

    参见 iLow().

    示例:

    //---- 最小值

    i=Bars-KPeriod;

    if(counted_barsKPeriod) i=Bars-counted_bars-1;

    while(i=0)

    {

    double min=1000000;

    k = i + KPeriod-1;

    while(k=i)

    {

    price=Low[k];

    if(minprice) min=price;

    k--;

    }

    LowesBuffer=min;

    i--;

    }

    //----

    Open

    double Open[]

    系列数组包含当前图表每个柱的开盘价格。

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

    参见 iOpen().

    示例:

    i = Bars - counted_bars - 1;

    while(i=0)

    {

    double high = High;

    double low = Low;

    double open = Open;

    double close = Close;

    AccumulationBuffer = (close-low) - (high-close);

    if(AccumulationBuffer != 0)

    {

    double diff = high - low;

    if(0==diff)

    AccumulationBuffer = 0;

    else

    {

    AccumulationBuffer /= diff;

    AccumulationBuffer *= Volume;

    }

    }

    if(i

    i--;

    }

    double Point

    返回当前图表的点值

    参见 MarketInfo().

    示例:

    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point);

    datetime 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) != 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;

    LastHigh = Open;

    }

    //----

    PBuffer = P;

    S1Buffer = S1;

    R1Buffer = R1;

    S2Buffer = S2;

    R2Buffer = R2;

    S3Buffer = S3;

    R3Buffer = R3;

    }

    Volume

    double Volume[]

    系列数组包含当前图表每个柱替克成交量。

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

    参见 iVolume().

    示例:

    if(i==0 && time0

    {

    d_volume += Volume[0];

    if(Low[0]

    if(High[0]d_high) d_high = High[0];

    d_close = Close[0];

    }

    last_fpos = FileTell(ExtHandle);

    last_volume = Volume;

    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);

    点击咨询交易开户相关问题

    转载请注明出处:https://daoctech.com/fxoutrade/1990.html

    免责声明: 本文内容不代表道诚外汇官网观点,内容仅供参考,不构成投资建议。投资者若据此操作,风险自担。

    右下角联系在线客服

    QQ:835591180

    微信号:Jin-DaoCheng

    工作日:9:30-18:30,节假日休息

    微信二维码