이 전략은 이중 이동 평균 크로스오버 신호를 기반으로 하는 적응적 매개 변수 거래 시스템이다. 스톱 로스, 테이크 노프프 및 트레일링 스톱을 포함한 조정 가능한 리스크 관리 매개 변수와 결합하여 빠른 및 느린 이동 평균의 크로스오버를 통해 거래 신호를 생성하여 유연한 거래 전략 관리를 달성합니다. 전략의 핵심은 제어판을 통해 다양한 매개 변수를 동적으로 조정하여 전략이 다른 시장 환경에 적응 할 수 있습니다.
이 전략은 두 개의 이동 평균 - 빠른 및 느린 - 을 핵심 지표로 사용합니다. 빠른 이동 평균이 느린 이동 평균을 넘을 때 긴 위치 신호가 생성되며 빠른 이동 평균이 느린 이동 평균을 넘을 때 위치 폐쇄 신호가 생성됩니다. 또한 전략에는 세 가지 위험 제어 메커니즘이 포함되어 있습니다. 고정 스톱 로스, 고정 취리 및 트레일링 스톱. 이러한 매개 변수는 제어 패널을 통해 실시간으로 조정 할 수 있으며 0.1%에서 더 큰 비율까지 다양하며 거래자에게 정확한 위험 제어 기능을 제공합니다.
이 전략은 유연한 위험 관리 매개 변수와 결합된 이중 이동 평균 크로스오버를 통해 적응적인 거래 시스템을 구축합니다. 이 전략의 강점은 강력한 매개 변수 조정성과 포괄적인 위험 통제에 있으며, 시장의 범위 및 매개 변수 최적화로부터의 위험에주의를 기울여야합니다. 이 전략은 트렌드 필터와 스톱 로스 최적화 방법을 추가함으로써 상당한 최적화 잠재력을 가지고 있습니다. 거래자에게는 매개 변수를 올바르게 설정하고 전략 성능을 지속적으로 모니터링하는 것이 전략 안정성을 보장하는 열쇠입니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © traderhub //@version=5 strategy("Two Moving Averages Strategy with Adjustable Parameters", overlay=true) // Adjustable parameters for fast and slow moving averages fastLength = input.int(10, title="Fast Moving Average Length", minval=1, maxval=100) slowLength = input.int(30, title="Slow Moving Average Length", minval=1, maxval=100) // Risk management parameters stopLossPerc = input.float(1, title="Stop Loss (%)", step=0.1) // Stop-loss percentage takeProfitPerc = input.float(2, title="Take Profit (%)", step=0.1) // Take-profit percentage trailStopPerc = input.float(1.5, title="Trailing Stop (%)", step=0.1) // Trailing stop percentage // Calculate fast and slow moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Plot moving averages on the chart plot(fastMA, color=color.blue, title="Fast Moving Average") plot(slowMA, color=color.red, title="Slow Moving Average") // Conditions for opening and closing positions longCondition = ta.crossover(fastMA, slowMA) // Buy when fast moving average crosses above the slow moving average shortCondition = ta.crossunder(fastMA, slowMA) // Sell when fast moving average crosses below the slow moving average // Variables for stop-loss and take-profit levels var float longStopLevel = na var float longTakeProfitLevel = na // Enter a long position if (longCondition) longStopLevel := strategy.position_avg_price * (1 - stopLossPerc / 100) longTakeProfitLevel := strategy.position_avg_price * (1 + takeProfitPerc / 100) strategy.entry("Long", strategy.long) // Manage stop-loss, take-profit, and trailing stop for long positions if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLevel, limit=longTakeProfitLevel, trail_offset=trailStopPerc) // Close the long position and enter short when the condition is met if (shortCondition) strategy.close("Long") strategy.entry("Short", strategy.short)