롱 포지션을 위한 추세 추종 동적 그리드 할당 전략

RSI GRID TREND FOLLOWING DYNAMIC ALLOCATION LONG POSITION STOP LOSS TAKE PROFIT LIMIT ORDER MARKET ORDER
생성 날짜: 2025-05-20 15:18:11 마지막으로 수정됨: 2025-07-02 16:22:38
복사: 0 클릭수: 513
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

롱 포지션을 위한 추세 추종 동적 그리드 할당 전략 롱 포지션을 위한 추세 추종 동적 그리드 할당 전략

개요

트렌드 트래킹 방식의 다중 헤드 그레드 다이내믹 매매 전략은 전통적인 그레드 거래 전략에 대한 개선 및 최적화이다. 이 전략은 다중 헤드 방향의 트렌드 트래킹에 중점을 두고 있으며, 시장 추세가 상승할 때 그레드 시스템을 구축하여 가격 변동을 활용하여 수익을 창출하고, 시장이 하락할 때 리스크 틈새를 제어한다. 전통적인 쌍방향 그레드 전략과 달리, 이 전략은 주로 다중 헤드 시장에 초점을 맞추고 있으며, 필요한 경우 극소수 포지션의 빈 헤드 거래를 사용하여 그레드 사이의 비율 거리를 유지하여 황소 시장에서 수익을 극대화한다.

전략 원칙

이 전략의 작동원리는 다음과 같은 몇 가지 핵심 요소에 기반합니다.

  1. 그리드 설정: 사용자가 입력한 퍼센티지 변수 ((percent) 를 통해 격자 간격을 결정합니다. 이 변수는 이익과 손실의 트리거 포인트를 결정합니다.

  2. 거래 유형 선택: 전략은 사용자가 시장 가격 목록 ((0)) 또는 제한 가격 목록 ((1) 을 선택하여 거래할 수 있도록 허용하며, 다양한 유동성 환경과 실행 선호도에 적합합니다.

  3. 조건 판단과 집행:

    • 현재 포지션이 없는 경우, 전략은 다단계 포지션을 열게 된다.
    • 만약 다중 상위 지점을 가지고 있다면
      • 이윤이 설정된 격자 비율을 달성하거나 초과할 때, 매매권을 청산하고 다수점 포지션을 재설립한다.
      • 손실이 설정된 격자 비율을 달성하거나 초과할 때, 다중 상위 포지션을 청산하고 매우 작은 빈 상위 포지션을 설정합니다.
    • 공백 포지션을 보유한 경우 ((position_size < 0, 실제 포지션은 매우 작습니다):
      • 공백이익이 설정된 그리드 퍼센티지를 달성하거나 초과할 때, 포지션을 청산하고 소액 공백 포지션을 재설립합니다.
      • 空头亏损이 설정된 격자 퍼센트에 도달하거나 초과할 때,空头仓位가 청산되고 다시 다목적 포지션을 구축한다 ([[:]]: ([[:]]: ([[:]]: ([[:]]: ([[:]]: ([[:]]: ([[:]]: ([[:]]: ([[:]]: ([[:]]: ([[:]]: ([[:]]:]]: ([[:]]:]]:]]:]]:]]:]]:]]]]:]]]]:]]]]]]:]]]]:]]]]]]:]]]]]]:]]:]]:]]:]]:]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
  4. 트랜잭션 함수 설계: 전략은 네 가지 기능 함수 ((fun1~fun4) 를 사용하여 서로 다른 시장 조건의 거래 논리를 처리하고, 주문 유형에 따라 (시장 가격 또는 제한 가격) 해당 작업을 수행한다.

전략적 이점

  1. 트렌드 추적 능력이 전략은 다목적 시장에 초점을 맞추고 있으며, 상승세를 효과적으로 포착할 수 있으며, 특히 황소 시장 환경에 적합합니다.

  2. 위험 관리 메커니즘그릴 사이의 거리는 실제로 자연적인 막대기 역할을 하며, 위험 통제를 더욱 체계화합니다.

  3. 매우 적응력이 좋다: 다양한 자산과 시간 프레임에 따라 최적화 가능한 매개 변수, 전략의 적응력을 높여줍니다.

  4. 전체 창고 운영 안전: 전체 포지션 운영을 지원하지만 각 격자에는 자체 리스크 관리 장치가 있기 때문에 위험을 통제할 수 있습니다.

  5. 실행 방식의 유연성: 시장 가격 및 제한 가격 두 가지 모드를 지원합니다. 거래자는 시장 조건에 따라 최적의 실행 방법을 선택할 수 있습니다.

  6. 작동이 간단합니다.: 전략 논리가 명확하고, 매개 변수 설정이 간단하며, 이해하기 쉽고 구현하기 쉽다.

  7. 자동화이 모든 과정이 자동화되어 인간의 개입과 감정적 거래의 가능성을 줄여줍니다.

전략적 위험

  1. 매개변수 민감도: 그리드 퍼센티지 설정이 잘못되면 과도한 거래가 발생할 수 있습니다 (퍼센티지가 너무 작습니다) 또는 기회를 놓치게됩니다 (퍼센티지가 너무 큽니다). 해결책은 회수 및 최적화로 특정 시장에 적합한 최적의 매개 변수를 찾는 것입니다.

  2. 트렌드 인식의 한계이 전략은 트렌드 인식 지표가 내장되어 있지 않으며, 가격 변화에만 신호로 의존하며, 흔들리는 시장에서 가짜 신호를 일으킬 수 있습니다. 명확한 트렌드 시장에서 사용하거나 트렌드 필터를 추가하는 것이 좋습니다.

  3. 슬라이드 포인트와 거래 비용 영향: 빈번한 거래는 특히 유동성이 낮은 시장에서 많은 슬라이드와 거래 비용을 초래할 수 있습니다.

  4. 단방향 선호의 위험전략적 편향은 다방면으로, 곰 시장에서 좋지 않을 수 있다. 전체적으로 낙관적인 시장이나 자산에 적용하는 것이 좋습니다.

  5. 극단적인 시장 위험급격히 하락하는 시장에서, 그레드 스톱 메커니즘이 있더라도 큰 손실이 발생할 수 있습니다. 변동율 필터 또는 최대 손실 제한과 같은 추가 위험 관리 조치를 추가하는 것을 고려하십시오.

  6. 소액 공백 위치 관리: 전략은 매우 작은 공백 포지션을 사용한다. ((0.0001) 방향 표시로, 일부 거래소는 그렇게 작은 포지션을 지원하지 않을 수 있으며, 실제 상황에 따라 조정해야 한다.

전략 최적화 방향

  1. 트렌드 지표의 증가이동 평균, ADX 또는 MACD와 같은 트렌드 지표를 도입하여 트렌드 식별의 정확성을 높이고, 불안정한 시장에서 과도한 거래를 피하십시오. 이것은 전략이 진정한 트렌드 환경에서만 작동하도록 보장합니다.

  2. 동적 격자 간격: 시장의 변동률에 따라 격자 간격을 자동으로 조정하고, 낮은 변동이있는 동안 간격을 축소하여 작은 변동을 포착하고, 높은 변동이있는 동안 간격을 확장하여 과도한 거래를 피하십시오. ATR (평균 실제 범위) 지표를 사용하여 수행하는 것이 고려 될 수 있습니다.

  3. 자금 관리 최적화: 포지션 크기의 동적 조정, 단순한 풀 포지션 동작이 아닌, 위험을 더 세밀하게 제어하기 위해 도입한다. 예를 들어, 계좌의 적자 상태 또는 시장의 변동성에 따라 거래당 자본 비율을 조정할 수 있다.

  4. 다중 시간 프레임 분석: 여러 시간 프레임에 대한 분석을 추가하고, 더 큰 시간 프레임의 트렌드 방향이 일치하는 경우에만 거래를 실행하여 신호 품질을 향상시킵니다.

  5. 이윤 회수 보호: 큰 수익 이후의 철수 보호 장치를 추가합니다. 예를 들어, 가격이 높은 곳에서 어느 정도 떨어지면 수익의 일부를 미리 잠금합니다.

  6. 필터링 조건거래량, 변동성 또는 시간 필터를 늘리고 부적절한 시장 조건에서 거래하는 것을 피하십시오.

  7. 리포트 변수 최적화: 다양한 시장 환경과 자산 유형에 대한 파라미터 세트를 만들고, 전략의 적응력을 높인다.

요약하다

트렌드 트래킹형 멀티 헤드 그레드 다이내믹 포지션 전략은 멀티 헤드 마켓을 위해 특별히 설계된 개량된 그레드 거래 시스템이다. 그레드 거래와 트렌드 트래킹을 혁신적인 방식으로 결합하여, 현재 포지션의 적자를 거래 신호로 사용하여, 상승 추세에서 효과적으로 수익을 창출한다. 전략의 핵심 장점은 간단하고 효과적인 위험 제어 장치에 있으며, 그레드 간격은 자연스러운 중지 및 정지점으로 작용하면서 상승 추세에 대한 민감성을 유지한다.

그러나, 이 전략은 또한 변수 감수성, 트렌드 식별의 제한, 그리고 불안정한 시장에서 가능한 과도한 거래와 같은 도전을 직면합니다. 전략의 성능을 최적화하기 위해, 트렌드 지표, 동적 격자 간격 및 다중 시간 프레임 분석과 같은 개선 조치를 도입하는 것이 권장됩니다.

결국, 이 전략은 상승 추세가 뚜렷한 시장에서 가장 적합하며, 특히 중·장기 황소 시장 환경에서는 거래자는 충분한 반향과 변수 최적화를 통해 특정 자산과 시장 조건에 따라 전략 변수를 조정하여 최적의 효과를 얻어야합니다. 체계적인 실행과 지속적인 최적화를 통해 이 전략은 트렌드 거래자의 도구 상자에 효과적인 도구가 될 수 있습니다.

전략 소스 코드
/*backtest
start: 2025-04-19 00:00:00
end: 2025-05-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manorz
//@version=6
strategy('Grid Tendence Long V1', overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true)
//Inputs
percent = input.float(1.00, title = '(%) Grid:', minval = 0.1, step = 0.1)
order = input.int(0, title = 'Orders: Market [0] Limit [1]', options = [0, 1])
entry = strategy.closedtrades.exit_price(strategy.closedtrades - 1)
//Functions
fun1(close) =>
    if order == 0
        strategy.close_all()
        strategy.entry('Long', strategy.long)
    else if order == 1
        strategy.exit('Exit Long', limit = close)
        strategy.entry('Long', strategy.long, limit = close)
fun2(close) =>
    if order == 0
        strategy.close_all()
        strategy.entry('Short', strategy.short, qty = 0.0001)
    else if order == 1
        strategy.exit('Exit Long', limit = close)
        strategy.entry('Short', strategy.short, qty = 0.0001, limit = close)
fun3(close) =>
    if order == 0
        strategy.close_all()
        strategy.entry('Short', strategy.short, qty = 0.0001)
    else if order == 1
        strategy.exit('Exit Short', limit = close)
        strategy.entry('Short', strategy.short, qty = 0.0001, limit = close)
fun4(close) =>
    if order == 0
        strategy.close_all()
        strategy.entry('Long', strategy.long)
    else if order == 1
        strategy.exit('Exit Short', limit = close)
        strategy.entry('Long', strategy.long, limit = close)
//Script
if strategy.position_size == 0
    strategy.entry('Long', strategy.long)
else if strategy.position_size > 0
    if strategy.opentrades.profit_percent(strategy.opentrades - 1) >= percent
        fun1(close)
    else if strategy.opentrades.profit_percent(strategy.opentrades - 1) <= -percent
        fun2(close)
else if strategy.position_size < 0
    if strategy.opentrades.profit_percent(strategy.opentrades - 1) >= percent
        fun3(close)
    else if strategy.opentrades.profit_percent(strategy.opentrades - 1) <= -percent
        fun4(close)
//Plot
plot(entry, title = 'Close', color = color.gray, linewidth = 1, style = plot.style_circles)