
この戦略は、移動平均トレンド追跡とボリューム分析手法を組み合わせた 5 分間の時間枠に基づく自動取引システムです。この戦略では、50 期間の単純移動平均 (SMA) を使用して市場の動向を判断し、取引シグナルの有効性を検証するためにボリューム分析を導入します。このシステムは、固定のストップロスと利益目標を使用して、完全に自動化された取引を実現します。
戦略の中核となるロジックには、次の主要なコンポーネントが含まれます。
この戦略は、トレンド追跡とボリューム分析を組み合わせて、完全な高頻度取引システムを構築します。この戦略の主な利点は、多次元のシグナル確認メカニズムと完璧なリスク管理システムにあります。いくつかの固有のリスクはあるものの、提案された最適化の方向性を通じて、戦略の安定性と適応性をさらに向上させることができます。この戦略は、明確なトレンドのある市場環境での運用に特に適しており、合理的なパラメータ最適化とリスク管理を通じて安定した取引結果を達成することが期待されます。
/*backtest
start: 2024-01-10 00:00:00
end: 2025-01-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Jerryorange
//@version=6
//@version=6
strategy("Autonomous 5-Minute Robot", overlay=true, fill_orders_on_standard_ohlc=true)
// --- Inputs ---
maLength = input.int(50, title="Trend MA Length") // Moving average length for trend detection
volumeLength = input.int(10, title="Volume Length") // Length for volume analysis
stopLossPercent = input.float(3, title="Stop Loss (%)") // 3% stop loss
takeProfitPercent = input.float(29, title="Take Profit (%)") // 29% take profit
// --- Market Trend Detection ---
ma = ta.sma(close, maLength) // Simple moving average for trend direction
isBullish = close > ma // Market is bullish if the close is above the moving average
isBearish = close < ma // Market is bearish if the close is below the moving average
// --- Volume Analysis ---
buyVolume = (high != low) ? volume * (close - low) / (high - low) : 0
sellVolume = (high != low) ? volume * (high - close) / (high - low) : 0
totalVolume = volume
// --- Define Market Direction over Last 30 Minutes (6 candles in 5-minute chart) ---
lookback = 6 // 30 minutes / 5 minutes = 6 bars
prevClose = close[lookback] // Previous close 30 minutes ago
currentClose = close // Current close
uptrend = currentClose > prevClose and isBullish // Uptrend condition
downtrend = currentClose < prevClose and isBearish // Downtrend condition
// --- Strategy Logic ---
longCondition = uptrend and buyVolume > sellVolume // Buy signal when trend is up and buy volume exceeds sell volume
shortCondition = downtrend and sellVolume > buyVolume // Sell signal when trend is down and sell volume exceeds buy volume
// --- Entry and Exit Strategy ---
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// --- Exit Strategy based on Stop Loss and Take Profit ---
strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent / 100), limit=close * (1 + takeProfitPercent / 100))
strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent / 100), limit=close * (1 - takeProfitPercent / 100))
// --- Plotting for Visualization ---
plot(ma, color=color.blue, title="50-period MA") // Trend line
plotshape(longCondition, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY")
plotshape(shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL")