이동평균선행지표 단기공매도 전략


생성 날짜: 2023-10-17 14:00:41 마지막으로 수정됨: 2023-10-17 14:00:41
복사: 1 클릭수: 699
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이동평균선행지표 단기공매도 전략

개요

이 전략은 평평선 선행 지표와 곰 강도 지표를 결합하여 단기 하향 방향 신호를 형성하는 조합 전략이다. 평평선 선행 지표는 추세를 판단하고, 곰 강도 지표는 공백 시간을 결정한다. 전략은 단선 작동에 적합하며, 시장 조정 행태를 추적한다.

전략 원칙

  1. 평균선 선행 지표: 계산 220 주기 지수 이동 평균 EMA, 가격이 SMA보다 낮을 때 하락, 시점보다 높을 때 상승.

  2. 곰 강도 지표: 당일 상장 가격과 상장 가격의 차이를 계산하고, ?? 강도 값 ?? 이다. 강도 값이 기본 판매 매개 변수보다 크면 곰 ish 신호, -1 하락; 강도 값이 기본 구매 매개 변수보다 작으면 다중 머리 신호, 1 더 많은; 그렇지 않으면 0 평평이다.

  3. 두 지표가 결합되면 평균선 선행 지표 과 곰 강도 지표 <-1일 때 공백 신호를 생성한다.

  4. 하락 신호에 따라, 전략이 포지션을 열고 하락한다. 하락 신호에 따라, 전략이 포지션을 평정한다. 반전 매개 변수를 설정할 수 있으며, 더 많은 하락 방향을 조정한다.

우위 분석

  1. 평균 선행 지표는 트렌드 반전의 지점을 미리 판단할 수 있다.

  2. 강도 지표는 당일 강 하락의 시점을 잡을 수 있다.

  3. 조합 쌍 지표, 가짜 브레이크를 필터링 할 수 있으며, 더 강한 하락의 짧은 라인 마카오 포인트를 결정한다.

  4. 다양한 품종과 시장 환경에 맞게 조정 가능한 매개 변수

  5. 역방향으로 다공영을 할 수 있으며, 다공영 양방향행동상태에 대응한다.

위험 분석

  1. 평균선 지표는 지연되어 있으며, 트렌드 반전의 최적의 지점을 놓칠 수 있다.

  2. 이 지표는 수면으로 내려가며, 수면으로 내려가며, 수면으로 내려가며, 수면으로 내려가며, 수면으로 내려가며, 수면으로 내려가며, 수면으로 내려가며, 수면으로 내려가며,

  3. 이 트렌드에서 장기적인 흐름을 판단할 수 없기 때문에, 부채가 발생할 위험이 있습니다.

  4. 조심스럽게 선택해야 하는 파라미터는, 예를 들어 EMA 주기가 너무 짧거나, 마이너스 값이 너무 커서 팔면, 가짜 신호가 증가한다.

  5. 중요한 경제 데이터 발표에 주의를 기울이고, 계획 거래 기간을 피하십시오.

최적화 방향

  1. 단독 손실을 줄이기 위해 Stop Loss 전략에 참여하는 것을 고려할 수 있습니다.

  2. 동량 지표와 같은 필터와 함께 작동하여 약한 하락의 가짜 신호를 줄일 수 있다.

  3. 더 긴 주기 평균선으로 큰 트렌드 방향을 판단할 수 있으며, 역동작업을 피할 수 있다.

  4. 최적화 가능한 매개 변수 설정, 예를 들어 EMA 주기에 적응하고, 매매한계치를 실시간으로 조정합니다.

  5. 시간주기를 넘나드는 조합을 고려할 수 있으며, 동시에 짧은 중장선 지표 신호에 주의를 기울일 수 있다.

요약하다

이 전략은 우선 평평선 선행으로 대장 이동과 트렌드 역전점을 판단하고, 이후 곰 강도 지표를 통해 당일 강렬한 상장 시기를 포착하여 더 강한 하락의 짧은 라인 상장 전략을 형성한다. 전략의 장점은 간단하고 실용적이며, 다양한 시장 환경에 적응할 수 있으며, 여러 가지 상장 방향을 역전할 수 있다. 그러나 최우수 위치를 놓치고, 잘못된 신호를 생성하는 등의 위험이 있다. 엄격한 매개 변수 최적화, 필터 및 상장 등의 추가로 전략의 안정성을 더욱 향상시킬 수 있다.

전략 소스 코드
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/04/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
//  Bear Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos


BP(SellLevel,BuyLevel) =>
    pos = 0.0
    value =  close < open  ?  
                 close[1] > open ?  math.max(close - open, high - low): high - low: 
                     close > open ? 
                         close[1] > open ? math.max(close[1] - low, high - close): math.max(open - low, high - close): 
                             high - close > close - low ? 
                                 close[1] > open ? math.max(close[1] - open, high - low) : high - low : 
                                  high - close < close - low ? 
                                   close > open ? math.max(close - low, high - close) : open - low : 
                                      close > open ? math.max(close[1] - open, high - close) :
                                       close[1] < open ? math.max(open - low, high - close) : high - low
    pos := value > SellLevel ? -1 :
    	     value <= BuyLevel ? 1 :nz(pos[1], 0) 

    pos

strategy(title='Combo 2/20 EMA & Bear Power', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Bear Power ═════●'
SellLevel = input.float(10, step=0.01, group=I2)
BuyLevel = input.float(1, step=0.01, group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosBP = BP(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBP == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBP == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
    strategy.entry('Long', strategy.long)
if possig == -1
    strategy.entry('Short', strategy.short)
if possig == 0
    strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)