매끄러운 해상 거래 전략


생성 날짜: 2023-10-07 15:01:06 마지막으로 수정됨: 2023-10-07 15:01:06
복사: 0 클릭수: 878
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 단일 지표에 기반하여 평평한 해안선을 평평하게 하고, 간단한 트렌드 추적 거래 작업을 구현한다. 전략은 평평한 해안선 지표를 사용하여 트렌드 방향을 식별하고, 역사적인 K선 형태와 결합하여 출전 시기를 판단하여 수익으로 출퇴근한다.

전략 원칙

이 전략은 이동 평균을 계산하여 평평한 해안선을 구축한다. 구체적으로, 오픈 가격, 최고 가격, 최저 가격, 폐쇄 가격의 이동 평균을 계산한 다음 평평한 해안선의 오픈 가격, 최고 가격, 최저 가격, 폐쇄 가격을 계산한다.

구매 조건 판단: 현재 K선 종식 가격은 이전 1K선 종식 가격보다 높고, 이전 1K선 종식 가격은 이전 2K선 종식 가격보다 높으며, 거의 3K선 모두 양선이다.

판매 조건 판단: 현재 K 라인 종료 가격은 이전 1 K 라인 종료 가격보다 작고, 이전 1 K 라인 종료 가격은 이전 2 K 라인 종료 가격보다 작고, 거의 3 K 라인은 모두 음선이다.

구매 및 판매 조건은 최근 신호가 0이거나 반대 신호를 충족시켜야 하며, 연속 반복 거래를 피한다.

우위 분석

  • 단일 지표 사용, 전략 논리는 간단하고 명확하다
  • 해양 강도 지표의 트렌드 추적 능력을 활용
  • K선 형태를 결합하여, 놓친 추세 또는 역작업을 피할 수 있다.
  • 반복되는 신호를 필터링하여 불필요한 거래를 줄일 수 있습니다.

위험 분석

  • 해양강이 지연되어 있고, 트렌드 전환점을 놓칠 수 있다.
  • 3K선 근처의 형태만 고려하고, 장기적인 추세 판단이 부족하다.
  • 손해배상금지 설정이 되지 않아 손실이 커질 수 있습니다.
  • 대시장 환경이 고려되지 않아 시스템적 위험에 취약합니다.

다른 지표와 결합하여 장기적인 추세를 판단하고, 손실을 막는 전략을 최적화하고, 큰 시장 환경에 주의를 기울여 개선할 수 있다.

최적화 방향

  • 다른 지표들을 추가하여 장기적인 경향의 방향을 결정합니다.
  • 이동 중지 또는 비율 중지 설정으로 중지 전략을 최적화
  • 대시장 지수를 고려하고 불안한 시장에서 거래하는 것을 피하십시오.
  • 최적화 변수 설정, 이동 평균 주기 조정 등과 같은 변수
  • 에너지 지표를 늘리고, 양적 지원을 보장한다.

요약하다

이 전략은 해강선 지표의 트렌드 추적 기능을 이용하고, K선 형태와 함께 진입 시기를 판단하고, 반복 신호 필터링을 통해 거래 주파수를 제어한다. 전략 논리는 간단하고 명확하며, 쉽게 구현된다. 그러나 다중 지표 조합, 스톱 손실 최적화, 대장 등에 대한 주의를 통해 개선할 수 있으며, 전략을 더 안정적이고 신뢰할 수 있게 한다.

전략 소스 코드
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Masoud Abdoli
//Heikin Ashi Smoothed Buy & Sell Strategy Rev.4
//Date: 01-Oct-2021
//@version=4

strategy(title="Abdoli's Heikin Ashi Smoothed Buy & Sell Strategy Rev.4", shorttitle="Heikin-Ashi Smoothed Rev.4", overlay=true,
 initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

MaPeriod = input (title="Moving Average Period?", type=input.integer, defval=65, minval=5, maxval=100, step=5)

maOpen  = ema(open , MaPeriod)
maHigh  = ema(high , MaPeriod)
maLow   = ema(low  , MaPeriod)
maClose = ema(close, MaPeriod)

haClose = (maOpen+maHigh+maLow+maClose)/4
haOpen = 0.0
haOpen:= na(haOpen[1]) ? (maOpen[1]+maClose[1])/2 : (haOpen[1]+haClose[1])/2
haHigh = max(maHigh, max(haClose, haOpen))
haLow  = min(maLow , max(haClose, haOpen))

plotcandle(haOpen, haHigh, haLow, haClose, title="heikin-Ashi smoothed", color=haOpen>haClose ? color.orange : color.blue)

B0 = haClose    - haOpen
B1 = haClose[1] - haOpen[1]
B2 = haClose[2] - haOpen[2]
BuyCondition = B0 > 0.0 and B1 > 0.0 and B2 > 0.0 and haClose > haClose[1] and haClose[1] > haClose[2]
SellCondition= B0 < 0.0 and B1 < 0.0 and B2 < 0.0 and haClose < haClose[1] and haClose[1] < haClose[2]

last_signal = 0
Buy_final  = BuyCondition  and (nz(last_signal[1]) == 0 or nz(last_signal[1]) ==-1)
Sell_final = SellCondition and (nz(last_signal[1]) == 0 or nz(last_signal[1]) == 1)
last_signal := Buy_final ? 1 : Sell_final ? -1 : last_signal[1]

plotshape(Buy_final , style=shape.labelup  , location=location.belowbar, color=color.blue, title="Buy label" , text="BUY" , textcolor=color.white)
plotshape(Sell_final, style=shape.labeldown, location=location.abovebar, color=color.red , title="Sell label", text="SELL", textcolor=color.white)

strategy.entry("Buy", strategy.long, when=Buy_final)
strategy.close("Buy", when=Sell_final)