この戦略は,価格が上帯に触るとショート,下帯に触るとロングになるボリンジャーバンド指標を利用する.動的取利益レベルを設定し,1%の利益に達するとポジションを閉じる.コアアイディアは,価格がボリンジャーバンド内で常に変動し,平均逆転特性を有しているため,価格が価格差を把握するために移動平均から偏りすぎると逆転ポジションを取ることができます.
この戦略は,ボリンジャー帯を使用したシンプルで効果的な取引システムを構築し,上下帯に触れる価格をシグナルとして採用し,リスクを制御するためにダイナミックテイク・プロフィートを採用する.この戦略はトレンド市場では良好なパフォーマンスを発揮するが,レンジング市場では頻繁な取引問題に直面する可能性がある.トレンド分析,テイク・プロフィートとストップ・ロスの最適化,因子組み合わせ,より強力なリターンを達成するための基本的なフィルタリングの観点からさらなる改善を行うことができる.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Future Price Prediction", overlay=true) // Ayarlar length = input.int(14, "Length") mult = input.float(2.0, "Multiplier") showBands = input.bool(true, "Show Bands") takeProfitPercentage = 1.0 // Ortalama ve Standart Sapma Hesaplamaları basis = ta.sma(close, length) dev = mult * ta.stdev(close, length) // Üst ve Alt Bantlar upper = basis + dev lower = basis - dev // Grafikte Gösterim plot(basis, color=color.blue, linewidth=2, title="Basis") plot(showBands ? upper : na, color=color.red, linewidth=1, title="Upper Band") plot(showBands ? lower : na, color=color.green, linewidth=1, title="Lower Band") // Al-Sat Sinyalleri longCondition = ta.crossover(close[1], lower[1]) and close[1] < open[1] shortCondition = ta.crossunder(close[1], upper[1]) and close[1] > open[1] // Kar al seviyeleri float longTakeProfit = na float shortTakeProfit = na if longCondition longTakeProfit := close * (1 + takeProfitPercentage / 100) if shortCondition shortTakeProfit := close * (1 - takeProfitPercentage / 100) // Strateji Giriş ve Çıkış if longCondition strategy.entry("Buy", strategy.long) strategy.exit("Take Profit", from_entry="Buy", limit=longTakeProfit) if shortCondition strategy.entry("Sell", strategy.short) strategy.exit("Take Profit", from_entry="Sell", limit=shortTakeProfit) // Al-Sat Sinyalleri Grafikte Gösterim plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Bilgi Tablosu var table data = table.new(position.bottom_right, 2, 2, frame_color=color.black, frame_width=1) if barstate.islast table.cell(data, 0, 0, "Current Price", text_color=color.white) table.cell(data, 1, 0, str.tostring(close)) table.cell(data, 0, 1, "Predicted Basis", text_color=color.white) table.cell(data, 1, 1, str.tostring(basis))