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

 
Vasiliy Sokolov:

プログラマは、コンパイラのエラーとアーキテクチャの問題という2つの問題を抱えています。初心者のうちは、コンパイラと戦うことに集中し、最終的な目標は正しく動作するプログラムです。しかし、初心者のプログラムはあっという間に、作者自身がすぐに理解できない、いわゆるスパゲッティコードになってしまう。ですから、コンパイラや最終的なスクリプトの正しさではなく、アーキテクチャの問題に注目することをお勧めします。ピアノを習うように、まずは正しい指の持ち方と楽器の座り方を覚える。初心者にバッハの演奏を求める人はいない。

スクリプトの動作を決定するパラメータは2種類あり、1つ目はマクロとして静的に設定します。2つ目は、チャート上にスクリプトをロードする際に ユーザーが設定するものです。このため、このスクリプトを再コンパイルしないと、ユーザーは注文の種類を選択することができません。これはまずい。したがって、これらのマクロを捨てて、追加パラメータを使用した方がよいでしょう。

そこで、新たに列挙型を定義し、それをユーザーの選択パラメータとして実装しました。

今、私はあなたのスタイルを見て笑った、また、具体的なエラーで、もう少し走り書きしてください。

 
MrBrooklin:

ピーターさん、こんにちは。教科書は必要に応じて、つまり自分の知識にギャップがあるときに勉強しています。今、少し間を置いて、教科書をもっとよく勉強しなければならないと感じています。フォーラム参加者からの推奨はすべて考慮に入れており、それを守るようにしています。そして今、このように短期間にMQL5 Reference bookだけを使って 何かを書くことができたことに驚いています。

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

コバレフ氏のMQL4リファレンス本が最高です。このサイトのどこかで公開されています。これ以上のものはないでしょう。
 
Vasiliy Sokolov:

あなたのコードの次の問題は、それが長い手続き的なシートに広がっていることです。初心者はみんなこう書くんです。そして、これは何年も残る問題なのです。このスクリプトのように基本的なところから、アルゴリズムをパーツに分解することを学びます。その方法には、関数とクラスの2つがあります。最初はクラスの概念が難しすぎるので、関数を扱うことに集中したほうがいい...自分で書いてみたらどうだろう?

関数が与えてくれる主なものは、構造的に考え、アルゴリズムを図式化する能力です。例えば、タスクのためにMQLで必要な特別な関数群があったとしたら、非常にシンプルなアルゴリズムを書くことができます。

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()                                                    
  {
   if(orderType1=="BUY_STOP")
     SendBuyStop(Lots, Distance);     
   if(orderType2=="SELL_STOP")
     SendSellStop(Lots, Distance);
  }
  

そして、それだけです。私たちの目の前には、シンプルなアルゴリズムの仕組みがあり、これもまた有効です。一言で言えば「夢」。

 
Roman:

今、私はあなたのスタイルを見て笑った、そして具体的なミスで、さらに落書きしてください。

間違いに何の関係があるのか、仕組みも知らないでアドバイスしているのか。実際にその場に置かれたことがある、悪気はない)

 
Реter Konow:
なお、Kovalev氏によるMQL4チュートリアルは最高です。このサイトのどこかに掲載されています。これ以上のものはないでしょう。

今時、誰も必要としない、ただの古いものです。カフカは寝る前に読んだほうがいい。より便利になりました。

 

素人のアドバイスに惑わされたり、タイミングが悪いタスクに頭を悩ませることなく、高度に専門的なタスクのための応用言語の学習を始めるための最良の方法をご紹介します。

セルゲイ・コバレフの教科書https://book.mql4.com/ru

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня...
 
Vasiliy Sokolov:

仕組みも知らないで、アドバイスしているのか。(その場しのぎで、悪気はないのですが)

おほほほほ ))

ここでは、他にもアドバイスをしている人がいます。
の条件に関して課題が出されましたが、あなたを含め、誰もそれに答えていません。
逆に言えば、どこの国の話なんだろう))

 
Vasiliy Sokolov:

今時、誰も必要としない、ただの古いものです。カフカは寝る前に読んだほうがいい。より便利になりました。

古いものってなんだ?アルファベット、ABCブック、もしかしてジャンク品?もしかして、算盤は古い?

あなたは優秀なプログラマーですが、教師として生徒に関連する情報を見ておらず、生徒のレベルを見誤っているのです。基本を正しい順序でマスターしなければならないし、良い教科書だけが助けになる)。

 
Реter Konow:
ワシリー、この人はまだアレイを使いこなせていないんだ。そんな講義を聞くにはまだ早い)。

ピーター、やめましょう。数年前にフォーラムでOOPを説明したことを思い出そう)。

実は、現代のプログラマーでさえ、配列が何であるかを理解している人は少ないのです。誰もがリストを使って仕事をしますし、すべての言語が内部に配列を持っているわけではありません。どこかは、例えば、enumerator + map で、世間は文句を言わない。

 
Vasiliy Sokolov:

ピーター、やめましょう。数年前にフォーラムでOOPを説明したことを思い出そう)。

実は、現代のプログラマーでさえ、配列が何であるかを理解している人は少ないのです。誰もがリストを使って仕事をしますし、すべての言語が内部に配列を持っているわけではありません。どこかは、例えば、enumerator + map で、世間は文句を言わない。

いや、やりすぎだよ(笑)))(ファーストネームで思い出した。お久しぶりです:))

誰もが配列を知るべきだ!))ただし、OOPは必須ではありません。もちろん良いことなのですが、まだ話すには早すぎます。