ゼロから教えるだけでなく、新人がMQL4のプロフェッショナルの仲間入りをするための手助けもしています。 - ページ 7

 
Dmitry Sumsky:

私のコードの欠陥を探すのに何時間も費やすより他にすることがないのか、それとも私が厄介者だから仕返しをしたいのか?

あなたは変な人ね、アンドリュー...

何のためのフォーラムなのか?-- 楽しみに。

私は今、ソーサーから出した紅茶とケーキを食べています。フォーラムに目を通すと、何か楽しいことが見つかるかもしれません。

p.s. なぜ復讐が必要なのか、その理由は何ですか?-- p.s.2 怒らないでください。面白いことに、あなたの話題はいつも私にとっては勉強になるのです。


p.s.2 怒らないでください、私の投稿は削除しました。本当に刺々しい内容だったかもしれませんが、決してあなたを傷つけるつもりはありませんでした。

 
Andrey F. Zelinsky:

で、何のためのフォーラムなんだ?-- 楽しみながら。

私は紅茶とクランペットを食べています。フォーラムをブラウズしているので、何か楽しいことが見つかるかもしれません。

p.s. なぜ復讐が必要なのか、何のために?- 不見識

それに、ディモーチカ、最初に攻撃してきたのは君だろう、僕は純粋に傷ついた側なんだ。

あなたはとても無邪気な女の子です。あなたは私のベビーベッドに侵入し、私の人生をどのように生きるかを話し始めました。私は、真実をすべて話しただけです。どうやら、真実が喉元まで出かかったので、何とかして私を困らせるために、何か手がかりを見つけようと思ったようですね。しかし、わめけばわめくほど、自分の恥をさらすことになる。これからも人前で恥をかいて、私を挑発し続けるがいい。ここはフォーラム、笑いの場です。しかも、読むのは私やあなただけではありません...。)))
 
Dmitry Sumsky:
あなたはとても無邪気な女の子です。私のベビーベッドに侵入し、私の生き方に口を出す。私が言ったことは、すべて真実です。どうやら、真実が喉元まで出かかって、どうにかして私を困らせるために、何か手がかりを見つけようと思ったようですね。しかし、わめけばわめくほど、自分の恥をさらすことになる。これからも人前で恥をかいて、私を挑発し続けるがいい。ここはフォーラム、笑いの場です。しかも、読むのは私やあなただけではありません...。)))

と書きました。

アンドレイ・F・ゼリンスキー

p.s.2 怒らないでください、私の投稿は削除しました。たぶん、刺々しい投稿だったのでしょう。

-- そして、あなたは攻撃を続ける......私は自分の投稿を削除すべきではなかったかもしれません。

 
Andrey F. Zelinsky:

あなた...私はあなたに手紙を書きました。

-- そしてあなたは攻撃を続ける -- 私は無意味に私の投稿を削除したに違いない。

私が書いている間に削除されたのでしょう。そうですか、残念です...。)))
 
Dmitry Sumsky:

このスレッドは、勉強しようと思っても、長くて苦痛に感じる人のために作られたものです。私は、言語の習得を早め、さらにコンピュータのメモリ上でどのように動作するかを理解し、「なんとなく」やってから最適化を図るのではなく、一度に最適なコードを プログラミングできるよう、協力を申し出ただけです......。)))

このような構成は、あまり最適ではないと思います。

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

式2」は繰り返し実行のたびに真偽を確認するため、関数が呼ばれる たびに変数と比較するよりも時間がかかるので、for 演算子の前にiBars() 関数の結果を変数に代入した方がよいでしょう。

 
Vasiliy Pushkaryov:

このようなデザインは、あまり最適とは言えないと思います。

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

式2」は繰り返し実行するたびに真偽を確認し、関数を 呼び出すたびに変数と比較するよりも時間がかかるので、for 文の前にiBars() 関数の結果を変数に代入しておくとよいでしょう。

そうですね、基本的にはそうしています。そして、どこからパスを開始しても違いがない場合は、for(int i=iBars(NULL,SarPeriod)-1; i>=0; i--)と書きます。これは、処理に最適で、文字列の文字数も少なくなります。このコードでは、100%の最適化を目指したわけではなく、文字列を少なくしなければならなかったので、そのように書きました...。)))

一番プロセスを「食って」いるのはiCustomなどで、そこそこたくさん持っている。本来ならExpert Advisor自体に、使っているすべてのインジケータのアルゴリズムを書き込んで「飛ぶ」ようにしなければならないのですが、そんな作業はしていませんでした......。

 
Dmitry Sumsky:
そうですね、基本的にはそうしています。また、どこからパスを始めても同じなら、for(int i=iBars(NULL,SarPeriod)-1; i>=0; i--)と書きます。これは、処理に最適で、文字列の文字数が少なくなります。このコードでは、100%の最適化を目指したわけではなく、文字列を少なくしなければならなかったので、そのように書きました...。)))
なるほど。それなら、あなたの生徒さんにも満足していただけると思います。)
 
Vasiliy Pushkaryov:

このようなデザインは、あまり最適とは言えないと思います。

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

for 文の前にiBars() の結果を変数に代入した方が良い。「式2」は反復するたびに真偽を確かめるので、関数が呼ばれる たびに変数と比較するよりも時間がかかるからである。

そんなに重要なことではないんです。クヌースの『プログラミングの技術』には、こんなことが書いてあったと記憶しています--優れたプログラマーはそうでなければならない。

1. 任意のプログラムを短縮または最適化することができる。

2.絶対にやらない。

 
Yuriy Asaulenko:

そんなことはどうでもいいんです。クヌースの『プログラミングの技術』には、こんなことが書いてあったと記憶している。「優れたプログラマーはそうあるべきだ」と。

1. 任意のプログラムを短縮または最適化することができる。

2.絶対にやらない。

私はこの方法の方が好きです。

私が関数を書くと、長くて複雑なものになります。多段インデントやネストされたループを含む。彼らは長い引数リストを持っています。名前は無秩序に選ばれ、コードには重複がある。しかし、私はこれらの不格好な行の最後の1つまでのユニットテスト一式も持っています。

そこで、新しい関数をハイライトし、名前を変え、重複を排除しながら、コードを「とかし」、洗練させ始めます。メソッドを短くしたり、並べ替えたりしています。時にはクラス全体を壊さなければならないこともありますが、すべてのテストが正常に実行されることを確認します。

結局、このカテゴリーのルールに則って作られた機能が残っているんです。最初からそういう書き方はしないんです。そして、誰でもできるわけでは全くないと思います。

ロバート・マーティン『Clean Code』。作成、解析、リファクタリング。

できる人がいてやる、できる人がいてやらない、それはその人のやり方の問題なんです。

 
Vasiliy Pushkaryov:

私はこの方法の方が好きです。

できる人、できない人、やり方次第です。

これらは相互に排他的なアプローチではありません。それらは、異なるものについてのものです。