MT4(MQL4)/MT5(MQL5)のIf-Else 条件演算子
もし〇〇なら△△するという演算子です。
if (式)
演算子 1
else
演算子 2
式が true の場合、演算子 1 が実行され、false の場合は演算子 2 が実行されます。
MT4→MT5になっても変わらず使えます。
サンプルコード
void OnInit()
{
int x;
Print("----------x=0の場合----------");
x = 0;
if(x==0)
Print("if-else(括弧なし) xは0です。 x = ",x);
else
Print("if-else(括弧なし) xは0ではありません。 x = ",x);
if(x==0)
{
Print("if-else(括弧あり) xは0です。 x = ",x);
}
else
{
Print("if-else(括弧あり) xは0ではありません。 x = ",x);
}
if(x==0)
{
Print("if-elseif-else xは0です。 x = ",x);
}
else if(x==1)
{
Print("if-elseif-else xは1です。 x = ",x);
}
else
{
Print("if-elseif-else xは0ではありません。 x = ",x);
}
Print("----------x=1の場合----------");
x = 1;
if(x==0)
Print("if-else(括弧なし) xは0です。 x = ",x);
else
Print("if-else(括弧なし) xは0ではありません。 x = ",x);
if(x==0)
{
Print("if-else(括弧あり) xは0です。 x = ",x);
}
else
{
Print("if-else(括弧あり) xは0ではありません。 x = ",x);
}
if(x==0)
{
Print("if-elseif-else xは0です。 x = ",x);
}
else if(x==1)
{
Print("if-elseif-else xは1です。 x = ",x);
}
else
{
Print("if-elseif-else xは0ではありません。 x = ",x);
}
Print("----------x=3の場合----------");
x = 3;
if(x==0)
Print("if-else(括弧なし) xは0です。 x = ",x);
else
Print("if-else(括弧なし) xは0ではありません。 x = ",x);
if(x==0)
{
Print("if-else(括弧あり) xは0です。 x = ",x);
}
else
{
Print("if-else(括弧あり) xは0ではありません。 x = ",x);
}
if(x==0)
{
Print("if-elseif-else xは0です。 x = ",x);
}
else if(x==1)
{
Print("if-elseif-else xは1です。 x = ",x);
}
else
{
Print("if-elseif-else xは0ではありません。 x = ",x);
}
//括弧をつける、つけないの基準 → 「条件が入り子」もしくは「実行したい内容が複数行」なら括弧が必要
int a = 0;
int b = 0;
if(a==1)
Print("1行目 a = ",a); //この行は実行されない(aは0でa==1を満たさないため)
Print("2行目 a = ",a); //この行は実行される(ifが1行目にのみ有効なため)
if(b==1)
{
Print("1行目 b = ",b); //この行は実行されない(bは0でb==1を満たさないため)
Print("2行目 b = ",b); //この行も実行されない
return;
}
return;
}
結果
----------x=0の場合----------
if-else(括弧なし) xは0です。 x = 0
if-else(括弧あり) xは0です。 x = 0
if-elseif-else xは0です。 x = 0
----------x=1の場合----------
if-else(括弧なし) xは0ではありません。 x = 1
if-else(括弧あり) xは0ではありません。 x = 1
if-elseif-else xは1です。 x = 1
----------x=3の場合----------
if-else(括弧なし) xは0ではありません。 x = 3
if-else(括弧あり) xは0ではありません。 x = 3
if-elseif-else xは0ではありません。 x = 3
2行目 a = 0
【参考】MQL5公式ページ
コメント / Comments