이치모쿠 긴코 효에 기반한 비트코인 ​​거래 전략


생성 날짜: 2024-01-31 11:06:02 마지막으로 수정됨: 2024-01-31 11:06:02
복사: 0 클릭수: 653
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이치모쿠 긴코 효에 기반한 비트코인 ​​거래 전략

개요

이 전략은 초점 평형표 지표에 기반한 비트코인 거래 전략이다. 그것은 서로 다른 주기의 최고 가격, 최저 가격의 평균을 계산하여 평형표를 형성하고, 짧은 주기 선이 긴 주기 선을 가로지르면 거래 신호를 생성한다.

전략 원칙

이 전략은 평형표 지표를 사용하며, 구체적인 계산 공식은 다음과 같다:

Lmax = period_max 기간의 최고 가격

Smax = period_max 기간의 최저 가격

Lmed = period_med 기간 동안의 최고 가격

Smed = period_med 기간 내 최저 가격

Lmin = period_min 사이클의 최고 가격

Smin = period_min 주기 내 최저 가격

HL1 = (Lmax + Smax + Lmed + Smed)/4

HL2 = (Lmed + Smed + Lmin + Smin)/4

즉, 각각 긴 주기선 HL1과 짧은 주기선 HL2의 평형값을 계산한다. 짧은 주기선 HL2 위에 긴 주기선 HL1을 횡단할 때, 더 많이 한다. 짧은 주기선 HL2 아래에서 긴 주기선 HL1을 횡단할 때, 평형한다.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 이 평형표 지표는 시장의 소음을 효과적으로 필터링하여 트렌드를 식별할 수 있습니다.
  2. 서로 다른 주기선의 교차를 거래 신호로 사용하여 가짜 신호를 줄일 수 있다.
  3. 전략적 논리는 간단하고 명확하며, 이해하기 쉽고 구현하기 쉽습니다.
  4. 다양한 시장 환경에 적응할 수 있는 사용자 정의 주기 파라미터

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 초점 평형표 지표가 지연되어 단기 신호를 놓칠 수 있다.
  2. 그리고 이 두개의 선이 서로 교차할 때, 경매가 가능해집니다.
  3. 시장이 급격히 변동할 때, 지표가 보내는 신호는 신뢰할 수 없습니다.

이러한 위험을 적절히 최적화 된 주기 변수 또는 다른 지표와 결합하여 줄일 수 있습니다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 시장의 변화에 적응하기 위해 장기 및 단기 사이클의 변수를 최적화하십시오.
  2. 더 많은 손실을 막고 손실을 통제하는 전략.
  3. MACD와 같은 다른 지표와 결합하여 신호의 정확도를 향상시킵니다.
  4. 큰 손실을 피하기 위해 높은 변동성 기간 동안 거래를 중단하십시오.

요약하다

이 전략은 첫눈의 균형표 지표에 기반하여, 단기선이 장기선을 뚫을 때 거래 신호를 발생시킨다. 단일 지표에 비해, 가짜 신호를 효과적으로 필터링할 수 있다. 매개 변수 최적화 및 위험 통제를 통해 전략의 안정성과 수익성을 더욱 향상시킬 수 있다.

전략 소스 코드
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
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/
// © Alferow

//@version=4
strategy("BTC_ISHIMOKU", overlay=true)

period_max = input(20, minval = 1)
period_med = input(10, minval = 1)
period_min = input(16, minval = 1)

Lmax = highest(high, period_max)
Smax = lowest(low, period_max)

Lmed = highest(high, period_med)
Smed = lowest(low, period_med)

Lmin = highest(high, period_min)
Smin = lowest(low, period_min)

HL1 = (Lmax + Smax + Lmed + Smed)/4
HL2 = (Lmed + Smed + Lmin + Smin)/4

p1 = plot(HL1, color = color.red, linewidth = 2)
p2 = plot(HL2, color = color.green, linewidth = 2)

fill(p1, p2, color = HL1 < HL2 ? color.green : color.red, transp = 90)

start = timestamp(input(2020, minval=1), 01, 01, 00, 00)
finish = timestamp(input(2025, minval=1),01, 01, 00, 00)
trig = time > start and time < finish ? true : false

strategy.entry("Long", true, when = crossover(HL2, HL1) and trig)
// strategy.entry("Short", false, when = crossunder(HL2, HL1) and trig)
strategy.close("Long", when = crossunder(HL2, HL1) and trig)