記事「MQL5を使用したカスタムインディケータ(平均足)の作成方法」についてのディスカッション

 

新しい記事「MQL5を使用したカスタムインディケータ(平均足)の作成方法」はパブリッシュされました:

この記事では、MQL5を使用して好みに基づいてカスタムインディケータを作成し、MetaTrader 5でチャートの読み取りに使用したり、自動エキスパートアドバイザー(EA)で使用したりする方法を学びます。

平均足チャートは通常のローソク足テクニカルチャートに似ていますが、これらのローソク足をプロットするための計算が異なります。つまり、異なる2つの方法があります。ご存知のとおり、通常のローソク足チャートでは特定期間の実際の始値、高値、安値、終値に基づいて価格を計算しますが、平均足でローソク足を計算するときには、以前の同様の価格(始値、高値、安値、終値)が考慮されます。

平均足の関連値の計算方法は次のとおりです。

  • 始値=(前のローソク足の始値+前のローソク足の終値)/2
  • 終値=(現在のローソク足の始値+終値+高値+安値)/4
  • 高値=現在の期間の高値、始値、終値の最高値
  • 安値=現在の期間の安値、始値、終値の最低値

計算に基づいて、インディケータは強気と弱気のローソク足を構築し、これらのローソク足の色は市場の関連する方向性、つまり強気か弱気かを示します。以下は伝統的な日本のローソク足と平均足を示す例です。視覚的な観点から違いを確認してください。

平均足インディケータ

作者: Mohamed Abdelmaaboud

 

宣言-定義



OnInit(),OnDenit(),OnTick()をオブジェクト指向プログラミングのために使用しているよう
ですが、変数の宣言や初期化、例えばdouble heikenAshiOpen[]...は OnInit()に含まれ、その結果、変数の評価(定義)やティッカー内のオブジェクト変数、fastEMAやslowEMAもOnInit()に含まれる のではないでしょうか?

 

原理的にはそうですが、関数が終了したときに変数が値を失ってしまうので、ここでは使いません。グーグルで検索:site:mql5.com スコープ変数

で検索し、https://www.mql5.com/en/docs/basis/variables/variable_scope。

Documentation on MQL5: Language Basics / Variables / Visibility Scope and Lifetime of Variables
Documentation on MQL5: Language Basics / Variables / Visibility Scope and Lifetime of Variables
  • www.mql5.com
Visibility Scope and Lifetime of Variables - Variables - Language Basics - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

Deklaration- Definition


OnInit(),OnDenit(),OnTick()はオブジェクト指向プログラミングのために使われているのですね。
しかし、変数の宣言や初期化、例えばdouble heikenAshiOpen[]...は OnInit()の中で一度だけ行われ、その結果、変数の評価(定義)やティッカーのオブジェクト変数fastEMAやslowEMAと同様になる のではないでしょうか?

カルロと同じだと思います。の配列は

OnInit()

の配列が読み込まれるのは、EAがアップロードされたときと、タイムフレームが変更されたときだけです。

ティックごとに値が変わるからです。

また、インジケーターでは

OnCalculate

を計算します。

 
素晴らしい記事だ。ありがとう