멀티 타임프레임 구매 하락 전략

저자:차오장, 날짜: 2023-10-27 16:56:23
태그:

img

전반적인 설명

멀티 타임프레임 바이 더 디프 전략은 비교적 간단한 자동화 거래 전략으로 특히 상승 추세 기간 동안 인상적인 수익을 창출 할 수 있습니다. 모든 가격 디프는 구매를위한 것이 아닙니다. 이 시스템은 각 거래를 최적화하기 위해 멀티 타임프레임 접근 방식을 기반으로합니다.

이 전략은 지난 12시간 동안 가격이 크게 상승했을 때 1시간 시간 내에 갑작스러운 가격 하락을 포착합니다. 급격한 상승 추세 동안, 이윤 취득 행동은 편리한 가격으로 진입 할 수있는 좋은 기회를 제공하는 플래시 크래시로 이어집니다.

스크립트의 설정은 30분 시간 프레임에 최적화됩니다. 다른 시간 프레임에 맞게 매개 변수를 조정할 수 있습니다.

시스템이 구매 신호를 트리거하면

  • 가격 하락 1% 이전 두 촛불 (1 시간 프레임 = 두 30 분 촛불)
  • 가격은 지난 12시간 동안 3% 상승했습니다.

이 설정은 20개 이상의 다른 암호화 거래 쌍에서 150개 이상의 백테스트를 실행하여 최적화되었습니다.

전략은 각 주문이 사용 가능한 자본의 30%를 거래하도록 가정합니다. 0.1%의 거래 수수료가 고려됩니다. 수수료는 가장 큰 암호화폐 거래소인 바이낸스에 적용되는 기본 수수료와 일치합니다.

전략 논리

멀티 타임프레임 구매 디프 전략의 핵심 아이디어는 엔트리 신호를 결정하기 위해 장기 및 단기 시간 프레임을 결합하는 것입니다.

먼저, 1시간 시간 프레임을 확인하여 갑작스러운 가격 하락이 있는지 확인합니다. 이것은 현재의 촛불이 이전 두 촛불에 비해 1% 이상 하락했는지 확인함으로써 확인됩니다.

둘째, 12시간 시간 프레임을 확인하여 장기적으로 상당한 상승 추세가 있는지 확인합니다. 이것은 지난 12시간 동안 가격이 3% 이상 상승했는지 계산함으로써 확인됩니다.

단기 하락과 장기 상승 추세가 있을 때만 구매 신호가 발사됩니다.

이 조합은 장기 하락 추세에 맹목적으로 구매하는 것을 피하고 동시에 단기 인하 기회를 포착합니다. 시간 프레임의 혼합은 전략을 더 견고하고 신뢰할 수 있습니다.

기술적으로 이 전략은perc_change()서로 다른 매개 변수를 가진 함수로 두 시간 프레임을 확인합니다. 하나는 12 시간 변화를 확인하고 다른 하나는 1 시간 변화를 확인합니다. 두 조건이 충족되면 구매 신호가 활성화됩니다.

이점 분석

멀티 타임프레임 구매 디프 전략의 가장 큰 장점은 트렌드를 효과적으로 결정하고 인기를 끌 수 있다는 것입니다. 구체적으로 주요 장점은 다음과 같습니다.

  1. 두 시간 프레임을 결합하면 장기적인 하락 추세에 대한 구매를 피하고 불필요한 손실을 줄일 수 있습니다.

  2. 단기적 기간은 급격한 인기를 끌어내기 위해 낮은 입시 가격을 제공합니다.

  3. 백테스트되고 최적화된 매개 변수들은 이 전략을 암호화폐의 높은 변동성에 더 적합하게 만듭니다.

  4. 거래 수수료가 고려되어 실제 거래에 더 가깝게 시뮬레이션을 만듭니다.

  5. 간단한 논리와 매개 변수 구성으로 이해와 조정이 쉬워집니다.

  6. 다양한 거래 쌍에 광범위하게 적용되며 높은 유연성을 가지고 있습니다.

위험 분석

멀티 타임프레임 구매 다이프 전략은 또한 다음과 같은 영역에서 주로 몇 가지 위험을 가지고 있습니다.

  1. 거짓 파업 위험을 완전히 피할 수 없으므로 단기적인 인하가 트렌드 반전일 수 있습니다.

  2. 고정된 매개 변수는 시장 변화에 완전히 적응하지 못할 수 있고, 조정이 필요할 수 있습니다.

  3. 배크테스트는 항상 시뮬레이션에서 좋은 성과를 내고, 라이브 트레이딩에서는 차이가 있습니다.

  4. 가격 변동 중에 최적의 입구 지점을 놓칠 위험이 있습니다.

  5. 단일 전략은 시스템적 위험에 노출되어 있습니다.

  6. 높은 주파수 거래는 거래 수수료의 부담을 증가시킵니다.

위험에 대해 몇 가지 최적화 조치가 고려 될 수 있습니다.

  1. 더 많은 지표를 추가하여 정확성을 높이기 위해 단기 및 장기 트렌드를 결정합니다.

  2. 매개 변수를 최적화하여 시장에 더 역동적으로 적응하도록 합니다.

  3. 실제 환경에서 백테스트의 차이를 측정하기 위한 테스트 전략

  4. 시간차 문제를 줄이기 위해 적절한 시간 프레임을 조정합니다.

  5. 여러 가지 상관관계가 없는 전략을 사용하여 체계적 위험을 다양화합니다.

  6. 적절한 스톱 로스를 설정하고 수익을 취하여 거래 당 위험을 제어합니다.

최적화 방향

아직 많은 시간 프레임 구매를 최적화 할 수있는 공간이 있습니다. 주로 다음과 같은 분야에서:

  1. 안정성을 높이기 위해 볼링거 밴드, RSI 등과 같은 더 많은 지표를 추가하십시오.

  2. 변화하는 시장에 적응하기 위해 동적 매개 변수 최적화를 위한 기계 학습 모델을 통합합니다.

  3. 스톱 로스를 최적화하고 수익 전략을 취하여 거래당 위험을 줄이십시오.

  4. 최적의 매개 변수 집합을 찾기 위해 더 많은 거래 쌍과 시간 프레임에 백테스트.

  5. 중재 거래에서 잘못된 신호를 피하기 위해 부피 변화를 포함합니다.

  6. 전체 리스크를 제어하기 위해 자산 할당, 포지션 사이즈 등과 같은 리스크 관리 모듈을 추가합니다.

  7. 다른 알고리즘 전략 유형을 탐구합니다. 트렌드 추적, 중재 등 다양화를 위해.

  8. 최적의 집합을 찾기 위해 더 복잡한 멀티 타임프레임 조합을 연구합니다.

  9. 뉴스 트레이딩 요소를 포함시켜 이벤트들을 트레이딩 동력으로 사용해야 합니다.

이러한 최적화 기술로 전략은 암호화 시장의 복잡성을 위해 더 견고하고 지능적이며 포괄적 인 것이 될 수 있습니다. 그러나 모든 최적화는 과도한 문제를 피하기 위해 신중한 테스트가 필요합니다.

결론

전반적으로, 멀티 타임프레임 바이 더 디프 전략은 매우 실용적인 단기 거래 시스템이다. 비교적 효율적이면서도 정확성을 향상시키기 위해 단기 및 장기 시간 차원을 동시에 살펴본다. 적절한 매개 변수 조정 및 최적화로 대부분의 거래 시장, 특히 트렌딩 자산에 적응할 수 있다.

하지만 모든 기계적 전략과 마찬가지로, 그것은 상인이 합리적으로 유지하고 지속적으로 최적화하고 변화하는 시장에 적응하도록 요구하는 한계를 가지고 있습니다. 성공적인 전략은 항상 진화하고 있습니다. 정적이 아닙니다.

결론적으로, 멀티 타임프레임 바이 다이프 전략은 알고리즘 트레이딩에 대한 훌륭한 템플릿을 제공합니다. 그것은 타임프레임 선택, 매개 변수 구성, 백테스팅, 리스크 제어 등과 같은 주요 사항을 요약합니다. 이 전략을 합리적으로 적용하고 연습을 통해 개선하면 거래자가 데이터의 바다 속에서 필수 단서를 파악하고 시장에서 일관된 알파를 달성 할 수 있습니다.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=1
strategy(shorttitle='Multi Time Frame Buy the Dips',title='Multi Time Frame Buy the Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)


//Backtest dates
fromMonth = input(defval = 1,  title = "From Month")     
fromDay   = input(defval = 10,    title = "From Day")       
fromYear  = input(defval = 2020, title = "From Year")       
thruMonth = input(defval = 1,    title = "Thru Month")     
thruDay   = input(defval = 1,    title = "Thru Day")     
thruYear  = input(defval = 2112, title = "Thru Year")       

showDate  = input(defval = true, title = "Show Date Range")

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

inp_lkb = input(24, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)
overall_2 = perc_change(inp_lkb_2)

//Entry

dip= -(input(1))
increase= (input(3))

strategy.entry(id="long", long = true, when = overall > increase and overall_2 < dip and window()) 

//Exit
Stop_loss= ((input (3))/100)
Take_profit= ((input (4))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())


더 많은