記事「サイクルベースの取引システム(DPO)の構築と最適化の方法」についてのディスカッション

 

新しい記事「サイクルベースの取引システム(DPO)の構築と最適化の方法」はパブリッシュされました:

本記事では、MQL5におけるDPO(Detrended Price Oscillator、トレンド除去価格オシレーター)を用いた取引システムの設計および最適化手法について解説します。DPOのコアロジックを明確にし、長期トレンドを排除して短期サイクルを抽出する仕組みを示します。さらに、段階的な例とシンプルな戦略を通じて、インジケーターの実装方法、エントリー/エグジット条件の定義、そしてバックテストの実施方法について学ぶことができます。最後に、パフォーマンスを向上させ、市場環境の変化へ適応させるための実践的な最適化手法を紹介します。

DPOは、価格のサイクルを可視化するために使用されるツールです。長期的なトレンド成分を取り除くことで、短期的なサイクルにフォーカスします。このインジケーターを使うことで、買われすぎや売られすぎの判断や、相場の転換ポイントを特定しやすくなります。

DPOは、現在の価格と、一定期間の移動平均を過去へずらした値を比較することで算出されます。目的はより短いサイクルを分離することです。この移動平均期間は、対象とするサイクルの長さに応じて設定するのが一般的です。DPOはゼロラインを中心に上下に振れるオシレーターであり、正の値は価格がシフトされた移動平均より上にあること、負の値は下にあることを示します。

このインジケーターは、サイクルの高値と安値の検出や、エントリー/エグジットのタイミング判断に利用できます。また、他のテクニカルツールと組み合わせてシグナルの精度を向上させることも可能です。


作者: Mohamed Abdelmaaboud

 
これは非常に興味深いのですが、理論とコードの関連付けに 少々難があります。私の理解が正しければ、現在のバーで使用するSMAを計算するには、考慮期間をN/2 + 1バー分後ろにずらし、そこからNバー分戻してSMAを計算する必要があります。私は初心者なので、インジケータのコードをよく理解しているふりはしませんが、私が解読したところでは、NはSMAの期間として名前を設定するために使用されるだけで、計算には使用されず、代わりにN/2 + 1 (コードではmaPeriod)がSMAの期間として使用され、シフトは実行されないようです。もし私がすべて間違っているのであればお許しください。
 

ありがとうございます。

基本的に、私はあなたのインディケータが大好きです。

より高い時間枠、例えば週足で使用すると効果的だと思います。