mql4言語の特徴、微妙なニュアンスとテクニック - ページ 12 1...5678910111213141516171819...35 新しいコメント Vitaly Muzichenko 2018.07.17 19:07 #111 Ihor Herasko: 多くのソフトウェア会社では、このようなコードは指をすべて叩き切られてしまう。まず、いつでもどこでも求められるのは、「無駄な読書」をしないことです。例えば、関数を入力する際に条件を使用する場合。 と書くとよいでしょう。 この方法は、条件を付けることに対して非常に有効です。 改めて見ると面倒くさいですね。誰もOrderType()関数が何を返すか確認しなかったからです。それとも、-1や6が返ってきたのでしょうか?これは、コンパイラのプロパティに依存する例であり、常に避けるべきものです。あなた自身、クロスプラットフォームのコードの例をたくさん挙げていますね。では、なぜ今回はそこから離れていくのでしょうか?新しいMQコンパイラが登場すると、このコードはもう正しく動作しなくなります。 同じ状況が続いています。みたいなコード。 の方が読みにくい。 それでいて、実行の効率はどちらも同じです。それは全く残念なことです。 if (!OrderSelect(i, SELECT_BY_POS)) continue; if (OrderSymbol() != Symbol()) continue; if (OrderMagicNumber() != m_nMagicNumber) continue; Ihor Herasko 2018.07.17 19:16 #112 Vitaly Muzichenko:まったくもって残念な話ですよね。 ティニーって何?超表現の1行が大変なことになる。人間はコンピューターではないので、それ以外の条件を処理する必要はないのです。人間はコンピュータと違って、式全体を最後まで計算し、その最初の成分が誤った結果を導くことだけを理解しなければならない。 すべてが単純な条件によって分解されるエントリでは、この計算は不要である:最初の条件が満たされていない - 消えている。 文字列ではなく、時間を節約する必要があるのです。しかし、彼らはただ簡潔さを求めて戦うだけで、それは実際には操作と条件を互いに詰め込むことなのです。この梱包で生産性がかなり上がるのであれば、理解できるのですが。でも、そうじゃないんです。最大成長率は測定誤差の範囲内です。人々は、文字列の節約には関心があっても、コードの理解やデバッグに費やす時間の節約についてはまったく考えていないのです。 Vladislav Boyko 2018.07.17 19:33 #113 Ihor Herasko:スズって何?1行の超式......そこが大変なんです。人間はコンピュータではないので、残りの条件を処理する必要がないことをすぐに理解できる。人間はコンピュータと違って、式全体を最後まで計算し、その最初の成分が誤った結果を導くことだけを理解しなければならない。 記録では、すべてが単純な条件によって分解されるため、そのような計算は不要である。 文字列ではなく、時間を節約する必要があるのです。しかし、彼らはただ簡潔さを求めて戦うだけで、それは実際には操作と条件を互いに詰め込むことなのです。この梱包で生産性がかなり上がるのであれば、理解できるのですが。でも、そうじゃないんです。最大成長率は測定誤差の範囲内です。人々は、文字列の節約には関心があっても、コードの理解やデバッグに費やす時間の節約についてはまったく考えていないのです。読みにくい超式とは言いません。 if(!OrderSelect(i, SELECT_BY_POS) || OrderSymbol() != Symbol() || OrderMagicNumber() != m_nMagicNumber) continue; あ、あと「計算周期が短い」というのは、条件を読み取るときに、頭で考えなくても「自動的に」考慮される基本的なことですね。 繰り返しになりますが、純粋に主観的な意見です。 Alexey Viktorov 2018.07.18 07:04 #114 Vladislav Boyko:あなた自身も、習慣の問題だと認めていますね。 そして、何度も言います。別に習慣を変えて、フェルトペンの味の違いを探すことを勧めているわけではありません。 イゴール・マカヌおっしゃるとおり、好みの問題ですが、ご存知のとおり、フェルトペンはすべて違います )))) フェルトペンの群れは、色だけが違っていて、味は同じです。 Ihor Herasko 2018.07.18 08:03 #115 Vladislav Boyko:読みにくい最上級品とは言いません。 そして、ここで何かを呼び出す必要はありません。今のところ、私の反対派(あなたも含めて)は、この表現が改行より読みやすいという主張を一つもしていません。 しかし、私からは、3つもの主張がなされています。 長い線は 視野に入りません。少なくとも最小限の頭部の回転を必要とする(処理時間が長くなる)。短い線とそれに続く線は、それほど大きな力を必要としません。長い列の中では、ミスをしても気づかないことが多い。行に分けることで、このようなミスが発生する確率を下げることができます。長い線はデバッグができない。文字列に分割することは問題ありません。主観的な好みがない。すべては実用的なセンスによって正当化され、それ以上のことはないのです。たしかに、右足のかかとで左耳を掻いたほうが便利な人もいるかもしれませんが、この方法が実用的かというと、そうではありません。自然界では、すべてが実用性に左右され、より実用性の高いものが生き残る。 Alexey Viktorov 2018.07.18 10:29 #116 Ihor Herasko: また、ここで何かを名指しする必要はありません。今のところ、私の反対派(あなたも含めて)は、この表現が改行より読みやすいという主張を一つもしていません。 しかし、私からは、3つもの主張がなされています。 長い線は 視野に入りません。少なくとも最小限の頭部の回転を必要とする(処理時間が長くなる)。短い線とそれに続く線は、それほど大きな力を必要としません。長い列の中では、ミスをしても気づかないことが多い。行に分割することで、このようなミスが発生する確率が下がります。長い線はデバッグができない。文字列に分割することは問題ありません。主観的な好みがない。すべては実用的なセンスによって正当化され、それ以上のことはないのです。たしかに、右足のかかとで左耳を掻いたほうが便利な人もいるかもしれませんが、この方法が実用的かというと、そうではありません。そして自然界では、すべてが実用性に左右され、より実用性の高いものが生き残る。イゴール 眼球が眼窩の中で動かず、頭を回さなければならない場合、そのように書くことができます。 if(OrderSelect(i, SELECT_BY_POS) && OrderSymbol() == _Symbol && OrderMagicNumber() == m_nMagicNumber) { // Делаем что надо... }そして、エラーが出ている短いセリフにどれだけ出くわしたことか......。どうやら、エラーの数や確率は線の長さには依存しないようです。 デバッグで納得するしかない。しかし、その習慣はmql4でデバッガが登場する前から身についており、誰もが習慣を変えることができるわけではありません。 Vitaly Muzichenko 2018.07.18 19:47 #117 Alexey Viktorov:イゴール 眼窩の中で目が動かず、首を回さなければならない場合は、そのように書けばいいのです。 そして、エラーが出ている短いセリフにどれだけ出くわしたことか......。どうやら間違いの数や確率は、線の長さには関係ないようです。 デバッグに納得するしかない。しかし、その習慣はmql4のデバッガ以前から身に付いているもので、誰もが習慣を変えることができるわけではありません。しかし、このスタイルでは、プログラムの1ブロックを見るのに、画面を2回スクロールしなければならず、1つの画面ですべてのコードを見るよりも、操作性が悪くなります。(あなたに関することではなく、あくまで一例です)。 Andrey Khatimlianskii 2018.07.20 22:18 #118 fxsaber:残念ながら、この神話はフォーラムの歴史に何の裏付けもありません。しかも、開発者は一貫して「原則的にそのような変更はできない」という立場を明確にしています。そんなものがあったんですね。仕分けが影響したのです。 おそらく、旧metatrader4.comのフォーラム(最近もオープン、現在はmql5.comにリダイレクトされています)で議論されていたのでしょう。 Alexey Viktorov 2018.07.21 05:49 #119 Andrey Khatimlianskii:こんな感じでしたね。仕分けに影響が出た。旧metatrader4.comのフォーラム(最近もオープン、現在はmql5.comにリダイレクトされています)で議論されていたのでしょう。そうだった、そうだった。今までのヒストリカルオーダーの 数と同じように、「今日」を設定すると、OrdersHistoryTotal()は今日決済された注文の数を返します。履歴」タブに古い注文が表示されない場合は、チケットでもご利用いただけません。 Artyom Trishkin 2018.07.21 06:37 #120 Alexey Viktorov:そうだった、そうだった。今までのヒストリカルオーダーの 数と同じように、「Today」を設定すると、OrdersHistoryTotal()は今日決済された注文の数を返します。履歴」タブに古い注文が表示されない場合は、チケット単位でも利用できません。それは仕分けについてです。当時は、時間順にソートされていないと、インデックスで最後の1枚を探すことができなかったんですねー。 そして今、歴史の深さは、選択されたタブに依存しない?私見では、今でもそうだと思います。 1...5678910111213141516171819...35 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
多くのソフトウェア会社では、このようなコードは指をすべて叩き切られてしまう。まず、いつでもどこでも求められるのは、「無駄な読書」をしないことです。例えば、関数を入力する際に条件を使用する場合。
と書くとよいでしょう。
この方法は、条件を付けることに対して非常に有効です。
改めて見ると面倒くさいですね。誰もOrderType()関数が何を返すか確認しなかったからです。それとも、-1や6が返ってきたのでしょうか?これは、コンパイラのプロパティに依存する例であり、常に避けるべきものです。あなた自身、クロスプラットフォームのコードの例をたくさん挙げていますね。では、なぜ今回はそこから離れていくのでしょうか?新しいMQコンパイラが登場すると、このコードはもう正しく動作しなくなります。
同じ状況が続いています。みたいなコード。
の方が読みにくい。
それでいて、実行の効率はどちらも同じです。それは全く残念なことです。
まったくもって残念な話ですよね。
ティニーって何?超表現の1行が大変なことになる。人間はコンピューターではないので、それ以外の条件を処理する必要はないのです。人間はコンピュータと違って、式全体を最後まで計算し、その最初の成分が誤った結果を導くことだけを理解しなければならない。
すべてが単純な条件によって分解されるエントリでは、この計算は不要である:最初の条件が満たされていない - 消えている。
文字列ではなく、時間を節約する必要があるのです。しかし、彼らはただ簡潔さを求めて戦うだけで、それは実際には操作と条件を互いに詰め込むことなのです。この梱包で生産性がかなり上がるのであれば、理解できるのですが。でも、そうじゃないんです。最大成長率は測定誤差の範囲内です。人々は、文字列の節約には関心があっても、コードの理解やデバッグに費やす時間の節約についてはまったく考えていないのです。
スズって何?1行の超式......そこが大変なんです。人間はコンピュータではないので、残りの条件を処理する必要がないことをすぐに理解できる。人間はコンピュータと違って、式全体を最後まで計算し、その最初の成分が誤った結果を導くことだけを理解しなければならない。
記録では、すべてが単純な条件によって分解されるため、そのような計算は不要である。
文字列ではなく、時間を節約する必要があるのです。しかし、彼らはただ簡潔さを求めて戦うだけで、それは実際には操作と条件を互いに詰め込むことなのです。この梱包で生産性がかなり上がるのであれば、理解できるのですが。でも、そうじゃないんです。最大成長率は測定誤差の範囲内です。人々は、文字列の節約には関心があっても、コードの理解やデバッグに費やす時間の節約についてはまったく考えていないのです。
読みにくい超式とは言いません。
あ、あと「計算周期が短い」というのは、条件を読み取るときに、頭で考えなくても「自動的に」考慮される基本的なことですね。
繰り返しになりますが、純粋に主観的な意見です。
あなた自身も、習慣の問題だと認めていますね。
そして、何度も言います。別に習慣を変えて、フェルトペンの味の違いを探すことを勧めているわけではありません。
おっしゃるとおり、好みの問題ですが、ご存知のとおり、フェルトペンはすべて違います ))))
読みにくい最上級品とは言いません。
そして、ここで何かを呼び出す必要はありません。今のところ、私の反対派(あなたも含めて)は、この表現が改行より読みやすいという主張を一つもしていません。
しかし、私からは、3つもの主張がなされています。
また、ここで何かを名指しする必要はありません。今のところ、私の反対派(あなたも含めて)は、この表現が改行より読みやすいという主張を一つもしていません。
しかし、私からは、3つもの主張がなされています。
イゴール 眼球が眼窩の中で動かず、頭を回さなければならない場合、そのように書くことができます。
そして、エラーが出ている短いセリフにどれだけ出くわしたことか......。どうやら、エラーの数や確率は線の長さには依存しないようです。
デバッグで納得するしかない。しかし、その習慣はmql4でデバッガが登場する前から身についており、誰もが習慣を変えることができるわけではありません。
イゴール 眼窩の中で目が動かず、首を回さなければならない場合は、そのように書けばいいのです。
そして、エラーが出ている短いセリフにどれだけ出くわしたことか......。どうやら間違いの数や確率は、線の長さには関係ないようです。
デバッグに納得するしかない。しかし、その習慣はmql4のデバッガ以前から身に付いているもので、誰もが習慣を変えることができるわけではありません。
しかし、このスタイルでは、プログラムの1ブロックを見るのに、画面を2回スクロールしなければならず、1つの画面ですべてのコードを見るよりも、操作性が悪くなります。(あなたに関することではなく、あくまで一例です)。
残念ながら、この神話はフォーラムの歴史に何の裏付けもありません。しかも、開発者は一貫して「原則的にそのような変更はできない」という立場を明確にしています。
そんなものがあったんですね。仕分けが影響したのです。
おそらく、旧metatrader4.comのフォーラム(最近もオープン、現在はmql5.comにリダイレクトされています)で議論されていたのでしょう。
こんな感じでしたね。仕分けに影響が出た。
旧metatrader4.comのフォーラム(最近もオープン、現在はmql5.comにリダイレクトされています)で議論されていたのでしょう。
そうだった、そうだった。今までのヒストリカルオーダーの 数と同じように、「今日」を設定すると、OrdersHistoryTotal()は今日決済された注文の数を返します。履歴」タブに古い注文が表示されない場合は、チケットでもご利用いただけません。
そうだった、そうだった。今までのヒストリカルオーダーの 数と同じように、「Today」を設定すると、OrdersHistoryTotal()は今日決済された注文の数を返します。履歴」タブに古い注文が表示されない場合は、チケット単位でも利用できません。
それは仕分けについてです。当時は、時間順にソートされていないと、インデックスで最後の1枚を探すことができなかったんですねー。
そして今、歴史の深さは、選択されたタブに依存しない?私見では、今でもそうだと思います。