[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 4

 

笑顔がない

 
Fox_RM: それ以降の繰り返しでは、すべて順調です。なぜ、そうなるのですか?

のどちらかです。

- init()セクションで変数の初期化を使って いますが、そこですべての関数が正しく動作するわけではありません

- 変数を記述した後、少なくとも何らかの値で初期化することは、長い間、良いプログラミングの習慣と見なされてきました。

ZS: なぜArrHigh[i]配列を持っていて、ArrHigh[0]を使っているのでしょうか?

 

そして、もうひとつ小さな疑問があります。

次のようなエントリーに出会いました。

 void IncArray( int & Array[] )

この場合、&の 記号が何を意味するのかを除けば、すべて意味があるように思われます。

 
Fox_RM この場合、& 記号は何を意味するのでしょうか?
https://docs.mql4.com/ru/basis/variables/formal
 

IgorM:

init()セクションで変数の初期化を行っている場合、すべての関数がそこで正しく動作

するわけではありません

- 変数の初期化を行っていない可能

性があります

init()セクションで変数の初期化をして いる...」というのは全く その通りで、そのような罪があるのです)

"...任意の値" - 0が割り当てられる。

"なぜArrHigh[i]配列を持っていてArrHigh[0]を使っているのか..."要はこういうことです。

コードの後半で作業 するために、High[i] の値を取得する必要があります。

ループ内で変数に代入すると、次の繰り返しで上書きされてしまいます。を割り当てることほど、賢い方法はないと思うのです。

High[i] 配列に 変換し、ArrHigh[0] のみで動作 させます。このループが次にヒットしたとき、すべての値が再初期化される。

もしかして、もっといい方法があるのでは?

 
ありがとうございました。
 
Fox_RM:
1.確かに「init()セクションで変数の初期化を使っている...」とありますが、そのような罪はありません)

2.もっといい方法があるのでは?

1. init()セクションで初期化する必要がある場合もありますが、標準関数がすべて正しく動作するわけではなく、時系列へのアクセスは正しく動作することを指摘したに過ぎません。

2.私はあなたがタスクを複雑にしなければならない理由がわからない? 配列High[i]はどこにも行かないだろう、なぜそれを再びコピーする?あなたが新しいバーを 開いたときに "バーを失う "を恐れている場合、バーの時間を覚えて - 時間は決して変更されません、あなたはこの構造を使用することができます High[iBarShift(NULL,0,mytime)]...

ZS: フレーズの後に。「ループ内で変数に代入すると、次の繰り返しで上書きされます。」 何かの変数のランダムな初期化に問題があると思われるので、問題のあるコード部分の変数をすべてprint()してみてください。

 
IgorM:
イゴールさん、ありがとうございます!その方法でやってみます。
 

1週間前から勉強しています(笑)。

あるストップとプロフィットで2つの注文(多方向)を出し、それをクローズしたら、同じ金額で他の注文を出す+フローチェックをして、8対8のポジションだけをオープン するように処方して欲しい。

ありがとうございました))

 
vkontakte0:

1週間前から勉強しています(笑)。

あるストップとプロフィットで2つの注文(多方向)を出し、それをクローズしたら、同じ金額で他の注文を出す+フローチェックで、8対8のポジションだけをオープンするように処方して欲しい。

よろしくお願いします))

教科書は1冊では足りないと思います。IMFには、MQLの基本や「エキスパート・ライティング」の基本を解説した様々なサイトがあります(必要であれば、プライベートでリンクを送ります)。例えば、私は

ダウンロードし、chm形式に変換しました。いつも手元に置いています。Expert Advisorで取引するなら、インデックスに精通した上で、IMHOをこじらせた方がいいと思う。