どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 890 1...883884885886887888889890891892893894895896897...1178 新しいコメント владимир 2015.04.14 20:07 #8891 evillive: こんな感じです。 ありがとうございます。でも、ちょっと違うんです。あるマジシャンのクロージング条件がいくつかあって、その逆を望んでいるんですね。 と思いついたのです。void CritCloseBuy() { if (OrderSelect(Ord, SELECT_BY_POS, MODE_TRADES)==true) { if ((OrderMagicNumber()==10011&&10033)&&(...условия1...) { ord_close=OrderClose(OrderTicket(),0.1, Bid, 0, Red); if (ord_close = false) { Comment("Закрытие позиции БАЙ завершилось с ошибкой #",GetLastError()); } else { Ord=0; } return; } if ((OrderMagicNumber()==10022&&10044&&10066)&&(...новые условия...)) { ord_close=OrderClose(OrderTicket(),0.1, Bid, 0, Red); if (ord_close = false) { Comment("Закрытие позиции БАЙ завершилось с ошибкой #",GetLastError()); } else { Ord=0; } return; } } } うまくいくのか?あるいは、何がいけないのでしょうか? Vitalie Postolache 2015.04.14 20:09 #8892 rapid_minus: ありがとうございます。でも、それはちょっと必要ないですね。1人のマジシャンに対して、いくつかのクロージング条件がありますが、その逆が必要なんですね。こんな風に思いつきました。 うまくいくのか?あるいは、何がいけないのでしょうか? それは...なんというか、繊細というか...。コードが1人のマジシャンのためのものなのに、じゃあ何のためのスイッチ なんだ?でも、ifhesでもいいんですけど、コンディションを考えないと、今あるものは本来の姿ではないんです。例えばif ((OrderMagicNumber()==10011&&10033)&&(...)は、コンパイル時にエラーにならないのでしょうか? владимир 2015.04.14 20:16 #8893 evillive: これは...なんというか、優しいというか...。 1人のマジシャンのためのコードなのに、じゃあ何のためのスイッチなんだ? 私はこのスイッチを理解していないのかもしれませんが、その表現では、1人のマジシャンがいて、いくつかのバリエーションある閉鎖条件と比較されるのです。 ZS: 続編を拝見しました。コードが完成していないので、まだコンパイルしていません。数値はAND演算で列挙できない? では、どうすればいいのか?各マジシャンに繰り返し? ZZZY:実は、ANDではなくORなんです。 Vitalie Postolache 2015.04.14 20:23 #8894 rapid_minus:では、どうすればいいのでしょうか?すべてのウィザードに繰り返すのか?そうですね。 また、スイッチについては、やはり入門書を読むべきで、そこでは逆に、任意の数のバリアントを処理します(ケース0:...、ケース1:...、ケースN:...、ここで番号=マジシャンの値)。例で書くのが面倒だったので、2つのマジシャンとデフォルトのバリアントしか書く時間がありませんでした ;) владимир 2015.04.14 20:29 #8895 evillive: ああ 結局、各マジシャンのORを書き出す必要はないのでは? Vitalie Postolache 2015.04.14 20:33 #8896 rapid_minus: マジシャンごとにORを書き出す必要はないんじゃないですか? 私たちは、フェディア、私たちは(C)べきである。 владимир 2015.04.14 20:34 #8897 evillive: そうですね。 そして、やはりスイッチについての入門書を読むと、そこでは逆に、任意の数のバリアントが処理されます(ケース0:...、ケース1:...、ケースN:...、ここで番号=マジシャンの値です)。例で書くのが面倒だったので、2つのマジシャンとデフォルトのオプションしか書く余裕がありませんでした ;) スイッチの説明ありがとうございました。誤解していた。 владимир 2015.04.14 21:17 #8898 それなのに、スイッチではifと同じように、魔導師が変わっても同じ終了条件の繰り返しになるんですね。 問題は、どちらのバリエーションがより多くのビットを食べることができるかということです。 Алексей Тарабанов 2015.04.14 22:45 #8899 rapid_minus:それなのに、スイッチではifと同じように、魔導師が変わっても同じ終了条件の繰り返しになるんですね。問題は、どちらのバリエーションがより多くのビットを食べることができるかということです。 私は何かを見逃していたのでしょうか。すでにコードを最適化しているのでしょうか。 Vitalie Postolache 2015.04.15 08:09 #8900 rapid_minus:それなのに、スイッチではifと同じように、魔導師が変わっても同じ終了条件の繰り返しになるんですね。問題は、どちらのバリエーションがより多くのビットを食べることができるかということです。これは if() と同じ分岐で、見た目がすっきりしているだけで、3つ以上の整数の単一選択がある場合はコーディングが簡単になります。選択肢が2つしかない場合、あるいは数値以外の式が比較される場合は、if()のみとなります。また、if()では複数のオプションを組み合わせることができますが(if( option1 && option2 || option3 ) {action;} )、switchは直接使うことができず、一度に1つずつしか使えません。スイッチ もし 切り換える{ case 1: オプション 1 で動作; break; case 2: オプション2に対するアクション; break; case 3: オプション3に対するアクション; break; default: デフォルトの動作; break;}if( case1 ) { case1での動作; }. else if( option2 ) { オプション2によるアクション; }. else if( option3 ) { オプション3によるアクション; }. else { default action; }. Any rookie question, so MT5でOrderSendを正しく動作させる方法 コーディングの方法は? 1...883884885886887888889890891892893894895896897...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんな感じです。
ありがとうございます。でも、ちょっと違うんです。あるマジシャンのクロージング条件がいくつかあって、その逆を望んでいるんですね。
と思いついたのです。
うまくいくのか?あるいは、何がいけないのでしょうか?ありがとうございます。でも、それはちょっと必要ないですね。1人のマジシャンに対して、いくつかのクロージング条件がありますが、その逆が必要なんですね。
こんな風に思いつきました。
うまくいくのか?あるいは、何がいけないのでしょうか?それは...なんというか、繊細というか...。
コードが1人のマジシャンのためのものなのに、じゃあ何のためのスイッチ なんだ?
でも、ifhesでもいいんですけど、コンディションを考えないと、今あるものは本来の姿ではないんです。
例えば
if ((OrderMagicNumber()==10011&&10033)&&(...)
は、コンパイル時にエラーにならないのでしょうか?
これは...なんというか、優しいというか...。
1人のマジシャンのためのコードなのに、じゃあ何のためのスイッチなんだ?
私はこのスイッチを理解していないのかもしれませんが、その表現では、1人のマジシャンがいて、いくつかのバリエーションある閉鎖条件と比較されるのです。
ZS: 続編を拝見しました。コードが完成していないので、まだコンパイルしていません。数値はAND演算で列挙できない?
では、どうすればいいのか?各マジシャンに繰り返し?
ZZZY:実は、ANDではなくORなんです。
では、どうすればいいのでしょうか?すべてのウィザードに繰り返すのか?
そうですね。
また、スイッチについては、やはり入門書を読むべきで、そこでは逆に、任意の数のバリアントを処理します(ケース0:...、ケース1:...、ケースN:...、ここで番号=マジシャンの値)。例で書くのが面倒だったので、2つのマジシャンとデフォルトのバリアントしか書く時間がありませんでした ;)
ああ
結局、各マジシャンのORを書き出す必要はないのでは?
マジシャンごとにORを書き出す必要はないんじゃないですか?
そうですね。
そして、やはりスイッチについての入門書を読むと、そこでは逆に、任意の数のバリアントが処理されます(ケース0:...、ケース1:...、ケースN:...、ここで番号=マジシャンの値です)。例で書くのが面倒だったので、2つのマジシャンとデフォルトのオプションしか書く余裕がありませんでした ;)
それなのに、スイッチではifと同じように、魔導師が変わっても同じ終了条件の繰り返しになるんですね。
問題は、どちらのバリエーションがより多くのビットを食べることができるかということです。
それなのに、スイッチではifと同じように、魔導師が変わっても同じ終了条件の繰り返しになるんですね。
問題は、どちらのバリエーションがより多くのビットを食べることができるかということです。
それなのに、スイッチではifと同じように、魔導師が変わっても同じ終了条件の繰り返しになるんですね。
問題は、どちらのバリエーションがより多くのビットを食べることができるかということです。
これは if() と同じ分岐で、見た目がすっきりしているだけで、3つ以上の整数の単一選択がある場合はコーディングが簡単になります。選択肢が2つしかない場合、あるいは数値以外の式が比較される場合は、if()のみとなります。また、if()では複数のオプションを組み合わせることができますが(if( option1 && option2 || option3 ) {action;} )、switchは直接使うことができず、一度に1つずつしか使えません。
{
case 1: オプション 1 で動作; break;
case 2: オプション2に対するアクション; break;
case 3: オプション3に対するアクション; break;
default: デフォルトの動作; break;
}
else if( option2 ) { オプション2によるアクション; }.
else if( option3 ) { オプション3によるアクション; }.
else { default action; }.