리소스 로딩... 로딩...

TGT 가격 하락에 기반한 구매 전략

저자:차오장, 날짜: 2024-06-07 15:33:26
태그:TGTSMARSI

img

전반적인 설명

이 전략의 주요 아이디어는 가격 하락을 모니터링하여 구매 작전을 수행하는 것입니다. 가격이 이전 기간에 비해 5% 이상 떨어지면 구매 신호가 발생하고 현재 폐쇄 가격에 일정 양의 포지션을 구입합니다. 가격이 구매 가격보다 높을 때 포지션은 이익을 얻기 위해 닫습니다. 이 전략은 시장 변동성을 활용하고 수익을 창출하기 위해 단기 가격 리바운드 기회를 잡으려고합니다.

전략 원칙

  1. 현재 종료 가격의 전기 종료 가격에 대한 비율 감소를 계산합니다.
  2. 하락률이 5%를 초과하면 구매 신호가 발사되고, 현재 폐쇄 가격에 특정 금액의 포지션이 구매됩니다. 구매 금액은 주류 계좌 잔액과 구매 가격에 따라 계산됩니다.
  3. 구매 가격과 구매량 기록
  4. 현재 가격이 구매 가격보다 높을 때, 이윤을 얻기 위해 포지션을 닫습니다.
  5. 이윤 및 손실 상황을 계산하고 계좌 잔액을 업데이트합니다.
  6. 구매 신호가 발생했을 때 차트에 노란 색으로 촛불을 표시하십시오.

이점 분석

  1. 간단하고 이해하기 쉽다: 전략 논리는 명확하고 이해하기 쉽고 구현하기 쉽습니다.
  2. 트렌드 포착: 더 큰 하락률을 가진 품종을 구매함으로써, 그것은 가격의 단기 리바운드 트렌드를 포착할 수 있습니다.
  3. 리스크 제어: 매수 금액은 계좌 잔액과 현재 가격에 기초하여 계산되며 각 거래의 리스크 노출을 제어합니다.
  4. 적시에 종료: 가격이 구매 가격보다 높을 때, 포지션은 결정적으로 종료되며, 위험을 제어하지 않습니다.
  5. 시각적 표현: 구매 신호는 차트에 특별한 색으로 표시되어 관측 및 분석에 편리합니다.

위험 분석

  1. 빈번한 거래: 이 전략은 주로 단기 변동을 대상으로하며 거래 빈도는 상대적으로 높을 수 있습니다. 수익에 거래 비용의 영향에 주의가 필요합니다.
  2. 심층 마감: 구매 후 가격이 더 크게 하락하면 특정 마감 위험에 직면 할 수 있습니다.
  3. 가격 변동성: 전략은 주로 가격 변동성에 의존하고 있으며, 낮은 변동성을 가진 시장 환경에서 전략의 효과는 할인 될 수 있습니다.
  4. 이익과 손실 균형: 전략은 승률과 손실률에 대한 명확한 요구 사항과 통제가 없으며 실제 운영에서 전략의 전체 이익과 손실 균형 능력에주의를 기울여야합니다.

최적화 방향

  1. 스톱-러스 최적화: 현재 전략은 구매 후 스톱-러스 조건을 설정하지 않습니다. 단일 거래의 최대 손실을 더 제어하기 위해 고정 비율 스톱-러스 또는 ATR 스톱-러스와 같은 일부 스톱-러스 논리를 추가하는 것이 고려 될 수 있습니다.
  2. 신호 필터링: 구매 신호를 생성 한 후, 이동 평균 시스템, RSI 및 기타 지표를 결합하거나 가격 전환점, 촛불 패턴 등을 고려하여 승률과 신호의 신뢰성을 향상시키기 위해 신호의 품질을 필터링하기 위해 몇 가지 추가 조건을 추가 할 수 있습니다.
  3. 포지션 관리: 현재 전략은 구매량을 결정하기 위해 고정 자본 비율을 사용합니다. 가격 변동성 및 계정 자금 곡선과 같은 요소에 따라 구매량을 조정하는 것과 같은 더 역동적인 위치 관리 모델로 최적화하는 것이 고려 될 수 있습니다.
  4. 다품질 협업: 이 전략의 아이디어는 여러 가지 품종에 적용 될 수 있습니다. 품종 간의 상관 분석과 자금 할당 관리를 통해 더 나은 결과를 얻을 수 있습니다.

요약

이 전략은 특정 진폭을 초과하는 단기 가격 하락을 구매 신호로 사용하여 수익을 창출하기 위해 가격의 리바운드 기회를 포착합니다. 논리는 간단하고 이해하기 쉽습니다. 전략의 장점은 트렌드 포착과 위험 통제에 있습니다. 그러나 빈번한 거래, 깊은 드로다운 및 가격 변동성 등의 위험도 주목해야합니다. 미래에 전략은 더 강력한 결과를 얻기 위해 스톱 로스 최적화, 신호 필터링, 위치 관리 및 멀티 품종 협업과 같은 측면에서 더욱 최적화되고 개선 될 수 있습니다.


/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Thgoodtrader

//@version=5
strategy("TGT Falling Buy", overlay=true, margin_long=100, margin_short=100)
var float buy_price = na
var float open_price = na
var float open_weekend = na 
var float close_weekend = na 
var bool trade=false
var float balance = 1000
// Definir el precio de compra inicial y la cantidad inicial
var float qty = na
// Verificar si el día de la semana es sábado (6) o domingo (0)
es_sabado = dayofweek == 1
es_domingo = dayofweek == 7
es_viernes = dayofweek == 6

// Calcular el valor del saldo inicial
balance_initial = balance

change_percent = ((close - close[1]) / close[1]) * 100
is_last_candle_negative = close < open
is_change_above_threshold = change_percent < -5
// Cambiar el color de la última vela si cumple las condiciones
barcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na)
bgcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na, transp=80)
// Guardar el precio de compra cuando se cumpla la condición del 5%
if is_change_above_threshold 
    // Calcular la cantidad basada en el precio de compra y el saldo
    qty := balance / close
    // Guardar el precio de compra
    buy_price := close
    open_price := open
    strategy.entry("Buy Trading",strategy.long,qty)
    alert("Comprar BTC", alert.freq_once_per_bar_close)
    trade :=true
//if (((close - strategy.position_avg_price) / strategy.position_avg_price) * 100 ) > 2
if close > strategy.position_avg_price
    // Calcular el valor de ganancia o pérdida
    pnl = (close - strategy.position_avg_price) * qty
    // Actualizar el saldo
    balance := balance_initial + pnl
    strategy.close("Buy Trading")
alertcondition(is_change_above_threshold, title = "Buy 5% Discount", message = "Buy Position")
alertcondition(close > strategy.position_avg_price, title = "Close Trade", message = "Close Buy Position")   

관련

더 많은