더블 이동 평균 골든 크로스 데드 크로스 스톱 프로핏 및 스톱 로스 전략


생성 날짜: 2024-02-22 17:30:38 마지막으로 수정됨: 2024-02-22 17:30:38
복사: 0 클릭수: 651
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

더블 이동 평균 골든 크로스 데드 크로스 스톱 프로핏 및 스톱 로스 전략

개요

쌍평평선 골드포크는 트렌드를 추적하는 전략이다. 그것은 Stochastic 지표의 두 개의 이동 평균 K와 D의 골드포크와 데드포크를 사용하여 구매와 판매의 시간을 판단한다. 동시에, 그것은 위험을 제어하기 위해 골드포크를 사용합니다.

전략 원칙

이 전략의 핵심 지표는 Stochastic의 빠른 K와 느린 D이다. 빠른 K는 Stochastic의 원본값의 3일 간소 이동 평균이다. 느린 D는 빠른 K의 3일 간소 이동 평균이다. 빠른 선에서 느린 선을 통과하면 금색 포크 신호가 발생하며, 다중 트렌드가 다가오고, 구매할 수 있다. 빠른 선 아래에서 느린 선을 통과하면 죽은 포크 신호가 발생하여, 공허 트렌드가 다가오고, 판매할 수 있다.

또한, 이 전략은 스토카스틱의 값이 지나치게 추운 지역 (<20) 또는 지나치게 뜨거운 지역 (<80) 에 있을 때만 거래 신호를 생성한다는 조건을 설정합니다. 이것은 일부 가짜 신호를 필터링 할 수 있습니다.

시장에 진입한 후, 이 전략은 스톱 스톱 손실을 사용하여 위험을 통제한다. 스톱 스톱은 120 틱의 입시 가격과 60 틱의 입시 가격 사이에 위치한다. 가격이 스톱 스톱 또는 스톱 스톱 수준에 도달하면 현재 위치에서 빠져 나간다.

전략적 이점

  • Stochastic 지표를 사용하여 트렌드 방향을 판단하여 높은 정확도를 얻습니다.
  • 가짜 신호를 필터링하기 위해 냉장고와 과열 구역 조건을 설정합니다.
  • 단독 손실을 제한하고 전반적인 위험을 제어하는 스톱 스톱을 사용하십시오.

전략적 위험

  • Stochastic은 수평으로 정리된 시장에서 잘못된 신호를 발생시킬 수 있습니다.
  • 정지/손실 거리가 고정되어 있고, 동적으로 시장 변화를 추적할 수 없습니다.
  • 최대 인출을 제한할 수 없습니다.

위험 해결 방법:

  • 다른 지표들을 추가하여 조합하여 추세를 파악합니다.
  • 동적 중지 중지 손실을 설정
  • 최대 퇴각수단을 늘려

전략 최적화 방향

  • MACD, KDJ 및 다른 지표와 Stochastic 조합을 사용하여 신호의 정확도를 향상시킵니다.
  • ATR 설정에 따라 동적 스톱 스톱 손실 거리
  • 최대 철수 조건
  • 스티드 스탠드 손실 인자를 최적화하여 최적의 매개 변수를 찾습니다.

요약하다

쌍평선 금叉死叉 중지 손실 전략은 간단한 실용적인 트렌드 추적 전략이다. Stochastic의 쌍평선 시스템을 사용하여 시장에 진입할 때를 판단하고, 중지 중지 손실을 사용하여 위험을 제어한다. 이 전략은 효과는 눈에 띄고, 구현하기 쉽고, 수량 거래에 적합하다. 추가적으로 최적화하면 안정적으로 수익성이있는 알고리즘 거래 전략이 될 수 있다.

전략 소스 코드
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Strategy alerts workaround", overlay=true) 
// disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker

// Entries logic: based on Stochastic crossover
k = ta.sma(ta.stoch(close, high, low, 14), 3)
d = ta.sma(k, 3)
crossover = ta.crossover(k,d)
crossunder = ta.crossunder(k,d)

if (crossover and k < 20)
	strategy.entry("Buy", strategy.long, alert_message="buy")
if (crossunder and k > 80)
	strategy.entry("Sell", strategy.short, alert_message="sell")

// StopLoss / TakeProfit exits:
SL = input.int(60, title="StopLoss Distance from entry price (in Ticks)")
TP = input.int(120, title="TakeProfit Distance from entry price (in Ticks)")
strategy.exit("xl", from_entry="Buy", loss=SL, profit=TP, alert_message="closebuy")
strategy.exit("xs", from_entry="Sell", loss=SL, profit=TP, alert_message="closesell")

// logical conditions exits:
if (crossunder and k <= 80)
	strategy.close("Buy", alert_message="closebuy")
if (crossover and k >= 20)
	strategy.close("Sell", alert_message="closesell")