
이 전략은 스크립트 전문가 인 Snehashish에 의해 정교하게 설계되었으며, 시장에서 가장 좋은 입구와 출구를 식별하기 위해 이동 평균 분산 지표 ((MACD) 와 상대적으로 약한 지수 ((RSI) 의 장점을 혁신적으로 결합합니다. 이 방법은 5K 선 전에 RSI가 시장이 초과 상태임을 표시하는 경우 MACD 라인이 신호 라인을 가로질러 정확하게 다자 거래에 진입하도록 정교하게 설계되었습니다.
평점 포지션의 경우, 이 전략은 두 가지 중요한 조건을 사용하여 탈퇴 신호를 낸다. 첫째, MACD 직각이 0보다 높고 MACD 라인이 신호선 아래로 지나면 거래가 종료되며 상승 동력이 역전될 수 있음을 나타냅니다. 둘째, 5K 라인 이전에 RSI가 초과 상태에서 발견되면 탈퇴 신호가 발생하며 시장이 꼭대기에 도달했을 수 있음을 나타냅니다.
Snehashish의 방법은 이러한 기술적 지표를 교묘하게 결합하여 특정 조건에서 MACD 및 RSI 지표의 확인을 기다리는 것으로 잡음을 필터링하고 성공 확률이 높은 거래를 목표로합니다. 이 전략의 조합은 입출소를 최적화하여 지표의 장점을 활용하여 시장 변동과 관련된 위험을 줄여 거래의 수익성을 높이는 것입니다.
이 전략의 핵심 원칙은 MACD와 RSI의 두 가지 기술 지표를 결합하여 시장의 전환점을 더 높은 정밀도로 포착하는 것입니다. RSI가 시장이 가장 최근의 K 라인에서 과매매되고 MACD 라인이 신호 라인을 상향으로 건너면 전략은 다중 거래에 진입합니다.
평소 위치의 경우, 전략은 MACD와 RSI가 보여주는 잠재적인 추세 역전 신호에 주목한다. MACD 직각이 0보다 높고 MACD 선이 신호선을 아래로 통과하면 전략은 평소된다. 또한, RSI가 시장이 초과 구매 수준을 달성 한 경우 평소 위치를 촉발합니다. 이러한 조건은 종합적으로 가격이 상위, 상위 동작이 약해질 수있을 때 전략은 상위 위치를 닫습니다.
전체적으로, MACD와 RSI가 제공하는 신호를 조합하여, 이 전략은 트렌드가 시작될 때 반전 징후를 볼 때 포지션을 열고, 트렌드가 끝날 때 포지션을 풀기 위해 노력하여 입출소를 최적화하여 전반적인 거래 성능을 향상시킵니다.
이러한 위험을 완화하기 위해, 필터링 조건으로 다른 선도적 지표를 도입하고, 다른 시장 상황에 맞게 파라미터를 최적화하고, 단일 거래 위험을 제어하기 위해 적절한 스톱 및 스톱을 설정하는 것이 고려될 수 있습니다.
이러한 최적화 조치는 전략의 리스크 조정 수익률을 더 높여 변화하는 시장 환경에 더 잘 적응할 수 있습니다.
Snehashish이 설계한 이 긴 라인 거래 전략은 MACD와 RSI의 두 가지 기술 지표를 교묘하게 결합하여 시장의 전환점을 더 정확하게 포착하고, 진입과 출퇴근을 최적화한다. RSI가 오버셀 상태를 확인하는 것을 기다리는 것, 그리고 MACD 라인을 통해 신호 라인을 통해 포지션 개시 신호로, 전략은 트렌드 초반의 역전 징후가 있을 때 적시에 진입할 수 있다. 동시에, MACD 직선과 신호 라인의 상대적인 위치를 이용하고, RSI의 오버 바이 신호는, 전략은 상행 트렌드가 끝날 때 적시에 포지션을 평정할 수 있다.
이 전략은 좋은 잠재력을 보여 주지만, 여전히 과잉 거래와 강한 추세의 신호 지연과 같은 위험이 있습니다. 이러한 위험을 완화하기 위해, 다른 지표의 도입, 최적화된 매개 변수 설정, 시장 환경 분석의 강화, 포지션 관리의 개선과 같은 조치를 고려할 수 있습니다.
전체적으로, MACD와 RSI를 결합한 이 긴 라인 거래 전략은 투자자에게 시장의 전환점을 포착하고 출구 시기를 최적화 할 수있는 신뢰할 수있는 프레임 워크를 제공합니다. 추가적인 최적화 및 개선으로 이 전략은 변화하는 시장에서 투자자에게 강력한 도구가 될 수 있으며, 안정적인 장기 수익을 창출 할 수 있습니다.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// snehashish 2024
strategy(title='spl Long Strategy', initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, currency='USD', overlay=true)
//// Stoploss and Take Profit Parameters
// Enable Long Strategy
enable_long_strategy = input.bool(true, title='Enable Long Strategy', group='SL/TP For Long Strategy', inline='1')
long_stoploss_value = input.float(50, title='Stoploss %', minval=0, group='SL/TP For Long Strategy', inline='2')
long_takeprofit_value = input.float(50, title='Take Profit %', minval=0, group='SL/TP For Long Strategy', inline='2')
// Enable Short Strategy
enable_short_strategy = input.bool(true, title='Enable Short Strategy', group='SL/TP For Short Strategy', inline='3')
short_stoploss_value = input.float(50, title='Stoploss %', minval=0, group='SL/TP For Short Strategy', inline='4')
short_takeprofit_value = input.float(50, title='Take Profit %', minval=0, group='SL/TP For Short Strategy', inline='4')
// Date Range
start_date = input.int(1, title='Start Date', minval=1, maxval=31, group='Date Range', inline='1')
start_month = input.int(1, title='Start Month', minval=1, maxval=12, group='Date Range', inline='2')
start_year = input.int(2023, title='Start Year', minval=1800, maxval=3000, group='Date Range', inline='3')
end_date = input.int(1, title='End Date', minval=1, maxval=31, group='Date Range', inline='4')
end_month = input.int(12, title='End Month', minval=1, maxval=12, group='Date Range', inline='5')
end_year = input.int(2077, title='End Year', minval=1800, maxval=3000, group='Date Range', inline='6')
in_date_range = true
//// Indicator Inputs
// RSI
rsi_over_sold = input.int(30, title='Over Sold Level', group='RSI')
rsi_over_bought = input.int(70, title='Over Bought Level', group='RSI')
rsi_length = input.int(14, title='RSI Length', group='RSI')
rsi = ta.rsi(close, rsi_length)
// MACD
fast_ma = input.int(12, title='FastMA Length', group='MACD')
slow_ma = input.int(26, title='SlowMA Length', group='MACD')
signal_length = input.int(9, title='Signal Length', group='MACD')
[macd_line, signal_line, _] = ta.macd(close, fast_ma, slow_ma, signal_length)
//// Strategy Logic
was_over_sold = ta.barssince(rsi <= rsi_over_sold) <= 10
was_over_bought = ta.barssince(rsi >= rsi_over_bought) <= 10
crossover_bull = ta.crossover(macd_line, signal_line)
crossover_bear = ta.crossunder(macd_line, signal_line)
buy_signal = was_over_sold and crossover_bull and in_date_range
sell_signal = was_over_bought and crossover_bear and in_date_range
// Long Strategy
if (enable_long_strategy and buy_signal)
strategy.entry('Long', strategy.long)
strategy.exit('Long SL/TP', from_entry='Long', stop=strategy.position_avg_price * (1 - long_stoploss_value / 100), limit=strategy.position_avg_price * (1 + long_takeprofit_value / 100))
// Short Strategy
if (enable_short_strategy and sell_signal)
strategy.entry('Short', strategy.short)
strategy.exit('Short SL/TP', from_entry='Short', stop=strategy.position_avg_price * (1 + short_stoploss_value / 100), limit=strategy.position_avg_price * (1 - short_takeprofit_value / 100))