이 전략은 기술 지표 MACD와 RSI를 기반으로 하는 런던 세션 비트코인 거래 전략이다. 런던 세션 동안만 포지션을 개척하며, 트렌드 방향을 결정하기 위해 MACD와 과소매 조건을 판단하기 위해 RSI를 사용합니다. 이 전략은 중장기 및 단기 비트코인 거래에 적합합니다.
런던 거래 세션은 대부분의 기관이 참여하는 외환 시장에서 매우 활발합니다. 이 전략은 런던 세션을 오전 7시부터 오후 4시까지 설정하고 이 기간 동안만 포지션을 개척합니다.
MACD는 일반적으로 트렌드 방향을 결정할 수 있습니다. 빠른 선이 느린 선 위에 넘어가면, 그것은 길게 갈 상승 추세를 나타내는 황금 십자입니다. 빠른 선이 느린 선 아래에 넘어가면, 그것은 짧게 갈 하락 추세를 나타내는 죽음의 십자입니다. 이 전략은 트렌드 방향을 결정하기 위해 이 원리를 사용합니다.
RSI는 시장이 과잉 구매 또는 과잉 판매인지 판단 할 수 있습니다. 70 이상은 과잉 구매를 나타내고 30 이하는 과잉 판매를 나타냅니다. 이 전략은 이를 사용하여 스톱 로스 출구 지점을 설정합니다.
이 전략의 가장 큰 장점은 트렌드 트레이딩과 과잉 구매/ 과잉 판매 조건에 기반한 리듬 트레이딩을 결합한다는 것입니다. 트렌드가 불분명한 경우, 가능한 트렌드를 판단하기 위해 MACD를 사용할 수 있습니다. 명확한 트렌드가 없으면 위험을 제어하고 상승과 판매 하락을 맹목적으로 쫓지 않도록 RSI를 사용할 수 있습니다. 또한이 전략은 기관이 지배하는 런던 세션 중에만 포지션을 열고 비합리 가격 변동의 영향을 줄입니다.
이 전략의 주요 위험은 MACD가 범위에 묶인 시장의 기술적 지표로서 겉보기 트렌드에서 잘 작동하지 않는다는 것입니다. 장기적인 일방적인 트렌드에 직면하면 MACD 금/죽음 크로스는 종종 실패 할 수 있습니다. 또한 RSI는 장기간 높은 또는 낮은 수준에서 떠있을 때도 실패 할 수 있습니다. 이러한 위험을 줄이기 위해 우리는 고 확률 신호에서만 포지션을 개설하도록 매개 변수를 적절히 조정하거나 다른 필터를 추가 할 수 있습니다.
이 전략은 몇 가지 측면에서 최적화 될 수 있습니다.
가짜 브레이크를 피하기 위해 볼링거 밴드와 KDJ 같은 다른 기술적 필터를 추가합니다.
수익을 취하는 메커니즘을 추가합니다.
다른 시장 조건에 맞게 MACD 및 RSI 매개 변수를 조정하여 매개 변수를 최적화합니다.
트렌드를 결정하기 위해 LSTM 모델을 이용하는 기계 학습 요소를 추가합니다.
전체적으로 이것은 신뢰할 수 있는 런던 세션 비트코인 거래 전략이다. 트렌드와 리듬을 결합하여 유효하지 않은 신호를 필터링하면서 상대적으로 높은 수익성을 보장한다. 매개 변수들의 지속적인 최적화와 더 많은 기술적 지표를 통합함으로써, 이 전략은 안정성과 수익성을 더욱 향상시킬 수 있다. 런던 세션, MACD 및 RSI 기술 지표에 대한 약간의 지식을 가진 투자자에게 적합하다.
/*backtest start: 2023-11-19 00:00:00 end: 2023-11-22 08:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("London MACD RSI Strategy -1H BTC", overlay=true) // Define London session times london_session_start_hour = input(6, title="London Session Start Hour") london_session_start_minute = input(59, title="London Session Start Minute") london_session_end_hour = input(15, title="London Session End Hour") london_session_end_minute = input(59, title="London Session End Minute") // Define MACD settings fastLength = input(12, title="Fast Length") slowLength = input(26, title="Slow Length") signalSMA = input(9, title="Signal SMA") // RSI settings rsiLength = input(14, title="RSI Length") rsiOverbought = input(65, title="RSI Overbought") rsiOversold = input(35, title="RSI Oversold") // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSMA) // Calculate RSI rsi = ta.rsi(close, rsiLength) // Convert input values to timestamps london_session_start_timestamp = timestamp(year, month, dayofmonth, london_session_start_hour, london_session_start_minute) london_session_end_timestamp = timestamp(year, month, dayofmonth, london_session_end_hour, london_session_end_minute) // Filter for London session in_london_session = time >= london_session_start_timestamp and time <= london_session_end_timestamp // Long and Short Conditions longCondition = ta.crossover(macdLine, signalLine) and rsi < rsiOversold and in_london_session shortCondition = ta.crossunder(macdLine, signalLine) and rsi > rsiOverbought and in_london_session // Strategy entries and exits if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)