インジケータラインの矢印設定 SetIndexArrow 関数

関数

カスタムインジケータ関数

SetIndexArrow 関数

 この関数は、インジケータライン(DRAW_ARROW)の矢印記号を設定します。

データ型と構成・戻り値

void SetIndexArrow(①, ②);

 戻り値は無し。

引数 [2]

 SetIndexArrow関数は 2個の引数で構成されます。


引数名データ型単位初期値説明
Indexintインジケータラインのインデックス。0~7で設定。
codeintWingdings文字 または 定義された矢印の記号コードから選択。

使用例

SetIndexArrow関数による記号の設定

 SetIndexArrow関数を使って、初期の矢印記号を他の記号で表示します。

 次のコードはインジケータ用のコードです。インジケータ用コードの作成方法についてはこちらを参考にしてください。

コード

// SetIndexArrow関数による記号の設定
#property strict

#property indicator_chart_window       // チャートウィンドウに表示
#property indicator_buffers 2          // インジケータバッファの数

#property indicator_color1 clrRed      // ①線の色(インジケータライン)
#property indicator_width1 3           // ①線の太さ
#property indicator_style1 STYLE_SOLID // ①線の種類
#property indicator_type1 DRAW_ARROW   // ①線のタイプ

#property indicator_color2 clrSkyBlue  // ②線の色(インジケータライン)
#property indicator_width2 3           // ②線の太さ
#property indicator_style2 STYLE_SOLID // ②線の種類
#property indicator_type2 DRAW_ARROW   // ②線のタイプ

double Buf1[], Buf2[];                 // インジケータバッファの配列

int OnInit() {

   SetIndexBuffer(0, Buf1);            // 1次元動的配列をインジケータバッファへ関連付け
   SetIndexBuffer(1, Buf2);

   SetIndexArrow(0, SYMBOL_ARROWUP);   // インジケータライン①
   SetIndexArrow(1, SYMBOL_ARROWDOWN); // インジケータライン②

   return(INIT_SUCCEEDED);
}

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   int i;
   for(i=0; i<rates_total; i++) {
      Buf1[i]=iMA(Symbol(), 0, 1, 0, MODE_SMA, PRICE_HIGH, i); // 1期間高値移動平均
      Buf2[i]=iMA(Symbol(), 0, 1, 0, MODE_SMA, PRICE_LOW, i);  // 1期間安値移動平均
   }
return(rates_total);
}

インジケータ用コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました