自動売買システム日経225ミニ専用をC#で作る。TradingView Strategyを考える
自動売買システム作成の目的は?
1.利益を最大化するため:
2.効率を改善するため:
3.感情的な決断を排除するため:
等々ありますが!私は1.を最重要視しております。
TradingView Strategyを作成する
1.ボリンジャーバンドを使用するストラテジー
このストラテジーでは、日経225ミニのチャートにボリンジャーバンドを設定します。ボリンジャーバンドは、価格の標準偏差を示す帯であり、通常、価格が帯の下部に到達した時に買い、帯の上部に到達した時に売ることを目的とします。ただし、このストラテジーでは、価格が帯の上部に到達したときには、買いではなく、利益確定のために売ることが望ましいとされています。
2.モメンタム指標を使用するストラテジー
このストラテジーでは、日経225ミニのチャートにモメンタム指標を設定します。モメンタム指標は、価格の変化率を示す指標であり、通常、価格が上昇傾向にある場合に買い、下降傾向にある場合に売ることを目的とします。ただし、このストラテジーでも、価格の上昇傾向が終わった場合には、利益確定のために売ることが望ましいとされています。
3.RSIを使用するストラテジー
このストラテジーでは、日経225ミニのチャートにRSI(相対力指数)を設定します。RSIは、価格の上昇幅と下降幅の比率を示す指標であり、通常、RSIが30以下になったときに買い、70以上になったときに売ることを目的とします。ただし、このストラテジーでも、価格の上昇傾向が終わった場合には、利益確定のために売ることが望ましいとされています。
ボリンジャーバンドを使用するストラテジーをchatGTPで作成する。
//@version=4
strategy("Bollinger Bands Scalping Strategy")
// ボリンジャーバンドのパラメーター
bb_length = input(title="BB Length", type=input.integer, defval=20, minval=1, maxval=100)
bb_mult = input(title="BB Mult", type=input.float, defval=2.0, minval=0.1, maxval=10.0)
// ボリンジャーバンドの計算
basis = sma(close, bb_length)
dev = bb_mult * stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// エントリー条件
buySignal = crossover(close, upper)
sellSignal = crossunder(close, lower)
// ポジションの管理
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)
// プロット
plot(basis, color=color.blue)
plot(upper, color=color.red)
plot(lower, color=color.green)
chatGTPで上記のコードを作成してくれました。
traidingviewにはインジケータ、ストラテジーが数多くあります。この中にBB Strategyがありますが上記で作成されたコードとほぼ同じです。早速日経225ミニ15分足でバックテストしてみます。勝率63%問題は平均トレード(844.36円)このシステムは成行でシグナルが発生した場合注文をします。
成行の場合-5円のスプリットが発生します。往復でー10円
ですので-1000円となり844.36-1000= -155.64で損益となります。平均トレードは1000円以上ないと儲かりません。
自動売買システムで使うStrategy
BB strategyは損失になってしまいました。私の作成した勝率60%以上のstrategyを売買システムシグナルに採用します。
TraidingviewのWebhokk機能を使って売買シグナルを自動売買システムに送信する。
Tradingviewのアラート作成
日経225ミニ15分足チャートを開いてPZFN Long Strategy
を適応させた後、時計アイコンボタン ー>アラート作成
(+)ボタンを押しアラート設定ダイアログを表示します。
設定タブ
条件 PZFN Longを選択する
有効期限を設定する
アラート名 PZFNL(自分の好きなアラート名)
メッセージ メッセージには下記コードをコピーして
入力してください。
{
"passphrase": "abcdefg",
"alert_name": "PZFNL",
"time": "{{timenow}}",
"exchange": "{{exchange}}",
"ticker": "{{ticker}}",
"interval": {{interval}} ,
"bar": {
"time": "{{time}}",
"open": {{open}},
"high": {{high}},
"low": {{low}},
"close": {{close}},
"volume": {{volume}}
},
"strategy": {
"postion_size": {{strategy.position_size}},
"order_action": "{{strategy.order.action}}",
"order_contracts": {{strategy.order.contracts}} ,
"order_price": {{strategy.order.price}},
"order_id": "{{strategy.order.id}}",
"market_position": "{{strategy.market_position}}",
"market_position_size": {{strategy.market_position_size}},
"prev_market_position": "{{strategy.prev_market_position}}",
"prev_market_position_size": {{strategy.prev_market_position_size}}
}
}
コード2行目 "alert_name":に”アラート名”を設定する。
通知タブ
アラート通知タブで
Webhook URLの チェックボックスをチェック
ngrokで取得したURLを設定する。必ず/webhook/ は入力してください。その他必要なのチェックを入れる。
これで自動売買システムの売買シグナルは準備できました。
あとは稼働検証を行うことです。
この記事が気に入ったらサポートをしてみませんか?