다중 시간 프레임 매수 가격 하락 전략


생성 날짜: 2023-10-27 16:56:23 마지막으로 수정됨: 2023-10-27 16:56:23
복사: 0 클릭수: 713
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

다중 시간 프레임 매수 가격 하락 전략

개요

다중 시간 프레임 구매 가격 하락 전략은 비교적 간단한 자동 거래 전략으로, 트렌드 상반기에 상당한 수익을 얻을 수 있다. 그러나, 모든 가격 하락이 구매에 적합하지는 않으며, 다른 시간 프레임에 따라 각 거래를 최적화해야 한다.

이 전략은 1시간 시간 프레임으로 급격한 가격 하락을 포착하고, 지난 12시간 동안 가격 상승이 뚜렷하다. 상승 추세에서, 수익으로 인한 순간 붕괴는 시장 진입에 매우 좋은 시간을 제공합니다.

이 스크립트의 설정은 30 분 시간 프레임에 최적화 . 당신은 다른 시간 프레임에 적응하기 위해 변수를 조정할 수 있습니다 .

다음 조건이 충족되면 구매 신호가 발송됩니다.

  • 1시간 시간 프레임 = 30분 K 라인 2개)

  • 지난 12시간 동안의 가격 상승률 (K선 = 기본 시간 프레임) 3%.

이 설정은 20개 이상의 다른 암호화폐 거래 상자에 대해 150번 이상의 테스트를 통해 최적화되었습니다.

이 전략은 각 주문 거래 가능한 자금의 30%를 가정한다. 전략은 0.1%의 거래 수수료를 고려한다. 이 수수료는 [세계에서 가장 큰 암호화폐 거래소]인 [Binance]의 기본 수수료와 일치한다.

전략 원칙

다중 시간 프레임 구매 가격 하락 전략의 핵심 아이디어는 시장 진입 시기를 판단하기 위해 장기 및 단기 두 개의 시간 프레임을 동시에 결합하는 것입니다.

먼저, 1시간 시간 프레임에서 가격의 급격한 하락이 발생했는지 판단합니다. 여기서는 현재 K선과 이전 두 K선에 비해 1% 이상의 하락이 발생했는지 판단하여 확인합니다.

다음으로, 12 시간 시간 프레임에서 가격 상승이 긴 선에 존재하는지 판단합니다. 지난 12 시간 동안의 가격 상승이 3%에 도달했는지 여부를 계산하여 확인합니다.

구매 신호는 단기 시간 프레임이 하락하고 장기 시간 프레임이 상승하는 경우에만 발송됩니다.

이러한 조합은 장기적인 하향 추세에서 맹목적으로 구매하는 것을 피할 수 있으며, 또한 단기적인 조정으로 제공되는 구매 기회를 포착 할 수 있습니다. 다양한 시간 프레임의 조합을 통해 거래 전략이 더 안정적이고 신뢰할 수 있습니다.

기술적으로, 이 전략은 두 개의 다른 변수를 호출하여perc_change()함수는 두 개의 시간 프레임의 판단을 구현한다. 하나는 지난 12 시간 상승을 판단하고, 하나는 지난 1 시간 상승을 판단한다. 둘 다 동시에 조건을 충족하면 구매 신호를 발송한다.

우위 분석

다중 시간 프레임 구매 가격 하락 전략의 가장 큰 장점은 동향을 효과적으로 판단하고 단기 조정 구매 시점을 파악하는 데 있습니다. 구체적으로 다음과 같은 장점이 있습니다.

  1. 두 개의 짧은 시간 프레임이 결합되면, 장기적인 하락에서 구매하는 것을 피할 수 있으며, 따라서 불필요한 손실을 줄일 수 있습니다.

  2. 짧은 시간 프레임은 구매 가격을 낮게 제공하는 순간의 급격한 조정을 포착할 수 있습니다.

  3. 반추는 매개 변수를 최적화하여 전략이 암호화폐의 높은 변동성 특성에 더 적합하게 만듭니다.

  4. 거래비의 영향을 고려하여 실제 거래 환경에 더 가깝게 시뮬레이션을 만듭니다.

  5. 간단한 거래 논리 및 파라미터 설정, 이해하기 쉽고 조정하기 쉽다.

  6. 다양한 거래 쌍에 광범위하게 적용될 수 있으며, 높은 유연성을 갖는다.

위험 분석

다중 시간 프레임 구매 가격 하락 전략에는 다음과 같은 위험 요소가 있습니다.

  1. 가짜 돌파구를 완전히 피할 수는 없지만, 단기적인 조정은 장기적인 경향을 뒤집을 수도 있다.

  2. 고정된 매개 변수 설정은 시장의 변화에 완전히 적응하지 못할 수 있으며, 조정할 필요가 있다.

  3. Always는 시뮬레이션 거래에서 좋은 성적을 거두고 실제 거래에는 차이가 있습니다.

  4. 특정 시간 지연이 존재하여, 단기 가격 변동에 대한 최적의 구매 지점을 놓칠 수 있다.

  5. 단일 거래 전략은 시스템적 위험에 노출될 수 있습니다.

  6. 고주파 거래는 거래비 부담을 증가시킵니다.

전략적 위험에 대응하기 위해 다음과 같은 최적화 조치를 고려할 수 있습니다.

  1. 더 많은 지표가 추가되어 더 정확한 판단을 할 수 있습니다.

  2. 최적화 된 파라미터 설정으로 시장 변화에 더 능동적으로 적응할 수 있습니다.

  3. 실제 환경에서 전략을 테스트하고, 피드백과 실판의 차이를 측정한다.

  4. 시간 틀을 적절히 조정하여 시간 지연 문제를 줄여주세요.

  5. 동시에 여러 가지 비관계적 전략을 사용하여 시스템적 위험을 분산합니다.

  6. 단편 거래의 위험을 통제하기 위해 Stop Loss을 합리적으로 설정하십시오.

최적화 방향

다중 시간 프레임 구매 가격 하락 전략에는 여전히 최적화 할 수있는 많은 공간이 있으며, 다음과 같은 측면에서 수행 할 수 있습니다.

  1. 더 많은 지표 판단을 추가하여 전략의 안정성을 향상시킵니다.

  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())