MT4のEAのプログラミングに関して教えてください。
以下の様にif(・・・の条件を複数設定すると全く取引せずレポートは白紙になるのですが、if(・・・を1行のみにすると正常に動作します。
double int Rousoku_L=1;
if(Rousoku_L==1 && ・・・・・・・・・・・・・・ )
if(Rousoku_L==2 && ・・・・・・・・・・・・・・ )
if(Rousoku_L==3 && ・・・・・・・・・・・・・・・ )//上と左の2行を削除すると正常に動作する。
{
OrderSend(Symbol(),OP_BUY,Lots・・・・・・・);
return(0);
}
if文を複数並べたい時はどこをどの様に変更すれば宜しいでしょうか?
Rousoku_Lの値を変更しても動作しません。
お手数ですが教えてください。
宜しくお願いします。
$ B2sEz#1
確かに
その書き方ではロウソクLが1でありかつ2でありかつ3であるという
超常現象が起きた場合にのみOrderSend()が実行されます。
ロウソクL=1と指定しているので通常は絶対に条件を満たしません。
仮にロウソクL=2と指定しても、同時に1でありかつ3である状態には
ならないのでやはり実行されません。
ロウソクLが1または2または3の場合にOrderSend()を実行したい場合は
if((ロウソクL==1 && 付帯条件)||(ロウソクL==2 && 付帯条件)||(ロウソクL==3 && 付帯条件))
{
オーダーセンド;リターン;
}
と書きます。
ifは一文だけで、条件全体を()で括ります。
改行は読みやすいように適宜行ってください。
||は「または」という意味です。
Originally posted 2019-09-09 19:30:42.