// OnCalculate ループのシーケンスマクロを定義する #ifdef __MQL4__ //MQL4用(シリーズとして) #define MOnCalcNext( _index ) ( _index-- ) #define MOnCalcBack( _index, _offset ) ( _index + _offset ) #define MOnCalcCheck( _index ) ( _index >= 0 ) #define MOnCalcValid( _index ) ( _index < rates_total ) #define MOnCalcStart \ ( rates_total - ( prev_calculated < 1 ? 1 : prev_calculated ) ) #else //MQL5用(非シリーズとして) #define MOnCalcNext( _index ) ( _index++ ) #define MOnCalcBack( _index, _offset ) ( _index - _offset ) #define MOnCalcCheck( _index ) ( _index < rates_total ) #define MOnCalcValid( _index ) ( _index >= 0 ) #define MOnCalcStart \ ( prev_calculated < 1 ? 0 : prev_calculated - 1 ) #endif
なぜ ArraySetAsSeries() を使わないのですか?これを使えば、どちらの言語バージョンでも同じマクロを使えるようになります。
批判しているわけではなく、単に気になっただけです。
あなたにとっては、そのほうが便利なのでしょうね。
信じられないほど
Vladislav Boyko #: なぜ ArraySetAsSeries() を使わないのですか?これを使えば、言語の両方のバージョンで同じマクロを使えるようになるはずです。批判しているわけではなく、ただ気になっているだけです。あなたにとっては、そのほうが都合が良いのでしょうね。
私は、わずかな効率向上のために、実行時に処理されるArraySetAsSeries() ではなく、コンパイル時に決定が行われるように、マクロを使用することを選択しました。
今回のケースでは、非常に単純なインジケーターであるため、実際にはほとんど違いはありませんが、もっと複雑なインジケーターの場合、その差が顕著になる可能性があります。
フェルナンドさん、ありがとうございます。初心者にとって本当に助かりました。また、パブリックプロジェクトの ヒントもありがとうございました。そんな機能があることすら知りませんでした。どういうわけか、その機能を見落としていたようです。この機能の使い方を解説したドキュメントが見つかるといいなと思います。
ヘイケンアシの計算方法について調べていたところ、最高値については「当期間の高値、始値、または終値のうちの最大値」、最低値については「当期間の安値、始値、または終値のうちの最小値」と説明されていました。 これは、高値と安値がバーと一致しているということと同じではないでしょうか?もしそうであれば、それらを線として表示するというあなたのアイデアはシンプルかつ素晴らしいものです。通常のローソク足をそのまま使いながら、一目見ただけで平滑足(Heiken-Ashi)のトレンドを把握できるからです。
モデレーターによる自動翻訳が適用されています。英語フォーラムでは、英語で投稿してください。
@Daniel Eduardo San Martin #: それは、高値と安値がローソク足と一致しているということと同じではありませんか?
ほとんどの場合はそうですが、平金足(移動平均)の始値が 通常のローソク足の高値・安値を超えている場合は、その値が平金足の高値・安値 となります。
取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
Heikin Ashi Lines:
よりシンプルなヘイキン・アシの表示方法
Author: FMIC