このページに書かれていること
EAが動かない場合、コードミスの可能性はもちろんあるのですが
単に正常動作できる環境が整っていないというケースも多いです。
このページではよくある設定ミスを掲載しています。
自動売買がオフになっている
最も多い原因がこれです。
EAが売買できる環境になっていると
MT4では右上にニコニコマークが表示され、MT5では博士のマークに色が付きます。

もし右上を見て上記のようになっていなければ
・自動売買ボタンがONになっていない
・EAの許可設定がされていない
のいずれかが原因です。
自動売買ボタンはONだが許可設定にチェックが入っていないケースは気づきにくいためご注意ください。

自動売買ボタンがOFFの状態でEAをチャートに入れると
許可設定のチェックが外れた状態で稼働してしまいます。
ボタンを使ってONOFFを頻繁に切り替える人だと、
ある時はチェックが入ってある時はチェックが外れている…という感じになるので見落としがちです。
ロットが銘柄の仕様に合っていない
銘柄によって最小取引量や単位が決まっています。
これは気配値表示の銘柄名を右クリック→仕様を表示することで確認できます。
「リクエスト内の無効なボリューム」というエラーが出たらここを確認してください。

例えば上記では最小取引数量が0.1、数量ステップが0.01となっています。
なのでロットは0.1、0.11、0.12…のようにしないといけません。
これが0.09では最小取引数量を満たさないため売買がされません。
もし数量ステップが0.1なら0.1、0.2、0.3…のような増え方になるため
0.15や0.23のようなロットでは売買できないことになります。
このエラーはログに出てこないため非常に見落としがちです。
また通信エラー時のバックテストでは最小取引量が0.1に固定されます。
そもそも売買できない環境になっている
[Trade is disabled]というエラーが表示される場合、売買そのものが許可されていない可能性があります。例えば楽天FXでは「重要事項に同意する」という操作をHP上で行わないと売買ができません。
他にはOANDAのように複数の口座タイプがある業者だと、
口座にあった銘柄を表示させないと売買できない場合があります。
例)USDJPYは売買できずUSDJPY-oを表示させて売買しないといけない
売買できる銘柄は気配値表示で「すべて非表示」→「すべて表示」を選択すれば出てきます。
朝の6:55~07:00まで売買禁止のような業者もありますし、
FXは売買できるがCFDはチャートが表示できるだけといったケースもあります。
売買できる環境になっているかは手動でエントリーしてみれば確認できますのでお試しください。
EAで売買できない口座を使っている
手動では売買できても、EAによる売買ができない口座というものがあります。
過去にはFXTFがこうした制限付きになっていました。
FX業者のHP等をご確認ください。
資金がない
「not enough memory」というエラーが出たら売買するための資金が足りていません。