どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 236 1...229230231232233234235236237238239240241242243...1178 新しいコメント Sergey Dzyublik 2013.11.03 16:22 #2351 int start(){ int a=0; if (5>3) if (5>3) if (5>3){Alert ("AAAAAAAAAAAAAAAAAAAAAAA"); a=5;} else Alert ("a=", a); else Alert ("a=", a+1); else Alert ("a=", a+2); } 最初の条件を満たさない場合は、"a=2 "というアラートが表示されます。 2番目の条件を満たさない場合、"a=1 "というアラートが表示されます。 3つ目の条件を満たさない場合、「a=0」というアラートが表示されます。 ああ、そもそも最初は予想外だったんだ)) barbarian 2013.11.03 16:23 #2352 ALXIMIKS: このスクリプトからAlertは出ない。Elseは、「if (5>3){Alert ("AAAAAAAAAAAAAAA"); a=5;}」という 条件です。" 謝辞: は、anAlert: "a=0 "を持つ。 その結果、ある一連の条件の列挙中に中括弧"{"を使用しない場合、最後の条件に対してのみ非条件処理が可能になる。 その通り、ロジックは有効です。ただ、すべてを一列に並べるのはやめましょう。 int start(){ int a=0; if (3>3) if (5>3) if (5>3){Alert ("AAAAAAAAAAAAAAAAAAAAAAA"); a=5;} else Alert ("a=", a); } となれば、よりクリアになるはずです。演算子1;演算子2;演算子N}のように、真の場合は括弧が必要です。演算子が1つだけの場合は中括弧を省略することができ、演算子は条件でもあるため、すべてが繰り返される。 Sergey Dzyublik 2013.11.03 16:23 #2353 artmedia70: つまり、論理的な分岐を整理するために括弧が必要なのである。それがなければ、第一条件は基本です。もし、それが真実でなければ、他の条件も満たされないことになります。 工夫してみてください。 そしてその後に、他に何を指しているのかを考えてみてください。 else は " if (b>c)" を指します。 Antonius 2013.11.03 20:21 #2354 こんにちは。 if (DayOfWeek()==DayOfWeekIf && TimeCurrent()>=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeIf) && TimeCurrent()<StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeIf)+Duration) { if (iClose("XAUUSD",PERIOD_H1,0)-iOpen("XAUUSD",PERIOD_H1,0)>=0) Sell = true; if (iOpen("XAUUSD",PERIOD_H1,0)-iClose("XAUUSD",PERIOD_H1,0)>0) Sell =false; } if (DayOfWeek()==DayOfWeekOpen && TimeCurrent()>=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeOpen) && TimeCurrent()<StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeOpen)+Duration) {... 考え方としては、このような日のこのような時間にローソク足が強気であれば売り=真、弱気であれば偽ということです。そして、そのような日のそのような時間に、sell=trueなら売り、その逆なら買いとする。 しかし、この条件はなぜかうまくいかず、すべての取引が売りのために開かれています。M1でテストしています。 Artyom Trishkin 2013.11.03 20:45 #2355 ALXIMIKS: elseは「 if (b>c)」を指します。 正解です。 if (a>b) if (b>c) Alert(" условие if (a>b && b>c) выполнено "); else if (d>e) if (e>f) Alert(" условие if (d>e && e>f) выполнено"); 今度は、中括弧を使わないでロジックを作ってみてください。 (a>b)の場合、if (b>c)Alert()の 行が実行されます。 それ以外の場合は、(d>e) ならば、(e>f) ならば Alert() の行が実行される。 つまり、elseは一番最初の条件を参照するようにするのです。中括弧を使用しない場合 Artyom Trishkin 2013.11.03 20:59 #2356 Antonius: こんにちは。 考え方としては、このような日のこのような時間にローソク足が強気であれば売り=真、弱気であれば偽ということです。そして、そのような日のそのような時間に、sell=trueなら売り、その逆なら買いとする。 しかし、この条件はなぜかうまくいかず、すべての取引が売りのために開かれています。M1でテストしてみました。 きっとこの部分なんでしょうね。未知の変数が多く、開口部そのものが見えないので、結論を出すのは難しいですね。 自分で原因を調べるには、変数の値をコメント付きで印刷または表示します。そうすれば、いつでもその値を確認することができます。 Sergey Dzyublik 2013.11.03 21:11 #2357 Antonius: こんにちは。 考え方としては、このような日のこのような時間にローソク足が強気であれば売り=真、弱気であれば偽ということです。そして、そのような日のそのような時間に、sell=trueなら売り、その逆なら買いとする。 しかし、この条件はなぜかうまくいかず、すべての取引が売りのために開かれています。M1でテストしています。 このような比較は可能でしょうか? 右の部分(「型変換では、すべてを "yyyy.mm.dd "TimeTradeIf という値で文字列にします」)が気に入らないのですが、どうでしょうか? TimeCurrent()>=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeTradeIf Artyom Trishkin 2013.11.03 21:15 #2358 ALXIMIKS: 右の部分("yyyy.mm.dd "TimeTradeIf " の値が文字列に変換される)が気に入らないのですが......? TimeTradeIfの値が計算値に加算されていることがわかります。 TimeTradeIf に含まれる内容を正確に伝え、示したのは誰ですか? それは、その人のコードに問題を探すために、未知で不明瞭な値がたくさんあることを書いたのです。 Sergey Dzyublik 2013.11.03 21:22 #2359 artmedia70: 正解です。 今度は、中括弧を使わないでロジックを作ってみてください。 (a>b)の場合、if (b>c) Alert()の行が実行されます。 それ以外の場合は、(d>e) ならば、(e>f) ならば Alert() の行が実行される。 つまり、elseは一番最初の条件を参照するようにするのです。中括弧なし。 if (a>b) if (b>c) Alert(" условие if (a>b && b>c) выполнено "); else; else if (d>e) if (e>f)Alert(" условие if (d>e && e>f) выполнено"); Takiさんがやってくれたのですが、中括弧がないとロジックを読むのに不便だし、コンパイラもまだ少しこけるし、 ";' - セミコロンが想定外 " が、a>b を満たさない場合は「(d>e && e>f) が満たされる場合 」という警告が出ます。(もし私がその課題をそう理解していたなら)。 Alexander 2013.11.04 01:31 #2360 Antonius: こんにちは。 考え方としては、このような日のこのような時間にローソク足が強気であれば売り=真、弱気であれば偽ということです。そして、そのような日のそのような時間に、sell=trueなら売り、その逆なら買いとする。 しかし、この条件はなぜかうまくいかず、すべての取引が売りのために開かれています。M1でテストしています。 私の考えでは、計算はゼロバーの始まりで、オープニングがまだクロージングと等しく、もちろん差は0であるとき、私は前のバーをチェックする必要があります。 1...229230231232233234235236237238239240241242243...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
最初の条件を満たさない場合は、"a=2 "というアラートが表示されます。
2番目の条件を満たさない場合、"a=1 "というアラートが表示されます。
3つ目の条件を満たさない場合、「a=0」というアラートが表示されます。
ああ、そもそも最初は予想外だったんだ))
このスクリプトからAlertは出ない。Elseは、「if (5>3){Alert ("AAAAAAAAAAAAAAA"); a=5;}」という 条件です。"
謝辞:
は、anAlert: "a=0 "を持つ。
その結果、ある一連の条件の列挙中に中括弧"{"を使用しない場合、最後の条件に対してのみ非条件処理が可能になる。
その通り、ロジックは有効です。ただ、すべてを一列に並べるのはやめましょう。
となれば、よりクリアになるはずです。演算子1;演算子2;演算子N}のように、真の場合は括弧が必要です。演算子が1つだけの場合は中括弧を省略することができ、演算子は条件でもあるため、すべてが繰り返される。つまり、論理的な分岐を整理するために括弧が必要なのである。それがなければ、第一条件は基本です。もし、それが真実でなければ、他の条件も満たされないことになります。
工夫してみてください。
そしてその後に、他に何を指しているのかを考えてみてください。
else は " if (b>c)" を指します。
こんにちは。
考え方としては、このような日のこのような時間にローソク足が強気であれば売り=真、弱気であれば偽ということです。そして、そのような日のそのような時間に、sell=trueなら売り、その逆なら買いとする。
しかし、この条件はなぜかうまくいかず、すべての取引が売りのために開かれています。M1でテストしています。
elseは「 if (b>c)」を指します。
正解です。
今度は、中括弧を使わないでロジックを作ってみてください。
(a>b)の場合、if (b>c)Alert()の 行が実行されます。
それ以外の場合は、(d>e) ならば、(e>f) ならば Alert() の行が実行される。
つまり、elseは一番最初の条件を参照するようにするのです。中括弧を使用しない場合
こんにちは。
考え方としては、このような日のこのような時間にローソク足が強気であれば売り=真、弱気であれば偽ということです。そして、そのような日のそのような時間に、sell=trueなら売り、その逆なら買いとする。
しかし、この条件はなぜかうまくいかず、すべての取引が売りのために開かれています。M1でテストしてみました。
きっとこの部分なんでしょうね。未知の変数が多く、開口部そのものが見えないので、結論を出すのは難しいですね。
自分で原因を調べるには、変数の値をコメント付きで印刷または表示します。そうすれば、いつでもその値を確認することができます。
こんにちは。
考え方としては、このような日のこのような時間にローソク足が強気であれば売り=真、弱気であれば偽ということです。そして、そのような日のそのような時間に、sell=trueなら売り、その逆なら買いとする。
しかし、この条件はなぜかうまくいかず、すべての取引が売りのために開かれています。M1でテストしています。
右の部分("yyyy.mm.dd "TimeTradeIf " の値が文字列に変換される)が気に入らないのですが......?
TimeTradeIfの値が計算値に加算されていることがわかります。 TimeTradeIf に含まれる内容を正確に伝え、示したのは誰ですか?
それは、その人のコードに問題を探すために、未知で不明瞭な値がたくさんあることを書いたのです。
正解です。
今度は、中括弧を使わないでロジックを作ってみてください。
(a>b)の場合、if (b>c) Alert()の行が実行されます。
それ以外の場合は、(d>e) ならば、(e>f) ならば Alert() の行が実行される。
つまり、elseは一番最初の条件を参照するようにするのです。中括弧なし。
Takiさんがやってくれたのですが、中括弧がないとロジックを読むのに不便だし、コンパイラもまだ少しこけるし、 ";' - セミコロンが想定外 "
が、a>b を満たさない場合は「(d>e && e>f) が満たされる場合 」という警告が出ます。(もし私がその課題をそう理解していたなら)。
こんにちは。
考え方としては、このような日のこのような時間にローソク足が強気であれば売り=真、弱気であれば偽ということです。そして、そのような日のそのような時間に、sell=trueなら売り、その逆なら買いとする。
しかし、この条件はなぜかうまくいかず、すべての取引が売りのために開かれています。M1でテストしています。
私の考えでは、計算はゼロバーの始まりで、オープニングがまだクロージングと等しく、もちろん差は0であるとき、私は前のバーをチェックする必要があります。