<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ENUM_CHART_PROPERTY アーカイブ - 自動売買を作ろう！</title>
	<atom:link href="https://mql-programing.com/archives/tag/enum_chart_property/feed/" rel="self" type="application/rss+xml" />
	<link>https://mql-programing.com/archives/tag/enum_chart_property/</link>
	<description>MQLプログラミング学習サイト</description>
	<lastBuildDate>Wed, 01 Apr 2026 05:05:54 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mql-programing.com/main29/wp-content/uploads/2021/02/cropped-ブログアイコン-32x32.jpg</url>
	<title>ENUM_CHART_PROPERTY アーカイブ - 自動売買を作ろう！</title>
	<link>https://mql-programing.com/archives/tag/enum_chart_property/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【MQL4】チャート設定定数を完全理解！ENUM_CHART_PROPERTY_INTEGER・STRING・DOUBLEの使い方</title>
		<link>https://mql-programing.com/archives/13083/%e3%80%90mql4%e3%80%91%e3%83%81%e3%83%a3%e3%83%bc%e3%83%88%e8%a8%ad%e5%ae%9a%e5%ae%9a%e6%95%b0%e3%82%92%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%ef%bc%81enum_chart_property_integer%e3%83%bbstring%e3%83%bbd/</link>
		
		<dc:creator><![CDATA[朝日奈りさ]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 01:00:00 +0000</pubDate>
				<category><![CDATA[【辞書】MQLリファレンス]]></category>
		<category><![CDATA[定数]]></category>
		<category><![CDATA[ChartSetInteger]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[EA開発]]></category>
		<category><![CDATA[チャート設定]]></category>
		<category><![CDATA[ENUM_CHART_PROPERTY]]></category>
		<guid isPermaLink="false">https://mql-programing.com/?p=13083</guid>

					<description><![CDATA[<p>EAやインジケーターを開発していると、「チャートの背景色をプログラムから変更したい」「グリッドを非表示にしたい」「ローソク足の色を統一したい」といった場面に出くわすことがあります。 MQL4では、チャートの見た目や動作を [&#8230;]</p>
<p>投稿 <a href="https://mql-programing.com/archives/13083/%e3%80%90mql4%e3%80%91%e3%83%81%e3%83%a3%e3%83%bc%e3%83%88%e8%a8%ad%e5%ae%9a%e5%ae%9a%e6%95%b0%e3%82%92%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%ef%bc%81enum_chart_property_integer%e3%83%bbstring%e3%83%bbd/">【MQL4】チャート設定定数を完全理解！ENUM_CHART_PROPERTY_INTEGER・STRING・DOUBLEの使い方</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p>EAやインジケーターを開発していると、「チャートの背景色をプログラムから変更したい」「グリッドを非表示にしたい」「ローソク足の色を統一したい」といった場面に出くわすことがあります。</p>
<p>MQL4では、チャートの見た目や動作を制御するための<strong>チャートプロパティ定数</strong>が用意されています。この記事では、<strong>ENUM_CHART_PROPERTY_INTEGER</strong>、<strong>ENUM_CHART_PROPERTY_STRING</strong>、<strong>ENUM_CHART_PROPERTY_DOUBLE</strong>の3種類の列挙型を中心に、チャート設定の操作方法をわかりやすく解説します。</p>
<h2><span id="toc1">チャートプロパティを操作する関数の全体像</span></h2>
<p>MQL4では、チャートプロパティの値を「設定する関数」と「取得する関数」がデータ型ごとにペアで用意されています。</p>
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse: collapse; width: 100%; margin: 1em 0;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>データ型</th>
<th>設定する関数</th>
<th>取得する関数</th>
<th>対応する列挙型</th>
</tr>
</thead>
<tbody>
<tr>
<td>整数型（long）</td>
<td>ChartSetInteger()</td>
<td>ChartGetInteger()</td>
<td>ENUM_CHART_PROPERTY_INTEGER</td>
</tr>
<tr>
<td>浮動小数点型（double）</td>
<td>ChartSetDouble()</td>
<td>ChartGetDouble()</td>
<td>ENUM_CHART_PROPERTY_DOUBLE</td>
</tr>
<tr>
<td>文字列型（string）</td>
<td>ChartSetString()</td>
<td>ChartGetString()</td>
<td>ENUM_CHART_PROPERTY_STRING</td>
</tr>
</tbody>
</table>
<p>これらの関数の第1引数にはチャートIDを指定します。<strong>0を指定すると現在のチャート</strong>を意味します。第2引数に、これから説明する列挙型の定数を渡すことで、どのプロパティを操作するかを指定します。</p>
<h2><span id="toc2">ENUM_CHART_PROPERTY_INTEGER — 整数型プロパティ</span></h2>
<p>最も種類が多く、よく使うのがこの整数型プロパティです。チャートの表示/非表示の切り替え、色の設定、モードの変更など幅広い操作ができます。</p>
<h3><span id="toc3">表示モード系のプロパティ</span></h3>
<table border="1" cellpadding="6" cellspacing="0" style="border-collapse: collapse; width: 100%; margin: 1em 0; font-size: 0.95em;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>定数名</th>
<th>説明</th>
<th>設定値</th>
</tr>
</thead>
<tbody>
<tr>
<td>CHART_MODE</td>
<td>チャートの表示タイプ</td>
<td>CHART_BARS / CHART_CANDLES / CHART_LINE</td>
</tr>
<tr>
<td>CHART_FOREGROUND</td>
<td>価格チャートを前面に表示するか</td>
<td>true / false</td>
</tr>
<tr>
<td>CHART_SHIFT</td>
<td>右端にシフト（余白）を設けるか</td>
<td>true / false</td>
</tr>
<tr>
<td>CHART_AUTOSCROLL</td>
<td>自動スクロール（最新バーへ自動移動）</td>
<td>true / false</td>
</tr>
<tr>
<td>CHART_SCALE</td>
<td>チャートのスケール（0〜5）</td>
<td>0（縮小）〜 5（拡大）</td>
</tr>
</tbody>
</table>
<h3><span id="toc4">表示要素の ON/OFF 系プロパティ</span></h3>
<table border="1" cellpadding="6" cellspacing="0" style="border-collapse: collapse; width: 100%; margin: 1em 0; font-size: 0.95em;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>定数名</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<td>CHART_SHOW_GRID</td>
<td>グリッド線の表示/非表示</td>
</tr>
<tr>
<td>CHART_SHOW_PERIOD_SEP</td>
<td>期間区切り線の表示/非表示</td>
</tr>
<tr>
<td>CHART_SHOW_ASK_LINE</td>
<td>Ask（買値）ラインの表示/非表示</td>
</tr>
<tr>
<td>CHART_SHOW_BID_LINE</td>
<td>Bid（売値）ラインの表示/非表示</td>
</tr>
<tr>
<td>CHART_SHOW_DATE_SCALE</td>
<td>横軸（日時スケール）の表示/非表示</td>
</tr>
<tr>
<td>CHART_SHOW_PRICE_SCALE</td>
<td>縦軸（価格スケール）の表示/非表示</td>
</tr>
<tr>
<td>CHART_SHOW_OHLC</td>
<td>四本値（OHLC）の表示/非表示</td>
</tr>
<tr>
<td>CHART_SHOW_ONE_CLICK</td>
<td>ワンクリックトレードパネルの表示/非表示</td>
</tr>
<tr>
<td>CHART_SHOW_VOLUMES</td>
<td>出来高の表示モード</td>
</tr>
</tbody>
</table>
<h3><span id="toc5">色の設定用プロパティ</span></h3>
<p>チャートの配色もすべてプログラムから制御できます。color型の値を指定します。</p>
<table border="1" cellpadding="6" cellspacing="0" style="border-collapse: collapse; width: 100%; margin: 1em 0; font-size: 0.95em;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>定数名</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<td>CHART_COLOR_BACKGROUND</td>
<td>チャートの背景色</td>
</tr>
<tr>
<td>CHART_COLOR_FOREGROUND</td>
<td>前景色（軸やテキストの色）</td>
</tr>
<tr>
<td>CHART_COLOR_GRID</td>
<td>グリッド線の色</td>
</tr>
<tr>
<td>CHART_COLOR_CHART_UP</td>
<td>上昇バー / ローソク足の外枠・ヒゲの色</td>
</tr>
<tr>
<td>CHART_COLOR_CHART_DOWN</td>
<td>下降バー / ローソク足の外枠・ヒゲの色</td>
</tr>
<tr>
<td>CHART_COLOR_CANDLE_BULL</td>
<td>陽線（Bull）の実体の色</td>
</tr>
<tr>
<td>CHART_COLOR_CANDLE_BEAR</td>
<td>陰線（Bear）の実体の色</td>
</tr>
<tr>
<td>CHART_COLOR_CHART_LINE</td>
<td>ラインチャートの色</td>
</tr>
<tr>
<td>CHART_COLOR_ASK</td>
<td>Askラインの色</td>
</tr>
<tr>
<td>CHART_COLOR_BID</td>
<td>Bidラインの色</td>
</tr>
<tr>
<td>CHART_COLOR_STOP_LEVEL</td>
<td>ストップレベルの色</td>
</tr>
</tbody>
</table>
<h3><span id="toc6">読み取り専用のプロパティ</span></h3>
<p>以下のプロパティは値の取得のみ可能で、プログラムから変更はできません（読み取り専用 = r/o）。</p>
<table border="1" cellpadding="6" cellspacing="0" style="border-collapse: collapse; width: 100%; margin: 1em 0; font-size: 0.95em;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>定数名</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<td>CHART_WINDOWS_TOTAL</td>
<td>チャートウィンドウの総数（サブウィンドウ含む）</td>
</tr>
<tr>
<td>CHART_WIDTH_IN_BARS</td>
<td>チャートの幅（バー数単位）</td>
</tr>
<tr>
<td>CHART_WIDTH_IN_PIXELS</td>
<td>チャートの幅（ピクセル単位）</td>
</tr>
<tr>
<td>CHART_HEIGHT_IN_PIXELS</td>
<td>チャートの高さ（ピクセル単位）</td>
</tr>
<tr>
<td>CHART_FIRST_VISIBLE_BAR</td>
<td>画面上で最初に見えるバーの番号</td>
</tr>
<tr>
<td>CHART_VISIBLE_BARS</td>
<td>画面上に表示されているバーの本数</td>
</tr>
<tr>
<td>CHART_IS_OBJECT</td>
<td>オブジェクトとしてのチャートかどうか</td>
</tr>
</tbody>
</table>
<h3><span id="toc7">実践サンプル：チャートの配色をカスタマイズする</span></h3>
<p>以下はEAの<code>OnInit()</code>内でチャートの見た目を一括変更する例です。</p>
<pre><code class="language-mql4">int OnInit()
{
   // チャート表示をローソク足に変更
   ChartSetInteger(0, CHART_MODE, CHART_CANDLES);
   
   // 背景色をダークブルーに設定
   ChartSetInteger(0, CHART_COLOR_BACKGROUND, clrMidnightBlue);
   
   // グリッドを非表示にする（背景色と同色でも可）
   ChartSetInteger(0, CHART_SHOW_GRID, false);
   
   // 陽線（Bull）の色設定
   ChartSetInteger(0, CHART_COLOR_CANDLE_BULL, clrDodgerBlue);
   ChartSetInteger(0, CHART_COLOR_CHART_UP, clrDodgerBlue);
   
   // 陰線（Bear）の色設定
   ChartSetInteger(0, CHART_COLOR_CANDLE_BEAR, clrMediumOrchid);
   ChartSetInteger(0, CHART_COLOR_CHART_DOWN, clrMediumOrchid);
   
   // Askラインを表示する
   ChartSetInteger(0, CHART_SHOW_ASK_LINE, true);
   
   // 設定を反映
   ChartRedraw();
   
   return(INIT_SUCCEEDED);
}</code></pre>
<p><strong>ポイント：</strong>ChartSetInteger()を呼んだだけでは画面にすぐ反映されないことがあります。確実に描画を更新したい場合は、最後に<code>ChartRedraw()</code>を呼びましょう。</p>
<h2><span id="toc8">ENUM_CHART_PROPERTY_DOUBLE — 浮動小数点型プロパティ</span></h2>
<p>Double型のプロパティは数が少なく、主にチャートの価格範囲を取得するために使います。</p>
<table border="1" cellpadding="6" cellspacing="0" style="border-collapse: collapse; width: 100%; margin: 1em 0; font-size: 0.95em;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>定数名</th>
<th>説明</th>
<th>備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>CHART_PRICE_MIN</td>
<td>チャート上の最小価格</td>
<td>読み取り専用</td>
</tr>
<tr>
<td>CHART_PRICE_MAX</td>
<td>チャート上の最大価格</td>
<td>読み取り専用</td>
</tr>
<tr>
<td>CHART_SHIFT_SIZE</td>
<td>右端シフトの割合（10〜50%）</td>
<td>設定可能</td>
</tr>
<tr>
<td>CHART_FIXED_POSITION</td>
<td>固定位置（左端からの割合%）</td>
<td>設定可能</td>
</tr>
<tr>
<td>CHART_FIXED_MAX</td>
<td>固定スケール時の最大価格</td>
<td>設定可能</td>
</tr>
<tr>
<td>CHART_FIXED_MIN</td>
<td>固定スケール時の最小価格</td>
<td>設定可能</td>
</tr>
</tbody>
</table>
<h3><span id="toc9">実践サンプル：現在のチャート価格範囲を取得する</span></h3>
<pre><code class="language-mql4">void OnTick()
{
   // 現在チャートに表示されている価格範囲を取得
   double priceMin = ChartGetDouble(0, CHART_PRICE_MIN);
   double priceMax = ChartGetDouble(0, CHART_PRICE_MAX);
   
   Print("表示中の価格範囲: ", priceMin, " ～ ", priceMax);
}</code></pre>
<p><code>CHART_PRICE_MIN</code>と<code>CHART_PRICE_MAX</code>は、画面上に「今見えている」範囲の最小・最大価格です。スクロールやズームに応じて動的に変化するため、現在の表示状態を知りたいときに便利です。</p>
<h2><span id="toc10">ENUM_CHART_PROPERTY_STRING — 文字列型プロパティ</span></h2>
<p>文字列型のプロパティは現在1つだけです。</p>
<table border="1" cellpadding="6" cellspacing="0" style="border-collapse: collapse; width: 100%; margin: 1em 0; font-size: 0.95em;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>定数名</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<td>CHART_COMMENT</td>
<td>チャートの左上に表示されるコメント文字列</td>
</tr>
</tbody>
</table>
<h3><span id="toc11">実践サンプル：チャートにコメントを表示する</span></h3>
<pre><code class="language-mql4">void OnTick()
{
   // ChartSetString でチャートコメントを設定
   string info = "スプレッド: " + IntegerToString(SymbolInfoInteger(_Symbol, SYMBOL_SPREAD))
               + " / Bid: " + DoubleToString(Bid, _Digits);
   
   ChartSetString(0, CHART_COMMENT, info);
   ChartRedraw();
}

// コメントの取得
void ShowCurrentComment()
{
   string currentComment = ChartGetString(0, CHART_COMMENT);
   Print("現在のコメント: ", currentComment);
}</code></pre>
<p><code>ChartSetString()</code>による<code>CHART_COMMENT</code>の設定は、<code>Comment()</code>関数と同様にチャート左上にテキストを表示します。<code>Comment()</code>関数との違いは、チャートIDを指定できるため<strong>他のチャートウィンドウに対してもコメントを設定できる</strong>点です。</p>
<h2><span id="toc12">応用テクニック：チャートの設定を保存・復元する</span></h2>
<p>EAやインジケーターでチャートの見た目を変更する場合、終了時に元の設定に戻すのがマナーです。以下のパターンを覚えておきましょう。</p>
<pre><code class="language-mql4">// グローバル変数に元の設定を保存
color g_origBgColor;
bool  g_origShowGrid;

int OnInit()
{
   // 元の設定を保存
   g_origBgColor  = (color)ChartGetInteger(0, CHART_COLOR_BACKGROUND);
   g_origShowGrid = (bool)ChartGetInteger(0, CHART_SHOW_GRID);
   
   // 新しい設定を適用
   ChartSetInteger(0, CHART_COLOR_BACKGROUND, clrBlack);
   ChartSetInteger(0, CHART_SHOW_GRID, false);
   ChartRedraw();
   
   return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{
   // 元の設定を復元
   ChartSetInteger(0, CHART_COLOR_BACKGROUND, g_origBgColor);
   ChartSetInteger(0, CHART_SHOW_GRID, g_origShowGrid);
   ChartRedraw();
}</code></pre>
<p>こうすることで、EAを取り外したときにチャートが元の見た目に戻ります。ユーザーにとって親切な設計になりますので、ぜひ習慣にしてください。</p>
<h2><span id="toc13">よくある注意点とつまずきポイント</span></h2>
<h3><span id="toc14">① ChartRedraw()を忘れない</span></h3>
<p>チャートプロパティを変更する関数は、実際にはイベントキューにコマンドを追加するだけです。画面への即時反映が必要な場合は、<code>ChartRedraw()</code>を明示的に呼びましょう。</p>
<h3><span id="toc15">② 第1引数のチャートID</span></h3>
<p>第1引数に<strong>0</strong>を指定すると「現在のチャート」を意味します。別のチャートを操作したい場合は、<code>ChartID()</code>や<code>ChartFirst()</code>/<code>ChartNext()</code>で取得したIDを使います。</p>
<h3><span id="toc16">③ 読み取り専用プロパティに注意</span></h3>
<p><code>CHART_WIDTH_IN_PIXELS</code>や<code>CHART_PRICE_MIN</code>などの読み取り専用（r/o）プロパティに対してSet関数を呼んでも、値は変更されません。公式リファレンスで「r/o」の表記を確認しましょう。</p>
<h3><span id="toc17">④ 新しく開いたチャートの操作タイミング</span></h3>
<p><code>ChartOpen()</code>で新しくチャートを開いた直後は、まだデータが読み込まれていない場合があります。<code>CHART_PRICE_MIN</code>や<code>CHART_PRICE_MAX</code>を取得しても0が返ることがあるため、少し待つか、次のティックで取得するようにしましょう。</p>
<h2><span id="toc18">まとめ</span></h2>
<p>MQL4のチャートプロパティ定数は、大きく<strong>3つの列挙型</strong>に分類されます。</p>
<ul>
<li><strong>ENUM_CHART_PROPERTY_INTEGER</strong>：色・表示切替・モード設定など（最も種類が多い）</li>
<li><strong>ENUM_CHART_PROPERTY_DOUBLE</strong>：価格範囲・スケール関連</li>
<li><strong>ENUM_CHART_PROPERTY_STRING</strong>：チャートコメント</li>
</ul>
<p>操作には<code>ChartSetInteger()</code>/<code>ChartGetInteger()</code>、<code>ChartSetDouble()</code>/<code>ChartGetDouble()</code>、<code>ChartSetString()</code>/<code>ChartGetString()</code>の6つの関数を使い分けます。</p>
<p>特に、EAやインジケーターで<strong>チャートの配色カスタマイズ</strong>や<strong>情報表示</strong>を行う際に必須の知識となりますので、まずは本記事のサンプルコードを動かして、チャートプロパティの変更を体験してみてください！</p>
<p>投稿 <a href="https://mql-programing.com/archives/13083/%e3%80%90mql4%e3%80%91%e3%83%81%e3%83%a3%e3%83%bc%e3%83%88%e8%a8%ad%e5%ae%9a%e5%ae%9a%e6%95%b0%e3%82%92%e5%ae%8c%e5%85%a8%e7%90%86%e8%a7%a3%ef%bc%81enum_chart_property_integer%e3%83%bbstring%e3%83%bbd/">【MQL4】チャート設定定数を完全理解！ENUM_CHART_PROPERTY_INTEGER・STRING・DOUBLEの使い方</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
