どうも、FXトレーダー兼システムエンジニアのナオトです。
今回は、チャートの形を自動で見つけるプログラムを作ったときの話です。
いちばんよく知られた形の1つ、ダブルトップとダブルボトムで、思ったよりつまずきました。
ダブルトップは、ほぼ同じ高さの山が2つ並んだあと、間の谷を通る線、ネックラインを下に抜けたら下げ、とされる形です。
人の目なら、すぐに分かります。
ところが、プログラムにするには数字が要ります。
ほぼ同じ高さとは、どこまでの差なのか。山と山の間は何本あればいいのか。谷はどれくらい深ければいいのか。
調べた解説は、どれも、ほぼ同じ高さ、としか書いていませんでした。ネックラインは終値で抜けたときに成立とみなす、といった点は解説どうしで一致していましたが、肝心の高さの差には数字がありません。
そこで、最初は仮の数字を置いて、プログラムを動かしました。
山の高さの差は、値動きの平均の幅の0.5倍まで。2つの山の間は6本以上。
結果を見ると、ダブルトップとダブルボトムは、チャートの時間のうち合わせて1割ちょっとしか出てきません。
一番よく出る形のはずなのに、少なすぎます。
次に、私が実際のチャートで、これがダブルトップ、と丸を付けた画像を用意しました。データの範囲にあった3枚、15分足、1時間足、4時間足です。
その3つの山を、手元のデータで1つずつ測りました。
山の高さの差は、平均の幅の0.03倍から1.27倍。
仮に置いた0.5倍までという決まりでは、3つのうち2つを取りこぼしていました。
谷の深さは、平均の幅の3倍から5倍ほど。こちらは逆に、仮の決まりが甘すぎました。浅い谷まで拾うと、ただの横ばいまでダブルトップになってしまいます。
2つの山の間は、11本から23本。山を見つけるときに左右12本以上で比べると、2つの山が1つにつぶれてしまうことも分かりました。
測った値に合わせて、決まりを直しました。
山を見つけるのは左右6本、高さの差は平均の幅の1.5倍まで、谷の深さは2.5倍以上、山の間は10本以上。
この決まりで、丸を付けた3つすべてを、ダブルトップと判定できるようになりました。
ゴールドの1時間足、2018年から2023年で見ると、ダブルボトムが時間の11.8%、ダブルトップが10.2%。いくつも見た形の中で、この2つがいちばん多くなりました。ふだんチャートを見ていて、いちばん多いと感じていたとおりです。
もう1つ、谷の深さの決まりを、ダブルの形にだけ付けていたときは、高さの差を広げたとたん、山や谷が3つ並ぶトリプルトップとトリプルボトムが9%まで増えました。谷が浅ければ、山が3つでもただの横ばいです。すべての形に谷の深さを求めたら、3%に戻りました。
この話には続きがあります。
ここでは、値動きの平均の幅、ATRを物差しにして測りました。でも、そのすぐ後の検証で、ATRで決めたものはどれも効かず、為替ではATRを判断の基準にしないと決めました。そのいきさつは、ハムラットの話⑪に書いています。
ほぼ同じ高さ、のような言葉には、どこにも数字が書いてありません。それをどう数字にするか。プログラムを作るときに、いちばん時間がかかるのはここです。
ご自分の手法やチャートの形をインジケーターやEAにしたい方の、開発のご依頼も受けています。
最後までお読みいただき、ありがとうございました。