Значение тикового объема бара (указанного параметром shift) соответствующего графика или 0 в случае ошибки. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().
Обращение по начальной и конечной датам требуемого интервала времени
intCopyHigh(
string symbol_name, // имя символаENUM_TIMEFRAMES timeframe, // периодdatetime start_time, // с какой датыdatetime stop_time, // по какую датуdouble high_array[] // массив для копирования максимальных цен
);
Функция получает в массив high_array исторические данные максимальных цен баров для указанной пары символ-период в указанном количестве. Необходимо отметить, что отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества...
ATRインジケータを使用する
ありがとうございます。でも、私の場合、まだ使い方がよくわかりません。
誰かがCopyRatesへの リンクを投げた(ありがとう、残念ながらコメントは削除されました)ので、私はiVolume()が高値と安値の違いか何か他のものであるかを理解しようとしているのですか?
I.e. 私の場合(私の理解では)、月と週のデータの配列を作成し、その値を平均化することなどが可能です。
iVolume()は、高値と安値の差なのか、それとも別のものなのか?
MTのチャート上で右クリックし、show volumesを選択すると、チャートの下にヒストグラムが表示されます。
https://docs.mql4.com/ru/series/ivolume
MTのチャート上で右クリックし、show volumesを選択すると、チャートの下にヒストグラムが表示されます。
https://docs.mql4.com/ru/series/ivolume
分かりやすく説明していただき、ありがとうございました。
となると、残るは以下の通り。月のデータを計算するために2つの配列HighとLowを 作成し、週のデータを計算するために2つの配列HighとLowを 作成します。
そして、すべてが平均化される、など。
全部コードで実装してみるか...。
先月と先週の計算方法を教えてください。
例から判断すると:
初期位置と必要要素数による参照
intCopyHigh()
stringsymbol_name,// シンボル名
ENUM_TIMEFRAMEStimeframe,// 期間
intstart_pos,// どこから始めるか。
intcount です。// 何枚コピー するか
doublehigh_array[]// 最高値をコピーするための配列
);
timeframe = PERIOD_D1;
start_pos = 1; // 前のバー
count = 30; // 30日(月)
もうひとつの質問:先月と先週の数え方はどうすればいいのでしょうか?
飲み屋の飛び込み営業や、飲み屋のない週末もあるので、日付指定したほうがいい、これは助かる。
https://docs.mql4.com/ru/series/copyhigh
日付は、バーのスキップ(引用)があり、バーがない週末は、これが役立つので、より良いです。
https://docs.mql4.com/ru/series/copyhigh
ありがとうございます。ただ、EA(ロボット)にどの日付から始まってどこで止まるかを知らせるにはどうしたらいいのでしょうか。
1から30本のキャンドル(30日)を数えるのが簡単だと思います。あるいは7本のローソク足(日数)。
このコードを取得しました。
しかし、残念ながら値=0を出力してしまいます。
どこがエラーなのか教えてください・・・。
それと...
セッション開始時や端末再起動時に、週に一度だけ計算を行うには?
ありがとうございます。しかし、私の場合、どのように使えるのかまだ理解できていません。
ATRの本質は、一定期間のバーの高さの平均値です。MA(high)-MA(low)を使うのもいいかもしれませんね。オーバーシュートを展開するよりも簡単です
ATRの本質は、一定期間のバーの高さの平均値です。MA(high)-MA(low)を使った方がいいかもしれません。オーバーシュートを反転させるより簡単です
すなわち、例によって
intiATR(
stringsymbol,// シンボル名
ENUM_TIMEFRAMESperiod,// 期間
intma_period// 平均化期間
);
double Awerage30= iATR(Symbol(),PERIOD_D1, 30); これは、30日間の平均的な数値になりますか?
すなわち、例によって
intiATR(
stringsymbol,// シンボル名
ENUM_TIMEFRAMESperiod,// 期間
intma_period// 平均化期間
);
double Awerage30= iATR(Symbol(),PERIOD_D1, 30); it will be average value for 30 days ?30日間の平均値?
カレンダーの日数ではありません。30日逆算(日曜、土曜)
パラメータシフトのない関数から判断して、あなたは5でやっているし、4で質問している :)
ただ、カレンダーのものはダメですね。30日バー逆算(日曜、土曜)
シフトパラメータなしの関数から判断して、あなたは5でやっていて、4で質問していますね :)
両端子のこの分岐特に同じ機能で。
では、タイトルは訂正すべきでしょうか?