EAつくーる設定手順

2026/03/02 23:41
102

EAつくーる初心者です。質問お願いします。
MAクロス後のMAタッチでエントリーするEAを作りたいと思っています。

エントリー条件
買い: EMA13とEMA100がゴールデンクロス後、ローソク足がEMA13にタッチした時。
売り: EMA13とEMA100がデッドクロス後、ローソク足がEMA13にタッチした時。

このような場合どのように設定すればいいでしょうか。
よろしくお願いします。
2026-03-02 2026-03-02 225708.png

コメント

GogoJungle
2026/03/05 20:36

EAつくーるには、「ゴールデンクロスが起きたあと、その状態(クロス済み)を何本分か保持して、次の条件(EMA13タッチ)が来るまで待つ」といった フラグ機能 がございません。
そのため、「クロス後」を厳密に表現するには、少し工夫が必要になります。

今回やりたいことを条件として整理すると、

  • (A)ローソク足がEMA13にタッチした
  • (B)その前にEMA13とEMA100がゴールデンクロスしている(いつクロスしたかは不問で"過去に起きている")

という A AND B になりますね。

ここで、(B)「過去にゴールデンクロスしている」をEAつくーるで表現するには、
「直近n本のどこかでクロスが発生している」を ORで分解して並べる方法になります。

クロスの検出は「(k+1)本前では13EMAが100EMAより下、k本前では上」という形で書けますので、

  • k=2なら「3本前:13<100 かつ 2本前:13>100」
  • k=3なら「4本前:13<100 かつ 3本前:13>100」
  • ……

となります。
そして(A)側の「EMA13タッチ」は、例としてご提示いただいた形式に合わせて

  • 1本前の安値 < 1本前の13EMA
  • 2本前の安値 > 2本前の13EMA

のように「下抜け→上戻し(タッチ復帰)」型で表現できます。

したがって最終的には、次のように「タッチ条件」AND「クロスがn本前に起きた」を ORで並べる形になります。

1本前のローソク足の安値 < 1本前の13EMA
AND
2本前のローソク足の安値 > 2本前の13EMA
AND
2本前の100EMA < 2本前の13EMA
AND
3本前の100EMA > 3本前の13EMA
→ エントリー

OR

1本前のローソク足の安値 < 1本前の13EMA
AND
2本前のローソク足の安値 > 2本前の13EMA
AND
3本前の100EMA < 3本前の13EMA
AND
4本前の100EMA > 4本前の13EMA
→ エントリー

OR

1本前のローソク足の安値 < 1本前の13EMA
AND
2本前のローソク足の安値 > 2本前の13EMA
AND
4本前の100EMA < 4本前の13EMA
AND
5本前の100EMA > 5本前の13EMA
→ エントリー

OR

・
・
・

OR

1本前のローソク足の安値 < 1本前の13EMA
AND
2本前のローソク足の安値 > 2本前の13EMA
AND
n本前の100EMA < n本前の13EMA
AND
(n+1)本前の100EMA > (n+1)本前の13EMA
→ エントリー

完全に「過去に一度でもクロスした」を厳密に満たすには n→∞ が必要になりますが、実運用では 十分大きなn(例:50本、100本、200本など) を設定すれば問題ございません。
作成の手間はかかりますが、EAつくーるの 「複製」機能 をご利用いただくことで、比較的簡単に作成できます。すなわち、最初の1つの条件セットを作成したあと、それを必要な数だけ複製し、クロス判定に使っているEMAの「計算位置(本数前)」を 2/3/4… のように順に変更していけばOKでございます。

なお、売り(デッドクロス後のEMA13タッチ)は、上記の大小関係をすべて逆(13EMAと100EMAの上下、タッチ判定で使う高値/安値)にして同様にOR展開していただく形になります。

Volkhard
2026/03/07 09:45

回答ありがとうございます。恐縮ですが追加で質問させてください。

エントリー後、EMAがクロスするまでローソク足が実体でEMA13にタッチする度に、エントリーを繰り返す

このようにするにはどうすればいいでしょうか?

GogoJungle
2026/03/11 10:42

追加のご質問ありがとうございます。
「EMAが逆方向にクロスするまで、ローソク足が実体でEMA13にタッチするたびにエントリーを繰り返す」というロジックですね。

まず前回の回答の補足となりますが、今回「EMAがクロスするまで(=逆のクロスが起きるまで)」という終了条件をお知らせいただいたことで、よりシンプルに「現在のEMA13とEMA100の大小関係が維持されている間(ゴールデンクロス中)」という解釈が可能になります。
前回ご案内した「過去のクロスをORで探す」複雑な設定は不要となり、「現在のEMA13がEMA100より大きい」という状態をAND条件に加えるだけで実現可能です。

その上で、「タッチするたびにエントリーを繰り返す(複数のポジションを保有していく)」ための設定ですが、残念ながら、EAつくーるの仕様のみでは「1つの取引条件(マジックナンバー)内で、条件を満たすたびにポジションを無制限に追加し続ける」ことはできません。EAつくーるは原則として、同じマジックナンバーのポジションは同時に1つしか持たない仕様となっているためです。

これを解決するための回避策と、代替案をご案内いたします。

回避策:想定される最大回数分の「ポジション」を作成する
最大エントリー回数(例:3回まで、など)を決めていただき、「取引条件」画面にて「ポジション1」「ポジション2」「ポジション3」と複数のタブを作成することで疑似的に実現します。
同時に同じ足で複数回エントリーしてしまわないよう、ポジション2以降には「前のポジションを保有しており、かつ前のポジションのエントリーから1本以上足が経過していること」を条件に加えます。

また、「実体でタッチ」については、 のように「始値と終値の間にEMA13の価格が存在する」状態として定義します。

1. 「オプション」設定画面

  • 全決済:逆のクロスが発生した際、積み上げたポジションを一括で決済するためチェックを入れてください。(マジックナンバー欄は空欄で構いません)
  • 一本当たりのエントリー回数制限:予期せぬ連続エントリーを防ぐため、チェックを入れてください。

2. 「取引条件」設定画面(買いの場合の例)

◆ ポジション1(1回目のエントリー)の設定
陽線でタッチした場合と、陰線でタッチした場合の2つのパターンをORで繋ぎます。

移動平均線(計算期間:13, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前) > 移動平均線(計算期間:100, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前)
AND
ローソク足(適用価格:始値, 計算位置:1本前) <= 移動平均線(計算期間:13, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前)
AND
ローソク足(適用価格:終値, 計算位置:1本前) >= 移動平均線(計算期間:13, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前)
↓
買いエントリー

OR

移動平均線(計算期間:13, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前) > 移動平均線(計算期間:100, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前)
AND
ローソク足(適用価格:始値, 計算位置:1本前) >= 移動平均線(計算期間:13, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前)
AND
ローソク足(適用価格:終値, 計算位置:1本前) <= 移動平均線(計算期間:13, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前)
↓
買いエントリー

◆ ポジション2(2回目の追加エントリー)の設定
上記のポジション1の各パターンの先頭に、以下の2つのAND条件を追加します。

ポジション数(取引種別:買いのみ, ポジション:1) = 数値(値:1)
AND
最終エントリー足(ポジション:1) >= 数値(値:1)
AND
(以降、ポジション1と同じ大小関係・タッチ条件を記載)
↓
買いエントリー

※ポジション3以降を作成する場合は、「ポジション数(ポジション:2)=1」「最終エントリー足(ポジション:2)>=1」と、一つ前のポジション番号を参照するように変更して繋げてください。売りエントリーの場合は、各大小関係を逆にして同様に作成します。

◆ 決済条件(クロスするまで=逆クロスで決済)
ポジション1(または作成したすべてのポジションタブ)にて、以下のように設定します。オプションの「全決済」が効いているため、条件を満たすとすべての保有ポジションが一斉に決済されます。

移動平均線(計算期間:13, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前) < 移動平均線(計算期間:100, 移動平均線種類:EMA, 適用価格:終値, 計算位置:1本前)
↓
買いポジション決済

MQLでの補足(上限なく無制限にエントリーしたい場合)
ポジションタブを複数作成するのが手間で、かつ回数を無制限にしたい場合は、EAつくーるでの作成後にソースコード(MQL)を直接編集することが最終手段となります。
「ポジション1」の設定だけをEAつくーるで作成して出力し、ソースコード内で「保有中のポジション数をチェックしている条件記述」を削除することで、同じ条件で何度もエントリーできるようになります。ただし、この制限を外すと「同じローソク足の中でTickごとに無数にエントリーしてしまう」ため、MQLの知識を用いて「新しいローソク足で1回のみエントリーする」という制御コードをご自身で追加していただく必要がございます。

まずは、EAつくーる内で安全に設定が完結できる「ポジションを複数作成する回避策」にて、必要な回数分の設定を構築して挙動をお試しください。

関連トピックス

検索結果がありません。

ノーコードで誰でも簡単EA開発!MQL言語学習にも使える! | GogoJungle

注目トピックス

検索結果がありません。