포터스 및 RSI 주식 단장 거래 전략

저자:차오장, 날짜: 2023-09-19 22:01:09
태그:

전반적인 설명

이 전략은 시장 트렌드 방향을 결정하고 긴 기회를 식별하기 위해 소용돌이 지표를 사용합니다. 그것은 더 완전한 주식 장기 거래 시스템을 구축하기 위해 RSI 필터와 스톱 손실 / 영업 관리를 추가합니다. 상승 추세를 효과적으로 식별하고 매개 변수를 사용자 정의 할 수 있습니다.

전략 논리

  1. 포터렉스 지표의 긍정적 VIP와 부정적 VIM를 계산합니다.

  2. VIP가 VIM를 넘어서고, 클로즈가 이전 최고치보다 높을 때 구매 신호가 생성됩니다.

  3. RSI 값을 계산해 보세요. RSI가 70 이하로 넘으면 판매 신호가 생성됩니다.

  4. VIM가 VIP 아래로 넘어가고, 클로즈가 이전 하위보다 낮으면 판매 신호가 발사됩니다.

  5. 초기 자본의 stop_loss%로 중지 손실을 설정하고 초기 자본의 Target_profit%로 이익을 취합니다.

소용돌이 지표는 상승/하락 트렌드를 잘 판단합니다. RSI를 추가하면 과열 위험을 방지합니다. Stop loss/take profit는 탄력성을 추가합니다.

이점 분석

  1. 스 (Vortex) 는 명확한 신호로 트렌드를 정확하게 식별합니다.

  2. RSI는 과열 위험을 피하고 최고를 추구하고 있습니다.

  3. 동적 스톱은 미리 정의된 위험/이익 비율을 설정합니다.

  4. 조절 가능한 스톱은 다른 시장 환경에 적합합니다.

  5. 간단하고 명확한 규칙, 실행하기 쉬운

  6. 다른 지표로 확장할 수 있습니다.

위험 분석

  1. 소용돌이는 후속효과가 있고 기회를 놓칠 수도 있습니다.

  2. 너무 작은 스톱 손실은 윙사 (whipsaws) 를 일으킬 수 있습니다.

  3. 너무 큰 수익을 취하면 수익을 제한할 수 있습니다.

  4. RSI에 지나치게 의존하는 것은 실패를 유발합니다.

  5. 거래 비용은 고려되지 않습니다.

  6. 위치 크기의 규칙이 없습니다.

최적화 방향

  1. 텍스와 RSI를 테스트하고 최적화해

  2. 오브비와 소용돌이를 결합해보세요

  3. 트레일링 스톱, 캔들리어 출구 등과 같은 스톱 손실 전략을 강화하십시오.

  4. 단일 거래 손실을 제한하기 위해 포지션 사이징 모듈을 추가합니다.

  5. KD, MACD와 같은 필터를 고려해 보세요.

  6. 더 나은 매개 변수 최적화를 위해 기계 학습을 활용합니다.

  7. 승률을 높이기 위해 근본적인 요소를 추가합니다.

결론

이 전략은 트렌드 및 과열 제어 RSI를 위한 소용돌이를 안정적인 롱만 주식 시스템으로 통합한다. 스톱 로스/트랙 노프트 설정은 또한 위험을 관리할 수 있도록 한다. 매개 변수 조정 및 새로운 모듈의 추가 개선은 라이브 트레이딩에 더 견고하게 만들 수 있다. 강력한 트렌드 다음 용량과 확장성으로, 이 전략은 적극적인 투자자들에게 잘 적합하다.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by Sauciusfinance 
////////////////////////////////////////////////////////////
strategy(title="Vortex and RSI ts 2020",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=20000,commission_value=.25,overlay = true,default_qty_type = strategy.cash, default_qty_value = 20000)
//inputs////////////////////////
n = input(title="vortex period",type=input.integer, defval = 14)
m = input(title = "RSI period", type=input.integer, defval = 14)
// CALCULATIONS *** ///////
VMP = sum( abs( high - low[1]), n )
VMM = sum( abs( low - high[1]), n )
STR = sum( atr(1), n )
VIP = VMP / STR
VIM = VMM / STR
// bring the lines in the panel below, add another panel with RSI
plot(VIP, title="VI +", color=#311B92)
plot(VIM, title="VI -", color=#FF006E)

// RSI on total price, always
totalprice = (high + low+close + open)/4
myrsi = rsi(m, totalprice)
strategy.initial_capital = 50000
//// TRADING SYSTEM CODE //// 
entryl = crossover(VIP, VIM) and close >= high[1] 
strategy.entry("Long", true, when=entryl, comment = "Go!")
exit1 = crossover(VIM, VIP) and close <= low[1]
strategy.close("Long", when=exit1, comment = "Vortex down")
exit2 = crossunder(myrsi, 70)
strategy.close("Long", when=exit2, comment = "RSI down")
//money management
stop_loss=input(7, "Stop loss %", minval = 1, step = 1)
sl = -1*stop_loss/100*strategy.initial_capital
close_Stop = strategy.openprofit < sl
strategy.close("Long", when = close_Stop)
Target_profit=input(16, "Target Profit %", minval = 1, step = 1)
tp = Target_profit/100*strategy.initial_capital
close_Target = strategy.openprofit > tp
strategy.close("Long", when = close_Target)



더 많은