【ChatGPTで作成】FXでMACDとストキャスティクスを組み合わせて逆張りトレードプログラムをPineScriptで作ってみた。

※本ページはプロモーションが含まれています

MACDとストキャスティクスは、テクニカル分析において最も一般的に使用されるオシレーターです。この記事では、MACDとストキャスティクスを使用して、逆張り取引を行う方法について説明します。

また、実際にこの組み合わせは儲ける事が出来るのか?、PineScriptでプログラムを作ってバックテストしてみました。結構参考になると思います。

目次

逆張りで有効なオシレーターの組み合わせ

有効的なオシレーターの組み合わせは、こちらに過去に記事を書きました。

あわせて読みたい
FXの逆張りトレードにおすすめのオシレーターの組み合わせ(RSI、MACDなど)と手法 FXの逆張りの手法には、様々な指標を用いることができますが、FXではオシレーターと呼ばれる指標がよく使われます。 オシレーターとは、相場の過熱感を示す指標であり、...

MACDとCCIのオシレーターの組み合わせで売買

主な戦略

MACDとストキャスティクスを組み合わせた逆張り戦略では、ストキャスティクスが80以上または20以下に達したときに、売りまたは買いのサインが発生すると考え、MACDの線がシグナル線を下回った場合に売りシグナルが発生しMACDの線がシグナル線を上回った場合に買いシグナルが発生するような取引を行います。

具体的には、ストキャスティクスが80以上に達した場合は「売り」、20以下に達した場合は「買い」のシグナルを待ちます。そして、MACDの線がシグナル線を下回った場合には、ショートポジションを取ります。逆に、MACDの線がシグナル線を上回った場合には、ロングポジションを取ります。

ChatGPTで基本形を作成

最近はゼロからコードを組むのが面倒になりました。流行りのChatGPTで原型を組んでみました。ChatGPTに質問した内容はこちら。コツはロジックについて詳しく述べる事です。儲かるトレードとか、曖昧だと曖昧な結果しか出ません。

ChatGPTに質問した内容

コツとしては、やりたいトレード手法について具体的に書いて、PineScriptのバージョンも最新の5と指定することです。PineScriptはバージョン4と5では全く書き方が変わり、なおかつ互換性もないのでエラーになるんですよ。

ChatGPTが出したソースコード

ソースコード

エラーだらけだったので、かなり修正しました。バージョン5指定したのですが、バージョン4の書き方の箇所がかなり出ていました。AIではその部分は理解出来ていないのかもしれません。

//@version=5
strategy("Sth and MACD Reversal", overlay=true)

// Stochastic settings
length = input(14, title="Stochastic Length")
sth_smoothK = input(3, title="Stochastic K")
sth_smoothD = input(3, title="Stochastic D")
overbought = input(80, title="Overbought Level")
oversold = input(20, title="Oversold Level")

// MACD settings
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")
[MACD, MACD_signal, MACD_histLine] = ta.macd(close, fastLength, slowLength, signalLength)

// Entry conditions
stoch = ta.stoch(close, high, low, sth_smoothK)
buySignal = ta.crossover(MACD, MACD_signal) and (stoch < oversold)
sellSignal = ta.crossunder(MACD, MACD_signal) and (stoch > overbought)

// Position management
stopLoss = input(20, title="Stop Loss (pips)")
takeProfit = input(20, title="Take Profit (pips)")
longSL = low - stopLoss * syminfo.mintick
shortSL = high + stopLoss * syminfo.mintick
longTP = high + takeProfit * syminfo.mintick
shortTP = low - takeProfit * syminfo.mintick

// Place orders
if buySignal
    strategy.entry("Buy", strategy.long)
if sellSignal
    strategy.entry("Sell", strategy.short)

// クローズの実行
strategy.exit("Exit", "Buy", limit=close + takeProfit)
strategy.exit("Exit", "Sell", limit=close - stopLoss)

バックテストした結果

いくつかエラーが出たので修正して実行した結果です。ドル円、5分足、0.1ロットでトレード。期間は2023年のデータ(1月〜2月)の結果です。何もパラメーターをいじっていない状態で、かなり良い結果でびっくりです。

MACDとストキャスのバックテスト

初期設定でのパラメーター

設定値は以下のとおり。これを細かく調整していけば、もっとトレード回数が上がりそうです。意外と初期値でもいけますね。

MACDとストキャスティクス

パラメーターを調整した結果

スキャルピングっぽい形になり、勝率が6割と下がりましたが、純益が約3倍。プロフィットファクターも1.4と上出来です。

MACDとストキャスティクスのトレードバックテスト結果

ドローダウンが異様に高いので、そのへんの工夫は必要かも。ですが、AIでざっと出してくれたソースコードでここまで確認出来たので

結論

MACDとストキャスの組み合わせでの逆張りは、かなり使えそうです。パラメーターの設定次第にはなりますが、スキャルピングっぽくなって、うまーく使えばですが利益が積み重なりそうです。

矢野テックのトレード結果やプログラム使った予測について

パスワードされた記事は、LINEでお友達になってくれた方に公開しています。

また、今ならお友達には矢野テック自作のMT4用のインジケーターをプレゼント中です。

友だち追加

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

仮想通貨botや、MT4のEA開発、インジケーターなどを作ってます。このブログではFXの基礎的な知識から検証のまとめなどを書いていきたいと思ってます。

プログラムや手法のご質問は各記事のコメント欄からお願いします。

なお、トレードの結果などはLINEでお友達になった方に報告してます。ぜひなってください

コメント

コメントする

目次