MQL5言語をゼロから独学で学ぶ - ページ 42

 
MrBrooklin:

私はプログラミング言語MQL 5の勉強を続けており、このスレッドの参加者からあるタスクの続きであるスクリプトのコードを投稿しています。スクリプトはすべてのモードでテストされています。問題なく検出されました。入力パラメーターの最小数を最初に設定しました。スクリプトのコードは英語で書かれていますが、コードへのコメントはロシア語で書かれており、学習しやすい ように配慮されています。先ほどの約束通り、プログラミングスクールの1期生にもわかるようにスクリプトを記述してみました。

ウラジミールさん、ありがとうございます。

大丈夫

アルゴリズムロジックのコードをより読みやすくしました。

が、わずか2行で判明しました。

if(have_time()>=Period_learning && have_time()!=0 && have_patience()==true)Print("Я выучу язык MQL5!");
else Print("Я не выучу язык MQL5!");

コメントも必要ない。

 
Renat Akhtyamov:

大丈夫

アルゴリズム・ロジック・コードをより読みやすくしました。

たった2行です。

if(have_time()>=Period_learning && have_time()!=0 && have_patience()==true)Print("Я выучу язык MQL5!");
else Print("Я не выучу язык MQL5!");

コメントも必要ない。

レナートさん、こんにちは。そうですね、あまりコメントは書かない方がいいかもしれませんが、プログラミングの知識がない初心者の皆さんには助けになると思います。もし、この仕事を先にやっている人がいたら、習得はもっと早かったでしょう。コメントによって、自分のコードをより早く記憶することができます。もしかしたら、今後、解説文が短くなるかもしれませんね。

ウラジミールさん、ありがとうございます。

 
Roman Shiredchenko:


あなたのコードとロジックは正しいです。昨日見たIMHOでは、最初は自分でもゼロに驚きましたが、差分チップに追いついて......。:-)

ローマンさん、こんにちは。そう、技術教育の結果であり、私の思考ロジックは少し違うのですが、ピーターさんの言うとおりゼロになったので、スクリプトのコードを変更しました。

ウラジミールさん、ありがとうございます。

 
MrBrooklin:

私はプログラミング言語MQL 5の勉強を続けており、このスレッドの参加者からあるタスクの続きであるスクリプトのコードを投稿しています。スクリプトはすべてのモードでテストされています。問題なく検出されました。入力パラメーターの最小数を最初に設定しました。スクリプトのコードは英語で書かれていますが、コードへのコメントはロシア語で書かれており、学習しやすいように配慮されています。先ほどの約束通り、プログラミングスクールの1期生にもわかるようにスクリプトを記述してみました。

ウラジミールさん、ありがとうございます。

ロジックに問題が残っている。

1.関数は何かを計算するはずです。この場合、どちらの関数も入力変数の値でグローバル変 数を初期化し、それ以外のことは行いません。つまり、条件の中にinpu変数を入れても何も変わりません。

2. have_timeはDays_passedと同じで、ユーザーが設定する。条件としては、if(have_time() >= period_learning...となっています。というのが500で、その後に && have_time() >0 と出る...これは論理エラーです。もしhave_time()が500以上なら、have_time()はすでに0以上なので、このコードは不要である。

3.学ぶか学ばないかを問う結果は、フックだけに左右されるものではないはずです。自分の意思に関係なく計算に影響を与える、未定義の値を持つ変数を考える必要があります。そうでない場合は、入力したものがそのまま表示されます。


追記:have_time > 0と入力するとperoid_learningの値が制御されるので、負の値や0を入力する場合は、 && period_learning > 0と入力するのが正しいです。
 
Fast235:

まず、Dmitry Fedoseyevから文字列変数の 扱い方を学びます。他人のコードを勉強する段階では、infostringementsは非常に霧がかかったようなものです。

彼がレビューした記事ですべてが明らかになり、細かい点については一通り学ぶことができます、私はここのほとんどの記事の読者として話しています、私より多く読んでいる人はいないと思います)

こんにちは、情報をありがとうございます。Dmitry Fedoseyevの記事を読んでいますが、今のところ基礎的な訓練を受けていないので、彼の記事から学ぶことは難しいです。もっと楽になるといいんだけど。ちなみに、Learning_MQL5.mq5スクリプトを書いたことで、関数とは何か、何に使うのが良いのか、どうやって作るのかが真剣に理解できました

ウラジミールさん、よろしくお願いします。

 
Реter Konow:
ロジックの問題は残る。

1.関数は何かを計算しなければならない。この場合、どちらの関数もグローバル変 数をピップ変数の値で初期化し、それ以外のことは行いません。つまり、条件の中にinpu変数を入れても何も変わりません。

2.Have_timeはDays_passedと等しく、これはユーザーによって設定される。条件としては、if(have_time() >= period_learning...となっています。というのが500で、その後に&& have_time() >0 と出る...これは論理エラーです。もしhave_time()が500以上なら、have_time()はすでに0以上なので、このコードは不要である。

3.学ぶか学ばないかを問う結果は、フックだけに左右されるものではないはずです。自分の意思に関係なく計算に影響を与える、未定義の値を持つ変数を考える必要があります。そうでなければ、何の疑問もありません - 入力したものが得られるのです。

ピーターさん、こんにちは。特に2について質問があることは分かっていました。

ここのコードは余計なものがなく、非常に巧妙です。スクリプトのコードから&& have_time()!=0(あなたは&& have_time()>0 と書いています) を削除しようとすると、入力パラメータPeriod_learning=0Days_passed=0与えられたときに「MQL5を学びます!」という結果になり、これはドギングの観点からは許さ れないのです!(笑)。

他の点にも同意します。考えるべきことはたくさんあります。

ウラジミールさん、ありがとうございます。

 
MrBrooklin:

ピーターさん、こんにちは。特に2については、質問があるだろうと思いました。

ここのコードは余分なものはなく、かなり凝ったものになっています。スクリプトのコードから&& have_time()!=0(あなたは&& have_time()>0 と書きました) を削除しようとすると、入力パラメータPeriod_learning=0Days_passed=0与えられたときに「MQL5を学びます!」という結果になり、これはドギングの観点から許さ れないのです!(笑)

他の点にも同意します。考えるべきことはたくさんあります。

ウラジミールさん、ありがとうございます。

OK, look: have_time()は基本的にDays_passedというinpu変数の値を返します。Days_passedが0に設定されている場合、if(...have_time()!=0...という項目は条件にパスしませんが、Period_learningが 0に設定されている場合は条件にパスします。つまり、Period_learning >0 と書くと、Days_passed 変数のゼロと Period_learning 変数のゼロから同時に保護され、if(...) と書くと、...have_time()!=0 ...はDays_passedの0に対してのみ)。
 
Реter Konow:
OK、見てください。have_time()関数は、本質的に入力変数Days_passedの値を返します。Days_passedが0であれば、if(...have_time()!=0...という項目は条件に合格させませんが、Period_learningが0であれば条件に合格させることができます。つまり、Period_learning >0 と書くと、Days_passed 変数のゼロと Period_learning 変数のゼロから同時に保護され、if(...) と書くと、...have_time()!=0 ...はDays_passedのゼロからのみ)。

なるほど。

ウラジミールさん、謹んで申し上げます。

 
MrBrooklin:

なるほど。

ウラジミールさん、ありがとうございます。

もちろん、メインは大きな一歩を踏み出したこと、つまり機能をマスターして使い始めたことであり、おめでとうございます!)

このままでは、すぐに引き離されてしまう。

P.S.ご挨拶もせず失礼しました。この掲示板では普通、人は挨拶をしないものですが、もちろんそれを無礼と受け止めてはいけません。5年ほど前、フォーラムのメンバーに挨拶したら、モデレーターから叱られたのを覚えています。))それ以来、ここでは挨拶せず、プライベートでだけ挨拶するようにしています。またまた失礼しました)))
 
Реter Konow:
あなたは確かにメインで重大な一歩を踏み出しました。機能をマスターして使い始めたのですから、もちろん祝福されるべきことです!) 。

このままでは、すぐに引き離されてしまう。

P.S.ご挨拶もせず失礼しました。この掲示板では普通、人は挨拶をしないものですが、もちろんそれを無礼と受け止めてはいけません。5年ほど前、フォーラムのメンバーに挨拶したら、モデレーターから叱られたのを覚えています。))それ以来、ここでは挨拶せず、プライベートでだけ挨拶するようにしています。またまたすみません)))

ピーターさん、励ましのお言葉ありがとうございます。

丁寧な会話については、特に挨拶やみんなのご機嫌をとることです。私見ですが、フォーラムでは非常に物足りないです。相手を尊重することは、私たちの世代がソ連時代から教えられてきたことです。参加者を歓迎することについて、サイト(フォーラム)の管理者から叱責があれば、それを踏まえてルールに従うことにしています。

ウラジミールさん、ありがとうございます。