お知らせ:
  • 口座開設をご希望の場合は、カスタマーサービスまでご連絡いただき、操作方法をご案内いたします。
  • カスタマーサービスのWeChat:Jin-DaoCheng
    1. ホーム > 取引のフォロースルー

    EAプログラミングチュートリアルの一般的な関数

    実行されるMQL 4プログラムごとに、一定数の変数を設定することで、チャートの価格状態に簡単に対応できます。

    スマートトレーディング、スクリプト、または顧客指標。

    データは可変量モデルに適用されます。

    事前定義された変数とは別に扱うことができます。

    これらのデータは、Refresh Rates()関数が有効になった後に更新されます。

    Ask

    Bars

    Bid

    Close

    Digits

    High

    Low

    Open

    Point

    Time

    Volume

    Ask

    double Ask

    現在の通貨ペアの最新の販売価格について。Refresh Rates()関数を使用して更新します。

    Market Info()を参照してください。

    例:

    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

    現在の通貨ペアの最新の購入価格について。Refresh Rates()関数を使用して更新します。

    Market Info()を参照してください。

    例:

    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

    現在の通貨ペアの小数点以下の為替レートを返します

    Market Info()を参照してください。

    例:

    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

    現在のチャートのポイント値を返します

    Market Info()を参照してください。

    例:

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

    datetime Time

    datetime Time[]

    シリーズ配列には、現在のチャートの各列の開始時刻が含まれています。データは、1979年1月1日の0時から秒単位で、日付時刻のように時刻を表示します。

    系列配列の要素は、逆順の注文、つまり最後から最初の注文に導入されます。現在の最後のカラムのインデックスは配列内で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://www.daoctech.com/fxoutrade/1990.html

    免責事項:この記事の内容は外国為替アカデミーの見解を表すものではありません。内容は参考用であり、投資アドバイスを構成するものではありません。投資家がこれに基づいて操作する場合、リスクは自己負担となります。