FXボーグ | テクニカル実験室

テクニカル分析を使った自動売買プログラムの開発に挑戦!

スポンサーリンク

LoCoTL (Local Convex Trend Line)をアップしました。(最適なトレンドラインの引き方)

LoCoTL(Local Convex Trend Line) インジケーターをアップしました。

人間であれば簡単に引けるトレンドラインですが、プログラムに描かせるとなかなかうまくいかないものです。前回は凹包を行いましたが、これを利用してトレンドラインを引くロジックを考えてみました。

f:id:fxborg:20171129010319p:plain

(USDJPY4H)

最適なトレンドラインはどれ?

以下のチャートの黄色い枠内に最適なトレンドラインを引くにはどうすればよいでしょうか。いろいろな方法があると思いますが、枠内のデータを凸包することで、ひとまずトレンドラインの候補を得ることが出来ます。

f:id:fxborg:20171129014935p:plain

凸包の各辺がトレンドラインの候補になります。こんな感じです。

f:id:fxborg:20171129020253p:plain

高値サイドに4本と安値サイドに2本のラインが引かれました。

最適なラインの求め方

何を最適とするかはトレンドラインの捉え方次第になります。例えば時系列解析のトレンドラインはサンプルの中心を通りますが、トレーダーのそれは価格の外側に引かれます。

これは境界点群と一番距離の近い直線を最適とするとうまく行きそうですが「2つ以上の頂点(高値・安値)と接していること」という制約条件も考慮しなくてなりません。

これらを効率よく計算するためにこんなロジックを考えてみました。

トレンドラインの引き方
  • 1.局所的凸包(Local Convex Hull)を行い価格の境界点を求める。
  • 2.価格の境界点をさらに凸包し、トレンドラインの候補を得る。
  • 3.それぞれのラインと境界点の残差を求め合計する。
  • 4.残差和の一番小さいラインを最適なトレンドラインと評価する。

 以下は実際のLoCoTLで求めたラインです。

f:id:fxborg:20171129024548p:plain

その時点での最適なトレンドラインを計算しています。

最後に

今回はLocal Convex Hull をベースにしたLoCoTLインジケータを作ってみました。以前の「G-Trend」や「SimpleAutoTL」の後継になります。当初考えてたものとはまったく違うものになったのですが・・・まあ、だいたいいつもそんな感じです。

こちらからどうぞ 

/Libraries/LoCoTL.zip
/Libraries/LoCoTL.dllKaspersky VirusDesk にて検査済み)
/indicators/LoCoTL.mq5