이 전략은 50주기 매끄러운 이동 평균 (SMMA) 과 20주기 간단한 이동 평균 (SMA) 사이의 교차 신호를 사용하여 입출을 결정합니다. 빠른 SMA 라인이 느린 SMMA 라인의 위를 넘을 때 구매 신호를 생성하고, SMA가 SMMA 아래를 넘을 때 판매 신호를 생성합니다. 동시에 전략은 수익을 잠금하고 위험을 제어하기 위해 고정된 수익 및 동적 스톱 손실 수준을 미리 설정합니다.
다양한 매개 변수 (사이클 기간, 필터 기준 등) 의 조합을 테스트하여 최적을 찾습니다.
부피가 상승하는 것과 같은 다른 요소들을 포함해서 신호를 필터합니다.
최적의 매개 변수를 찾기 위해 매개 변수 최적화 도구를 사용하십시오.
후속 정지 또는 이익 비율에 기반한 출구와 같은 다른 수익을 취하는 방법을 통합하는 것을 고려하십시오.
시장의 변동성을 기반으로 동적 스톱 로스 범위를 계산합니다.
이 전략은 비교적 간단한 논리를 가지고 있으며, 이중 이동 평균을 통해 트렌드 방향을 포착합니다. 이윤을 취득하고 위험 통제를 위해 고정 취득 이익과 동적 스톱 손실의 유연한 사용은 위험과 보상 사이의 균형을 이룬다. 추가 매개 변수 및 논리 최적화는 이 전략을 더 넓은 시장 조건에 적응시킬 수 있습니다.
/*backtest start: 2023-01-26 00:00:00 end: 2024-02-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("50 SMMA and 20 SMA Crossover with TP and SL", overlay=true) // Define 50 SMMA smma50 = sma(close, 50) // Define 20 SMA sma20 = sma(close, 20) // Plotting the SMMA and SMA plot(smma50, color=color.blue, title="50 SMMA") plot(sma20, color=color.red, title="20 SMA") // Initialize TP and SL variables tp = 150 var float sl_price = na // Buy Signal buySignal = crossover(sma20, smma50) strategy.entry("Buy", strategy.long, when = buySignal) strategy.exit("Take Profit/Stop Loss", from_entry="Buy", profit=tp, loss=sl_price) // Sell Signal sellSignal = crossunder(sma20, smma50) strategy.entry("Sell", strategy.short, when = sellSignal) strategy.exit("Take Profit/Stop Loss", from_entry="Sell", profit=tp, loss=sl_price) // Update stop loss level on every crossover if (buySignal or sellSignal) sl_price := close[bar_index + 1] // Plot Stop Loss level plotshape(series=sl_price != na, title="Stop Loss Level", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)