
この戦略は,二均線システムに基づくトレンド追跡取引戦略であり,技術分析の指数移動平均 ((EMA) の指標と組み合わせて,EMA20の位置に限値札を設定して購入する.戦略は,保守的な資金管理方法を採用し,毎回口座利潤の10%のみを使用する取引を行い,リスクを制御するためにストップ・ロスを設定する.戦略は,30日と300日の2周期の指数移動平均を使用して,市場傾向を決定し,市場が上昇傾向にある場合にのみチャンスを探す.
戦略の核心的な論理は以下のポイントに基づいています.
この戦略は,技術分析における均線システムと厳格なリスク管理規則を組み合わせて,比較的安定した取引システムを構築している.戦略の核心的な優位性は,トレンド追跡特性と完善したリスク管理機構であり,入場価格を価格制限方法によって最適化し,保守的な資金管理方法を採用しながらリスクを制御している.戦略は,波動的な市場で不良なパフォーマンスを発揮するかもしれないが,推奨された最適化の方向によって,戦略の安定性と収益性をさらに向上させることができる.安定した収益を追求する投資家にとって,これは検討に値する量化取引戦略の選択肢である.
/*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)