MT4 EA Order Send Error 4110 作成した EA の間違い点…

を教えてください
売りのエントリーのエラーです iCustomで作成 同じ書きかたの買いはエラーが出ず動作します

ストキャスのクロスでライン条件をつけたもの(Lpoint⇒25 Spoint⇒75 等)
買いエントリー文 if (stc1>sig1 && stc2<sig2) <= Lpoint
売りエントリー文 if (stc1<sig1 && stc2>sig2) >= Spoint
(文字は省略しています)
買いの動作は正常ですが売りのみ エラーとなります
>=Spoint の部分外せば 動作しますが この部分に 文字表示
あるいは 直接 数値 75 等入れると動作しません
(買いは全く同じ書きかたで正常です)

..[補足]..
説明不足でした
positinsはLong&Shortをチェック済みです
Long only Short only 等の確認もしています
(Shortonlyは当然 動作していません)
>=Spointの文を消せば Sellの稼働します

回答1

EAの設定で制限しているらしいです。

EAのプロパティーの全般タブからPositionをLong&Shortに変更してください。

バックテストならExpert propertiesのTestingタブからです。

他者様個人サイト MQLリファレンス日本語訳 エラーコード一覧
http://www.metasys-seeker.net/MQL4_Reference_ver1/02-19_ErrorCodes….

補足

4110 longs are not allowed in the expert properties

よく見たらエラーコード4110は、short onlyの設定中に買いオーダーを出したときのエラーです。
買いオーダーが通るのも、売りオーダーでこのエラーが出るのもおかしいです。
なぜこうなったのかはちょっとわかりません。

このエラーと関係あるかはわかり 泙擦鵑、if文の書き方が間違っているようです。

条件の内容が、
「ストキャスティックがクロス上抜けかつメインの値が25以下」
「ストキャスティックがクロス下抜けかつメインの値が75以上」
ということでしたら、

if( stc1>sig1 && stc2<sig2 && stc1 <= 25 ){
//買いシグナル
}

if( stc1<sig1 && stc2>sig2 && stc1 >= 75 ){
//売りシグナル
}

です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA