/* */

Fisher_Transform

Fisher_Transformはトレンドのピーク(転換点)を予測する指標です。正確にはElher's_Fisher_Transformですが、長いので省略させて頂きます。


Elherはボリンジャーバンド等の統計的な指標データが正規分布と異なっている点に着目し、Fisher_transform指標を開発しています。予め正規化したデータをフィッシャーのZ変換を用いる事により、変数の分布が正規分布(近似)するように変数変換したものを補正して指標化させています。

波形が取る区間の上限・下限値はありませんが、ほぼ決まった区間で推移し、波形の転換点がトレンドの転換点なります。また、その間の上昇・下降が持続している状態をトレンドの継続と判断する事も出来ます。

Fisher_Transformの計算式

まずはベースとなる値を計算します。

Medianがベースとなります。次に、この値をストキャスティクス化します。

Stoch_y = 前日のStoch
Highest_n = n期間の最高値
Lowest_n = n期間の最安値
α = 0.33

通常のストキャスティクスのデータを -1 ~ 1の範囲内に収めて変換可能にした上で、全体をEMA化させています。また、データが -1 ~ 1の範囲を超えてしまう可能性を考慮して、プログラムでは以下の条件を加えます。

if  0.999 < Stoch  → Stoch =   0.999
if  Stoch < -0.999 → Stoch = -0.999
それ以外 → Stoch

最後にフィッシャーのZ変換を適用し、更に補正します。

FT_y = 前日のFT
β = 0.50



Fisher_Transformのパラメータ設定

Stoch_Period
ストキャスティクスの期間(データの分析期間)を設定します。デフォルトでは10日になっています。基本的にこの部分は弄る必要がありません。変更する際も10日以上で設定して下さい。


Use_FTMA
Fisher_TransformのMAラインを使用するかどうかを設定します。「false」に設定すると通常の補助ラインが引かれます。


FTMA_Period
FTMAの期間を設定します。「Use_FTMA」で「true」を選択した場合に設定して下さい。


FTMA_Method
FTMAに使用する移動平均線の種類です。0 ~ 3の数字で設定します。初期設定では「1」に設定してあります。

0 = SMA(単純移動平均線)
1 = EMA(指数平滑移動平均線)
2 = SMMA(平滑移動平均線)
3 = LWMA(加重移動平均線)

Fisher_Transformの利用方法

Fisher_Transformは単独で使用する方法もありますが、それではあまり上手くいきません。


上図のようにMACDと組み合わせるのが一般的です。Fisher_Transformの上昇・下降でトレンド判断をし、MACDのサインで売買します。

買いの条件
FTが上昇している時、MACDがシグナルとクロスした場合。

売りの条件
FTが下降している時、MACDがシグナルとクロスした場合。

また、MACDが 0ラインと交差した場合も有効です。レンジ相場への対応はADX等を用いると良いと思います。詳細は多分、後ほど追記します。


Fisher_Transform.mq4

MT5の仕様はMT4とは若干異なります。

Fisher_Transform.mq5