iSAR()関数は、パラボリックSAR(Stop & Reverse)の値を取得するために使用します。
iSAR()関数は、以下のように定義されています。
double iSAR(
string symbol,
int timeframe,
double step,
double maximum,
int shift
);
各引数の意味は、以下のとおりです。
- string symbol
パラボリックSARの値を計算する通貨ペア名を指定します。
通貨ペア名は、「気配値表示ウィンドウ」に表示されているとおりに記述します。
特定の通貨ペア名を指定せず、EA等を適用したチャートの通貨ペアのパラボリックSARの値を取得したい場合は、「NULL」と記述します。 - int timeframe
以下の表に従って、パラボリックSARの値を計算する時間軸を指定します。種 類 定 数 内 容 PERIOD_CURRENT 0 現在の時間足 PERIOD_M1 1 1分足 PERIOD_M5 5 5分足 PERIOD_M15 15 15分足 PERIOD_M30 30 30分足 PERIOD_H1 60 1時間足 PERIOD_H4 240 4時間足 PERIOD_D1 1440 日 足 PERIOD_W1 10080 週 足 PERIOD_MN1 43200 月 足 - double step
パラボリックSARの値を算出するために使用する加速因子(=AF:Acceleration Factor)の増加単位を指定します。
通常は「0.02」です。
なお、この値を大きくするほどパラボリックSARは値動きに対して敏感に反応します。 - double maximum
パラボリックSARの値を算出するために使用する加速因子(=AF:Acceleration Factor)の最大値を指定します。
通常は「0.2」です。
なお、この値を大きくするほどパラボリックSARは値動きに対して敏感に反応します。 - int shift
パラボリックSARの値を取得したいバーの位置を指定します。
パラボリックSARの値を取得したいバーが現在のバーであれば「0」、1本前のバーであれば「1」、2本前のバーであれば「2」……と記述します。
具体例
2本前のバーのパラボリックSARの値が2本前のバーの高値よりも大きく、かつ1本前のバーのパラボリックSARの値が1本前のバーの安値よりも小さければ、買いエントリーしたい場合は、以下のように記述します。
double SAR_1 = iSAR(NULL,0,0.2,0.02,1);
double SAR_2 = iSAR(NULL,0,0.2,0.02,2);
if(SAR_2 > High[2] && SAR_1 < Low[1])
{
int Ticket
= OrderSend(Symbol(),OP_BUY,0.1,Ask,10,0,0,
NULL,1515,0,Magenta);
}