この戦略は,現在のキャンドルと前のキャンドルの閉じる価格を比較することで,買い/売る信号を誘発します.
具体的には,現在のキャンドルが前のキャンドルの最高価格を超えて閉じる場合,購入信号が起動します.現在のキャンドルが前のキャンドルの最低価格を下回ると,販売信号が起動します.
この戦略の基本的取引論理は 上記です
戦略のアイデアは,全体的にシンプルで明確で,トレンド方向を決定するためにキャンドルストック閉値を使用し,リスクを制御するためにストップ・ロスト/テイク・プロフィートも持っており,株式や暗号取引のための基本的な戦略として機能することができます.しかし,単一のタイムフレームに基づいて判断すると,より簡単に偽信号を生成する傾向があります.戦略パフォーマンスを向上させるためにより多くの要因と調整パラメータを組み込むことで改善の余地があります.
/*backtest start: 2023-12-08 00:00:00 end: 2024-01-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Buy/Sell on Candle Close", overlay=true) var float prevLowest = na var float prevHighest = na var float slDistance = na var float tpDistance = na // Specify the desired timeframe here (e.g., "D" for daily, "H" for hourly, etc.) timeframe = "D" // Fetching historical data for the specified timeframe pastLow = request.security(syminfo.tickerid, timeframe, low, lookahead=barmerge.lookahead_on) pastHigh = request.security(syminfo.tickerid, timeframe, high, lookahead=barmerge.lookahead_on) if bar_index > 0 prevLowest := pastLow[1] prevHighest := pastHigh[1] currentClose = close if not na(prevLowest) and not na(prevHighest) slDistance := prevHighest - prevLowest tpDistance := 3 * slDistance // Adjusted for 1:3 risk-reward ratio // Buy trigger when current close is higher than previous highest if not na(prevLowest) and not na(prevHighest) and currentClose > prevHighest strategy.entry("Buy", strategy.long) strategy.exit("Buy TP/SL", "Buy", stop=prevLowest - slDistance, limit=prevHighest + tpDistance) // Sell trigger when current close is lower than previous lowest if not na(prevLowest) and not na(prevHighest) and currentClose < prevLowest strategy.entry("Sell", strategy.short) strategy.exit("Sell TP/SL", "Sell", stop=prevHighest + slDistance, limit=prevLowest - tpDistance) plot(prevLowest, color=color.blue, title="Previous Lowest") plot(prevHighest, color=color.red, title="Previous Highest")