MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 781

 
Mikhail Sobolev:

こんにちは。関数を書いているのですが、パラメータとして配列を他のパラメータと一緒に渡すことができません。例

そこから先は、私の想像力の暴走です。
関数は何らかの方法で配列を調べなければなりませんが、そのためには、この配列を渡さなければならないと思います。それとも違うのでしょうか?
よろしくお願いします。

上のVitalyは、関数に引数を 渡す順序をすでに書いています。

付け加えると、関数のパラメータで引数の1つにデフォルト値を指定した場合、それ以降の引数もすべてデフォルト値でなければなりません。

 
Artyom Trishkin:

上のVitalyは、関数に渡される引数の 順序をすでに書いています。

付け加えると、関数の引数の1つにデフォルト値が割り当てられている場合、それ以降の引数もすべてデフォルト値でなければなりません。

そうなんですね、いつもながら当たり前のことを見落としていました。と、何度も読み返したことがあります。

Vitalyさん、ありがとうございます。

 

ATRと連動したインジケータを書きたい のですが、1月3日のように異常に大きなローソク足がチャートに表示されることがあることを除きます。

これはブローカーのフィクションではなく、彼らはすべての計算を破る、計算から除外するための最良の方法は何ですか?


そして2つ目の質問:日足と時間足チャートのATRを計算するために最適な期間について私に助言し、そのような値があるのですか?

 
psyman:

ATRと連動したインジケータを書きたい のですが、1月3日のように異常に大きなローソク足がチャートに表示されることがあることを除きます。

これはブローカーのフィクションではなく、彼らはすべての計算を破る、計算から除外するための最良の方法は何ですか?


そして2つ目の質問:日足と時間足チャートのATRを計算するために最適な期間について私に助言し、そのような値があるのですか?

まず、「ATRとは何か、この指標は何を示しているのか」という問いに答える必要があります。そうすると、最適性とか、計算から除外したほうがいいものがあるかとか、そういうことが分かってくるかもしれません。

 

私は、配列を受け取ってシフトする関数を書くというアイディアを持っています。問題は、この関数自体が1次元か2次元かを判断するようにすることで、配列が2次元か通常のものかをいちいち引数で指定する必要がないようにするにはどうしたらいいかということです。同時に、テンプレートを適用して、配列の型を指定する必要がないようにしたいのです。

template<typename T>
void MoveArray(T &array1[][])в скобках указано что массив 2 ух мерный.
{
тело
}

配列の種類を指定しなくてもいいようにするにはどうしたらいいですか?

 
Alexey Viktorov:

まず、「ATRとは何か、この指標は何を示しているのか」という問いに答えなければなりません。


この指標は、現在のローソク足の高値・安値を、ある期間の平均値と比較する必要がありますが、これは最も簡単な作業のように思われます。

 
psyman:

と2番目の質問:日次と毎時のATRを計算するために最適であるどのような期間に助言し、そのような値がある?

period 3, shift 1 - 期首にATRで作業する。

 
Aleksey Vyazmikin:

period 3, shift 1 - 期初にATRで作業する。

理解できない、なぜシフトが必要なんだ?

夜間は動きが非常に鈍くなるのが普通なので、それを無視するか、期間を長くして読み取りを滑らかにするかということで、時間軸によって期間を変えることを質問したのです。

 
psyman:


この指標は、現在のローソク足の高値・安値を期間内のある平均値と比較するもので、一見単純な作業に見えます。

これは、まったく別の問いに対する答えです。ご本人の希望と理解しており、ATRインジケータが示す内容を理解することは、明らかにされていません。

Average True Range (ATR)テクニカル指標は市場のボラティリティを 表す指標です。


算出方法

True Rangeは、以下の3つの値のうち、大きい方の値です。

  • 現在のHighとLowの差。
  • 前回の終値と今回の最大値の差。
  • 前回の終値と今回の最低値の差。

ATR(AverageTrue Range )は、 トゥルーレンジの値の移動平均 値です。

したがって、何かの指標を計算から除外すると、ATRではなく、何かと何かになってしまうのです...。

そして2つ目の答え、「すべてはターゲット次第」です。H1で日中作業する場合は、数日間の平均値を取る方が合理的だと私は考えています。すなわち、当日の予想 価格変動幅は○○ポイントであると考えることができる。もし、オープンポジションを±1時間保有する戦略であれば、ATRはH1期間の数本のバーで見る必要があります。

 
psyman:

理解できない、なぜシフトが必要なんだ?

夜間は動きが非常に鈍くなるのが普通なので、無視するか、期間を長くして読み取りを滑らかにする必要があるため、TFによって期間を変えることについて質問しました。

推定TFの新しい極値からATRが変化しないようにシフトする必要があります。

徐々に動きが弱くなるので、ATR(3)で大丈夫です。

ただし、不必要な増分は使わず、開口部から極値までの差分だけを使うようにしています。

理由: