<?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/%e3%82%a2%e3%83%aa%e3%82%b2%e3%83%bc%e3%82%bf%e3%83%bc/feed/" rel="self" type="application/rss+xml" />
	<link>https://mql-programing.com/archives/tag/アリゲーター/</link>
	<description>MQLプログラミング学習サイト</description>
	<lastBuildDate>Wed, 08 Apr 2026 11:29:52 +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関数】iAlligator関数の使い方！アリゲーターでトレンド判定EAを作ろう</title>
		<link>https://mql-programing.com/archives/13104/%e3%80%90mql4%e9%96%a2%e6%95%b0%e3%80%91ialligator%e9%96%a2%e6%95%b0%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9%ef%bc%81%e3%82%a2%e3%83%aa%e3%82%b2%e3%83%bc%e3%82%bf%e3%83%bc%e3%81%a7%e3%83%88%e3%83%ac/</link>
		
		<dc:creator><![CDATA[朝日奈りさ]]></dc:creator>
		<pubDate>Sat, 02 May 2026 01:00:00 +0000</pubDate>
				<category><![CDATA[関数]]></category>
		<category><![CDATA[【辞書】MQLリファレンス]]></category>
		<category><![CDATA[リファレンス]]></category>
		<category><![CDATA[iAlligator]]></category>
		<category><![CDATA[MQL4]]></category>
		<category><![CDATA[インジケーター]]></category>
		<category><![CDATA[アリゲーター]]></category>
		<guid isPermaLink="false">https://mql-programing.com/?p=13104</guid>

					<description><![CDATA[<p>iAlligator関数を使えば、アリゲーターインジケーターの3本のライン（顎・歯・唇）の値をMQL4プログラムから取得できます。アリゲーターはトレンドの有無と方向を視覚的に判断できるインジケーターで、EAのエントリーフ [&#8230;]</p>
<p>投稿 <a href="https://mql-programing.com/archives/13104/%e3%80%90mql4%e9%96%a2%e6%95%b0%e3%80%91ialligator%e9%96%a2%e6%95%b0%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9%ef%bc%81%e3%82%a2%e3%83%aa%e3%82%b2%e3%83%bc%e3%82%bf%e3%83%bc%e3%81%a7%e3%83%88%e3%83%ac/">【MQL4関数】iAlligator関数の使い方！アリゲーターでトレンド判定EAを作ろう</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>iAlligator関数を使えば、アリゲーターインジケーターの3本のライン（顎・歯・唇）の値をMQL4プログラムから取得できます。</strong>アリゲーターはトレンドの有無と方向を視覚的に判断できるインジケーターで、EAのエントリーフィルターとして非常に人気があります。この記事では iAlligator の構文から実践的なEAサンプルまでPREP法で解説します。</p>
<h2><span id="toc1">iAlligator関数とは？なぜトレンド判定に使われるのか</span></h2>
<p>アリゲーター（Alligator）はビル・ウィリアムズが考案したインジケーターです。移動平均線を時間軸でずらした3本のラインで構成されており、ラインが開くとトレンド発生、収束するとレンジ相場という状態を示します。</p>
<p>MQL4では <code>iAlligator()</code> 関数でこの3本のライン値をリアルタイムに取得できるため、「トレンドが発生しているときだけエントリーする」というフィルターロジックをEAに組み込めます。</p>
<figure class="wp-block-table">
<table>
<thead>
<tr>
<th>ライン名</th>
<th>別名</th>
<th>設定（デフォルト）</th>
</tr>
</thead>
<tbody>
<tr>
<td>Jaw（顎）</td>
<td>青ライン</td>
<td>13期間SMMA・8バーシフト</td>
</tr>
<tr>
<td>Teeth（歯）</td>
<td>赤ライン</td>
<td>8期間SMMA・5バーシフト</td>
</tr>
<tr>
<td>Lips（唇）</td>
<td>緑ライン</td>
<td>5期間SMMA・3バーシフト</td>
</tr>
</tbody>
</table>
</figure>
<h2><span id="toc2">iAlligator() の構文と引数</span></h2>
<pre><code class="language-mql4">double iAlligator(
    string symbol,          // 通貨ペア（NULLで現在のチャート）
    int    timeframe,       // 時間足（0で現在の時間足）
    int    jaw_period,      // 顎の期間（デフォルト13）
    int    jaw_shift,       // 顎のシフト（デフォルト8）
    int    teeth_period,    // 歯の期間（デフォルト8）
    int    teeth_shift,     // 歯のシフト（デフォルト5）
    int    lips_period,     // 唇の期間（デフォルト5）
    int    lips_shift,      // 唇のシフト（デフォルト3）
    int    ma_method,       // 移動平均の種類（MODE_SMMA推奨）
    int    applied_price,   // 適用価格（PRICE_MEDIAN推奨）
    int    mode,            // 取得するライン
    int    shift            // 何本前のバーか（0=現在）
);</code></pre>
<h3><span id="toc3">mode の値</span></h3>
<figure class="wp-block-table">
<table>
<thead>
<tr>
<th>定数</th>
<th>値</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<td>MODE_GATORJAW</td>
<td>1</td>
<td>顎（Jaw）ラインの値</td>
</tr>
<tr>
<td>MODE_GATORTEETH</td>
<td>2</td>
<td>歯（Teeth）ラインの値</td>
</tr>
<tr>
<td>MODE_GATORLIPS</td>
<td>3</td>
<td>唇（Lips）ラインの値</td>
</tr>
</tbody>
</table>
</figure>
<h2><span id="toc4">基本的な使い方：3本のライン値を取得する</span></h2>
<p>iAlligator関数でアリゲーターの各ラインを取得する最もシンプルなコードです。</p>
<pre><code class="language-mql4">// アリゲーターのデフォルト設定で3本のライン値を取得
double jaw   = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW,   1);
double teeth = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 1);
double lips  = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS,  1);

Print("顎(Jaw): ",   jaw);
Print("歯(Teeth): ", teeth);
Print("唇(Lips): ",  lips);</code></pre>
<h2><span id="toc5">実践例1：アリゲーターでトレンドフィルターを作る</span></h2>
<p>アリゲーターの3本のラインの並び順でトレンドを判定します。唇 &gt; 歯 &gt; 顎なら上昇トレンド、顎 &gt; 歯 &gt; 唇なら下降トレンドと判断できます。</p>
<pre><code class="language-mql4">// トレンド判定関数
// 戻り値: 1=上昇トレンド / -1=下降トレンド / 0=レンジ（睡眠中）
int GetAlligatorTrend()
{
    double jaw   = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW,   1);
    double teeth = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 1);
    double lips  = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS,  1);

    // 唇 > 歯 > 顎 → 上昇トレンド
    if(lips > teeth && teeth > jaw)
        return 1;

    // 顎 > 歯 > 唇 → 下降トレンド
    if(jaw > teeth && teeth > lips)
        return -1;

    // それ以外 → レンジ（アリゲーターが眠っている状態）
    return 0;
}

void OnTick()
{
    int trend = GetAlligatorTrend();
    if(trend == 1)
        Comment("アリゲーター: 上昇トレンド");
    else if(trend == -1)
        Comment("アリゲーター: 下降トレンド");
    else
        Comment("アリゲーター: レンジ（様子見）");
}</code></pre>
<h2><span id="toc6">実践例2：アリゲーターをフィルターにしたEA</span></h2>
<p>iAlligator関数のトレンド判定と iMA（移動平均）のゴールデンクロスを組み合わせた実践的なEAです。アリゲーターがトレンドを示しているときだけエントリーするため、ダマシを減らせます。</p>
<pre><code class="language-mql4">extern int    MagicNumber = 20001;
extern double Lots        = 0.1;
extern int    FastMA      = 5;
extern int    SlowMA      = 20;

void OnTick()
{
    // ラインが3本とも開いているか（絶対値で判定）
    double jaw   = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW,   1);
    double teeth = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 1);
    double lips  = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS,  1);

    bool upTrend   = (lips > teeth && teeth > jaw);
    bool downTrend = (jaw  > teeth && teeth > lips);

    // MAクロス判定
    double fastMA_cur  = iMA(NULL, 0, FastMA, 0, MODE_EMA, PRICE_CLOSE, 1);
    double fastMA_prev = iMA(NULL, 0, FastMA, 0, MODE_EMA, PRICE_CLOSE, 2);
    double slowMA_cur  = iMA(NULL, 0, SlowMA, 0, MODE_EMA, PRICE_CLOSE, 1);
    double slowMA_prev = iMA(NULL, 0, SlowMA, 0, MODE_EMA, PRICE_CLOSE, 2);

    bool goldenCross = (fastMA_prev < slowMA_prev &#038;&#038; fastMA_cur > slowMA_cur);
    bool deadCross   = (fastMA_prev > slowMA_prev && fastMA_cur < slowMA_cur);

    if(OrdersTotal() > 0) return;

    // アリゲーターが上昇トレンド ＋ ゴールデンクロス → 買い
    if(upTrend && goldenCross)
    {
        OrderSend(Symbol(), OP_BUY, Lots, Ask, 20, 0, 0,
                  "Alligator+MA", MagicNumber, 0, clrBlue);
    }

    // アリゲーターが下降トレンド ＋ デッドクロス → 売り
    if(downTrend && deadCross)
    {
        OrderSend(Symbol(), OP_SELL, Lots, Bid, 20, 0, 0,
                  "Alligator+MA", MagicNumber, 0, clrRed);
    }
}</code></pre>
<h2><span id="toc7">iAlligator使用時の注意点</span></h2>
<ul>
<li><strong>シフトに注意：</strong>アリゲーターは各ラインが未来方向にシフトされるため、チャート上の表示位置とバーインデックスがずれます。shift=1（1本前）を使って確定済みのバーを参照するのが基本です。</li>
<li><strong>レンジ相場では使わない：</strong>3本のラインが絡み合っている（アリゲーターが眠っている）状態でのエントリーはダマシが増えます。必ず上記のトレンド判定と組み合わせてください。</li>
<li><strong>applied_price はPRICE_MEDIAN：</strong>ビル・ウィリアムズのオリジナル設定は中値（(High+Low)/2）です。PRICE_CLOSEで計算するとチャートの表示と一致しないことがあります。</li>
</ul>
<h2><span id="toc8">まとめ</span></h2>
<p><strong>iAlligator関数は、アリゲーターインジケーターの顎・歯・唇の3本のライン値をMQL4から直接取得できる関数です。</strong>ラインの並び順を見るだけでトレンドの有無・方向を判定できるため、EA開発のフィルターとして非常に使いやすいのが特徴です。</p>
<p>レンジ相場（アリゲーターが眠っている状態）ではエントリーを避け、トレンドが明確に出たときだけ他のシグナルと組み合わせるのがiAlligator活用のポイントです。</p>
<p>投稿 <a href="https://mql-programing.com/archives/13104/%e3%80%90mql4%e9%96%a2%e6%95%b0%e3%80%91ialligator%e9%96%a2%e6%95%b0%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9%ef%bc%81%e3%82%a2%e3%83%aa%e3%82%b2%e3%83%bc%e3%82%bf%e3%83%bc%e3%81%a7%e3%83%88%e3%83%ac/">【MQL4関数】iAlligator関数の使い方！アリゲーターでトレンド判定EAを作ろう</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
