리버스 라스베이거스 알고리즘 거래 전략

저자:차오장, 날짜: 2023-11-24 15:19:03
태그:

img

전반적인 설명

이 전략의 이름은 이버스 라스베이거스 알고리즘 트레이딩 전략이다. 기본 아이디어는 라스베이거스 알고리즘을 사용하여 가격이 상승할 때 짧고 가격이 하락할 때 길게 이동하는 것입니다. 이는 원래 알고리즘의 반대이며 역전 운영 전략을 형성합니다.

전략 원칙

이 전략의 핵심 논리는 현재 가격과 이전 사이클의 가격을 계산하는 것입니다. 현재 가격이 이전 가격보다 높을 때 짧은 신호가 유발됩니다. 현재 가격이 이전 가격보다 낮을 때 긴 신호가 유발됩니다. 포지션 크기는 누적 된 총 이익에 따라 계산됩니다. 각 거래가 끝난 후, 이윤은 다음 작업에 대한 자금으로 축적되어 재투자를 형성합니다.

구체적으로, 전략은 current_price와 previous_price 변수들을 통해 현재의 가격과 이전 주기의 종료 가격을 기록합니다. 그 다음에는 long_condition 및 short_condition 판단 조건이 정의됩니다. current_price가 previous_price보다 크면, long_condition가 트리거됩니다. current_price가 previous_price보다 작을 때, short_condition가 트리거됩니다. 조건이 트리거되면, capital_actual 변수에 기초하여 포지션 사이즈 position_size를 결정합니다. 짧은 또는 긴 거래를 실행한 후, 이 거래의 이익과 손실을 ganancias 변수를 통해 기록하고 ganancias_acumuladas로 축적합니다. 마지막으로, 이윤을 다음 거래 자본으로 재투자합니다: ganancias_acumuladas:actual=actual_actual + ganancias_acumuladas.

이점 분석

이 전략의 가장 큰 장점은 역작업의 아이디어를 사용하는 것입니다. 시장에 체계적인 오류가 발생하면 수익 잠재력이 매우 커질 것입니다. 또한 재투자 메커니즘은 수익을 증폭시킬 것입니다. 행운을 통해 연속적으로 수익성있는 거래를 얻으면 재투자를 통해 자금이 빠르게 축적 될 수 있습니다.

특히 주요 장점은 다음과 같습니다.

  1. 역수행은 엄청난 수익 잠재력을 얻기 위해 시장 판단에서 체계적 오류를 이용합니다.

  2. 이윤 재투자 메커니즘은 이윤을 증폭시키고, 운 좋으면 자금은 빠르게 증가합니다.

  3. 전략 논리는 간단하고 이해하기 쉽고 추적하기 쉽습니다.

  4. 매개 변수는 다른 거래 결과를 경험하도록 조정할 수 있습니다.

위험 분석

이 전략의 가장 큰 위험은 역동 운영 특성에 있습니다. 잘못된 시장 판단에 고집하면 엄청난 손실에 직면 할 것입니다. 또한 리버리지 효과는 재투자 메커니즘을 통해 손실을 증폭시킬 것입니다.

특정 위험 지점은 다음과 같습니다.

  1. 시장 동향 판단이 잘못되면 포지션 폐쇄로 인한 손실이 증폭됩니다.

  2. 레버레이드 거래의 위험은 너무 높고 단일 거래에서 손실은 원금을 초과 할 수 있습니다.

  3. 상승을 추구하고 떨어지는 것을 죽이는 심리학은 효과가 있고 과도한 거래는 손실을 증가시킵니다.

  4. 부적절한 매개 변수 설정도 예상치 못한 큰 손실로 이어질 수 있습니다.

이에 대응하는 해결책은 다음과 같습니다.

  1. 리스크 관리, 스톱 로스 출구, 순차적으로 포지션 오픈

  2. 레버리지를 조심스럽게 사용하고 단일 거래 손실을 통제하십시오.

  3. 과도한 거래를 피하기 위해 심리적 규제를 강화합니다.

  4. 실행 전에 테스트 매개 변수

최적화 제안

이 전략의 최적화 공간은 주로 이윤 재투자 메커니즘과 매개 변수 조정에 집중되어 있습니다.

이윤 재투자 메커니즘은 한 번의 손실의 영향을 통제하기 위해 전체 재투자 대신 재투자 비율을 설정할 수 있습니다.

매개 변수 조절은 최적의 매개 변수 조합을 찾기 위해 다른 주기 길이를 시도하고 교대 크기를 시도 할 수 있습니다.

또한 손실을 제어하기 위해 스톱 로스 메커니즘을 통합하는 것이 좋습니다. 특정 최적화 제안은 다음과 같습니다.

  1. 과도한 손실을 방지하기 위해 재투자 비율을 설정합니다.

  2. 최적의 매개 변수를 찾기 위해 다른 사이클 매개 변수를 테스트합니다.

  3. 스톱 로스 로직을 추가합니다. 처음에는 고정 스톱 로스를 설정하고 나중에 ATR에 기반한 동적 스톱 로스를 추가 할 수 있습니다.

  4. 거래 빈도를 제어하기 위해 시간 또는 기술적 지표에 기반한 오픈 및 클로즈 조건을 추가하는 것을 고려하십시오.

결론

이 전략의 이름은 이버스 라스베이거스 알고리즘 트레이딩 전략이다. 이버스 운영의 아이디어를 통해 수익 재투자 메커니즘과 결합하여 시장이 실수를 할 때 이익을 얻으려고 노력합니다. 이 전략은 높은 수익 잠재력의 장점이 있지만 큰 위험에 직면합니다. 우리는 위험을 상세히 분석하고 최적화 제안을했습니다. 일반적으로 적절한 관리로 전략은 특정 조건 하에서 이익을 얻을 수 있지만 신중하게 다루어야합니다.


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

//@version=4
strategy("Estrategia Las Vegas Long/Short Invertida con Reinversión de Ganancias", shorttitle="Las Vegas LS-Invertida-Reinversion", overlay=true)

// Parámetros
length = input(14, title="Longitud de comparación")
offset = input(1, title="Desplazamiento")

// Capital inicial
capital_inicial = input(100, title="Capital Inicial")

// Variables para el seguimiento de las ganancias
var float capital_actual = capital_inicial
var float ganancias_acumuladas = 0.0

// Calcular el precio actual y el precio anterior
current_price = close
previous_price = security(syminfo.tickerid, "D", close[1])

// Lógica de la estrategia invertida
long_condition = current_price > previous_price
short_condition = current_price < previous_price

// Calcular el tamaño de la posición en función de las ganancias acumuladas y reinvertir
if (long_condition or short_condition)
    position_size = capital_actual / current_price
    ganancias = position_size * (previous_price - current_price)  // Invertir la dirección
    capital_actual := capital_actual + ganancias
    ganancias_acumuladas := ganancias_acumuladas + ganancias

// Reinvertir las ganancias en la próxima orden
position_size_reinvested = capital_actual / current_price

// Sumar las ganancias de los trades al monto de operación
if (long_condition or short_condition)
    capital_actual := capital_actual + ganancias_acumuladas

// Colocar una orden SHORT (venta) cuando se cumpla la condición Long invertida
strategy.entry("Short", strategy.short, when=long_condition)
// Colocar una orden LONG (compra) cuando se cumpla la condición Short invertida
strategy.entry("Long", strategy.long, when=short_condition)

// Etiquetas para mostrar las condiciones en el gráfico
plotshape(series=long_condition, title="Condición LONG", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Condición SHORT", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Mostrar el capital actual y las ganancias acumuladas en el gráfico
plot(capital_actual, title="Capital Actual", color=color.blue, linewidth=2)
plot(ganancias_acumuladas, title="Ganancias Acumuladas", color=color.green, linewidth=2)

더 많은