チャート操作の例

このセクションはチャートプロパティを操作する例を含みます。各プロパティに対して、1 つまたは 2 つの完全な関数が表示されます。これらの関数は、プロパティ値の設定/取得を可能にします。これらの関数はカスタム MQL5 アプリケーションでそのまま使用することが出来ます。

下のスクリーンショットは、チャートプロパティの変更とともにグラフィックパネルの外観がどのように変化するかを示しています。「 Next 」ボタンをクリックすると、該当するプロパティの新しい値が設定され、チャートウィンドウで変更内容を表示出来ます。

chart_properties_panel

パネルのソースコードはにあります。

チャートプロパティ及びその操作に使用されるサンプル関数

//+------------------------------------------------------------------+
//| オブジェクトがチャートかどうかをチェックする。グラフィックオブジェクトの場合,                 |
//| 結果は true で、チャートの場合                                          |
//| 結果は false                                                      |
//+------------------------------------------------------------------+
bool ChartIsObject(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- チャートプロパティを取得する
  if(!ChartGetInteger(chart_ID,CHART_IS_OBJECT,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    //--- false を返す
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }

 

 

  • CHART_BRING_TO_TOP はチャートを他の全てのチャートの上に表示します。

//+----------------------------------------------------------------------+
//| チャートを他の全てのチャートの上に表示するコマンドを端末に送信する                      |
//+----------------------------------------------------------------------+
bool ChartBringToTop(const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- チャートを他の全てのチャートの上に表示する
  if(!ChartSetInteger(chart_ID,CHART_BRING_TO_TOP,0,true))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_MOUSE_SCROLL はマウスの左ボタンを使用してチャートをスクロールするためのプロパティです。

//+--------------------------------------------------------------------------+
//| マウスの左ボタンを使用してのチャートスクロールが有効かをチェック                              |
//+--------------------------------------------------------------------------+
bool ChartMouseScrollGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_MOUSE_SCROLL,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+--------------------------------------------------------------------+
//| マウスの左ボタンを使用してのチャートスクロールを有/無効化する                        |
//+--------------------------------------------------------------------+
bool ChartMouseScrollSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_MOUSE_SCROLL,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_EVENT_MOUSE_MOVE は移動イベントとマウスクリックイベントに関するメッセージを MQL アプリケーションに送信するプロパティです(CHARTEVENT_MOUSE_MOVE)。

//+------------------------------------------------------------------+
//| 移動イベントとマウスクリックイベントに関するメッセージが                             |
//| MQL アプリケーションに送信されるかをチェックする                                 |
//+------------------------------------------------------------------+
bool ChartEventMouseMoveGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_EVENT_MOUSE_MOVE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------------------+
//| 移動イベントとマウスクリックイベントに関するメッセージの                                         |
//| MQL アプリケーションへの送信を有効または無効にする                                         |
//+------------------------------------------------------------------------------+
bool ChartEventMouseMoveSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_EVENT_MOUSE_MOVE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_EVENT_OBJECT_CREATE はグラフィックオブジェクト作成イベントに関するメッセージを MQL アプリケーションに送信するプロパティです (CHARTEVENT_OBJECT_CREATE)。

//+---------------------------------------------------------------------+
//| グラフィックオブジェクト作成イベントに関するメッセージが                                |
//| チャート上の全ての MQL アプリケーションに送信されるかをチェック                         |
//+---------------------------------------------------------------------+
bool ChartEventObjectCreateGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_EVENT_OBJECT_CREATE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+--------------------------------------------------------------------------+
//| チャート上の全ての MQL アプリケーションへのグラフィックオブジェクト                             |
//| 作成イベントに関するメッセージの送信を有効または無効にする                               |
//+--------------------------------------------------------------------------+
bool ChartEventObjectCreateSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_EVENT_OBJECT_CREATE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_EVENT_OBJECT_DELETE はグラフィックオブジェクト削除イベントに関するメッセージを MQL アプリケーションに送信するプロパティです(CHARTEVENT_OBJECT_DELETE)。

//+---------------------------------------------------------------------+
//| グラフィックオブジェクト削除イベントに関するメッセージが                                |
//| チャート上の全ての MQL アプリケーションに送信されるかをチェック                         |
//+---------------------------------------------------------------------+
bool ChartEventObjectDeleteGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_EVENT_OBJECT_DELETE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+--------------------------------------------------------------------------+
//| チャート上の全ての MQL アプリケーションへのグラフィックオブジェクト                             |
//| 削除イベントに関するメッセージの送信を有効または無効にする                                |
//+--------------------------------------------------------------------------+
bool ChartEventObjectDeleteSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_EVENT_OBJECT_DELETE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_MODEチャートの種類です(ローソク足、バー、及びライン)。

//+------------------------------------------------------------------+
//| チャートの表示タイプ(ローソク足、バー、及びライン)を取得する                        |
//+------------------------------------------------------------------+
ENUM_CHART_MODE ChartModeGet(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=WRONG_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_MODE,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((ENUM_CHART_MODE)result);
 }
//+------------------------------------------------------------------+
//| チャートの表示タイプ(ローソク足、バー、及びライン)を設定する                       |
//+------------------------------------------------------------------+
bool ChartModeSet(const long value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_MODE,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_FOREGROUND は価格チャートを前景に表示するプロパティです。

//+------------------------------------------------------------------+
//| 価格チャートが前景に表示されるかをチェック                                    |
//+------------------------------------------------------------------+
bool ChartForegroundGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_FOREGROUND,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| 価格チャートの前景での表示を有効または無効にする                             |
//+------------------------------------------------------------------+
bool ChartForegroundSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_FOREGROUND,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHIFT右側の境界線からの価格チャートのシフトのモードです。

//+-------------------------------------------------------------------+
//| 右側の境界線からの価格チャートのシフトが有効かをチェック                           |
//+-------------------------------------------------------------------+
bool ChartShiftGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHIFT,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+---------------------------------------------------------------------------------+
//| 右側の境界線からの価格チャートのシフトを有効または無効にする                                    |
//+---------------------------------------------------------------------------------+
bool ChartShiftSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHIFT,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_AUTOSCROLLチャートの右側の境界線への自動シフトのモードです。

//+------------------------------------------------------------------+
//| チャートの右側の境界線への自動シフトが                                     |
//| 新しいティックの到着時に有効かをチェック                                      |
//+------------------------------------------------------------------+
bool ChartAutoscrollGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_AUTOSCROLL,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| 新しいティックの到着時のチャートの右側の境界線への自動シフトを                    |
//| 有効または無効にする                                                  |
//+------------------------------------------------------------------+
bool ChartAutoscrollSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_AUTOSCROLL,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

 

 

  • CHART_SCALEチャートスケールプロパティです。

//+------------------------------------------------------------------+
//| 0から5のチャートスケールを取得する                                         |
//+------------------------------------------------------------------+
int ChartScaleGet(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SCALE,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }
//+------------------------------------------------------------------+
//| 0から5のチャートスケールを設定する                                         |
//+------------------------------------------------------------------+
bool ChartScaleSet(const long value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SCALE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SCALEFIXチャートの固定スケールのモードです。

//+------------------------------------------------------------------+
//| チャートの固定スケールのモードが有効かをチェック                                |
//+------------------------------------------------------------------+
bool ChartScaleFixGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SCALEFIX,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| 固定スケールモードを有効または無効にする                                    |
//+------------------------------------------------------------------+
bool ChartScaleFixSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SCALEFIX,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SCALEFIX_11 1:1 チャートスケールモードです。

//+------------------------------------------------------------------+
//| 1:1 スケールが有効かをチェック                                           |
//+------------------------------------------------------------------+
bool ChartScaleFix11Get(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SCALEFIX_11,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| 1:1 スケールモードを有効または無効にする                                    |
//+------------------------------------------------------------------+
bool ChartScaleFix11Set(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SCALEFIX_11,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SCALE_PT_PER_BARチャートスケールをバーあたりのポイントで指定するモードです。

//+------------------------------------------------------------------+
//| 「バーあたりのポイント」スケールモードが有効かをチェック                             |
//+------------------------------------------------------------------+
bool ChartScalePerBarGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SCALE_PT_PER_BAR,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| 「バーあたりのポイント」チャートスケールモードを有効または無効にする                   |
//+------------------------------------------------------------------+
bool ChartScalePerBarSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SCALE_PT_PER_BAR,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_OHLC OHLC 値を左上隅に表示するプロパティです。

//+----------------------------------------------------------------------------------+
//| OHLC 値の左上隅の表示が有効かをチェック                                                   |
//+----------------------------------------------------------------------------------+
bool ChartShowOHLCGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_OHLC,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------------------+
//| チャートの左上隅での OHLC 値の表示を有効または無効にする                                  |
//+------------------------------------------------------------------------------+
bool ChartShowOHLCSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_OHLC,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_BID_LINE売値をチャートの水平線として表示するプロパティです。

//+------------------------------------------------------------------+
//| チャート上での売り線の表示が有効かをチェック                                  |
//+------------------------------------------------------------------+
bool ChartShowBidLineGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_BID_LINE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| チャート上での売り線の表示を有効または無効にする                              |
//+------------------------------------------------------------------+
bool ChartShowBidLineSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_BID_LINE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_ASK_LINE買値をチャートの水平線として表示するプロパティです。

//+------------------------------------------------------------------+
//| チャート上での買い線の表示が有効かをチェック                                  |
//+------------------------------------------------------------------+
bool ChartShowAskLineGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_ASK_LINE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| チャート上での買い線の表示を有効または無効にする                              |
//+------------------------------------------------------------------+
bool ChartShowAskLineSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_ASK_LINE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_LAST_LINE最終値をチャートの水平線として表示するプロパティです 。

//+-----------------------------------------------------------------------------+
//| 最後の約定価格のラインの表示が有効かをチェック                                          |
//+-----------------------------------------------------------------------------+
bool ChartShowLastLineGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_LAST_LINE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+-------------------------------------------------------------------------+
//| 最後の約定価格のライン表示を有効または無効にする                                   |
//+-------------------------------------------------------------------------+
bool ChartShowLastLineSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_LAST_LINE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_PERIOD_SEP 隣接する期間の間に垂直方向の区切り文字を表示するプロパティです。

//+---------------------------------------------------------------------------------+
//| 隣接する期間の間の垂直方向の区切り文字の表示が有効かをチェック                                 |
//+---------------------------------------------------------------------------------+
bool ChartShowPeriodSeparatorGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_PERIOD_SEP,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+-----------------------------------------------------------------------------+
//| 隣接する期間の間の垂直方向の区切り文字の表示を有効または無効にする                         |
//+-----------------------------------------------------------------------------+
bool ChartShowPeriodSepapatorSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_PERIOD_SEP,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_GRIDチャートグリッドを表示するプロパティです。

//+------------------------------------------------------------------+
//| チャートグリッドが表示されているかをチェック                                     |
//+------------------------------------------------------------------+
bool ChartShowGridGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_GRID,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| チャート上でのグリッド表示を有効または無効にする                               |
//+------------------------------------------------------------------+
bool ChartShowGridSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_GRID,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_VOLUMESチャートにボリュームを表示するプロパティです。

//+------------------------------------------------------------------+
//| チャートにボリュームが表示されているかをチェック。                                 |
//| フラグはボリューム表示モードを示します。                                      |
//+------------------------------------------------------------------+
ENUM_CHART_VOLUME_MODE ChartShowVolumesGet(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=WRONG_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_VOLUMES,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((ENUM_CHART_VOLUME_MODE)result);
 }
//+------------------------------------------------------------------+
//| チャート上でのボリューム表示モードを設定する                                  |
//+------------------------------------------------------------------+
bool ChartShowVolumesSet(const long value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_VOLUMES,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

 

  • CHART_SHOW_OBJECT_DESCRグラフィカルオブジェクトのポップアップ説明のプロパティです。

//+-------------------------------------------------------------------+
//| グラフィカルオブジェクトのポップアップ説明が                                      |
//| マウスをホーバーした時に表示されるかをチェック                                   |
//+-------------------------------------------------------------------+
bool ChartShowObjectDescriptionGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_OBJECT_DESCR,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+-------------------------------------------------------------------------+
//| マウスホーバー時のグラフィカルオブジェクトのポップアップ説明を                               |
//| 有効または無効にする                                                         |
//+-------------------------------------------------------------------------+
bool ChartShowObjectDescriptionSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_OBJECT_DESCR,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_VISIBLE_BARS はチャート上表示のために利用可能なバーの数を定義します。

//+----------------------------------------------------------------------+
//| チャートウィンドウに表示されている(可視)バーの数を取得する                            |
//+----------------------------------------------------------------------+
int ChartVisibleBars(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_VISIBLE_BARS,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }

 

  • CHART_WINDOWS_TOTAL は指標サブウィンドウを含んだチャートウィンドウの総数を定義します。

//+-----------------------------------------------------------------------+
//| 指標サブウィンドウを含んだチャートウィンドウの総数を取得する                             |
//+-----------------------------------------------------------------------+
int ChartWindowsTotal(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_WINDOWS_TOTAL,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }

 

  • CHART_WINDOW_IS_VISIBLE はサブウィンドウの可視性を定義します。

//+------------------------------------------------------------------+
//| 現在のチャートウィンドウまたはサブウィンドウの可視性をチェック                        |
//+------------------------------------------------------------------+
bool ChartWindowsIsVisible(bool &result,const long chart_ID=0,const int sub_window=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_WINDOW_IS_VISIBLE,sub_window,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }

 

  • CHART_WINDOW_HANDLE はチャートハンドルを返します。

//+------------------------------------------------------------------+
//| チャートハンドルを取得する                                               |
//+------------------------------------------------------------------+
int ChartWindowsHandle(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_WINDOW_HANDLE,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }

 

  • CHART_WINDOW_YDISTANCE は指標サブウィンドウの上部フレームとメインチャートウィンドウの上部フレームとの縦 Y 軸に沿ったピクセル単位での距離を定義します。

//+------------------------------------------------------------------+
//| ピクセル単位でのサブウィンドウの上部フレームと                                 |
//| メインチャートウィンドウの上部フレームとの距離を取得する                          |
//+------------------------------------------------------------------+
int ChartWindowsYDistance(const long chart_ID=0,const int sub_window=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_WINDOW_YDISTANCE,sub_window,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }

 

  • CHART_FIRST_VISIBLE_BAR はチャート上に最初に表示されるバーの番号を返します(バーの索引付けは時系列に従います)。

//+------------------------------------------------------------------------------+
//| チャート上に最初に表示されるバーの番号を取得する                                          |
//| バーの索引付けは時系列に従い、最新のバーは、最小のインデックスを持っている                       |
//+------------------------------------------------------------------------------+
int ChartFirstVisibleBar(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_FIRST_VISIBLE_BAR,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }

 

  • CHART_WIDTH_IN_BARS はチャート幅をバーの数で返します。

//+------------------------------------------------------------------+
//| チャート幅をバーの数で取得する                                            |
//+------------------------------------------------------------------+
int ChartWidthInBars(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_WIDTH_IN_BARS,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }

 

  • CHART_WIDTH_IN_PIXELS はチャート幅をピクセル数で返します。

//+------------------------------------------------------------------+
//| チャート幅をピクセル数で取得する                                          |
//+------------------------------------------------------------------+
int ChartWidthInPixels(const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_WIDTH_IN_PIXELS,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }

 

  • CHART_HEIGHT_IN_PIXELSピクセル単位でのチャートの高さを示すプロパティです。

//+------------------------------------------------------------------+
//| チャートの高さをピクセル数で取得する                                        |
//+------------------------------------------------------------------+
int ChartHeightInPixelsGet(const long chart_ID=0,const int sub_window=0)
 {
//--- プロパティ値を取得する変数を準備する
  long result=-1;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((int)result);
 }
//+------------------------------------------------------------------+
//| チャートの高さをピクセル数で設定する                                        |
//+------------------------------------------------------------------+
bool ChartHeightInPixelsSet(const int value,const long chart_ID=0,const int sub_window=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_BACKGROUND はチャートの背景色です。

//+------------------------------------------------------------------+
//| チャートの背景色を取得する                                              |
//+------------------------------------------------------------------+
color ChartBackColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- チャートの背景色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_BACKGROUND,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| チャートの背景色を設定する                                              |
//+------------------------------------------------------------------+
bool ChartBackColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- チャートの背景色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_BACKGROUND,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_FOREGROUND は軸、スケールとOHLCラインの色です。

//+------------------------------------------------------------------+
//| 軸、スケールとOHLCラインの色を取得する                                     |
//+------------------------------------------------------------------+
color ChartForeColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- 軸、スケールとOHLCラインの色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_FOREGROUND,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| 軸、スケールとOHLCラインの色を設定する                                      |
//+------------------------------------------------------------------+
bool ChartForeColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- 軸、スケールとOHLCラインの色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_FOREGROUND,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_GRID はチャートグリッドの色です。

//+------------------------------------------------------------------+
//| チャートグリッドの色を取得する                                             |
//+------------------------------------------------------------------+
color ChartGridColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- チャートグリッドの色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_GRID,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| チャートグリッドの色を設定する                                             |
//+------------------------------------------------------------------+
bool ChartGridColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- チャートグリッドの色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_GRID,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_VOLUME はボリュームとポジションの初期レベルの色です。

//+------------------------------------------------------------------+
//| ボリュームとマーケットエントリーレベルの色を取得する                              |
//+------------------------------------------------------------------+
color ChartVolumeColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- ボリュームとマーケットエントリーレベルの色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_VOLUME,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| ボリュームとマーケットエントリーレベルの色を設定する                               |
//+------------------------------------------------------------------+
bool ChartVolumeColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- ボリュームとマーケットエントリーレベルの色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_VOLUME,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_CHART_UP はアップバーとその影、及び強気ローソク足の実体の縁の色です。

//+-----------------------------------------------------------------------------+
//| バーとその影、及び強気ローソク足の縁の色を取得する                                       |
//+-----------------------------------------------------------------------------+
color ChartUpColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- バーとその影、及び強気ローソク足の縁の色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_UP,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| バーとその影、及び強気ローソク足の縁の色を設定する                             |
//+------------------------------------------------------------------+
bool ChartUpColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- バーとその影、及び強気ローソク足の縁の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_UP,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_CHART_DOWNダウンバーとその影、及び弱気ローソク足の縁の色です。

//+-------------------------------------------------------------------------------+
//| ダウンバーとその影、及び弱気ローソク足の縁の色を取得する                                      |
//+-------------------------------------------------------------------------------+
color ChartDownColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- ダウンバーとその影、及び弱気ローソク足の縁の色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_DOWN,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+-------------------------------------------------------------------------------+
//| ダウンバーとその影、及び弱気ローソク足の縁の色を設定する                                      |
//+-------------------------------------------------------------------------------+
bool ChartDownColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- ダウンバーとその影、及び弱気ローソク足の縁の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_DOWN,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_CHART_LINEチャートの線と同時線の色です。

//+------------------------------------------------------------------+
//| チャートの線と同時線の色を取得する                                        |
//+------------------------------------------------------------------+
color ChartLineColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- チャートの線と同時線の色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_LINE,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| チャートの線と同時線の色を設定する                                        |
//+------------------------------------------------------------------+
bool ChartLineColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- チャートの線と同時線の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_LINE,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_CANDLE_BULL強気ローソク足の実体の色です。

//+------------------------------------------------------------------+
//| 強気ローソク足の実体の色を取得する                                       |
//+------------------------------------------------------------------+
color ChartBullColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- 強気ローソク足の実体の色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_CANDLE_BULL,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| 強気ローソク足の実体の色を設定する                                       |
//+------------------------------------------------------------------+
bool ChartBullColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- 強気ローソク足の実体の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_CANDLE_BULL,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_CANDLE_BEAR弱気ローソク足の実体の色です。

//+------------------------------------------------------------------+
//| 弱気ローソク足の実体の色を取得する                                       |
//+------------------------------------------------------------------+
color ChartBearColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- 弱気ローソク足の実体の色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_CANDLE_BEAR,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| 弱気ローソク足の実体の色を設定する                                       |
//+------------------------------------------------------------------+
bool ChartBearColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- 弱気ローソク足の実体の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_CANDLE_BEAR,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_BID売値線の色です。

//+------------------------------------------------------------------+
//| 売値線の色を取得する。</t2>                                           |
//+------------------------------------------------------------------+
color ChartBidColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- 売値線の色を受け取る。</t2>
  if(!ChartGetInteger(chart_ID,CHART_COLOR_BID,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| 売り線の色を設定する                                                  |
//+------------------------------------------------------------------+
bool ChartBidColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- 売り線の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_BID,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_ASK買値線の色です。

//+------------------------------------------------------------------+
//| 買値線の色を取得する                                                 |
//+------------------------------------------------------------------+
color ChartAskColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- 買値線の色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_ASK,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| 買値線の色を設定する                                                 |
//+------------------------------------------------------------------+
bool ChartAskColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- 買値線の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_ASK,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_LAST最後の約定価格の線の色です。

//+------------------------------------------------------------------+
//| 最後の約定価格の線の色を取得する                                        |
//+------------------------------------------------------------------+
color ChartLastColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- 最後の約定価格の線の色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_LAST,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| 最後の約定価格の線の色を設定する                                        |
//+------------------------------------------------------------------+
bool ChartLastColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- 最後の約定価格の線の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_LAST,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_COLOR_STOP_LEVEL 逆指値レベル(決済逆指値及び決済指値)の色です。

//+------------------------------------------------------------------+
//| 逆指値レベル(決済逆指値及び決済指値)の色を取得する                         |
//+------------------------------------------------------------------+
color ChartStopLevelColorGet(const long chart_ID=0)
 {
//--- 色を受け取る変数を準備する
  long result=clrNONE;
//--- エラー値をリセットする
  ResetLastError();
//--- 逆指値レベル(決済逆指値及び決済指値)の色を受け取る
  if(!ChartGetInteger(chart_ID,CHART_COLOR_STOP_LEVEL,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return((color)result);
 }
//+------------------------------------------------------------------+
//| 逆指値レベル(決済逆指値及び決済指値)の色を設定する                         |
//+------------------------------------------------------------------+
bool ChartStopLevelColorSet(const color clr,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- 逆指値レベル(決済逆指値及び決済指値)の色を設定する
  if(!ChartSetInteger(chart_ID,CHART_COLOR_STOP_LEVEL,clr))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_TRADE_LEVELSチャート上に取引レベルを表示するプロパティです (ポジション、決済逆指値、決済指値及び未決注文のレベル)。

//+------------------------------------------------------------------+
//| 取引レベルがチャートに表示されているかをチェック                                |
//+------------------------------------------------------------------+
bool ChartShowTradeLevelsGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_TRADE_LEVELS,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| 取引レベルの表示を有効または無効にする                                     |
//+------------------------------------------------------------------+
bool ChartShowTradeLevelsSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_TRADE_LEVELS,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_DRAG_TRADE_LEVELS はチャートの取引レベルをマウスでドラッグする能力のプロパティです。

//+----------------------------------------------------------------------+
//| チャートの取引レベルをマウスでドラッグする事が出来るかをチェック                          |
//+----------------------------------------------------------------------+
bool ChartDragTradeLevelsGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_DRAG_TRADE_LEVELS,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| チャートの取引レベルのマウスドラッグを有効または無効にする                         |
//+------------------------------------------------------------------+
bool ChartDragTradeLevelsSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_DRAG_TRADE_LEVELS,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_DATE_SCALEチャートにタイムスケールを表示するプロパティです。

//+------------------------------------------------------------------+
//| チャートにタイムスケールが表示されるかをチェック                                 |
//+------------------------------------------------------------------+
bool ChartShowDateScaleGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_DATE_SCALE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| チャートでのタイムスケール表示を有効または無効にする                            |
//+------------------------------------------------------------------+
bool ChartShowDateScaleSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_DATE_SCALE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_PRICE_SCALEチャートに価格スケールを表示するプロパティです。

//+------------------------------------------------------------------+
//| チャートに価格スケール表示する                                            |
//+------------------------------------------------------------------+
bool ChartShowPriceScaleGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_PRICE_SCALE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| チャートでの価格スケール表示を有効または無効にする                             |
//+------------------------------------------------------------------+
bool ChartShowPriceScaleSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_PRICE_SCALE,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHOW_ONE_CLICKチャートに「1クリック取引」パネルを表示するプロパティです。

//+------------------------------------------------------------------+
//| チャートに「1クリック取引」パネルが表示されているかをチェック                         |
//+------------------------------------------------------------------+
bool ChartShowOneClickPanelGet(bool &result,const long chart_ID=0)
 {
//--- プロパティ値を取得する変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetInteger(chart_ID,CHART_SHOW_ONE_CLICK,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティの値をメモリ内に格納する
  result=value;
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| チャートでの「1クリック取引」パネルの表示を有効または無効にする                     |
//|                                                                  |
//+------------------------------------------------------------------+
bool ChartShowOneClickPanelSet(const bool value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetInteger(chart_ID,CHART_SHOW_ONE_CLICK,0,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_SHIFT_SIZE百分率で表された右境界線からのゼロバーのシフトサイズです。

//+-----------------------------------------------------------------+
//| 右境界線からのゼロバーのシフトサイズを取得する                               |
//| (10% から 50%)                                                   |
//+-----------------------------------------------------------------+
double ChartShiftSizeGet(const long chart_ID=0)
 {
//--- 結果取得のために変数を準備する
  double result=EMPTY_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetDouble(chart_ID,CHART_SHIFT_SIZE,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return(result);
 }
//+-----------------------------------------------------------------------------+
//| 右境界線からのゼロバーのシフトサイズを取得する                                           |
//| (10% から50%)                                                                 |
//| シフトモードを有効にするには、CHART_SHIFT プロパティ値を true に設定する必要がある              |
//+-----------------------------------------------------------------------------+
bool ChartShiftSizeSet(const double value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetDouble(chart_ID,CHART_SHIFT_SIZE,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_FIXED_POSITION 百分率で表された、左の境界からのチャートの固定位置です。

//+----------------------------------------------------------------------------------------+
//| 百分率で表された、左の境界からのチャートの固定位置を取得する                                          |
//+----------------------------------------------------------------------------------------+
double ChartFixedPositionGet(const long chart_ID=0)
 {
//--- 結果取得のために変数を準備する
  double result=EMPTY_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetDouble(chart_ID,CHART_FIXED_POSITION,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return(result);
 }
//+-----------------------------------------------------------------------------------------+
//| 百分率で表された、左の境界からのチャートの固定位置を取得する                                           |
//| チャートの固定位置をみるには CHART_AUTOSCROLL プロパティ値                                          |
//| を false にするのが必要                                                                      |
//+-----------------------------------------------------------------------------------------+
bool ChartFixedPositionSet(const double value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetDouble(chart_ID,CHART_FIXED_POSITION,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_FIXED_MAXチャートの固定された最大限です。

//+------------------------------------------------------------------+
//| チャートの固定された最大限を取得する                                       |
//+------------------------------------------------------------------+
double ChartFixedMaxGet(const long chart_ID=0)
 {
//--- 結果取得のために変数を準備する
  double result=EMPTY_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetDouble(chart_ID,CHART_FIXED_MAX,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return(result);
 }
//+------------------------------------------------------------------+
//| チャートの固定された最大限を設定する                                       |
//| プロパティ値をかえるには、CHART_SCALEFIX プロパティ                           |
//| 値を予め true にすることが必要                                          |
//+------------------------------------------------------------------+
bool ChartFixedMaxSet(const double value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetDouble(chart_ID,CHART_FIXED_MAX,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_FIXED_MIN チャートの固定された最小限です。

//+------------------------------------------------------------------+
//| チャートの固定された最大限を取得                                         |
//+------------------------------------------------------------------+
double ChartFixedMinGet(const long chart_ID=0)
 {
//--- 結果取得のために変数を準備する
  double result=EMPTY_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetDouble(chart_ID,CHART_FIXED_MIN,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return(result);
 }
//+------------------------------------------------------------------+
//| チャートの固定された最大限を設定する                                       |
//| プロパティ値をかえるには、CHART_SCALEFIX プロパティ                           |
//| 値を予め true にすることが必要                                          |
//+------------------------------------------------------------------+
bool ChartFixedMinSet(const double value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetDouble(chart_ID,CHART_FIXED_MIN,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_POINTS_PER_BARポイント単位のバーあたりのスケールです。

//+------------------------------------------------------------------+
//| ポイント単位のバーあたりのスケールを取得する                                  |
//+------------------------------------------------------------------+
double ChartPointsPerBarGet(const long chart_ID=0)
 {
//--- 結果取得のために変数を準備する
  double result=EMPTY_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetDouble(chart_ID,CHART_POINTS_PER_BAR,0,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return(result);
 }
//+----------------------------------------------------------------------+
//| チャートスケールを設定する(バーあたりのポイント単位)                                 |
//| このプロパティの値の変化を見るには、                                            |
//| CHART_SCALE_PT_PER_BAR プロパティを予め true にすることが必要                  |
//+----------------------------------------------------------------------+
bool ChartPointsPerBarSet(const double value,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetDouble(chart_ID,CHART_POINTS_PER_BAR,value))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_PRICE_MIN はチャートの最小値を返します。

//+----------------------------------------------------------------------+
//| メインウィンドウかサブウィンドウでチャートの最小値を取得する                             |
//+----------------------------------------------------------------------+
double ChartPriceMin(const long chart_ID=0,const int sub_window=0)
 {
//--- 結果取得のために変数を準備する
  double result=EMPTY_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetDouble(chart_ID,CHART_PRICE_MIN,sub_window,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return(result);
 }

 

  • CHART_PRICE_MAX はチャートの最大値を返します。

//+----------------------------------------------------------------------+
//| メインウィンドウかサブウィンドウでチャートの最大値を取得する                             |
//+----------------------------------------------------------------------+
double ChartPriceMax(const long chart_ID=0,const int sub_window=0)
 {
//--- 結果取得のために変数を準備する
  double result=EMPTY_VALUE;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetDouble(chart_ID,CHART_PRICE_MAX,sub_window,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    }
//--- チャートプロパティの値を返す
  return(result);
 }

 

  • CHART_COMMENTチャート上のコメントです。

//+------------------------------------------------------------------+
//| チャートの左上隅のコメントを取得する                                        |
//+------------------------------------------------------------------+
bool ChartCommentGet(string &result,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受け取る
  if(!ChartGetString(chart_ID,CHART_COMMENT,result))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| チャートの左上隅のコメントを取得する                                        |
//+------------------------------------------------------------------+
bool ChartCommentSet(const string str,const long chart_ID=0)
 {
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を設定する
  if(!ChartSetString(chart_ID,CHART_COMMENT,str))
    {
    //--- エキスパート操作ログでエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- 実行成功
  return(true);
 }

 

  • CHART_IS_MAXIMIZED - チャートウィンドウが最大化されている

//+------------------------------------------------------------------+
//| 現在のチャートウィンドウが最大化されているかを定義する                           |
//+------------------------------------------------------------------+
bool ChartWindowsIsMaximized(bool &result,const long chart_ID=0)
 {
//--- プロパティ値の受信に向けて変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受信する
  if(!ChartGetInteger(chart_ID,CHART_IS_MAXIMIZED))
    {
    //--- エキスパートログにエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティ値を変数に格納する
  result=value;
//--- 正常な実行
  return(true);
 }
 

 

  • CHART_IS_MINIMIZED チャートウィンドウが最小化されている.

//+------------------------------------------------------------------+
//| 現在のチャートウィンドウが最小化されているかを定義する                           |
//+------------------------------------------------------------------+
bool ChartWindowsIsMinimized(bool &result,const long chart_ID=0)
 {
//--- プロパティ値の受信に向けて変数を準備する
  long value;
//--- エラー値をリセットする
  ResetLastError();
//--- プロパティ値を受信する
  if(!ChartGetInteger(chart_ID,CHART_IS_MINIMIZED))
    {
    //--- エキスパートにエラーメッセージを表示する
    Print(__FUNCTION__+", Error Code = ",GetLastError());
    return(false);
    }
//--- チャートプロパティ値を変数に格納する
  result=value;
//--- 正常な実行
  return(true);
 }
 

 

チャートプロパティパネル

//--- 制御要素のライブラリを接続する
#include <ChartObjects\ChartObjectsTxtControls.mqh>
//--- 定義済み定数
#define X_PROPERTY_NAME_1    10 // 最初の列のプロパティ名の x 座標
#define X_PROPERTY_VALUE_1   225 // 最初の列のプロパティ値の x 座標
#define X_PROPERTY_NAME_2    345 // 2 番目の列のプロパティ名の x 座標
#define X_PROPERTY_VALUE_2   550 // 2 番目の列のプロパティ値の x 座標
#define X_BUTTON_1           285 // 最初の列のボタンの x 座標
#define X_BUTTON_2           700 // 2 番目の列のボタンの x 座標
#define Y_PROPERTY_1         30 // 最初及び 2 番目の列の先頭の y 座標
#define Y_PROPERTY_2         286 // 3 番目の列の先頭の y 座標
#define Y_DISTANCE           16 // ライン間のY 軸方向の距離
#define LAST_PROPERTY_NUMBER 111 // 最後のグラフィックプロパティの数
//--- 入力パラメータ
input color InpFirstColor=clrDodgerBlue; // 奇数の線の色
input color InpSecondColor=clrGoldenrod; // 偶数の線の色
//--- 変数と配列
CChartObjectLabel  ExtLabelsName[]; // プロパティ名を表示するためのラベル
CChartObjectLabel  ExtLabelsValue[]; // プロパティ値を表示するためのラベル
CChartObjectButton ExtButtons[];     // ボタン
int                ExtNumbers[];     // プロパティインデックス
string             ExtNames[];       // プロパティ名
uchar              ExtDataTypes[];   // プロパティのデータ型( integer, double, string)
uint               ExtGroupTypes[]; // グループのいずれかに属する特性のデータを格納する配列
uchar              ExtDrawTypes[];   // プロパティ表示の種類のデータを格納する配列
double             ExtMaxValue[];   // パネルの操作時に可能な最大のプロパティ値
double             ExtMinValue[];   // パネルの操作時に可能な最小のプロパティ値
double             ExtStep[];       // プロパティ変更ステップ
int                ExtCount;         // プロパティ総数
color              ExtColors[2];     // 線表示の色の配列
string             ExtComments[2];   // コメント配列(CHART_COMMENT プロパティ)
//+------------------------------------------------------------------+
//| カスタム指標を初期化する関数                                            |
//+------------------------------------------------------------------+
int OnInit()
 {
//--- チャートにコメントを表示する
  Comment("SomeComment");
//--- 後で切り替えが出来るように色を配列に収納する
  ExtColors[0]=InpFirstColor;
  ExtColors[1]=InpSecondColor;
//--- 後で切り替えが出来るようにコメントを配列に収納する
  ExtComments[0]="FirstComment";
  ExtComments[1]="SecondComment";
//--- チャートのプロパティを管理するためのコントロールパネルを準備して表示する
  if(!PrepareControls())
    return(INIT_FAILED);
//--- 実行成功
  return(INIT_SUCCEEDED);
 }
//+------------------------------------------------------------------+
//| エキスパートの初期化解除関数                                            |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
 {
//--- チャートのコメントを削除する
  Comment("");
 }
//+------------------------------------------------------------------+
//| チャートイベントハンドラ                                                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                const long &lparam,
                const double &dparam,
                const string &sparam)
 {
//--- チャートクリックイベントをチェック
  if(id==CHARTEVENT_OBJECT_CLICK)
    {
    //--- オブジェクト名をセパレータで分ける
    string obj_name[];
    StringSplit(sparam,'_',obj_name);
    //--- オブジェクトがボタンかどうかチェック
    if(obj_name[0]=="Button")
       {
        //--- ボタンインデックスを受け取る
        int index=(int)StringToInteger(obj_name[1]);
        //--- ボタンを放す
        ExtButtons[index].State(false);
        //--- プロパティの新しい値を型に応じて設定する
        if(ExtDataTypes[index]=='I')
           ChangeIntegerProperty(index);
        if(ExtDataTypes[index]=='D')
           ChangeDoubleProperty(index);
        if(ExtDataTypes[index]=='S')
           ChangeStringProperty(index);
       }
    }
//--- プロパティ値を描き直す
  RedrawProperties();
  ChartRedraw();
 }
//+------------------------------------------------------------------+
//| チャートの整数プロパティを変更する                                          |
//+------------------------------------------------------------------+
void ChangeIntegerProperty(const int index)
 {
//--- 現プロパティ値を受け取る
  long value=ChartGetInteger(0,(ENUM_CHART_PROPERTY_INTEGER)ExtNumbers[index]);
//--- 次のプロパティ値を定義する
  switch(ExtDrawTypes[index])
    {
    case 'C':
        value=GetNextColor((color)value);
        break;
    default:
        value=(long)GetNextValue((double)value,index);
        break;
    }
//--- 新しいプロパティ値を設定する
  ChartSetInteger(0,(ENUM_CHART_PROPERTY_INTEGER)ExtNumbers[index],0,value);
 }
//+------------------------------------------------------------------+
//| チャートの double 型プロパティを変更する                                   |
//+------------------------------------------------------------------+
void ChangeDoubleProperty(const int index)
 {
//--- 現プロパティ値を受け取る
  double value=ChartGetDouble(0,(ENUM_CHART_PROPERTY_DOUBLE)ExtNumbers[index]);
//--- 次のプロパティ値を定義する
  value=GetNextValue(value,index);
//--- 新しいプロパティ値を設定する
  ChartSetDouble(0,(ENUM_CHART_PROPERTY_DOUBLE)ExtNumbers[index],value);
 }
//+------------------------------------------------------------------+
//| チャートの string 型プロパティを変更する                                   |
//+------------------------------------------------------------------+
void ChangeStringProperty(const int index)
 {
//--- ExtComments配列内部を切り替えるための静的変数
  static uint comment_index=1;
//--- 別のコメントを受信するためのインデックスを変更する
  comment_index=1-comment_index;
//--- 新しいプロパティ値を設定する
  ChartSetString(0,(ENUM_CHART_PROPERTY_STRING)ExtNumbers[index],ExtComments[comment_index]);
 }
//+------------------------------------------------------------------+
//| 次のプロパティ値を取得する                                              |
//+------------------------------------------------------------------+
double GetNextValue(const double value,const int index)
 {
  if(value+ExtStep[index]<=ExtMaxValue[index])
    return(value+ExtStep[index]);
  else
    return(ExtMinValue[index]);
 }
//+------------------------------------------------------------------+
//| color 型プロパティの次の色を取得する                                     |
//+------------------------------------------------------------------+
color GetNextColor(const color clr)
 {
//--- 次の color 値を返す
  switch(clr)
    {
    case clrWhite: return(clrRed);
    case clrRed:   return(clrGreen);
    case clrGreen: return(clrBlue);
    case clrBlue: return(clrBlack);
    default:       return(clrWhite);
    }
 }
//+------------------------------------------------------------------+
//| プロパティ値を描き直す                                                  |
//+------------------------------------------------------------------+
void RedrawProperties(void)
 {
//--- プロパティ値のテキスト
  string text;
  long   value;
//--- プロパティ数のループ
  for(int i=0;i<ExtCount;i++)
    {
     text="";
    switch(ExtDataTypes[i])
       {
        case 'I':
          //--- 現プロパティ値を受け取る
          if(!ChartGetInteger(0,(ENUM_CHART_PROPERTY_INTEGER)ExtNumbers[i],0,value))
          break;
          //--- 整数プロパティのテキスト
          switch(ExtDrawTypes[i])
             {
              //--- color プロパティ
              case 'C':
                 text=(string)((color)value);
                break;
                //--- boolean プロパティ
              case 'B':
                 text=(string)((bool)value);
                break;
                //--- ENUM_CHART_MODE 列挙プロパティ
              case 'M':
                 text=EnumToString((ENUM_CHART_MODE)value);
                break;
                //--- ENUM_CHART_VOLUME_MODE 列挙プロパティ
              case 'V':
                 text=EnumToString((ENUM_CHART_VOLUME_MODE)value);
                break;
                //--- int 型の数
              default:
                 text=IntegerToString(value);
                break;
             }
          break;
        case 'D':
          //--- double 型プロパティのテキスト
           text=DoubleToString(ChartGetDouble(0,(ENUM_CHART_PROPERTY_DOUBLE)ExtNumbers[i]),4);
          break;
        case 'S':
          //--- string 型プロパティのテキスト
           text=ChartGetString(0,(ENUM_CHART_PROPERTY_STRING)ExtNumbers[i]);
          break;
       }
    //--- プロパティ値を表示する
     ExtLabelsValue[i].Description(text);
    }
 }
//+------------------------------------------------------------------+
//| チャートプロパティを管理するためのパネルを作成する                               |
//+------------------------------------------------------------------+
bool PrepareControls(void)
 {
//--- 予備を含めて配列にメモリを割り当てる
  MemoryAllocation(LAST_PROPERTY_NUMBER+1);
//--- 変数
  int i=0;     // ループ変数
  int col_1=0; // 最初の列のプロパティの数
  int col_2=0; // 2 番目の列のプロパティの数
  int col_3=0; // 3 番目の列のプロパティの数
//--- 現在のプロパティ数は0
  ExtCount=0;
//--- ループでプロパティを探す
  while(i<=LAST_PROPERTY_NUMBER)
    {
    //--- 現プロパティの数を保存する
     ExtNumbers[ExtCount]=i;
    //--- ループ変数の値を増やす
     i++;
    //--- そのような番号を持つプロパティがあるかどうかをチェック
    if(CheckNumber(ExtNumbers[ExtCount],ExtNames[ExtCount],ExtDataTypes[ExtCount],ExtGroupTypes[ExtCount],ExtDrawTypes[ExtCount]))
       {
        //--- プロパティのための制御要素を作成する
        switch(ExtGroupTypes[ExtCount])
          {
          case 1:
              //--- プロパティのラベルとボタンを作成する
              if(!ShowProperty(ExtCount,0,X_PROPERTY_NAME_1,X_PROPERTY_VALUE_1,X_BUTTON_1,Y_PROPERTY_1+col_1*Y_DISTANCE,true))
              return(false);
              //--- 最初の列内の要素の数が増加した
              col_1++;
              break;
          case 2:
              //--- プロパティのラベルとボタンを作成する
              if(!ShowProperty(ExtCount,1,X_PROPERTY_NAME_2,X_PROPERTY_VALUE_2,X_BUTTON_2,Y_PROPERTY_1+col_2*Y_DISTANCE,true))
              return(false);
              //--- 2 番目の列内の要素の数が増加した
              col_2++;
              break;
          case 3:
              //--- プロパティのみにラベルを作成する
              if(!ShowProperty(ExtCount,2,X_PROPERTY_NAME_2,X_PROPERTY_VALUE_2,0,Y_PROPERTY_2+col_3*Y_DISTANCE,false))
              return(false);
              //--- 3 番目の列内の要素の数が増加した
              col_3++;
              break;
          }
        //--- プロパティの最大値と最小値とステップを定義する
        GetMaxMinStep(ExtNumbers[ExtCount],ExtMaxValue[ExtCount],ExtMinValue[ExtCount],ExtStep[ExtCount]);
        //--- プロパティ数を増加する
        ExtCount++;
       }
    }
//--- 配列に使用されていないメモリを解放する   
  MemoryAllocation(ExtCount);
//--- プロパティ値を描き直す
  RedrawProperties();
  ChartRedraw();
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| 配列にメモリを割り当てる                                                 |
//+------------------------------------------------------------------+
void MemoryAllocation(const int size)
 {
  ArrayResize(ExtLabelsName,size);
  ArrayResize(ExtLabelsValue,size);
  ArrayResize(ExtButtons,size);
  ArrayResize(ExtNumbers,size);
  ArrayResize(ExtNames,size);
  ArrayResize(ExtDataTypes,size);
  ArrayResize(ExtGroupTypes,size);
  ArrayResize(ExtDrawTypes,size);
  ArrayResize(ExtMaxValue,size);
  ArrayResize(ExtMinValue,size);
  ArrayResize(ExtStep,size);
 }
//+------------------------------------------------------------------+
//| プロパティインデックスが                                                  |
//| ENUM_CHART_PROPERTIES 列挙値の 1 つかどうかチェックする                    |
//+------------------------------------------------------------------+
bool CheckNumber(const int ind,string &name,uchar &data_type,uint &group_type,uchar &draw_type)
 {
//--- プロパティが整数型かどうかチェックする
  ResetLastError();
  name=EnumToString((ENUM_CHART_PROPERTY_INTEGER)ind);
  if(_LastError==0)
    {
     data_type='I';                     // ENUM_CHART_PROPERTY_INTEGER 列挙のプロパティ
     GetTypes(ind,group_type,draw_type); // プロパティの表示パラメータを定義する
    return(true);
    }
//--- プロパティが double 型かどうかチェックする
  ResetLastError();
  name=EnumToString((ENUM_CHART_PROPERTY_DOUBLE)ind);
  if(_LastError==0)
    {
     data_type='D';                     // ENUM_CHART_PROPERTY_DOUBLE 列挙のプロパティ
     GetTypes(ind,group_type,draw_type); // プロパティの表示パラメータを定義する
    return(true);
    }
//--- プロパティが string 型かどうかチェックする
  ResetLastError();
  name=EnumToString((ENUM_CHART_PROPERTY_STRING)ind);
  if(_LastError==0)
    {
     data_type='S';                     // ENUM_CHART_PROPERTY_STRING 列挙のプロパティ
     GetTypes(ind,group_type,draw_type); // プロパティの表示パラメータを定義する
    return(true);
    }
//--- プロパティがいずれの列挙にも属しない
  return(false);
 }
//+------------------------------------------------------------------+
//| プロパティを格納すべきグループ、ならびにその表示タイプを                           |
//| 定義する                                                           |
//+------------------------------------------------------------------+
void GetTypes(const int property_number,uint &group_type,uchar &draw_type)
 {
//--- プロパティが3 番目のグループに属するかどうかチェックする
//--- 3 番目のグループのプロパティは、CHART_BRING_TO_TOP から始まる2 番目の列に表示されている
  if(CheckThirdGroup(property_number,group_type,draw_type))
    return;
//--- プロパティが 2 番目のグループに属するかどうかチェックする
//--- 2 番目のグループのプロパティは、2 番目の列に表示されている
  if(CheckSecondGroup(property_number,group_type,draw_type))
    return;
//--- ここに来た場合、プロパティは最初のグループ(最初の列)に属している
  CheckFirstGroup(property_number,group_type,draw_type);
 }
//+----------------------------------------------------------------------+
//| プロパティが3 番目のグループに属するかどうかチェックして、                               |
//| 属する場合はその表示タイプを定義する                                           |
//+----------------------------------------------------------------------+
bool CheckThirdGroup(const int property_number,uint &group_type,uchar &draw_type)
 {
//--- プロパティが3 番目のグループに属するかどうかチェックする
  switch(property_number)
    {
    //--- boolean プロパティ
    case CHART_IS_OBJECT:
    case CHART_WINDOW_IS_VISIBLE:
        draw_type='B';
        break;
        //--- integer プロパティ
    case CHART_VISIBLE_BARS:
    case CHART_WINDOWS_TOTAL:
    case CHART_WINDOW_HANDLE:
    case CHART_WINDOW_YDISTANCE:
    case CHART_FIRST_VISIBLE_BAR:
    case CHART_WIDTH_IN_BARS:
    case CHART_WIDTH_IN_PIXELS:
        draw_type='I';
        break;
        //--- double 型プロパティ
    case CHART_PRICE_MIN:
    case CHART_PRICE_MAX:
        draw_type='D';
        break;
        //--- 実際には、このプロパティはチャートを他の全てのチャートの上に表示するコマンドである
        //--- このウィンドウは使用される前には常に他のウィンドウの上にあるので
        //--- パネルに適用する要はない
    case CHART_BRING_TO_TOP:
        draw_type=' ';
        break;
        //--- プロパティが3 番目のグループに属しない
    default:
        return(false);
    }
//--- プロパティが3 番目のグループに属す
  group_type=3;
  return(true);
 }
//+----------------------------------------------------------------------+
//| プロパティが第 2 グループに属するかどうかチェックして、                                |
//| 属する場合はその表示タイプを定義する                                          |
//+----------------------------------------------------------------------+
bool CheckSecondGroup(const int property_number,uint &group_type,uchar &draw_type)
 {
//--- プロパティが 2 番目のグループに属するかどうかチェックする
  switch(property_number)
    {
    //--- ENUM_CHART_MODE 型のプロパティ
    case CHART_MODE:
        draw_type='M';
        break;
        //--- ENUM_CHART_VOLUME_MODE 型のプロパティ
    case CHART_SHOW_VOLUMES:
        draw_type='V';
        break;
        //--- string 型プロパティ
    case CHART_COMMENT:
        draw_type='S';
        break;
        //--- color プロパティ
    case CHART_COLOR_BACKGROUND:
    case CHART_COLOR_FOREGROUND:
    case CHART_COLOR_GRID:
    case CHART_COLOR_VOLUME:
    case CHART_COLOR_CHART_UP:
    case CHART_COLOR_CHART_DOWN:
    case CHART_COLOR_CHART_LINE:
    case CHART_COLOR_CANDLE_BULL:
    case CHART_COLOR_CANDLE_BEAR:
    case CHART_COLOR_BID:
    case CHART_COLOR_ASK:
    case CHART_COLOR_LAST:
    case CHART_COLOR_STOP_LEVEL:
        draw_type='C';
        break;
        //--- プロパティが第 2 グループに属しない
    default:
        return(false);
    }
//--- プロパティが3 番目のグループに属す
  group_type=2;
  return(true);
 }
//+-----------------------------------------------------------------------+
//| プロパティが第 2 及び第三のプロパティグループに属していないことだけが既に知られている時のみに    |
//| 呼び出される                                                             |
//+-----------------------------------------------------------------------+
void CheckFirstGroup(const int property_number,uint &group_type,uchar &draw_type)
 {
//--- プロパティが1 番目のグループに属す
  group_type=1;
//--- プロパティの表示タイプを定義する
  switch(property_number)
    {
    //--- integer プロパティ
    case CHART_SCALE:
    case CHART_HEIGHT_IN_PIXELS:
        draw_type='I';
        return;
        //--- double 型プロパティ
    case CHART_SHIFT_SIZE:
    case CHART_FIXED_POSITION:
    case CHART_FIXED_MAX:
    case CHART_FIXED_MIN:
    case CHART_POINTS_PER_BAR:
        draw_type='D';
        return;
        //--- boolean プロパティのみが残される
    default:
        draw_type='B';
        return;
    }
 }
//+------------------------------------------------------------------+
//| プロパティのラベルとボタンを作成する                                         |
//+------------------------------------------------------------------+
bool ShowProperty(const int ind,const int type,const int x1,const int x2,
                const int xb,const int y,const bool btn)
 {
//--- ExtColors 色配列の内部を切り替えるための静的変数
  static uint color_index[3]={1,1,1};
//--- 別の色を受け取るためにインデックスを変更する
  color_index[type]=1-color_index[type];
//--- プロパティのラベルとボタン(btn=true の場合)を表示する
  if(!LabelCreate(ExtLabelsName[ind],"name_"+(string)ind,ExtNames[ind],ExtColors[color_index[type]],x1,y))
    return(false);
  if(!LabelCreate(ExtLabelsValue[ind],"value_"+(string)ind,"",ExtColors[color_index[type]],x2,y))
    return(false);
  if(btn && !ButtonCreate(ExtButtons[ind],(string)ind,xb,y+1))
    return(false);
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| ラベルを作成する                                                     |
//+------------------------------------------------------------------+
bool LabelCreate(CChartObjectLabel &lbl,const string name,const string text,
                const color clr,const int x,const int y)
 {
  if(!lbl.Create(0,"Label_"+name,0,x,y)) return(false);
  if(!lbl.Description(text))             return(false);
  if(!lbl.FontSize(10))                 return(false);
  if(!lbl.Color(clr))                   return(false);
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| ボタンを作成する                                                      |
//+------------------------------------------------------------------+
bool ButtonCreate(CChartObjectButton &btn,const string name,
                const int x,const int y)
 {
  if(!btn.Create(0,"Button_"+name,0,x,y,50,15)) return(false);
  if(!btn.Description("Next"))                 return(false);
  if(!btn.FontSize(10))                         return(false);
  if(!btn.Color(clrBlack))                     return(false);
  if(!btn.BackColor(clrWhite))                 return(false);
  if(!btn.BorderColor(clrBlack))               return(false);
//--- 実行成功
  return(true);
 }
//+------------------------------------------------------------------+
//| プロパティの最大値と最小値とステップを定義する                                 |
//+------------------------------------------------------------------+
void GetMaxMinStep(const int property_number,double &max,double &min,double &step)
 {
  double value;
//--- プロパティ値を型に応じて設定する
  switch(property_number)
    {
    case CHART_SCALE:
        max=5;
        min=0;
        step=1;
        break;
    case CHART_MODE:
    case CHART_SHOW_VOLUMES:
        max=2;
        min=0;
        step=1;
        break;
    case CHART_SHIFT_SIZE:
        max=50;
        min=10;
        step=2.5;
        break;
    case CHART_FIXED_POSITION:
        max=90;
        min=0;
        step=15;
        break;
    case CHART_POINTS_PER_BAR:
        max=19;
        min=1;
        step=3;
        break;
    case CHART_FIXED_MAX:
        value=ChartGetDouble(0,CHART_FIXED_MAX);
        max=value*1.25;
        min=value;
        step=value/32;
        break;
    case CHART_FIXED_MIN:
        value=ChartGetDouble(0,CHART_FIXED_MIN);
        max=value;
        min=value*0.75;
        step=value/32;
        break;
    case CHART_HEIGHT_IN_PIXELS:
        max=700;
        min=520;
        step=30;
        break;
        //--- 初期値
    default:
        max=1;
        min=0;
        step=1;
    }
 }