Maとボリンジャーバンドの交差

2026/02/10 12:20
38

MaとボリンジャーバンドのGC、DCを利用したEAをつくることは可能でしょうか?
 ①Maが-σをゴールデンクロスしたら買い、+σをデッドクロスしたら手仕舞い
 ②Maがーσをゴールデンクロスしたら買い、ミドルバンドをデッドクロスしたら手仕舞い
 ③Maがーσをゴールデンクロスしたら買い、ーσをデッドクロスしたら手仕舞い
 ④Maが+σをゴールデンクロスしたら買い、+σをデッドクロスしたら手仕舞い

自分でも作ってみるのですが、全く約定しません。
よろしくお願いします。

買いの手仕舞い
 Maが+σとデッドクロス

コメント

GogoJungle
2026/02/13 10:20

MA(移動平均線)とボリンジャーバンド(±σ/ミドル)の「クロス(GC/DC)」を使って、買いエントリーと買い決済を行うEAを作りたい、というご質問ですね。あわせて「自作したが全く約定しない」原因も確認したい、という状況だと理解しました。

結論として、①〜④はいずれも EAつくーるの標準機能だけで作成可能 です。約定しない場合は、多くが「クロス判定の作り方(計算位置)」や「初期状態の条件が残っている」「決済条件の向きが逆」などの設定ミスで起きます。


設定方法(ロジック)

以下はすべて「ポジション1」で作る前提です(買いのみ)。
MAの種類(SMA/EMA)、期間、BBの期間・偏差はお好みで読み替えてください。

事前の基本項目(共通)

  • 基本項目

    • ロット数:任意
    • 損切り:任意(不要なら0)
    • 利食い:任意(不要なら0)
    • スリッページ:任意
  • オプション(推奨)

    • 「一本当たりのエントリー回数制限」:ON(同じ足で連打を防止)
    • 必要なら「最大スプレッド制限」もON(厳しすぎると約定ゼロになりがちです)

クロス判定の基本形(重要)

EAつくーるは「○○が上抜けた/下抜けた」を、1本前と現在(計算位置:1 と 0)を2条件で作って判定します。

  • ゴールデンクロス(下→上)
    「1本前は下、今は上」
  • デッドクロス(上→下)
    「1本前は上、今は下」

この形にしていないと、永遠に条件が成立しない(または逆に常時成立)になりやすいです。


① MAが−σをGCで買い、+σをDCで手仕舞い

買いエントリー(−σをGC)

移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:1本前)
<
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:-σ, 適用価格:終値, 計算位置:1本前)
AND
移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:0本前)
>
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:-σ, 適用価格:終値, 計算位置:0本前)
↓
買いエントリー

買いの手仕舞い(+σをDC)

移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:1本前)
>
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:+σ, 適用価格:終値, 計算位置:1本前)
AND
移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:0本前)
<
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:+σ, 適用価格:終値, 計算位置:0本前)
↓
買いポジション決済

② MAが−σをGCで買い、ミドルをDCで手仕舞い

エントリーは①と同じ(−σ GC)です。決済だけミドル(センターライン)にします。

買いの手仕舞い(ミドルをDC)

移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:1本前)
>
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:センターライン, 適用価格:終値, 計算位置:1本前)
AND
移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:0本前)
<
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:センターライン, 適用価格:終値, 計算位置:0本前)
↓
買いポジション決済

③ MAが−σをGCで買い、−σをDCで手仕舞い

エントリーは①と同じ(−σ GC)。決済は−σ DCです。

買いの手仕舞い(−σをDC)

移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:1本前)
>
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:-σ, 適用価格:終値, 計算位置:1本前)
AND
移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:0本前)
<
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:-σ, 適用価格:終値, 計算位置:0本前)
↓
買いポジション決済

④ MAが+σをGCで買い、+σをDCで手仕舞い

エントリー側を+σに変えるだけです。

買いエントリー(+σをGC)

移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:1本前)
<
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:+σ, 適用価格:終値, 計算位置:1本前)
AND
移動平均線(計算期間:任意, 種類:任意, 適用価格:終値, 計算位置:0本前)
>
ボリンジャーバンド(計算期間:任意, 偏差:任意, モード:+σ, 適用価格:終値, 計算位置:0本前)
↓
買いエントリー

決済は①の「+σ DC」と同じです。


「全く約定しません」になりやすいポイント(こうなっていませんか?)
  1. 初期状態の条件が残っている/逆に消し忘れ・消し過ぎ
  • 初期状態で入っている
    「ローソク足 = ローソク足 → 買いエントリー」
    が残っていると、条件が意図と違う形で動きます(常にエントリーする等)。
  • 今回はクロス条件で作るので、初期の条件は削除して、上記の2本判定の条件だけにしてください。
  1. クロスを1条件だけで書いている
  • 例:「MA > −σ」だけだと、クロスではなく“上にある間ずっと”条件成立です。
    ただし「一本当たりのエントリー回数制限」がOFFだと連打、ONだとタイミング次第で入らない等、挙動が読みづらくなります。
  • 必ず、計算位置:1本前 と 0本前の2条件でクロス判定にしてください。
  1. 計算位置が全部0本前になっている
  • これだと「1本前は下だった」の判定ができず、クロス条件が成立しません。
  • 上の例の通り、1本前と0本前をセットで組んでください。
  1. ボリンジャーバンドの「モード」選択ミス
  • −σ / +σ / センターライン の選択が意図と逆だと、当然クロスしません。
  • 作成後にMT4/MT5のチャートへBBとMAを表示して、目視で「いまどこを跨いでいるか」を確認すると間違いに気づきやすいです。
  1. 取引時間足制限・通貨ペア制限・最大スプレッド制限が厳しすぎる
  • 例えば「取引時間足制限」がM1固定なのに、EAをH1チャートに入れていると一切エントリーしません。
  • 「最大スプレッド制限」が小さすぎてもエントリー0になります。
  • まずは制限系オプションを外して、動作確認後に付け直すのが確実です。

補足(今回の範囲ではMQL編集は不要です)

ご希望の①〜④は、EAつくーるの「移動平均線」と「ボリンジャーバンド」だけでクロス判定が組めますので、MQLでの追記は基本的に不要です。
約定しない場合は、上の「計算位置の2本判定」と「制限系オプション」を見直すだけで解決するケースが大半です。

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。