MACDとCCIは、トレンド追跡によく使われるテクニカル指標ですが、これらを逆張りに使うこともできます。逆張り戦略は、一般的にトレンドに反する方向にトレードを行い、市場が過剰に買われたり売られたりしているときに利益を得ることを目的としています。この記事では、MACDとCCIを使った逆張り戦略について探求していきます。
また、どれだけ通用するのか、Trading ViewのPineScriptでプログラムをChatGPTを使って作ってみました。
逆張りで有効なオシレーターの組み合わせ
以下の記事で詳しく解説しました。組み合わせ次第で、逆張り判定できそうです。
今回はMACDとCCIの組み合わせでプログラム作成
まず、いきなりMT4のMQL4を作るのは時間もかかるし、稼げるか稼げないかもわからないので、失敗したときの労力がもったいない。
まずは、Trading ViewのPineScriptでロジックを組んで、バックテストしてみることにしました。
ChatGPTで基本形を作成
作成はゼロから作ると時間がかかるので、ChatGPTで原型を作ってみました。ChatGPTは、アメリカのAIで、チャット形式の質問に投げかけると、色々な事が出来てしまいます。
今回はこんな質問してみました。
ChatGPTに質問した内容
ChatGPTが提案したソースコード
おどろきました。めちゃ使えます。
修正したソースコード
いつもはLINEの友達にしか公開していませんが、今回は修正したソースコードを書いてみますね。
//@version=5
strategy("MACD and CCI Strategy", overlay=true)
// MACDの設定
fast_length = input(title="Fast Length",defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input(title="Signal Length", defval=9)
[macdLine, signalLine, _] = ta.macd(src, fast_length, slow_length, signal_length)
// CCIの設定
cci_length = input(title="CCI Length", defval=14)
cci_threshold = input(title="CCI Threshold", defval=100)
hlc = (high + low + close) / 3
cci = ta.cci(hlc, cci_length)
// エントリーシグナル
longSignal = ta.crossover(macdLine, signalLine) and cci < -cci_threshold
shortSignal = ta.crossunder(macdLine, signalLine) and cci > cci_threshold
// トレードの実行
if (longSignal)
strategy.entry("Buy", strategy.long)
if (shortSignal)
strategy.entry("Sell", strategy.short)
// クローズの実行
strategy.exit("Exit", "Buy", limit=close + 20)
strategy.exit("Exit", "Sell", limit=close - 20)
ソースの解説
このプログラムでは、まずMACDとCCIの設定を行っています。MACDは、12期間EMAと26期間EMAの差分に対するシグナル線の9期間EMAを使用しています。CCIでは、14期間のCCIを計算し、閾値として100を設定しています。
次に、エントリーシグナルを設定しています。ロングポジションを取る条件は、MACDのシグナル線がMACD線を上回り、CCIが-100を下回ることです。ショートポジションを取る条件は、MACDのシグナル線がMACD線を下回り、CCIが100を上回ることです。
最後に、トレードの実行とクローズの実行を設定しています。トレードは、エントリーシグナルが出たときに直ちに実行されます。クローズは、20pipsの利益を確保するリミットオーダーとして実行されます。
バックテストした結果
パラメーター設定値は、とりあえずは、AIが指定したものをそのまま使ってみました。
ドル円で5分足、0.1ロット、期間は今年2023年でのバックテスト結果です。驚くべきことに、いきなり右肩上がりのグラフ。取引回数が少ないので、調整は必要ですが、最初から利益が出るコードが出てくるとは夢にも思わなかったのでびっくりです。
パラメーターの調整
パラメーターを調整して利益率高くなるようイジってみました。トレード回数が6倍に増えて、利益も倍になりました。
これが出来るのがTradingViewの良いところです。同じ事をMQL4(MT4)のバックテストで行うと何時間もかかってしまいます。
調整した内容
LINEお友達限定で、調整したパラメーターの設定値をお伝えしてます。記事末より、お友達登録できます。
結論
MACDとCCIの組み合わせの逆張りは、パラメーターの設定値次第だけど使える!。あとは、損切りラインをどこで設定するかで、最大ドローダウンの大幅な下落部分を避けれますね。
コメント