ギャンオブジェクト

ギャンファン(OBJ_GANNFAN)とギャングリッド(OBJ_GANNGRID)オブジェクトでは、トレンドの方向を表す ENUM_GANN_DIRECTION 列挙を指定出来ます。

ENUM_GANN_DIRECTION

ID

説明

GANN_UP_TREND

上昇トレンドに対応する線。

GANN_DOWN_TREND

下落トレンドに対応する線。

主要線のスケールを 1x1 に設定するには、ObjectSetDouble(chart_handle, gann_object_name, OBJPROP_SCALE, scale) 関数が使用されます。

  • chart_handle – オブジェクトが配置されているチャートウィンドウ
  • gann_object_name – オブジェクト名
  • OBJPROP_SCALE – 「スケール」プロパティの識別子
  • scale – バーあたりのピップ数( Pips/Bar )単位の必要なスケール

ギャンファンオブジェクトのパラメータ

ギャンファン作成の例

void OnStart()
 {
//---
  string my_gann="OBJ_GANNFAN object";
  if(ObjectFind(0,my_gann)<0)// オブジェクトが見つからない
    {
    //--- 失敗を通知する
    Print("Object ",my_gann," not found. Error code = ",GetLastError());
    //--- チャートの最高値を取得する
    double chart_max_price=ChartGetDouble(0,CHART_PRICE_MAX,0);
    //--- チャートの最安値を取得する
    double chart_min_price=ChartGetDouble(0,CHART_PRICE_MIN,0);
    //--- チャート上のバーの数
    int bars_on_chart=ChartGetInteger(0,CHART_VISIBLE_BARS);
    //--- 各足のオープン時間を書き込むための配列を作成する
    datetime Time[];
    //--- 配列へのアクセスを時系列としてアレンジ
    ArraySetAsSeries(Time,true);
    //--- チャートで表示されているバーのデータをこの配列にコピー
    int times=CopyTime(NULL,0,0,bars_on_chart,Time);
    if(times<=0)
       {
        Print("Could not copy the array with the open time!");
        return;
       }
    //--- 予備の準備完了
 
    //--- チャートの中央のバーのインデックス
    int center_bar=bars_on_chart/2;
    //--- チャートの赤道 - 最大値と最小値の間
    double mean=(chart_max_price+chart_min_price)/2.0;
    //--- 最初のアンカーポイントの座標を中央に設定
    ObjectCreate(0,my_gann,OBJ_GANNFAN,0,Time[center_bar],mean,
                  //--- 2 番目のアンカーポイントを右に設定
                  Time[center_bar/2],(mean+chart_min_price)/2.0);
    Print("Time[center_bar] = "+(string)Time[center_bar]+"  Time[center_bar/2] = "+(string)Time[center_bar/2]);
    //Print("Time[center_bar]/="+Time[center_bar]+"  Time[center_bar/2]="+Time[center_bar/2]);
    //--- スケールを Pips / Bar 単位で設定
    ObjectSetDouble(0,my_gann,OBJPROP_SCALE,10);
    //--- 線のトレンドを設定
    ObjectSetInteger(0,my_gann,OBJPROP_DIRECTION,GANN_UP_TREND);
    //--- 線の幅を設定
    ObjectSetInteger(0,my_gann,OBJPROP_WIDTH,1);
    //--- 線のスタイルを定義
    ObjectSetInteger(0,my_gann,OBJPROP_STYLE,STYLE_DASHDOT);
    //--- 線の色を設定
    ObjectSetInteger(0,my_gann,OBJPROP_COLOR,clrYellowGreen);
    //--- ユーザのオブジェクト選択を許可
    ObjectSetInteger(0,my_gann,OBJPROP_SELECTABLE,true);
    //--- 自分で選ぶ
    ObjectSetInteger(0,my_gann,OBJPROP_SELECTED,true);
    //--- チャートに描画する
    ChartRedraw(0);
    }
 }