MQL初心者完全マニュアル - ページ 3

 
8284 wrote>>

Oh CB, Oh CB !

あなたはタフな人だ。私の手を握りたくないでしょう?この本は、私が逃げ出したギリシャ語、ラテン語、火星語で書かれた本と同じものです。確かに、専門用語を学ばずにその職業に熟達することはありえないが......。

私の論理学の講師だったオタコポル先生(論理学というのは哲学のことです)を思い出しますね。何を聞いているのかわからないような質問はしないほうがいい。CB、配列の本は私にとってかなり専門的です(それは私が初めてコーディングに取り組んだものでした)。漠然としたイメージはあるのですが、完全には理解できていません。でも、これは挑戦なんです。

でも、これはチャレンジです!私の「あぁ...」を「あぁ...」に変えてくれる小さな「...a」を探してみようと思っています。

私は読み、書き、そして私が配列について知っていることをあなたに伝えるつもりです(実際には、私が最も知る必要のあるのはその応用です)。

ただ、これは非常に長い投稿になってしまうということです。配列が[]に使われているのを見たことがありますが、そのロジックがよくわかりません。私は、もしそれが説明されるなら、私はそんなに多くの質問(パズルの欠片のようなもの)をすることはないだろうと期待していました。

あなたは私に挑戦し、それは私の成長のためになると思いますが、私は科学的な障害者なので、もう少しやさしくしてほしいのです。私のバックグラウンドは芸術です。女性たちと話すと、私は詩人のように話すと言われます。私はただ、私がそのようにコーディングしないことを望むだけです!

マジで今日は眠れないよ、24時間以内に配列の理解を取り戻すよ。私が間違っているところを訂正し、プログラミングへの配列の応用を理解するのを助けてくれることを期待しています。

ああ、CB、ああ、CB

ところで、私の最高の講師はOtakpor先生、Richard Idubor先生、そしてBob Osamor先生です。

オタックポール先生(論理学と哲学を担当)は、生徒の質問に自分の質問で返して、生徒が自分の質問に答えられるように工夫することで、生徒の能力を最大限に引き出していました。

これによって、授業全体がインタラクティブなものになりました。もし、あなたが答えに行き詰まったら、彼は、あなたが答えを見つけるまで、やさしく、ヒント、暗示を与えながら、あなたを突きます。

もし、答えがわからなかったら、また別のゲームです。

 

ご質問は、どのようにというよりも、なぜ配列を使用するのかということでしょうか?

もしそうなら、私の見解では、配列は同じ変数のインスタンスのセットを保存するためのより良い方法であり、それぞれのインスタンスはその場所を記述することによって見つけることができます。

例えば、A=1, B=2, C=3 という非常に単純な暗号を実装したアプリケーションを書いた場合、アルファベットの文字を1次元(1x26)文字列配列に格納し、数字を代入して各文字を見つけることができます。(あくまで例ですが)毎時3分以降の最初のティックのAskとBidの価格を記憶し、これらの値を過去5時間のローリングベースで記憶するEAを作成した場合、2次元(2x5)のダブル配列を使って実現できます。


CB

 
cloudbreaker wrote>>

ご質問は、どのようにというよりも、なぜ配列を使用するのかということでしょうか?

もしそうなら、私の見解では、配列は同じ変数のインスタンスのセットを保存するためのより良い方法であり、それぞれのインスタンスはその場所を記述することによって見つけることができます。

例えば、A=1, B=2, C=3 という非常に単純な暗号を実装したアプリケーションを書いた場合、アルファベットの文字を1次元(1x26)文字列配列に格納し、数字を代入して各文字を見つけることができます。(あくまで例ですが)毎時3分以降の最初のティックのAskとBidの価格を記憶し、これらの値を過去5時間のローリングベースで記憶するEAを作成した場合、2次元(2x5)のダブル配列を使って実現できます。

CB

OK CB、私の質問は「なぜ」よりも「どのように」に重点を置いています。理由はわかっています。私はあなたが上に書いたことのほとんどを理解していますが、すべてではありません。

あなたはまた私に技術的なことを言いましたが、私たちを連れて行くためには、赤ちゃん言葉と忍耐が必要です。私たちは間違いなくあなたを誇りに思いますが、しばらく時間がかかるでしょう。このような、"rolling basis "とはどのような意味なのでしょうか?

ということです。

とにかく、理由はわかったのですが、方法はわかりません。

このような場合、「rolling basis」は「rolling basis」と訳されます。そうでない場合は、アレイのHowsとWhensをお願いするつもりです。

どうもありがとうございました。

よろしくお願いします。

 

OK CB、私のエッセイの準備はできています。私は一つか二つの誤りを犯したと思いますが、これを指摘してもらえるとうれしいです。その価値はあるにせよ、私はある意味、少し技術的に聞こえたと思います(初期化、宣言、その他のものについて話しています)。これを書いてみて、ちょっと見方が変わりましたが、とにかく書いてみて勉強にもなりました。

多次元配列について読んでみようと思います。

これに対するあなたの(そして他の皆さんの)率直な批評をお願いします。

もし、これによって恩恵を受けた初心者がいれば、あなたの意見も聞いてみたいです。

このようなことを書くとさらに身につくので、関数についても エッセイを書くかもしれませんね。

 

アレイとは何ですか?

配列の定義をすると、初心者が損をするので、説明したほうがよいでしょう。その後に、誰でもその技術的な定義を調べることができます。

配列は似たようなデータのグループと考えることができます。
例えば
人口は毎年変化する。

2004年の人口 = 4
2005年の人口=5人
2006年の人口=6
2007年人口=7
2008年人口=8人
2009年人口=9 といった具合である。

もし、mql4でプログラミングをするならば、このデータを変数として宣言することができる。
int 2004pop = 4;
int 2005pop = 5;
int 2006pop = 6;
int 2007pop = 7; といった具合に、2009年まで、あるいは無限大まで続けることができます。

この方法はうまくいくのですが、かなり面倒です。そこで、配列の出番です。
人口データ全体が配列になるのです。
配列を使うには、まず配列を宣言する必要があります。
この"[ ]"を使って宣言します。
最初にしなければならないのは、配列の種類をプログラムに伝えることです。整数なのか、ダブルなのか、などです。
次に配列にわかりやすい名前を付けます。ここでは yearpop (year population の省略形) と呼ぶことにします。
記述的な名前の後は大括弧 [ ]で囲み、大括弧の中で何を扱っているのかを明らかにします。この例ではデータが6個あるので、大括弧の中に6を入れます。 このように[6]とします。
ここまでで、配列の宣言は次のようになります。
int yearpop [6];
さらに、個々の年の値を示して配列を初期化すると、次のようになります。

int yearpop [6] = {4,5,6,7,8,9} とします。

これでmql4は1ではなく0からカウントを開始します。ここでは6つの値があるので、1から6までの番号ではなく、0から5までの番号が付けられます。1年目の値を得るには0、2年目の値を得るには1、...といった具合です。

もう一度見てみましょう。
int yearpop [6] = {4,5,6,7,8,9} ;
4,5,6,7,8,9という数字を要素と呼びます。
その要素の値を得るには、インデックスを使います(混同していなければいいのですが)。
インデックスは0から始まり、何であれ(この例では5)です。

つまり、1年目の値を得るには、そのインデックスである0を使うのである。

yearpop [0] // これは最初の年の人口を表します。
yearpop [1]// 2年目の人口。
このようにして、たくさんの計算を便利に 行うことができます(と思います)。
例えば
int overpopulation ;
overpopulation = yearpop[0] +yearpop[3] / yearpop[2];

これをmql4に当てはめるとどうなるのでしょうか?
私が知っているのは、mql4では、現在のバー、タイムフレーム、シンボル、チャートは常に0またはNULLであるということだけです。
次に、mql4はこのように逆算します。
543210 (右から左へ)。
例えば、どのようなチャートでも(すみません、私はグラフィックはできません)。
まだ形成されていない現在のバーの値は0です。
そのすぐ左のバーは値1、その次の左のバーは値2、というように。
0の値を持つ棒が完成すると、すぐに1の値を持ち、新しくできる棒は0を値とし、他の棒はそれに応じて移動します。
ここで、バーの最高値レベルの配列があったとすると(実際にあります)、次のようなことができます。
double highlevels [200];// 配列に200本のバーがあることを意味する //worth of data in our array
実はmql4には、すべてのバーの高値と安値を知ることができる関数があります。
例えば、150本目のバーと1本目のバーの差を知りたいとします。
もし配列がなかったら、少なくとも150本のバーを宣言し、場合によっては初期化しなければならず、非常に時間がかかるでしょう(CB、これが配列の理由です)。
しかし、配列があれば、そのインデックス番号で参照し、次のように計算すればよいのです。
double difference;

difference = highlevels [0] - highlevels[149] // 0から数えていることに注意。
0は現在形成されているバーです。計算のために完成したバーを使用したい場合は、代わりにハイレベル[1]を使用します。

ここまで、1次元の配列の話ばかりしてきました。これは1行のテーブルのようなものです。

Mql4では4次元までの配列が可能ですが、これはまだ理解できていません。

 
どなたかご覧になった方いらっしゃいますか?
 

やあ、みんな。

私が姿を消した後、このスレッドに投稿があるのを見るのは美しいことです。私はこのフォーラムから非常に例外的な人からのコーチングと戦略に取り組んでバックグラウンドに入った。したがって、現実的に言えば、私は、少なくとも私が前にしたように "深さ "ではない、近い将来にこのスレッドにあまり貢献しないだろうと恐れている:)

一方、そこにすべての初心者に:取引への情熱を維持し、あなたが誰かを助ければ、ヘルプはあなたがそれを必要とするときにあなたを見つけることを覚えておいてください:)

 
こんにちは。

メタストックに内蔵されているref()とstochmomentum()はメタトレーダーのいくつかの関数で実装されているのでしょうか?

thnx
 
Huckleberry:

やあ、ニコちゃん。

今日は7月4日だトルコから帰ってきたのかい?

よろしくね

ハックルベリー


ドキュメントを検索して何かを探す必要がある方のために、ここではドキュメントの全文をPDFでご紹介します...

コンパイルされたHTMLヘルプファイルからPDFに変換されました...。

 
cloudbreaker:

8284 - 優れたプログラマーは、モジュール化、すなわち、新しいプログラムを作成するたびに、最小限の新しいコードを残して、繰り返し一緒に配管することができる再利用可能なビルディングブロックを作成することに努めています。このアプローチは、トレーニング教材にも適していることを理解する必要があります。あなたがおっしゃるようなプログラミングの基礎は、あらゆる技術に共通するものなので、多くのリソースが利用できます。このような学習教材をすべてのプログラミング言語で重複して使用するのは効率的ではありません。


CB

こんにちは、CB。

あれからいろいろなことがありました。私はコードを書くことに関して、自分が思っていたよりもずっと熟練できるようになりました(まだ磨くべきことはたくさんありますが)。私は、あなたの上記の引用がとても洞察に富んでいると思います(当時は感謝しませんでしたが).

私は、あなたの助けに感謝し(私もあなたの助けから学びました)、モデレーターに任命されたことを祝福したいと思います(非常にふさわしいと思います)!

GordonとBBもおめでとうございます