English Русский 中文 Español Deutsch Português 한국어 Français Italiano Türkçe
より優れたプログラマー(第03部): MQL5プログラマーとして成功するためにあきらめなければいけない5つのこと

より優れたプログラマー(第03部): MQL5プログラマーとして成功するためにあきらめなければいけない5つのこと

MetaTrader 5 | 14 10月 2021, 10:57
896 0
Omega J Msigwa
Omega J Msigwa

目次

  1. 過去のための戦いをあきらめる
  2. 自己不信はあきらめる
  3. 誰もが自分のように考えるべきだという信念をあきらめる
  4. テイカーであることをあきらめてギバーになる
  5. 自分だけを信頼することをあきらめる

はじめに

コーディングの世界では、初心者は最も誤解されているコーダーです。予測不可能なことは、初心者の行動の最大の特徴の1つです。初心者が何を実装したいかを教えてくれたとしても、そのコード内で何を考えているのかは決してわかりません。すべての理由の中で最大の理由は、初心者がしていることには一貫性がないということです。

この連載3番目の記事では、MQL5コーディングのキャリアを成功させるためにあきらめるべき5つの習慣を見ていきます。

初心者vsプロ

01: 過去のための戦いをあきらめる

「変化の秘訣とは、古いものと戦うのではなく新しいものを造ることに全てのエネルギーを集中させることである。」
— ソクラテス

MQL5プログラミングを始めたころまたはそれ以降にも、エキスパートアドバイザー(EA)、ライブラリ、インジケーター、コードを作成して、大多数の顧客から否定的なレビューが寄せられたことがあるかもしれません。

あるいは、バグがたくさんあるEAを1つか2つ作成して、不要な取引の実行を引き起こして資金を失うだけでなく、コードベースやフリーランスなどで顧客への評判を損なったことがあるかもしれません。正直なところ、これは良くないですが、それらの経験を思い出して考え続けるのはもっと良くないことです。

自分が惨めなコーダーであると感じるような、心の痛みを伴う瞬間を思い出すのに時間を無駄にするのではなく、同じ時間を使って、自分が苦手であることに気付いた分野で自分自身を改善することに集中してみませんか。

  • バグがたくさんある場合は、その特定の分野をデバッグする方法、または必要に応じて一般的なデバッグの原則を学ぶことに集中してください。
  • その分野のドキュメントを読み、多くの練習をしてください。
  • それでもわからない場合は、フォーラムで何がいけないのか尋ねてください。

今では馬鹿げた質問だと言える古いフォーラムトピックを見て自分自身を批判するのは、時間リソース(電気、データ、コンピュータストレージ)の無駄です。

もし

  1. 「あんなふうにコーディングすればよかった」
  2. 「EAであのインジケーターを使用すればよかった」
  3. 「もし私が…だったら、私の指標はもっと良かっただろうに。」

のような考えを、変えることができない過去の後悔として使うならば、自尊心を失うでしょう。実装したい変更があるならば、将来のシステムのために今すぐ実行を開始してください。


02:自己不信はあきらめる

特定のシステムを作成したい場合は、専門家やプロと見なす人からの許可または確認を待ってはいけません。

しばしば、初心者が望む結果をほぼ出しているコードをフォーラムに投稿しているのを目にします。彼らが尋ねる理由は、彼らが自分自身を信じていないからです。彼らには、自分で見つけたものが自らの難題への解決策であるかどうかに確信がないため、専門家による確認を望むのです。

私は、コーディングではコード自体が自分が正しいか間違っているかを教えてくれると信じています。バグがなければ、あなたはそれを完全に理解しており、自分に何が必要なのかを正確に把握しています。

コードが自分が望むように機能するならば、それはほぼ正しいのです。これがひどく間違っていることを知る最良の方法は、すべてのプログラマー(ここには初心者が含まれます)に確認を求め始めることです。達成したい共通の目標につながるコードの書き方は人それぞれだからです。 

人間はさまざまな意見を持つものであり、それは何も悪いことではありません。したがって、何かを実装するための特定の1つの方法はありませんが、いくつかの方法は他の方法よりも優れています。そのため、自分が何を実装していて、結果として何がほしいのかを知る必要があります。実行してからデバッグし、その有効性をテストします。

自分を信じることは、フォーラムで自分の意見を共有しないことではなく、自分ですべてを行うことを意味します。 決して誤解しないでください。必要なのは、新しいより良いアイデアのためにオープンであり続けることとプロのプログラマーによって確認されたいだけの違いを知ることだけです。


03:誰もが自分のように考えるべきだという信念をあきらめる

誰もがあなたのやり方でコーディングする必要があると期待するのは不健康です。あなたのように考え、コーディングする人々に囲まれるのは不健康です。あなたが初心者で仲間の初心者に囲まれているならば、何といって言うかわかりません(笑)。

前のポイントで説明したように、私たちは人間であり、特定の問題に取り組むための異なる意識、理解の方法、および見解を持っています。ですから、誰かがあなたとは異なる見方やコードを持っていても落胆してはいけません。重要なのは、人は皆達成したい共通の目標を持っているということです。

フォーラムで誰かのコードを見たら、急いでコーディング方法を説明するのではなく、その人の問題の解決策を提供してください。その人にとっては自分のコーディングの方法があなたのよりもいいかもしれないからです。すべてのプログラマーを、世界中で24時間年中無休で同じパターンに固執する一般的な(非適応)ロボットに変えるのはあなたの仕事ではありません。

違いは創造性を可能にし、コーディングのキャリアをエキサイティングにします。 

「自分を変えるのがどれほど難しいかを考えてみてください。そうすれば、他人を変えようとするチャンスがほとんどないことに気付くでしょう。」
— ジェイコブ・ブラウデ

誰かのコーディング方法とフォーラムの回答に対する解決策を混同しないでください。方法には、好みのライブラリや選択したインジケータが含まれる場合がありますが、解決策は主に、物事がその方法でうまくいくことを可能にするものです。


04:テイカーであることをあきらめる

「ギバーは世界を前進させ、テイカーは自分自身を前進させて世界を抑制する。」
— サイモン・シネック

コードベースのコードとマーケットの無料製品だけを消費するのをやめ、コーディングを始めたときに自分が助けられたのと同じように他の人を助けるためのものを作り始める時が来たのです。 

学んだことや、まだ学んでいる最中でもすでに知っていることを世界と共有しましょう。(プロのプログラマーは優れた学生ですが、初心者はすでにすべてを知っていると信じています)。面白いことは、

参加することで学習が加速するということです。これは、マーケットにコードや製品を投稿することには当てはまりません。フォーラムではそこにいる全員がプログラマーであるため、フォーラムは非常に重要だと思います。回答を知っている質問には回答し、知らないものには注意を払ってください。フォーラムで初心者を支援することに積極的に参加しているプロのプログラマーは多数います(ありがとうございます)。


05: 自分だけを信頼することをあきらめる

「才能はゲームに勝ちますが、チームワークとインテリジェンスはチャンピオンシップに勝ちます。」

- マイケル・ジョーダン

初心者はオープンソースという用語に慣れておらず、使う方法もわかりません。誰かがフォーラムで、問題を正確に把握できるようにコードをもっとみたいというと、死ぬほど怖くなります。記事の「はじめに」で、初心者は誤解されているコーダーだと言ったのはこのためです。これは、ハードコードされたコードが非常に特別であり(バグがあって自分で見つけて修正することさえできないにもかかわらず)、誰かが特別なコードを盗んでそれを聖杯システムを作成するために使用する可能性があると考えている初心者に関連付けることができます。彼らは特定の問題についての説明が少なく、コードや試行した方法が少ないと、トピックに応答するのが難しくなることを知らず、そのため、最終的にフォーラムでの回答はなく、もちろん理解もされません。

このすべての悪は、初心者が自分だけを信頼することによって引き起こされます。

私はWeb開発者で、Githubのオープンソースで、数十億ドルではないにしても数百万ドルの素晴らしいプロジェクトを何度も見たことがあります。

他の開発者が貢献することを許可しないとしても、次ほどプロジェクトの成長と人気を加速するためのより良い方法はないと思います。 

「一つの頭より二つの頭の方がまさっている。」
— アフリカのことわざ

終わりに

正直なところ、私は素晴らしくもなく、MQL5プログラミングやWeb開発のキャリアにおいて完璧ではありません。私はまだコーディングの学生であり、教えることをやめないので、学びに終わりはありません。私は常に改善し、より良くコーディングできるように日々努力しています。私が読者と共有する勇気を持っている理由(学生でありながら教える)は、私と同じ情熱を持つ人々が<b1>より良いプログラマーになる</b1>のを助けるためです。

一緒に歩いて旅をしましょう。
よろしくお願いします

MetaQuotes Ltdにより英語から翻訳されました。
元の記事: https://www.mql5.com/en/articles/9746

DoEasyライブラリのグラフィックス(第82部): ライブラリオブジェクトのリファクタリングとグラフィカルオブジェクトのコレクション DoEasyライブラリのグラフィックス(第82部): ライブラリオブジェクトのリファクタリングとグラフィカルオブジェクトのコレクション
本稿では、各オブジェクトに一意のタイプを割り当てることですべてのライブラリオブジェクトを改善し、ライブラリのグラフィカルオブジェクトコレクションクラスの開発を続けます。
DoEasyライブラリのグラフィックス(第81部): ライブラリオブジェクトへのグラフィックの統合 DoEasyライブラリのグラフィックス(第81部): ライブラリオブジェクトへのグラフィックの統合
すでに作成されたオブジェクトを以前に作成されたライブラリオブジェクトに統合する時が来ました。最終的には各ライブラリオブジェクトに独自のグラフィカルオブジェクトが付与されるようになり、ユーザーはプログラムを操作できるようになります。
より優れたプログラマー(第04部): より速い開発者になる方法 より優れたプログラマー(第04部): より速い開発者になる方法
すべての開発者は、コードをより速く書くことを望んでいます。より速く効果的にコードを書けることは、少数の人々だけが生まれつき持っているような特別な能力ではありません。これは、コーディングの経験年数に関係なく、すべてのコーダーが習得できるスキルです。
取引のための組合せ論と確率論(第III部): 初めての数学モデル 取引のための組合せ論と確率論(第III部): 初めての数学モデル
前に説明したトピックの論理的な続きは、取引タスクのための多機能数学モデルの開発です。本稿では、フラクタルを記述する最初の数学モデルの開発に関連するプロセス全体を最初から説明します。このモデルは重要な構成要素になるもので、多機能で普遍的である必要があります。それは、このアイデアをさらに発展させるための理論的基礎を構築します。