ローソク足の数での決済について

2025/07/23 03:03
35

裁量でエントリーをしローソク足5本過ぎたら自動決済というEAを作りたいのですが上手く行きません。

全決済のオプションチェックにマジックナンバー0にはしてあります。
取引条件は最終エントリー足<数値5 決済。

エキスパートのメッセージログに array out of range in ‘EA’ (443,35)
と出てします。

それと、取引条件は無記入でオプションの一定時間経過決済でのローソク足で指定。5本にしてもエラーが出てします。

確認よろしくおねがいします。

コメント

GogoJungle
2025/07/24 11:00

取引条件についてご確認いただきたいことがございます。

  1. 「最終エントリー足」の「ポジション」は「1」になっておりますでしょうか?
    ここが「0」になっているのではないかと考えました。マジックナンバーを0にするのはMT4に設置する際の「パラメーターの入力」画面での操作なのですが、しばしば、ポジション番号自体を0にしてしまう方がおられます。

  2. 不等号の向きが逆であると存じます。
    5本過ぎたら、すなわち「6本、7本…」という5より大きい値になったら決済させたいわけですので、

最終エントリー足(ポジション:1) > 数値(値:5)

とするのが正しいです。

オプション設定時のエラーについては、どのようなものが出ているかが気になります。
上記2点をお試しいただいても解決しない場合は、エラーメッセージをお教えいただければ幸いです。

ki4
2025/07/24 15:51

不当号の向きを変えても同じ結果になります。
エラーはarray out of range in ‘EA’ (443,35)で

エラー場所は
if(OrderMagic == magic_array[StrToInteger(magics[i])-1]) return (true);の部分です。

新しいフォルダー (2).zip
GogoJungle
2025/07/24 16:50

追加の情報のご提供、誠にありがとうございます。
原因究明にはコード全体を確認する必要がありそうです。

お手数おかけしますが、こちらより、ソースファイルをzipにしてお送りいただければ、弊社エンジニアの方でコードの確認をさせていただきます。
(通常はいきなりDMをお送りいただいてもご返信を差し上げられない場合がございます。「弊社からの依頼に対するコードのご提供であること」の識別のため、メッセージの本文内に今回のQAのリンクhttps://labo.gogojungle.co.jp/articles/2241の記載をお願いします。)

調査後の回答につきましては、引き続きこのQAにてコメントさせていただきます。
お手数をおかけしますが、何卒よろしくお願いいたします。

GogoJungle
2025/07/26 11:37

ソースファイルのご提供ありがとうございました。
確認いたしましたところ、「全決済」オプションでしていするマジックナンバーが「0」になっておりました。

少しややこしいのですが、「全決済」オプションにおける「マジックナンバー」は EAつくーるにおけるマジックナンバーの初期値(「ポジション〇」の「〇」の値) をご入力いただく欄となっておりまして、入力すべき値は「0」ではなく「1」でございます。(「ポジション1」のマジックナンバー=「1」)

マジックナンバーは「1」を入力する

ソースをダウンロード

input int Magic1 = 1;と記載されている行をinput int Magic1 = 0;に変更する

という手順をお試しください。

関連トピックス

検索結果がありません。

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

注目トピックス

検索結果がありません。