チャートプロパティ

ENUM_CHART_PROPERTY 列挙の識別子はチャート操作の関数のパラメータとして使用されます。「プロパティ型」欄にある r/o は read-only の略で、プロパティが読み込み専用で変更不可能であることを意味します。「プロパティ型」欄にある w/o は write-only の略で、プロパティが書き込み専用で受信不可能であることを意味します。特定のプロパティにアクセスする際には、チャートサブウィンドウの番号を示す追加パラメータ修飾子(修飾子)を指定する必要があります。0 はメインチャートウィンドウを意味します。

チャートのプロパティを定義する関数は、実際にチャートに変更コマンドを送信するのに使用されます。これらの関数が正常に実行された場合、コマンドがチャートイベントの共用キューに追加されます。チャートの変更は、チャートイベントのキューの処理時に実装されます。

従って、これらの関数の呼び出し後の、チャートの即時の視覚更新は期待出来ません。一般的には、チャートは、新たな相場の到着やチャートウィンドウのサイズ変更などの変更イベントの後に、端末によって自動更新されます。強制的にチャートを更新するには ChartRedraw() 関数を使用します。

ChartSetInteger() 及び ChartGetInteger() 関数

ENUM_CHART_PROPERTY_INTEGER

ID

説明

プロパティ型

CHART_SHOW

価格チャートを描画します。falseの場合、時間および価格スケール、クイックナビゲーションバー、カレンダーイベントラベル、取引ラベル、インディケータおよびバーツールヒント、インディケータサブウィンドウ、ボリュームヒストグラムなどの価格チャートの属性は無効にされ、すべてのチャート境界のインデントが削除されます。

図面を無効にすることは、グラフィカル リソースを使用してカスタムプログラムインターフェイスを作成するための完璧なソリューションです。

グラフィックオブジェクトはCHART_SHOWプロパティ値にかかわらず、常に描画されます。

bool

CHART_IS_OBJECT

チャートオブジェクト( OBJ_CHART )を識別し、グラフィックオブジェクトにはtrue を返します。チャートの場合falseを返します。

bool   r/o

CHART_BRING_TO_TOP

他のチャートの上に重ねてチャートを表示します。

bool   w/o

CHART_CONTEXT_MENU

右クリックでコンテキストメニューへのアクセスを有効/無効にします。

CHART_CONTEXT_MENU=falseの場合、チャートのコンテキストメニューのみが無効になります。チャート上のオブジェクトのコンテキストメニューは利用可能なままです。

bool  (デフォルトはtrue)

CHART_CROSSHAIR_TOOL

中クリックで Crosshairツールへのアクセスを有効/無効にします。

bool  (デフォルトはtrue)

CHART_MOUSE_SCROLL

マウスの左ボタンを使用してチャートを水平方向にスクロールします。CHART_SCALEFIX、CHART_SCALEFIX_11 または CHART_SCALE_PT_PER_BAR プロパティーの値がtrue の場合には、垂直方向のスクロールも可能です。

CHART_MOUSE_SCROLL=falseの場合、マウスホイールを使用したチャートのスクロールは利用できません。

bool

CHART_EVENT_MOUSE_WHEEL

チャート上のすべてのmql5プログラムにマウスホイールイベント (CHARTEVENT_MOUSE_WHEEL) に関するメッセージを送信します。

bool  (デフォルトはtrue)

CHART_EVENT_MOUSE_MOVE

チャート上の全ての MQL5 プログラムに、マウス移動イベントとマウスクリックイベントの通知を送信します(CHARTEVENT_MOUSE_MOVE)。

bool

CHART_EVENT_OBJECT_CREATE

チャート上の全てのMQL5 プログラムに、新規オブジェクト作成イベントの通知を送信します(CHARTEVENT_OBJECT_CREATE)。

bool

CHART_EVENT_OBJECT_DELETE

チャート上の全てのMQL5 プログラムに、削除イベントの通知を送信します(CHARTEVENT_OBJECT_DELETE)。

bool

CHART_MODE

チャートの種類(ローソク足、バー、またはライン)。

enum     ENUM_CHART_MODE

CHART_FOREGROUND

前景の価格チャート。

bool

CHART_SHIFT

右側の境界線からの価格チャートのインデントのモード。

bool

CHART_AUTOSCROLL

チャートの右側の境界線への自動移動のモード。

bool

CHART_KEYBOARD_CONTROL

キーボード("Home"、 "End"、 "PgUp"、"+"、"-"、"上矢印" など)を使用してチャートを管理できます。 CHART_KEYBOARD_CONTROLをfalseに設定すると、チャートのスクロールとスケーリングが無効になりますが、OnChartEvent()でキー押下イベントをを受け取ることはできます。

bool

CHART_QUICK_NAVIGATION

チャートがスペースとEnterキーの入力を傍受するのを許可してクイックナビゲーションバーをアクティブにします。クイックナビゲーションバーはマウスのダブルクリックまたはスペース/ Enterが押された後、チャートの下部に自動的に表示されます。これによって銘柄、時間枠と最初に表示されるバーの日付を迅速に変更することができます。

bool

CHART_SCALE

Scale

int        0 〜 5

CHART_SCALEFIX

固定スケールモード。

bool

CHART_SCALEFIX_11

1:1 スケールモード。

bool

CHART_SCALE_PT_PER_BAR

指定されたスケール(バーあたりのポイント単位)。

bool

CHART_SHOW_OHLC

左上隅にOHLC値を表示。

bool

CHART_SHOW_BID_LINE

買気配値をチャートに水平線として表示。

bool

CHART_SHOW_ASK_LINE

売気配値をチャートに水平線として表示。

bool

CHART_SHOW_LAST_LINE

直近価格をチャートに水平線として表示。

bool

CHART_SHOW_PERIOD_SEP

隣接する期間の間に垂直方向のセパレータを表示。

bool

CHART_SHOW_GRID

チャートにグリッドを表示。

bool

CHART_SHOW_VOLUMES

チャートにボリュームを表示。

enum     ENUM_CHART_VOLUME_MODE

CHART_SHOW_OBJECT_DESCR

オブジェクトの説明テキストの表示(全てのオブジェクトの説明が表示されるわけではありません)。

bool

CHART_VISIBLE_BARS

チャートに表示出来るバーの数。

int r/o

CHART_WINDOWS_TOTAL

指標サブウィンドウを含んだチャートウィンドウの総数。

int r/o

CHART_WINDOW_IS_VISIBLE

サブウィンドウの可視性。

bool r/o   修飾子 - サブウィンドウ番号。

CHART_WINDOW_HANDLE

チャートウィンドウハンドル( HWND )。

int r/o

CHART_WINDOW_YDISTANCE

指標サブウィンドウの上部フレームとメインチャートウィンドウの上部フレームとの縦 Y 軸に沿った距離(ピクセル単位)。指標サブウィンドウでのグラフィカルオブジェクトの座標がサブウィンドウの左上隅を基準に設定されているのに比べ、マウスイベントでのカーソル座標は、メインチャートウィンドウの座標で渡されます。

この値は、図形オブジェクトを正しく取り扱うために、メインチャートの絶対座標をサブウィンドウフレームの左上隅を基準に設定されているサブウィンドウのローカル座標に変換するために必要とされます。

int r/o     修飾子 - サブウィンドウ番号。

CHART_FIRST_VISIBLE_BAR

チャート上で最初に見えるバーの番号。バーのインデックスは時系列式に付けけられます。

int r/o

CHART_WIDTH_IN_BARS

チャートの幅(バー単位)。

int r/o

CHART_WIDTH_IN_PIXELS

チャートの幅(ピクセル単位)。

int r/o

CHART_HEIGHT_IN_PIXELS

チャートの高さ(ピクセル単位)。

int      修飾子 = サブウィンドウ番号

CHART_COLOR_BACKGROUND

チャートの背景色。

color

CHART_COLOR_FOREGROUND

軸、スケール及びOHLCラインの色。

color

CHART_COLOR_GRID

グリッドの色。

color

CHART_COLOR_VOLUME

ボリュームやポジションオープンレベルの色。

color

CHART_COLOR_CHART_UP

強気ローソク足のアップバー、影とボーダーの色。

color

CHART_COLOR_CHART_DOWN

弱気ローソク足のダウンバー、影とボーダーの色。

color

CHART_COLOR_CHART_LINE

折れ線グラフの色と「同時線」日本製ローソク足の色。

color

CHART_COLOR_CANDLE_BULL

強気ローソク足の実体の色。

color

CHART_COLOR_CANDLE_BEAR

弱気ローソク足の実体の色。

color

CHART_COLOR_BID

売値レベルの色。

color

CHART_COLOR_ASK

買値レベルの色。

color

CHART_COLOR_LAST

直近の約定価格(Last)の線の色。

color

CHART_COLOR_STOP_LEVEL

逆指注文値(決済逆指値及び決済指値)レベルの色。

color

CHART_SHOW_TRADE_LEVELS

チャートでの取引レベル(ポジション、決済逆指値、決済指値及び未決注文のレベル)を表示。

bool

CHART_DRAG_TRADE_LEVELS

チャートで取引レベルをマウスでドラッグする許可。ドラッグモードの初期値は有効(true )です。

bool

CHART_SHOW_DATE_SCALE

チャートでタイムスケールを表示。

bool

CHART_SHOW_PRICE_SCALE

チャートに価格スケールを表示。

bool

CHART_SHOW_ONE_CLICK

チャートに「ワンクリック取引」パネルを表示。

bool

CHART_IS_MAXIMIZED

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

bool

CHART_IS_MINIMIZED

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

bool

CHART_IS_DOCKED

チャートウィンドウがドックされている。falseに設定されると、チャートは端末領域の外側にドラッグされて移動されることができます。

bool

CHART_FLOAT_LEFT

仮想画面に相対したドッキング解除されたチャートウィンドウの左座標

int

CHART_FLOAT_TOP

仮想画面に相対したドッキング解除されたチャートウィンドウの上部座標

int

CHART_FLOAT_RIGHT

仮想画面に相対したドッキング解除されたチャートウィンドウの右座標

int

CHART_FLOAT_BOTTOM

仮想画面に相対したドッキング解除されたチャートウィンドウの下部座標

int

ChartSetDouble() 及び ChartGetDouble()関数

ENUM_CHART_PROPERTY_DOUBLE

ID

説明

プロパティ型

CHART_SHIFT_SIZE

百分率で表された右境界線からのゼロバーインデントのサイズ。

double (10〜50 パーセント)

CHART_FIXED_POSITION

パーセント値で表された、左の境界からのチャートの固定位置。チャートの固定位置は、水平時間軸上の小さな灰色の三角形でマークされています。これはティック着信時のチャート右への自動スクロールが無効になっている場合にのみ表示されます( CHART_AUTOSCROLL プロパティを参照)。固定位置にあるバーはズームインやズームアウトする時にも移動しません。

double

CHART_FIXED_MAX

固定されたチャートの最大値。

double

CHART_FIXED_MIN

固定されたチャートの最小値。

double

CHART_POINTS_PER_BAR

スケール(バーあたりのポイント単位)。

double

CHART_PRICE_MIN

チャートの最小値。

double r/o   修飾子 - サブウィンドウ番号。

CHART_PRICE_MAX

チャートの最大値。

double r/o   修飾子 - サブウィンドウ番号。

ChartSetString() 及び ChartGetString()関数

ENUM_CHART_PROPERTY_STRING

ID

説明

プロパティ型

CHART_COMMENT

チャート内のコメントテキスト。

string

CHART_EXPERT_NAME

指定されたchart_idを持つチャート上に起動されたエキスパートアドバイザの名前

string

CHART_SCRIPT_NAM

指定されたchart_idを持つチャート上に起動されたスクリプトの名前

string

例:

  int chartMode=ChartGetInteger(0,CHART_MODE);
  switch(chartMode)
    {
    case(CHART_BARS):   Print("CHART_BARS");   break;
    case(CHART_CANDLES): Print("CHART_CANDLES");break;
    default:Print("CHART_LINE");
    }
  bool shifted=ChartGetInteger(0,CHART_SHIFT);
  if(shifted) Print("CHART_SHIFT =true");
  else Print("CHART_SHIFT =false");
  bool autoscroll=ChartGetInteger(0,CHART_AUTOSCROLL);
  if(autoscroll) Print("CHART_AUTOSCROLL =true");
  else Print("CHART_AUTOSCROLL =false");
  int chartHandle=ChartGetInteger(0,CHART_WINDOW_HANDLE);
  Print("CHART_WINDOW_HANDLE = ",chartHandle);
  int windows=ChartGetInteger(0,CHART_WINDOWS_TOTAL);
  Print("CHART_WINDOWS_TOTAL = ",windows);
  if(windows>1)
    {
    for(int i=0;i<windows;i++)
       {
        int height=ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,i);
        double priceMin=ChartGetDouble(0,CHART_PRICE_MIN,i);
        double priceMax=ChartGetDouble(0,CHART_PRICE_MAX,i);
        Print(i+": CHART_HEIGHT_IN_PIXELS = ",height," pixels");
        Print(i+": CHART_PRICE_MIN = ",priceMin);
        Print(i+": CHART_PRICE_MAX = ",priceMax);
       }
    }

参照

チャート操作の例