この戦略は,毎日の午前2時5分の開場価格からの百分比変化に基づいて取引決定を行い,異なるトリガー条件を設定するために2段階のブレイクを使用し,様々な市場で重要な価格変動を把握することを目的としています.
この戦略は,毎日の午前2時に5分キャンドルの開口価格と比較した現在の5分キャンドルの開口価格に基づいて,現在の5分キャンドルの百分比変化を計算する. 百分比変化が第1段階のブレイクアウトの
ストップ・ロスは実行される場合,パーセント変化が拡大し続け,第2段階のトリガー条件を超えると,以前の注文はキャンセルされ,第2段階の
2段階のブレークアウト設定は,変動する市場中にノイズをフィルタリングし,より重要な価格変動のみで取引を行う.第2段階をアクティベートすると,ストップロスが頻繁に起動する状況を軽減することができます.
緩和策
この戦略は,2段階のブレイクアウトを使用して価格のピークを捕捉し,ノイズを効果的にフィルタリングする.このコンセプトはシンプルで明確で,パラメータ最適化によって良い結果を得ることができます.次のステップは,トレンド市場中にパフォーマンスを最大化するためにトレンドインジケーターと組み合わせることです.全体的にこれはブレイクアウト原則をうまく利用し,チューニング後にしっかりした結果を達成できる新しい戦略です.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Auto Entry Bot", overlay=true) // Define input for the stop loss and take profit levels stopLossPips = input.int(200, title="Stop Loss Pips", minval=1) takeProfitPips = input.int(400, title="Take Profit Pips", minval=1) // Calculate the percentage change from the 5-minute opening candle at 2:00 AM var float openPrice = na if (hour == 2 and minute == 0) openPrice := open percentageChange = (close - openPrice) / openPrice * 100 // Track the cumulative percentage change var float cumulativeChange = 0 // Define input for the percentage change trigger triggerPercentage1 = input.float(0.25, title="Percentage Change Trigger (%)", minval=0.01, step=0.01) triggerPercentage2 = input.float(0.35, title="Additional Trigger Percentage (%)", minval=0.01, step=0.01) // Check for price change trigger if (percentageChange >= triggerPercentage1) // Sell signal strategy.entry("Sell", strategy.short) strategy.exit("ExitSell", loss=stopLossPips, profit=takeProfitPips) cumulativeChange := 0 // Reset cumulative change after a trade if (percentageChange <= -triggerPercentage1) // Buy signal strategy.entry("Buy", strategy.long) strategy.exit("ExitBuy", loss=stopLossPips, profit=takeProfitPips) cumulativeChange := 0 // Reset cumulative change after a trade // If the price keeps hitting stop loss, activate the second trigger if (strategy.position_size < 0 and percentageChange <= -triggerPercentage2) strategy.cancel("Sell") // Cancel previous sell order strategy.entry("Sell2", strategy.short) strategy.exit("ExitSell2", loss=stopLossPips, profit=takeProfitPips) cumulativeChange := 0 // Reset cumulative change after a trade if (strategy.position_size > 0 and percentageChange >= triggerPercentage2) strategy.cancel("Buy") // Cancel previous buy order strategy.entry("Buy2", strategy.long) strategy.exit("ExitBuy2", loss=stopLossPips, profit=takeProfitPips) cumulativeChange := 0 // Reset cumulative change after a trade