この戦略は,二重指数移動平均 (EMA) フレームワークに基づいたトレンドフォローする取引システムで,EMA20レベルでのリミット購入オーダーを実装する.これは保守的なマネーマネジメントアプローチを採用し,取引ごとにアカウントの株式の10%しか利用せず,リスク管理のために利益とストップロスのレベルを組み込む.この戦略は,市場動向を決定するために2つのEMA期間 (30日および300日) を使用し,上昇傾向の市場中にしかエントリー機会を探さない.
戦略の基本論理は,いくつかの重要な要素に基づいています.
この戦略は,移動平均システムと厳格なリスク管理規則を組み合わせて,比較的堅牢な取引システムを創出する.その核心の強みは,トレンドをフォローする特徴と包括的なリスク管理メカニズム,保守的なマネーマネジメントを維持しながら制限オーダーを通じてエントリー価格を最適化することにある.この戦略は,さまざまな市場で劣悪なパフォーマンスを発揮することがあるが,提案された最適化方向性は,その安定性と収益性をさらに高めることができる.安定したリターンを求める投資家にとって,この定量的な取引戦略は,価値ある考慮を表す.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Limit Buy at EMA20 (Last 30 Days)", overlay=true) // Inputs for EMAs ema20Length = input.int(30, title="EMA 20 Length") ema300Length = input.int(300, title="EMA 300 Length") tpPercentage = input.float(10.0, title="Take Profit (%)", step=0.1) / 100 slPercentage = input.float(5.0, title="Stop Loss (%)", step=0.1) / 100 // Stop loss at 15% // Calculate EMAs ema20 = ta.ema(close, ema20Length) ema300 = ta.ema(close, ema300Length) // Plot EMAs plot(ema20, color=color.blue, title="EMA 20") plot(ema300, color=color.red, title="EMA 300") // Limit backtesting to the last 30 days startTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - 30, 0, 0) if (time < startTime) strategy.close_all() strategy.cancel_all() // Entry Condition: Price above EMA300 longCondition = close > ema300 and time >= startTime // Calculate position size (10% of equity) positionSize = strategy.equity * 0.10 / ema20 // Use EMA20 as the limit price // Place a limit buy order at EMA20 if (longCondition) strategy.order("Limit Buy", strategy.long, qty=positionSize, limit=ema20) // Calculate TP and SL levels tpPrice = ema20 * (1 + tpPercentage) slPrice = ema20 * (1 - slPercentage) // Set take profit and stop loss if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Limit Buy", stop=slPrice, limit=tpPrice)