코인베이스 거래소의 3분 K 라인을 기반으로 하는 고주파 거래 전략이다. 단기적으로 반전 기회가 있는지 여부를 결정하기 위해 K 라인의 상위와 하위 그림자 라인을 계산한다. 가격 상승이나 하락이 상대적으로 크면 전략은 단기적 반전을 예상하여 트렌드에 반대되는 위치를 취한다.
이 전략은 주로 단기적으로 "대다 구매" 또는 "대다 판매"의 기회가 있는지 여부를 판단합니다. "대다 판매"와 "대다 구매"는 일반적으로 시장에서 너무 낙관적이거나 비관적인 감정에서 발생합니다. 이러한 일시적인 감정 불균형이 발생하면 가격은 일반적으로 역전됩니다.
특히, 전략은 K 라인의 상위와 하위 그림자 라인의 크기를 계산합니다. 그림자 라인이 커질수록 현재 K 라인의 폐쇄 전에 구매력과 판매력 사이의 대립이 더 강합니다. 상위 그림자 라인이 너무 커지면 많은 구매 주문이 K 라인의 종료 전에 판매 주문으로 패배했다는 것을 의미합니다.
이 논리에 따르면, 그림자 라인이 너무 커지면 (즉, 가격이 단기적으로
이 전략의 가장 큰 장점은 시장의 단기적 이성적 변동을 활용하여 역배율을 달성하는 것입니다. 높은 효율성을 달성하려면 상대적으로 적은 자본이 필요합니다.
또 다른 장점은 코인베이스가 더 큰 변동성을 가진 거래소라는 것입니다. 이 전략은 수익을 창출하기 위해 변동적인 가격을 활용합니다.
이 전략에 직면한 가장 큰 위험은 단기 가격 변동이 많은 예측 가능성을 갖지 못할 수 있다는 것입니다. 상위 및 하위 그림자 라인의 크기는 가격 반전에 대한 모든 정보를 완전히 포착하지 않을 수 있습니다. 거래자의 비합리적 감정도 논리적 규칙을 따르지 않을 수 있습니다. 따라서이 전략에는 여전히 일부 무작위성 위험이 있습니다.
또한, 스톱 로스 포인트 설정도 중요합니다. 너무 느슨한 스톱 로스 포인트는 전략의 손실을 증가시킬 수 있습니다. 너무 엄격한 스톱 로스 포인트는 기회를 놓칠 수 있습니다. 위험 보상 비율과 승률 사이의 균형을 찾아야 합니다.
이 전략은 다음 차원에서 더 이상 최적화 될 수 있습니다.
전체적으로, 이 전략은 전형적인 통계적 중재 전략이다. 그것은 약간의 논리와 실행 가능성을 가지고 수익을 창출하기 위해 단기적 인 비합리적 가격 변동의 이점을 시도한다. 다음 단계는 전략의 매개 변수 설정과 거래 규칙을 더 과학적이고 체계적으로 만들기 위해 더 많은 차원에서 최적화 실험을 수행하는 것이다.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //for coinbase, 3min logic //This strategy trades against the short term trend. The first position can be either long or short. //In the short term, prices fluctuate up and down on wide spread exchanges. //And if the price moves to one side, the price tends to return to its original position momentarily. //This strategy set stop order. Stop price is calculated with upper and lower shadows. strategy("ndb_mm_for_coinbase_btcusd", overlay=true, initial_capital=100000, slippage=50) fromyear = input(2019, minval = 2017, maxval = 2100, title = "From Year") frommonth = input(12, minval = 1, maxval = 12, title = "From Month") fromday = input(1, minval = 01, maxval = 31, title = "From day") toyear = input(2100, minval = 1900, maxval = 2100, title = "To Year") tomonth = input(12, minval = 01, maxval = 12, title = "To Month") today = input(31, minval = 01, maxval = 31, title = "To day") end = true length = input(3, title="period") mag = input(1.2, title="sigma", minval=0.1, step=0.1) up_shadow = abs(high - max(open, close)) dn_shadow = abs(low - min(open, close)) up_shadow_ma = sma(up_shadow, length) * mag dn_shadow_ma = sma(dn_shadow, length) * mag upper = close + dn_shadow_ma lower = close - up_shadow_ma plot(upper, color=red) plot(lower, color=blue) if strategy.position_size == 0 strategy.entry("Long", strategy.long) if 0 < strategy.position_size strategy.entry("Short", strategy.short, stop=lower, when=end) if 0 > strategy.position_size strategy.entry("Long", strategy.long, stop=upper, when=end)