<?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>価格定数 アーカイブ - 自動売買を作ろう！</title>
	<atom:link href="https://mql-programing.com/archives/tag/%E4%BE%A1%E6%A0%BC%E5%AE%9A%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mql-programing.com/archives/tag/価格定数/</link>
	<description>MQLプログラミング学習サイト</description>
	<lastBuildDate>Wed, 01 Apr 2026 04:48:53 +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>価格定数 アーカイブ - 自動売買を作ろう！</title>
	<link>https://mql-programing.com/archives/tag/価格定数/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【MQL4】ENUM_APPLIED_PRICE（価格定数）完全ガイド｜PRICE_CLOSEからPRICE_WEIGHTEDまで7種類を徹底解説</title>
		<link>https://mql-programing.com/archives/13074/%e3%80%90mql4%e3%80%91enum_applied_price%ef%bc%88%e4%be%a1%e6%a0%bc%e5%ae%9a%e6%95%b0%ef%bc%89%e5%ae%8c%e5%85%a8%e3%82%ac%e3%82%a4%e3%83%89%ef%bd%9cprice_close%e3%81%8b%e3%82%89price_weighted%e3%81%be/</link>
		
		<dc:creator><![CDATA[朝日奈りさ]]></dc:creator>
		<pubDate>Sun, 26 Apr 2026 01:00:00 +0000</pubDate>
				<category><![CDATA[【辞書】MQLリファレンス]]></category>
		<category><![CDATA[定数]]></category>
		<category><![CDATA[iMA関数]]></category>
		<category><![CDATA[ENUM_APPLIED_PRICE]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[EA開発]]></category>
		<category><![CDATA[価格定数]]></category>
		<guid isPermaLink="false">https://mql-programing.com/?p=13074</guid>

					<description><![CDATA[<p>MQL4でインジケーター関数を使うとき、「どの価格を基準に計算するか」を指定する場面が頻繁にあります。たとえば移動平均線を計算するとき、終値を使うのか、高値と安値の平均を使うのかで結果が変わりますよね。 この「どの価格を [&#8230;]</p>
<p>投稿 <a href="https://mql-programing.com/archives/13074/%e3%80%90mql4%e3%80%91enum_applied_price%ef%bc%88%e4%be%a1%e6%a0%bc%e5%ae%9a%e6%95%b0%ef%bc%89%e5%ae%8c%e5%85%a8%e3%82%ac%e3%82%a4%e3%83%89%ef%bd%9cprice_close%e3%81%8b%e3%82%89price_weighted%e3%81%be/">【MQL4】ENUM_APPLIED_PRICE（価格定数）完全ガイド｜PRICE_CLOSEからPRICE_WEIGHTEDまで7種類を徹底解説</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p>MQL4でインジケーター関数を使うとき、「どの価格を基準に計算するか」を指定する場面が頻繁にあります。たとえば移動平均線を計算するとき、終値を使うのか、高値と安値の平均を使うのかで結果が変わりますよね。</p>
<p>この「どの価格を使うか」を指定するために用意されているのが、<strong>ENUM_APPLIED_PRICE</strong>（適用価格の列挙型）です。全部で7種類の定数があり、iMA()やiRSI()などの組み込み関数で頻繁に使われます。</p>
<p>この記事では、7つの価格定数それぞれの意味と計算式、そして実際のコードでの使い方をわかりやすく解説します。</p>
<h2><span id="toc1">ENUM_APPLIED_PRICEとは？</span></h2>
<p>ENUM_APPLIED_PRICEは、MQL4で定義されている<strong>列挙型（enum）</strong>のひとつです。テクニカル指標の計算に使う「価格の種類」を指定するために使います。</p>
<p>たとえば、移動平均線を計算する<code>iMA()</code>関数のシグネチャを見てみましょう。</p>
<pre><code class="language-mql4">double iMA(
   string       symbol,           // 通貨ペア
   int          timeframe,        // 時間足
   int          ma_period,        // 期間
   int          ma_shift,         // シフト
   int          ma_method,        // 移動平均の種類
   int          applied_price,    // 適用価格 ← ここ！
   int          shift             // バーのインデックス
);
</code></pre>
<p>この<strong>applied_price</strong>の部分に、ENUM_APPLIED_PRICEの定数を指定します。どの定数を選ぶかによって、計算結果が変わってくるわけです。</p>
<h2><span id="toc2">7つの価格定数一覧</span></h2>
<p>ENUM_APPLIED_PRICEには、以下の7つの定数が定義されています。</p>
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse: collapse; width: 100%;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>定数名</th>
<th>値</th>
<th>説明</th>
<th>計算式</th>
</tr>
</thead>
<tbody>
<tr>
<td>PRICE_CLOSE</td>
<td>0</td>
<td>終値</td>
<td>Close</td>
</tr>
<tr>
<td>PRICE_OPEN</td>
<td>1</td>
<td>始値</td>
<td>Open</td>
</tr>
<tr>
<td>PRICE_HIGH</td>
<td>2</td>
<td>高値</td>
<td>High</td>
</tr>
<tr>
<td>PRICE_LOW</td>
<td>3</td>
<td>安値</td>
<td>Low</td>
</tr>
<tr>
<td>PRICE_MEDIAN</td>
<td>4</td>
<td>中間値</td>
<td>(High + Low) / 2</td>
</tr>
<tr>
<td>PRICE_TYPICAL</td>
<td>5</td>
<td>典型値</td>
<td>(High + Low + Close) / 3</td>
</tr>
<tr>
<td>PRICE_WEIGHTED</td>
<td>6</td>
<td>加重終値</td>
<td>(High + Low + Close + Close) / 4</td>
</tr>
</tbody>
</table>
<h3><span id="toc3">PRICE_CLOSE（終値）— 値: 0</span></h3>
<p>もっとも一般的に使われる適用価格です。各ローソク足の<strong>終値（Close）</strong>を使って計算します。特にこだわりがなければ、まずはこれを選んでおけば問題ありません。多くのトレーダーやテクニカル分析の教科書でも、終値ベースの計算がデフォルトとされています。</p>
<h3><span id="toc4">PRICE_OPEN（始値）— 値: 1</span></h3>
<p>各ローソク足の<strong>始値（Open）</strong>を使って計算します。始値はバーの開始時点の価格なので、「そのバーが始まった瞬間にわかる値」という特徴があります。バックテストやリアルタイム処理で、確定済みの値だけを使いたい場合に選ばれることがあります。</p>
<h3><span id="toc5">PRICE_HIGH（高値）— 値: 2</span></h3>
<p>各ローソク足の<strong>高値（High）</strong>を使って計算します。高値ベースの移動平均線は、レジスタンスライン（上値抵抗線）のような役割として活用できます。</p>
<h3><span id="toc6">PRICE_LOW（安値）— 値: 3</span></h3>
<p>各ローソク足の<strong>安値（Low）</strong>を使って計算します。安値ベースの移動平均線は、サポートライン（下値支持線）のような役割として活用できます。PRICE_HIGHと組み合わせて移動平均チャネルを作る使い方が人気です。</p>
<h3><span id="toc7">PRICE_MEDIAN（中間値）— 値: 4</span></h3>
<p>計算式は <strong>(High + Low) / 2</strong> です。ローソク足の高値と安値のちょうど中間の価格、つまりそのバーの「値幅の中心」を使います。終値の偏りを排除し、そのバーの価格帯の中心で計算したいときに使います。</p>
<h3><span id="toc8">PRICE_TYPICAL（典型値）— 値: 5</span></h3>
<p>計算式は <strong>(High + Low + Close) / 3</strong> です。Median Price（中間値）に終値を加えて3で割った値で、中間値よりも<strong>実際の値動きの結果（終値）を反映</strong>した価格になります。CCI（商品チャネル指数）などのインジケーターでは、このTypical Priceが標準的に使われています。</p>
<h3><span id="toc9">PRICE_WEIGHTED（加重終値）— 値: 6</span></h3>
<p>計算式は <strong>(High + Low + Close + Close) / 4</strong> です。Typical Price（典型値）の計算式で終値を2回カウントすることで、<strong>終値により大きな比重</strong>を置いた価格です。「値幅全体も考慮したいけど、やっぱり終値を重視したい」という場合に適しています。</p>
<p>この3つの関係性を整理すると、次のようになります。</p>
<ul>
<li><strong>Median Price</strong>（HL/2）：ローソク足の値幅の中間値</li>
<li><strong>Typical Price</strong>（HLC/3）：中間値に終値を加え、より実際の値動きに近づけた値</li>
<li><strong>Weighted Close</strong>（HLCC/4）：さらに終値の比重を高め、終値に近づけた値</li>
</ul>
<h2><span id="toc10">実際のコードでの使い方</span></h2>
<h3><span id="toc11">iMA関数での基本的な使用例</span></h3>
<p>もっとも基本的な使い方です。20期間の単純移動平均線を終値ベースで計算します。</p>
<pre><code class="language-mql4">void OnTick()
{
   // 20期間SMAを終値(PRICE_CLOSE)で計算
   double ma_close = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0);

   // 20期間SMAを典型値(PRICE_TYPICAL)で計算
   double ma_typical = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_TYPICAL, 0);

   Print("終値ベースSMA: ", ma_close);
   Print("典型値ベースSMA: ", ma_typical);
}
</code></pre>
<p>同じ期間・同じ移動平均の種類でも、適用価格を変えるだけで計算結果が変わることがわかります。</p>
<h3><span id="toc12">iRSI関数での使用例</span></h3>
<p>RSI（相対力指数）でも適用価格を指定できます。</p>
<pre><code class="language-mql4">void OnTick()
{
   // 14期間RSIを終値で計算
   double rsi = iRSI(NULL, 0, 14, PRICE_CLOSE, 0);

   if(rsi > 70)
   {
      Print("RSIが70を超えました（買われすぎ）: ", rsi);
   }
   else if(rsi < 30)
   {
      Print("RSIが30を下回りました（売られすぎ）: ", rsi);
   }
}
</code></pre>
<h3><span id="toc13">HIGH/LOWを使った移動平均チャネルの作成例</span></h3>
<p>PRICE_HIGHとPRICE_LOWを組み合わせると、価格を挟み込むようなチャネル（帯）を作ることができます。</p>
<pre><code class="language-mql4">void OnTick()
{
   int period = 20;

   // 高値ベースの移動平均（上側バンド）
   double upper = iMA(NULL, 0, period, 0, MODE_SMA, PRICE_HIGH, 0);

   // 安値ベースの移動平均（下側バンド）
   double lower = iMA(NULL, 0, period, 0, MODE_SMA, PRICE_LOW, 0);

   // 終値ベースの移動平均（中央線）
   double middle = iMA(NULL, 0, period, 0, MODE_SMA, PRICE_CLOSE, 0);

   Print("上側: ", upper, " 中央: ", middle, " 下側: ", lower);

   // 現在価格が上側バンドを超えたら
   if(Ask > upper)
   {
      Print("価格が移動平均チャネルの上側を突破！");
   }
   // 現在価格が下側バンドを下回ったら
   if(Bid < lower)
   {
      Print("価格が移動平均チャネルの下側を突破！");
   }
}
</code></pre>
<p>このように、適用価格を変えるだけで同じiMA関数から異なる性質のラインを引くことができます。</p>
<h2><span id="toc14">input変数でユーザーに選ばせる方法</span></h2>
<p>EAやカスタムインジケーターを作るとき、適用価格をユーザーがパラメーター画面から選べるようにしたいですよね。MQL4では、<strong>ENUM_APPLIED_PRICEをinput変数の型として使う</strong>ことで、自動的にドロップダウンリストが表示されます。</p>
<pre><code class="language-mql4">// パラメーター設定
input int                 MAPeriod     = 20;            // 移動平均の期間
input ENUM_MA_METHOD      MAMethod     = MODE_SMA;      // 移動平均の種類
input ENUM_APPLIED_PRICE  MAPrice      = PRICE_CLOSE;   // 適用価格

void OnTick()
{
   double ma = iMA(NULL, 0, MAPeriod, 0, MAMethod, MAPrice, 0);
   Print("MA値: ", ma);
}
</code></pre>
<p>このように書くだけで、MetaTraderのパラメーター入力画面に「適用価格」のドロップダウンリストが自動生成されます。ユーザーは「Close price」「Open price」「Median Price (HL/2)」…といった選択肢から直感的に選ぶことができます。</p>
<p>int型で宣言してユーザーに数値を手入力させるよりも、<strong>はるかに使いやすく、入力ミスも防げる</strong>優れた方法です。EAやインジケーターを配布する場合は、ぜひこの書き方を使いましょう。</p>
<h2><span id="toc15">定数の整数値を直接使う場合の注意</span></h2>
<p>ENUM_APPLIED_PRICEの各定数には整数値（0〜6）が割り当てられているため、数値を直接指定しても動作します。</p>
<pre><code class="language-mql4">// 定数名を使う場合（推奨）
double ma1 = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0);

// 整数値を直接使う場合（非推奨）
double ma2 = iMA(NULL, 0, 20, 0, MODE_SMA, 0, 0);
</code></pre>
<p>上の2行はどちらも同じ結果になりますが、<strong>整数値を直接書く方法はおすすめしません</strong>。理由は以下の通りです。</p>
<ul>
<li><strong>可読性が低い</strong>：「0」だけでは何の価格かすぐにわからない</li>
<li><strong>保守性が悪い</strong>：後から見たとき、あるいは他の人が見たときに意味が伝わらない</li>
<li><strong>タイプミスに気づきにくい</strong>：定数名なら打ち間違えればコンパイルエラーになるが、数値だと範囲外の値でも気づきにくい</li>
</ul>
<p>常に<strong>PRICE_CLOSE</strong>や<strong>PRICE_TYPICAL</strong>のような定数名を使うようにしましょう。</p>
<h2><span id="toc16">どの適用価格を選ぶべきか？</span></h2>
<p>7種類もあると「結局どれを使えばいいの？」と迷いますよね。以下に用途別の目安をまとめます。</p>
<table border="1" cellpadding="8" cellspacing="0" style="border-collapse: collapse; width: 100%;">
<thead>
<tr style="background-color: #f0f0f0;">
<th>用途・場面</th>
<th>おすすめの適用価格</th>
</tr>
</thead>
<tbody>
<tr>
<td>一般的なトレンド分析</td>
<td>PRICE_CLOSE（最も標準的）</td>
</tr>
<tr>
<td>ノイズを減らしたい</td>
<td>PRICE_TYPICAL または PRICE_MEDIAN</td>
</tr>
<tr>
<td>終値重視だがノイズも減らしたい</td>
<td>PRICE_WEIGHTED</td>
</tr>
<tr>
<td>レジスタンスライン的に使いたい</td>
<td>PRICE_HIGH</td>
</tr>
<tr>
<td>サポートライン的に使いたい</td>
<td>PRICE_LOW</td>
</tr>
<tr>
<td>CCIなど特定のインジケーター</td>
<td>PRICE_TYPICAL（標準仕様に従う）</td>
</tr>
</tbody>
</table>
<p>迷ったときは<strong>PRICE_CLOSE</strong>を選んでおけば、まず間違いありません。そこから最適化やバックテストを行って、他の価格定数を試してみるのがよいでしょう。</p>
<h2><span id="toc17">まとめ</span></h2>
<p>ENUM_APPLIED_PRICEは、テクニカル指標の計算に「どの価格を使うか」を指定するための列挙型です。今回のポイントを振り返りましょう。</p>
<ul>
<li><strong>7種類の定数</strong>がある：PRICE_CLOSE（終値）、PRICE_OPEN（始値）、PRICE_HIGH（高値）、PRICE_LOW（安値）、PRICE_MEDIAN（中間値）、PRICE_TYPICAL（典型値）、PRICE_WEIGHTED（加重終値）</li>
<li><strong>iMA()やiRSI()</strong>などの組み込み関数で、applied_priceパラメーターに指定して使う</li>
<li><strong>input変数の型</strong>にENUM_APPLIED_PRICEを使えば、ドロップダウンリストで選択できるようになる</li>
<li>整数値の直接指定は動作するが、<strong>可読性の観点から定数名を使うべき</strong></li>
<li>迷ったら<strong>PRICE_CLOSE</strong>が最も無難で一般的</li>
</ul>
<p>適用価格の選択はインジケーターの計算結果に直接影響するため、それぞれの意味を理解しておくことが大切です。この記事を参考に、自分のEAやインジケーターに最適な適用価格を選んでみてください。</p>
<p>投稿 <a href="https://mql-programing.com/archives/13074/%e3%80%90mql4%e3%80%91enum_applied_price%ef%bc%88%e4%be%a1%e6%a0%bc%e5%ae%9a%e6%95%b0%ef%bc%89%e5%ae%8c%e5%85%a8%e3%82%ac%e3%82%a4%e3%83%89%ef%bd%9cprice_close%e3%81%8b%e3%82%89price_weighted%e3%81%be/">【MQL4】ENUM_APPLIED_PRICE（価格定数）完全ガイド｜PRICE_CLOSEからPRICE_WEIGHTEDまで7種類を徹底解説</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
