<?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>iBands アーカイブ - 自動売買を作ろう！</title>
	<atom:link href="https://mql-programing.com/archives/tag/ibands/feed/" rel="self" type="application/rss+xml" />
	<link>https://mql-programing.com/archives/tag/ibands/</link>
	<description>MQLプログラミング学習サイト</description>
	<lastBuildDate>Wed, 01 Apr 2026 02:36:28 +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>iBands アーカイブ - 自動売買を作ろう！</title>
	<link>https://mql-programing.com/archives/tag/ibands/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【MQL4入門】iBands関数でボリンジャーバンドを使いこなそう！引数・使い方・サンプルコード徹底解説</title>
		<link>https://mql-programing.com/archives/12997/%e3%80%90mql4%e5%85%a5%e9%96%80%e3%80%91ibands%e9%96%a2%e6%95%b0%e3%81%a7%e3%83%9c%e3%83%aa%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%bc%e3%83%90%e3%83%b3%e3%83%89%e3%82%92%e4%bd%bf%e3%81%84%e3%81%93%e3%81%aa/</link>
		
		<dc:creator><![CDATA[朝日奈りさ]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 01:00:00 +0000</pubDate>
				<category><![CDATA[【初級編】MQLプログラミング基礎]]></category>
		<category><![CDATA[EA開発]]></category>
		<category><![CDATA[ボリンジャーバンド]]></category>
		<category><![CDATA[インジケーター関数]]></category>
		<category><![CDATA[iBands]]></category>
		<category><![CDATA[MQL4]]></category>
		<guid isPermaLink="false">https://mql-programing.com/?p=12997</guid>

					<description><![CDATA[<p>ボリンジャーバンドは、移動平均線を中心に「価格の散らばり具合（標準偏差）」を帯（バンド）として表示するテクニカル指標です。MQL4には、このボリンジャーバンドの値をプログラムから簡単に取得できるiBands関数が用意され [&#8230;]</p>
<p>投稿 <a href="https://mql-programing.com/archives/12997/%e3%80%90mql4%e5%85%a5%e9%96%80%e3%80%91ibands%e9%96%a2%e6%95%b0%e3%81%a7%e3%83%9c%e3%83%aa%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%bc%e3%83%90%e3%83%b3%e3%83%89%e3%82%92%e4%bd%bf%e3%81%84%e3%81%93%e3%81%aa/">【MQL4入門】iBands関数でボリンジャーバンドを使いこなそう！引数・使い方・サンプルコード徹底解説</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p>ボリンジャーバンドは、移動平均線を中心に「価格の散らばり具合（標準偏差）」を帯（バンド）として表示するテクニカル指標です。MQL4には、このボリンジャーバンドの値をプログラムから簡単に取得できる<strong>iBands関数</strong>が用意されています。</p>
<p>この記事では、iBands関数の引数の意味をひとつずつ丁寧に解説し、基本的な使い方から逆張りEAのサンプルコード、さらに応用テクニックやよくある間違いまで、徹底的にまとめました。ボリンジャーバンドをEAやインジケーターで活用したい方は、ぜひ最後まで読んでみてください。</p>
<h2><span id="toc1">ボリンジャーバンドとは？</span></h2>
<p>ボリンジャーバンドは、アメリカの投資家ジョン・ボリンジャー氏が考案したテクニカル指標で、以下の<strong>3本のライン</strong>で構成されます。</p>
<ul>
<li><strong>ミドルバンド（中間線）</strong>：単純移動平均線（SMA）そのもの</li>
<li><strong>アッパーバンド（上方バンド）</strong>：ミドルバンド ＋ 標準偏差 × n</li>
<li><strong>ロワーバンド（下方バンド）</strong>：ミドルバンド − 標準偏差 × n</li>
</ul>
<p>ここで「n」は標準偏差の倍率で、一般的には<strong>2σ（シグマ）</strong>がよく使われます。統計的には、価格が±2σの範囲に収まる確率は約95.4%とされています。この性質を利用して、バンドの上端・下端にタッチしたら逆張りする戦略や、バンドをブレイクした方向に順張りする戦略などに活用されます。</p>
<h2><span id="toc2">iBands関数の基本構文</span></h2>
<p>MQL4でボリンジャーバンドの値を取得するには、組み込み関数<code>iBands</code>を使います。基本構文は以下のとおりです。</p>
<pre><code class="language-mql4">double iBands(
   string       symbol,           // ① 通貨ペア名
   int          timeframe,        // ② 時間足
   int          period,           // ③ 計算期間
   double       deviation,        // ④ 標準偏差の倍率
   int          bands_shift,      // ⑤ インジケーターのシフト数
   int          applied_price,    // ⑥ 適用価格
   int          mode,             // ⑦ ライン種類
   int          shift             // ⑧ シフト数（何本前のバーか）
);</code></pre>
<p>戻り値は<strong>double型</strong>で、指定した条件のボリンジャーバンドの値（価格）が返されます。引数が8つあるため少し多く感じますが、ひとつずつ見ていけば難しくありません。</p>
<h2><span id="toc3">各引数の詳細解説</span></h2>
<h3><span id="toc4">① symbol（通貨ペア名）</span></h3>
<p>計算対象の通貨ペアを文字列で指定します。現在のチャートの通貨ペアを使いたい場合は<code>NULL</code>または<code>Symbol()</code>を指定します。</p>
<pre><code class="language-mql4">// 現在のチャートの通貨ペアを使う場合
iBands(NULL, ...)
iBands(Symbol(), ...)

// 別の通貨ペアを指定する場合
iBands("USDJPY", ...)</code></pre>
<h3><span id="toc5">② timeframe（時間足）</span></h3>
<p>計算に使う時間足を指定します。現在のチャートの時間足を使う場合は<code>0</code>または<code>PERIOD_CURRENT</code>を指定します。</p>
<table>
<thead>
<tr>
<th>定数</th>
<th>値</th>
<th>意味</th>
</tr>
</thead>
<tbody>
<tr>
<td>PERIOD_CURRENT</td>
<td>0</td>
<td>現在のチャートの時間足</td>
</tr>
<tr>
<td>PERIOD_M1</td>
<td>1</td>
<td>1分足</td>
</tr>
<tr>
<td>PERIOD_M5</td>
<td>5</td>
<td>5分足</td>
</tr>
<tr>
<td>PERIOD_M15</td>
<td>15</td>
<td>15分足</td>
</tr>
<tr>
<td>PERIOD_M30</td>
<td>30</td>
<td>30分足</td>
</tr>
<tr>
<td>PERIOD_H1</td>
<td>60</td>
<td>1時間足</td>
</tr>
<tr>
<td>PERIOD_H4</td>
<td>240</td>
<td>4時間足</td>
</tr>
<tr>
<td>PERIOD_D1</td>
<td>1440</td>
<td>日足</td>
</tr>
<tr>
<td>PERIOD_W1</td>
<td>10080</td>
<td>週足</td>
</tr>
<tr>
<td>PERIOD_MN1</td>
<td>43200</td>
<td>月足</td>
</tr>
</tbody>
</table>
<h3><span id="toc6">③ period（計算期間）</span></h3>
<p>移動平均線の計算に使うバーの本数を指定します。一般的には<strong>20</strong>がよく使われます。期間を短くするとバンドが価格に敏感に反応し、長くすると滑らかになります。</p>
<h3><span id="toc7">④ deviation（標準偏差の倍率）</span></h3>
<p>バンドの幅を決める標準偏差の倍率です。一般的には<strong>2.0</strong>が使われます。1.0を指定すれば±1σ、3.0なら±3σのバンドが取得できます。</p>
<h3><span id="toc8">⑤ bands_shift（インジケーターのシフト数）</span></h3>
<p>ボリンジャーバンド全体を左右にずらす本数です。通常は<strong>0</strong>を指定します。正の値を指定するとバンドが右（未来方向）にずれます。特殊な用途でない限り0で問題ありません。</p>
<h3><span id="toc9">⑥ applied_price（適用価格）</span></h3>
<p>計算に使う価格の種類を指定します。通常は<strong>PRICE_CLOSE（終値）</strong>を使います。</p>
<table>
<thead>
<tr>
<th>定数</th>
<th>値</th>
<th>意味</th>
</tr>
</thead>
<tbody>
<tr>
<td>PRICE_CLOSE</td>
<td>0</td>
<td>終値</td>
</tr>
<tr>
<td>PRICE_OPEN</td>
<td>1</td>
<td>始値</td>
</tr>
<tr>
<td>PRICE_HIGH</td>
<td>2</td>
<td>高値</td>
</tr>
<tr>
<td>PRICE_LOW</td>
<td>3</td>
<td>安値</td>
</tr>
<tr>
<td>PRICE_MEDIAN</td>
<td>4</td>
<td>中間価格 (High+Low)/2</td>
</tr>
<tr>
<td>PRICE_TYPICAL</td>
<td>5</td>
<td>典型的な価格 (High+Low+Close)/3</td>
</tr>
<tr>
<td>PRICE_WEIGHTED</td>
<td>6</td>
<td>加重終値 (High+Low+Close+Close)/4</td>
</tr>
</tbody>
</table>
<h3><span id="toc10">⑦ mode（ライン種類）</span></h3>
<p>取得したいラインを指定します。<strong>iBands関数は1回の呼び出しで1本のラインの値しか返さない</strong>ため、3本すべてを取得するには3回呼び出す必要があります。</p>
<table>
<thead>
<tr>
<th>定数</th>
<th>値</th>
<th>意味</th>
</tr>
</thead>
<tbody>
<tr>
<td>MODE_MAIN</td>
<td>0</td>
<td>ミドルバンド（中間線・移動平均線）</td>
</tr>
<tr>
<td>MODE_UPPER</td>
<td>1</td>
<td>アッパーバンド（上方バンド）</td>
</tr>
<tr>
<td>MODE_LOWER</td>
<td>2</td>
<td>ロワーバンド（下方バンド）</td>
</tr>
</tbody>
</table>
<h3><span id="toc11">⑧ shift（シフト数）</span></h3>
<p>何本前のバーの値を取得するかを指定します。<strong>0が現在のバー</strong>（まだ確定していないバー）、1が1本前の確定済みバー、2が2本前…という意味です。</p>
<p>EA（自動売買）で売買判断に使う場合は、確定済みの値である<strong>shift=1</strong>を使うのが一般的です。shift=0は現在足の値なのでティックごとに変動し、判断がブレやすくなるためです。</p>
<h2><span id="toc12">基本的な使用例</span></h2>
<p>まずは最もシンプルな例として、現在のチャートで期間20・偏差2.0のボリンジャーバンド3本の値を取得してみましょう。</p>
<pre><code class="language-mql4">void OnTick()
{
   // 1本前の確定足でボリンジャーバンドの値を取得
   double upper = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_UPPER, 1);
   double middle = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_MAIN,  1);
   double lower = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_LOWER, 1);

   // ログに出力して確認
   Print("Upper: ", upper, " | Middle: ", middle, " | Lower: ", lower);
}</code></pre>
<p>このコードでは、3つのiBands呼び出しで<code>mode</code>引数だけを変えて、上方バンド・中間線・下方バンドの3つの値をそれぞれ取得しています。それ以外の引数はすべて同じ値を指定します。</p>
<h2><span id="toc13">実践サンプル：ボリンジャーバンド逆張りEA</span></h2>
<p>ここでは、ボリンジャーバンドの±2σを使ったシンプルな逆張りEAを作ってみましょう。ロジックは以下のとおりです。</p>
<ul>
<li><strong>買いエントリー</strong>：1本前の終値がロワーバンド（-2σ）を下回ったら買い</li>
<li><strong>売りエントリー</strong>：1本前の終値がアッパーバンド（+2σ）を上回ったら売り</li>
<li><strong>決済</strong>：ミドルバンドに到達したら決済</li>
</ul>
<pre><code class="language-mql4">//+------------------------------------------------------------------+
//| ボリンジャーバンド逆張りEA                                         |
//+------------------------------------------------------------------+
#property strict

// 入力パラメーター
input int    BB_Period    = 20;     // ボリンジャーバンドの期間
input double BB_Deviation = 2.0;    // 標準偏差の倍率
input double Lots         = 0.1;    // ロット数
input int    Slippage     = 3;      // スリッページ
input int    MagicNumber  = 12345;  // マジックナンバー

//+------------------------------------------------------------------+
//| OnTick関数                                                        |
//+------------------------------------------------------------------+
void OnTick()
{
   // ボリンジャーバンドの各ラインを取得（1本前の確定足）
   double upper  = iBands(NULL, 0, BB_Period, BB_Deviation, 0, PRICE_CLOSE, MODE_UPPER, 1);
   double middle = iBands(NULL, 0, BB_Period, BB_Deviation, 0, PRICE_CLOSE, MODE_MAIN,  1);
   double lower  = iBands(NULL, 0, BB_Period, BB_Deviation, 0, PRICE_CLOSE, MODE_LOWER, 1);

   // 1本前の終値
   double prevClose = Close[1];

   // 現在のポジション数を確認
   int buyCount  = CountOrders(OP_BUY);
   int sellCount = CountOrders(OP_SELL);

   // --- エントリーロジック ---
   // 買いエントリー：終値がロワーバンドを下回った
   if(buyCount == 0 && prevClose < lower)
   {
      int ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0,
                             "BB Buy", MagicNumber, 0, clrBlue);
      if(ticket < 0)
         Print("Buy OrderSend Error: ", GetLastError());
   }

   // 売りエントリー：終値がアッパーバンドを上回った
   if(sellCount == 0 &#038;&#038; prevClose > upper)
   {
      int ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0,
                             "BB Sell", MagicNumber, 0, clrRed);
      if(ticket < 0)
         Print("Sell OrderSend Error: ", GetLastError());
   }

   // --- 決済ロジック：ミドルバンドに到達したら決済 ---
   for(int i = OrdersTotal() - 1; i >= 0; i--)
   {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if(OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;

      // 現在のバーのミドルバンドを取得（決済判断用）
      double currentMiddle = iBands(NULL, 0, BB_Period, BB_Deviation, 0, PRICE_CLOSE, MODE_MAIN, 0);

      if(OrderType() == OP_BUY && Bid >= currentMiddle)
      {
         if(!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, clrBlue))
            Print("Buy OrderClose Error: ", GetLastError());
      }
      else if(OrderType() == OP_SELL && Ask <= currentMiddle)
      {
         if(!OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, clrRed))
            Print("Sell OrderClose Error: ", GetLastError());
      }
   }
}

//+------------------------------------------------------------------+
//| 指定タイプのポジション数をカウントする関数                          |
//+------------------------------------------------------------------+
int CountOrders(int orderType)
{
   int count = 0;
   for(int i = OrdersTotal() - 1; i >= 0; i--)
   {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderType() == orderType)
         count++;
   }
   return count;
}</code></pre>
<p>このEAのポイントをまとめます。</p>
<ul>
<li><strong>エントリー判断はshift=1</strong>（確定足）を使い、値がブレないようにしています</li>
<li><strong>決済判断はshift=0</strong>（現在足）を使い、リアルタイムの価格とミドルバンドを比較しています</li>
<li><strong>CountOrders関数</strong>でポジション数を確認し、同方向に重複エントリーしないようにしています</li>
<li><strong>MagicNumber</strong>を使うことで、他のEAのポジションと区別しています</li>
</ul>
<h2><span id="toc14">応用テクニック</span></h2>
<h3><span id="toc15">複数のσを同時に使う</span></h3>
<p>ボリンジャーバンドの±1σ、±2σ、±3σを同時に取得すれば、より細かい分析が可能です。deviation引数を変えるだけで実現できます。</p>
<pre><code class="language-mql4">// ±1σ
double upper1 = iBands(NULL, 0, 20, 1.0, 0, PRICE_CLOSE, MODE_UPPER, 1);
double lower1 = iBands(NULL, 0, 20, 1.0, 0, PRICE_CLOSE, MODE_LOWER, 1);

// ±2σ
double upper2 = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_UPPER, 1);
double lower2 = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_LOWER, 1);

// ±3σ
double upper3 = iBands(NULL, 0, 20, 3.0, 0, PRICE_CLOSE, MODE_UPPER, 1);
double lower3 = iBands(NULL, 0, 20, 3.0, 0, PRICE_CLOSE, MODE_LOWER, 1);</code></pre>
<p>たとえば「±1σの範囲内ならレンジ相場と判断し取引を控える」「±3σにタッチしたら強い逆張りシグナル」といった使い方ができます。</p>
<h3><span id="toc16">バンド幅でボラティリティを判定する</span></h3>
<p>アッパーバンドとロワーバンドの差を計算すれば、バンド幅（ボラティリティの目安）が分かります。</p>
<pre><code class="language-mql4">double upper  = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_UPPER, 1);
double lower  = iBands(NULL, 0, 20, 2.0, 0, PRICE_CLOSE, MODE_LOWER, 1);

// バンド幅を計算
double bandWidth = upper - lower;

// バンド幅をポイント単位に変換（通貨ペアの桁数に応じて調整）
double bandWidthPoints = bandWidth / Point;

// ボラティリティ判定の例
if(bandWidthPoints < 200)
{
   Print("スクイーズ状態（低ボラティリティ）：バンド幅 = ", bandWidthPoints, " points");
   // → この後のブレイクアウトに備える
}
else if(bandWidthPoints > 500)
{
   Print("エクスパンション状態（高ボラティリティ）：バンド幅 = ", bandWidthPoints, " points");
   // → トレンドフォロー戦略を検討
}</code></pre>
<p>バンドが極端に狭くなった状態（<strong>スクイーズ</strong>）は、その後大きなトレンドが発生する前兆とされています。バンドが急激に広がった状態（<strong>エクスパンション</strong>）はトレンドが発生中であることを示します。</p>
<h2><span id="toc17">よくある間違いと注意点</span></h2>
<h3><span id="toc18">shift=0は未確定の値</span></h3>
<p>最も多い間違いのひとつが、<code>shift=0</code>の値でエントリー判断をしてしまうことです。shift=0は現在のバー（まだローソク足が確定していない状態）の値なので、ティックが来るたびに値が変わります。</p>
<p>エントリー条件にはshift=1（確定済みのバー）を使うようにしましょう。バックテストとリアルトレードの結果が大きくずれる原因にもなります。</p>
<h3><span id="toc19">MODE定数の取り違え</span></h3>
<p>iBands関数のmode引数で使う定数と、iMACD関数などの他のインジケーター関数のmode定数は名前が似ていても意味が異なる場合があります。iBandsでは<code>MODE_MAIN</code>（0）、<code>MODE_UPPER</code>（1）、<code>MODE_LOWER</code>（2）の3つを使います。</p>
<p>特に<code>MODE_MAIN</code>はiMACD関数でも使われる定数ですが、iBandsではミドルバンド（移動平均線）を意味します。関数ごとにどの定数がどのラインを表すか確認しましょう。</p>
<h3><span id="toc20">マルチタイムフレームでの注意</span></h3>
<p>timeframe引数に現在のチャートと異なる時間足を指定すると、上位足のボリンジャーバンドを取得できます。しかし、いくつか注意点があります。</p>
<pre><code class="language-mql4">// 1時間足チャートで日足のボリンジャーバンドを取得
double dailyUpper = iBands(NULL, PERIOD_D1, 20, 2.0, 0, PRICE_CLOSE, MODE_UPPER, 1);</code></pre>
<ul>
<li>上位足のデータが十分にダウンロードされていないとエラーや不正確な値が返されることがあります</li>
<li>上位足のshift=0は上位足の現在のバーを指すため、確定タイミングがチャート時間足とは異なります</li>
<li>バックテストでは「全ティック」モデルを使わないとマルチタイムフレームの値が正しく取得できない場合があります</li>
</ul>
<h2><span id="toc21">まとめ</span></h2>
<p>この記事では、MQL4の<strong>iBands関数</strong>について、基本構文から各引数の詳細、実践的なEAサンプル、応用テクニックまで解説しました。最後にポイントを整理します。</p>
<ul>
<li>iBands関数は<strong>8つの引数</strong>を持ち、ボリンジャーバンドの値をdouble型で返す</li>
<li><strong>mode引数</strong>でMODE_MAIN（中間線）、MODE_UPPER（上方バンド）、MODE_LOWER（下方バンド）を切り替える</li>
<li>3本のラインを取得するには<strong>iBandsを3回呼び出す</strong>必要がある</li>
<li>エントリー判断には<strong>shift=1</strong>（確定足）を使うのが基本</li>
<li>deviation引数を変えることで、±1σ/±2σ/±3σなど複数のバンドを簡単に取得できる</li>
<li>バンド幅の計算で<strong>ボラティリティの判定</strong>（スクイーズ・エクスパンション）にも活用できる</li>
</ul>
<p>iBands関数はシンプルながらも応用範囲が広い関数です。まずは基本的な使い方をマスターし、他のテクニカル指標と組み合わせたり、エントリー条件を工夫したりして、自分だけのEA開発に挑戦してみてください！</p>
<p>投稿 <a href="https://mql-programing.com/archives/12997/%e3%80%90mql4%e5%85%a5%e9%96%80%e3%80%91ibands%e9%96%a2%e6%95%b0%e3%81%a7%e3%83%9c%e3%83%aa%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%bc%e3%83%90%e3%83%b3%e3%83%89%e3%82%92%e4%bd%bf%e3%81%84%e3%81%93%e3%81%aa/">【MQL4入門】iBands関数でボリンジャーバンドを使いこなそう！引数・使い方・サンプルコード徹底解説</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【MQL4定数】ライン定数（MODE）</title>
		<link>https://mql-programing.com/archives/1950/enum_mode_line/</link>
		
		<dc:creator><![CDATA[朝日奈りさ]]></dc:creator>
		<pubDate>Sun, 10 Oct 2021 05:17:35 +0000</pubDate>
				<category><![CDATA[【辞書】MQLリファレンス]]></category>
		<category><![CDATA[定数]]></category>
		<category><![CDATA[iBands]]></category>
		<category><![CDATA[MQL]]></category>
		<category><![CDATA[iEnvelopes]]></category>
		<category><![CDATA[iEnvelopesOnArray]]></category>
		<category><![CDATA[リファレンス]]></category>
		<category><![CDATA[iFractals]]></category>
		<category><![CDATA[iGator]]></category>
		<category><![CDATA[iAlligator]]></category>
		<category><![CDATA[iStochastic]]></category>
		<category><![CDATA[iIchimoku]]></category>
		<category><![CDATA[MODE]]></category>
		<category><![CDATA[iMACD]]></category>
		<category><![CDATA[iRVI]]></category>
		<category><![CDATA[iADX]]></category>
		<guid isPermaLink="false">https://mql-programing.com/?p=1950</guid>

					<description><![CDATA[<p>ライン定数（MODE） ライン定数は、ロジック関数の引数として使用します。 ロジック関数（iMACD関数など）は、取得するラインを設定することができます。 その設定をするために、ライン定数を使うと良いでしょう。 例えば、 [&#8230;]</p>
<p>投稿 <a href="https://mql-programing.com/archives/1950/enum_mode_line/">【MQL4定数】ライン定数（MODE）</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><span id="toc1">ライン定数（MODE）</span></h2>



<p>ライン定数は、ロジック関数の引数として使用します。</p>



<p><strong>ロジック関数（iMACD関数など）は、取得するラインを設定することができます。</strong></p>



<p>その設定をするために、ライン定数を使うと良いでしょう。</p>



<p>例えば、iMACD関数で使うと、取得する値はメインラインなのか、シグナルラインなのかを設定をすることができます。</p>



<p>　</p>



<p>それぞれ、<strong><span class="marker-under-red">mode引数の入力値</span></strong>として、ライン定数を使うことができます。</p>



<p>　</p>



<h3 class="wp-block-heading"><span id="toc2">iMACD関数、iRVI関数、iStochastic関数で使用</span></h3>



<figure class="wp-block-table alignfull is-style-stripes"><table><tbody><tr><td><b>定数</b></td><td><strong>値</strong></td><td><strong>説明</strong></td></tr><tr><td>MODE_MAIN</td><td>0</td><td>メインライン</td></tr><tr><td>MODE_SIGNAL</td><td>1</td><td>シグナルライン</td></tr></tbody></table></figure>



<p>　</p>



<h3 class="wp-block-heading"><span id="toc3">iADX関数で使用</span></h3>



<figure class="wp-block-table alignfull is-style-stripes"><table><tbody><tr><td><strong>定数</strong></td><td><strong>値</strong></td><td><strong>説明</strong></td></tr><tr><td>MODE_MAIN</td><td>0</td><td>メインライン（ADX）</td></tr><tr><td>MODE_PLUSDI</td><td>1</td><td>+DIライン</td></tr><tr><td>MODE_MINUSDI</td><td>2</td><td>-DIライン</td></tr></tbody></table></figure>



<p>　</p>



<h3 class="wp-block-heading"><span id="toc4">iBands関数、iEnvelopes関数、iEnvelopesOnArray関数、iFractals関数、iGator関数で使用</span></h3>



<figure class="wp-block-table alignfull is-style-stripes"><table><tbody><tr><td><strong>定数</strong></td><td><strong>値</strong></td><td><strong>説明</strong></td></tr><tr><td>MODE_UPPER</td><td>1</td><td>上ライン</td></tr><tr><td>MODE_LOWER</td><td>2</td><td>下ライン</td></tr></tbody></table></figure>



<p>　</p>



<h3 class="wp-block-heading"><span id="toc5">iAlligator関数で使用</span></h3>



<figure class="wp-block-table alignfull is-style-stripes"><table><tbody><tr><td><strong>定数</strong></td><td><strong>値</strong></td><td><strong>説明</strong></td></tr><tr><td>MODE_GATORJAW</td><td>1</td><td>顎ライン</td></tr><tr><td>MODE_GATORTEETH</td><td>2</td><td>歯ライン</td></tr><tr><td>MODE_GATORLIPS</td><td>3</td><td>口ライン</td></tr></tbody></table></figure>



<p>　</p>



<h3 class="wp-block-heading"><span id="toc6">iIchimoku関数で使用</span></h3>



<figure class="wp-block-table alignfull is-style-stripes"><table><tbody><tr><td><strong>定数</strong></td><td><strong>値</strong></td><td><strong>説明</strong></td></tr><tr><td>MODE_TENKANSEN</td><td>1</td><td>転換線</td></tr><tr><td>MODE_KIJUNSEN</td><td>2</td><td>基準線</td></tr><tr><td>MODE_SENKOUSPANA</td><td>3</td><td>先行スパンA</td></tr><tr><td>MODE_SENKOUSPANB</td><td>4</td><td>先行スパンB</td></tr><tr><td>MODE_CHIKOUSPAN</td><td>5</td><td>遅行スパン</td></tr></tbody></table></figure>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc7">ライン定数（MODE）の使い方</span></h2>



<p>主に、ロジック関数で使用されます。</p>



<p><strong><span class="marker-under-red">それぞれ、mode引数の入力値として、ライン定数を使うことができます。</span></strong></p>



<p>上記の定数を入力しましょう。</p>



<p>すると、その定数に対応したラインの値を取得することができます。</p>



<p>例えば、以下のように使用します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-lang="C++"><code>  //iMACD関数
  //メインラインのMACDの値を取得する
   double macd = iMACD(Symbol(), PERIOD_CURRENT, 14, 25, 9, PRICE_CLOSE, MODE_MAIN, 0);</code></pre></div>



<p>　</p>



<h2 class="wp-block-heading"><span id="toc8">プログラム例</span></h2>



<p>以下は、ライン定数を使って複数のインジケーター値を取得するプログラム例です。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-lang="C++"><code>void OnTick()
{
   //-------------------------------------------
   // iMACD関数でライン定数を使用する例
   //-------------------------------------------
   // メインライン（MACD線）の値を取得
   double macdMain = iMACD(Symbol(), PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0);
   // シグナルラインの値を取得
   double macdSignal = iMACD(Symbol(), PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0);

   // メインラインがシグナルラインを上抜けた場合
   if(macdMain > macdSignal)
   {
      Print("MACDゴールデンクロス: メイン=", macdMain, " シグナル=", macdSignal);
   }

   //-------------------------------------------
   // iStochastic関数でライン定数を使用する例
   //-------------------------------------------
   // メインライン（%K）の値を取得
   double stochMain = iStochastic(Symbol(), PERIOD_CURRENT, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
   // シグナルライン（%D）の値を取得
   double stochSignal = iStochastic(Symbol(), PERIOD_CURRENT, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);

   Print("Stochastic: %%K=", stochMain, " %%D=", stochSignal);

   //-------------------------------------------
   // iBands関数でライン定数を使用する例
   //-------------------------------------------
   // メインライン（中央線）の値を取得
   double bandsMain  = iBands(Symbol(), PERIOD_CURRENT, 20, 2, 0, PRICE_CLOSE, MODE_MAIN, 0);
   // 上ラインの値を取得
   double bandsUpper = iBands(Symbol(), PERIOD_CURRENT, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 0);
   // 下ラインの値を取得
   double bandsLower = iBands(Symbol(), PERIOD_CURRENT, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 0);

   Print("Bands: 上=", bandsUpper, " 中央=", bandsMain, " 下=", bandsLower);

   //-------------------------------------------
   // iIchimoku関数でライン定数を使用する例
   //-------------------------------------------
   // 転換線の値を取得
   double tenkan  = iIchimoku(Symbol(), PERIOD_CURRENT, 9, 26, 52, MODE_TENKANSEN, 0);
   // 基準線の値を取得
   double kijun   = iIchimoku(Symbol(), PERIOD_CURRENT, 9, 26, 52, MODE_KIJUNSEN, 0);
   // 先行スパンAの値を取得
   double spanA   = iIchimoku(Symbol(), PERIOD_CURRENT, 9, 26, 52, MODE_SENKOUSPANA, 0);
   // 先行スパンBの値を取得
   double spanB   = iIchimoku(Symbol(), PERIOD_CURRENT, 9, 26, 52, MODE_SENKOUSPANB, 0);
   // 遅行スパンの値を取得
   double chikou  = iIchimoku(Symbol(), PERIOD_CURRENT, 9, 26, 52, MODE_CHIKOUSPAN, 0);

   Print("一目均衡表: 転換線=", tenkan, " 基準線=", kijun);

   //-------------------------------------------
   // iAlligator関数でライン定数を使用する例
   //-------------------------------------------
   // 顎ライン（Jaw）の値を取得
   double jaw  = iAlligator(Symbol(), PERIOD_CURRENT, 13, 8, 8, 5, 5, 3, MODE_SMA, PRICE_MEDIAN, MODE_GATORJAW, 0);
   // 歯ライン（Teeth）の値を取得
   double teeth = iAlligator(Symbol(), PERIOD_CURRENT, 13, 8, 8, 5, 5, 3, MODE_SMA, PRICE_MEDIAN, MODE_GATORTEETH, 0);
   // 口ライン（Lips）の値を取得
   double lips  = iAlligator(Symbol(), PERIOD_CURRENT, 13, 8, 8, 5, 5, 3, MODE_SMA, PRICE_MEDIAN, MODE_GATORLIPS, 0);

   Print("Alligator: 顎=", jaw, " 歯=", teeth, " 口=", lips);
}</code></pre></div>



<p>　</p>



<p>上記のプログラムでは、各インジケーター関数のmode引数にライン定数を指定することで、それぞれ対応するラインの値を取得しています。</p>



<p>　</p>



<div class="wp-block-cocoon-blocks-button-1 button-block"><a href="https://mql-programing.com/sample_program/" class="btn btn-l btn-circle" target="_self">サンプルプログラムはこちら</a></div>



<p>　</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-自動売買を作ろう！ wp-block-embed-自動売買を作ろう！"><div class="wp-block-embed__wrapper">

<a href="https://mql-programing.com/make_autotrade_by_myself/" title="【MQL4プログラミング】自動売買の作り方！FXで使えるテンプレートあり" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://i0.wp.com/mql-programing.com/main29/wp-content/uploads/2021/09/make_autotrade_by_myself.jpg?fit=1200%2C675&#038;ssl=1" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【MQL4プログラミング】自動売買の作り方！FXで使えるテンプレートあり</div><div class="blogcard-snippet external-blogcard-snippet">目次 はじめにFX自動売買とはFX自動売買を作るための準備FX自動売買の作り方口座凍結の対策をするプログラムテンプレートを作る決済ロジックをプログラミングするプログラムテンプレートを作るエントリーロジックをプログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://mql-programing.com/archives/1605/make_autotrade_by_myself/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">mql-programing.com</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-自動売買を作ろう！ wp-block-embed-自動売買を作ろう！"><div class="wp-block-embed__wrapper">

<a href="https://mql-programing.com/mql-reference/" title="MQL4リファレンス【全データ一覧】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-160x90.jpg 160w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-300x169.jpg 300w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-1024x576.jpg 1024w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-768x432.jpg 768w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-120x68.jpg 120w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-320x180.jpg 320w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス.jpg 1120w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">MQL4リファレンス【全データ一覧】</div><div class="blogcard-snippet internal-blogcard-snippet">/*! elementor - v3.6.5 - 27-04-2022 */.e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://mql-programing.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">mql-programing.com</div></div></div></div></a>
</div></figure>



<p>　</p>
<p>投稿 <a href="https://mql-programing.com/archives/1950/enum_mode_line/">【MQL4定数】ライン定数（MODE）</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
