
이 전략은 두 개의 서로 다른 주기의 지수 이동 평균 ((EMA) 의 교차를 거래 신호로 사용하며, 고정된 점의 정지 및 중지 시점을 설정합니다. 단기 EMA가 아래에서 위쪽으로 장기 EMA를 통과하면, 더 많은 포지션을 열고, 단기 EMA가 위쪽으로 아래로 장기 EMA를 통과하면, 포지션을 열고, 공백합니다. 거래 시 고정된 점의 정지 및 중지 시점을 설정하여 위험을 제어하고 이익을 잠금합니다.
쌍평선 교차 스톱 로드 전략은 EMA 교차를 통해 거래 신호를 생성하고 고정 점 수 스톱 로드를 설정하여 위험을 제어하는 간단한 거래 전략입니다. 이 전략의 장점은 논리적으로 명확하고 구현하기 쉽고 시장 추세를 더 잘 포착 할 수 있다는 것입니다. 그러나 동시에 가짜 신호, 추세 지연, 시장 및 고정 스톱 로드 등의 위험이 있습니다.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA5 Cross EAM200 && SL/TP 50 and 200 Point Target", overlay=true)
// Define input parameters for EMA lengths
ema_5 = input.int(5, title="Fast EMA Length")
ema_200 = input.int(200, title="Slow EMA Length")
// Define input parameters for stop loss and profit target in points
stopLossPoints = input.float(50, title="Stop Loss (Points)")
profitTargetPoints = input.float(200, title="Profit Target (Points)")
// Calculate EMAs
price = close
emafast = ta.ema(price, ema_5)
emaslow = ta.ema(price, ema_200)
// Plot EMAs on chart
plot(emafast, title="5-period EMA", color=color.black)
plot(emaslow, title="200-period EMA", color=color.blue)
// Extra lines if needed
ema_13 = input.int(13, title="13 EMA")
ema_13_line = ta.ema(price, ema_13)
plot(ema_13_line, title="13-period EMA", color=color.rgb(156, 39, 176, 90))
ema_20 = input.int(20, title="20 EMA")
ema_20_line = ta.ema(price, ema_20)
plot(ema_20_line, title="20-period EMA", color=color.red)
// Define entry conditions
longCondition = ta.crossover(emafast, emaslow)
shortCondition = ta.crossunder(emafast, emaslow)
// Counter to keep track of the number of bars since the entry
var int barCount = na
// Reset counter and enter long trade
if (longCondition)
strategy.entry("Long", strategy.long, comment="Long")
barCount := 0
// Reset counter and enter short trade
if (shortCondition)
strategy.entry("Short", strategy.short, comment="Short")
barCount := 0
// Increment counter if in trade
if (strategy.opentrades > 0)
barCount += 1
// Calculate entry price
entryPrice = strategy.position_avg_price
// Exit long trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size > 0)
strategy.exit("Take Profit/Stop Loss", "Long", stop=entryPrice - stopLossPoints, limit=entryPrice + profitTargetPoints)
// Exit short trade if stop loss, profit target hit, or 200 points have been reached
if (strategy.position_size < 0)
strategy.exit("Take Profit/Stop Loss", "Short", stop=entryPrice + stopLossPoints, limit=entryPrice - profitTargetPoints)