T氏より、TMA(三角移動平均線)とMT4標準搭載MAとのクロス通知インジケーターのご依頼がありました。TMAは、過去複数の方々から相談がありましたが、仕様打ち合わせ終了までいかず、ほぼ進捗なしの状況でした。
今回、TMAがどれだけ有効に機能するか、知りたかったし、ここから発展することを期待してアップしました。
私的解釈が過ぎているかもしれませんが、自分なりに調べた内容も含め、私なりのTMAに対する考えを記し、それをもとに作成しています。読んでいただいて、発展的ご意見を頂戴できたらうれしいです。
hj_TMA-100 仕様
- TMA期間
- MT4標準搭載MAの期間と同じ
- 整数値指定
- 適用価格
- MT4標準搭載MAと同じ六択
TMA期間について
情報収集すると、TMAの計算方法は二通りありました。
- 単純移動平均線(SMA)を再度単純移動平均化:2回SMA化する
- hj_TMA-100
- 期間の中央値に最大加重をかけて移動平均を計算
- 期間5の場合:各価格に、x1・x2・x3・x2・x1と倍数化
- 平均値計算の分母は、1+2+3+2+1=9
- 比較したTMAインジケーター
両者の値を一致させるために、1回目・2回目の移動平均を計算する期間を次の計算式で求めるようです。
SMA計算期間 = (TMAの期間+1)÷ 2
期間の中央値に加重をかけて移動平均を計算するプログラムは、ややこしいので、この計算式を使って2回単純移動平均をとるのが一般的なのかな、と感じました。
期間が奇数、例えば、5とすると加重は中央値が3と最も大きく、またその数値は一つ(1・2・3・2・1)ですが、偶数、例えば、6とすると加重の中央値は3,それが二つ(1・2・3・3・2・1)という考え方でいいのかなぁ?・・・
上記SMA計算期間計算式で端数が出た場合、切り上げ処理を行うようです。少々の計算誤差は曲線描画に影響ないと思われるし、そこまでの精度は移動平均線の活用上不要だと思うので特に気にしなくてもいいような。。。
いろいろ見てると期間を指定するパラメーター名に、Periods と HalfLength がありました。
HalfLength は、上記 SMA計算期間計算式で2で割って出る端数を考慮しない方法を探した結果ではないかと勝手に推測しました。端数切り上げ・・・私も気になっていたり・・・
端数を考えなくていいからプログラムが数行ですが短くなります。また、ほんの少しですが、PCの計算負荷軽減につながります。でも、分析にはあまり影響しないような・・・目視誤差範囲内・・・
なので、、、
別に2で割らなくてもいい、使用する方がパラメーターの期間値を理解していたら、単純にSMA2回処理でいいじゃないか、と思います。
今回比較対象の Periods 指定するTMAインジケーターの Periods 値のおおよそ半分の値が、今回作成したインジケーター『hj_TMA-100』のTMA期間に相当します。
比較対象TMAインジケーターのラインに hj_TMA-100 のラインを近づけるには、
hj_TMA-100 TMA期間 = TMAのPeriods ÷ 2 + 1
でいいみたい。少し早く反応していますが・・・
使用例事例チャートに、比較対象TMAインジケーター:Periods(30)と hj_TMA-100 のTMA期間を15→16→17 と変更しているチャート事例を載せていますのでご参照ください。
パラメーター
- TMA期間:三角移動平均線を計算する期間を指定
- 適用価格:MT4標準搭載MAと同様の七択
ラインの色は、パラメーター変更と同じWindowの色の設定で変更してください。ラインの太さや形状もここで変更します。
使用例
hj_TMA-100 デフォルトセット状態
hj_TMA-100 を2本表示
hj_TMA-100:15期間とTMA:30期間:青(hj_TMA-100)
hj_TMA-100:16期間とTMA:30期間:青(hj_TMA-100)
hj_TMA-100:17期間とTMA:30期間:青(hj_TMA-100)
インジケーターのセット~期間・色・適用価格変更~2本目セット~削除動画
hj_TMA-100 と TMA 比較動画
コメント