매수 및 매도 파워 탄성 이동 평균 거래 전략


생성 날짜: 2023-12-20 16:30:02 마지막으로 수정됨: 2023-12-20 16:30:02
복사: 0 클릭수: 749
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

매수 및 매도 파워 탄성 이동 평균 거래 전략

개요

이 전략은 알렉산더 엘더 박사가 그의 탄력적인 이동 평균 이론에 따라 개발하여 시장의 구매와 판매 힘을 측정하기 위해 사용된다. 이 전략은 일반적으로 3 화면 거래 시스템과 함께 사용되기도 하고, 단독으로도 사용할 수 있다. 박사는 13 일 지수 이동 평균을 사용하여 시장의 가치에 대한 합의를 반영한다. 다중 힘은 구매자가 가치 합의를 초과하는 가격을 운전할 수 있는 능력을 반영한다. 공중 힘은 판매자가 가격을 가치 합의를 초과하는 가격으로 운전할 수 있는 능력을 반영한다.

다중 힘은 고점을 어 13일 지수 이동 평균을 계산한다. 공중 힘은 저점을 어 13일 지수 이동 평균을 계산한다.

전략 원칙

이 전략은 알렉산더 엘더 박사의 구매력 이론에 기초한다. 시장의 추세와 힘을 판단하기 위해 다중 힘 지표를 계산한다. 구체적으로, 다중 힘 지표는 구매자의 힘을 반영하며, 최고 가격에서 13 일 EMA를 빼면 계산된다. 공허 힘 지표는 판매자의 힘을 반영하고, 최저 가격에서 13 일 EMA를 빼면 계산된다. 다중 힘이 특정 하위값으로 내려갈 때 공허 신호를 생성하고, 공허 힘이 특정 하위값으로 올라갈 때 다중 신호를 생성한다.

코드에서, 우리는 높은 낮은 점과 13 일 EMA를 사용하여 공중 힘 지표를 계산한다. 지표가 촉발 될 때 대응하는 상장 또는 상장 포지션을 열기 위해 트리거 하계값을 설정한다. 포지션을 관리하기 위해 중지 손실 및 중지 논리를 설정한다. 일반적으로, 이 전략은 거래의 상대적인 힘을 비교하여 시장 추세의 강점을 판단합니다.

우위 분석

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

  1. 구매와 판매의 힘으로 시장의 흐름을 판단하고, BACKTEST이 더 효과적입니다.
  2. 구매 및 판매 신호가 명확하고 판단이 쉽다.
  3. 신뢰성 있는 손해 방지 장치 HELP 위험 관리
  4. 3개의 화면으로 거래하는 것이 더 효과적입니다.

위험 분석

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

  1. 매개 변수 설정은 주관적이며, 시장에 따라 조정할 수 있습니다.
  2. 구매력 지표가 잘못된 신호를 줄 수 있다
  3. 부적절한 정지 위치 설정으로 손실이 증가할 수 있습니다.
  4. 효과는 거래 종류와 주기와 관련이 있습니다.

대책:

  1. 최적화 매개 변수, 다른 시장에 적응
  2. 다른 지표와 결합하여 필터링 신호
  3. 제3차, 제4차, 제5차, 제6차, 제6차, 제6차, 제6차
  4. 적절한 거래 종류와 주기를 선택하세요

최적화 방향

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

  1. 이동 평균 변수를 최적화하여 다른 주기에 적응
    1. MACD와 같은 다른 지표 필터 신호를 추가합니다.
  2. 스톱로스 트래킹과 같은 스톱로스 스톱 로직을 최적화
  3. 기계학습을 사용하여 자동으로 최적화합니다.
  4. 딥러닝과 결합된 구매 및 판매 신호 예측

전반적으로, 이 전략은 최적화 공간이 여전히 크며, 파라미터, 신호, 위험 제어 등 여러 측면에서 시작하여 전략을 더욱 안정적이고 신뢰할 수 있게 한다.

요약하다

이 전략은 엘더 박사의 구매 및 판매 힘 이론에 기초하고 있으며, 다공간 힘 지표를 계산하여 시장의 경향과 힘을 판단하고, 신호 판단 규칙은 비교적 간단하고 명확하다. 전략은 구매 및 판매 힘을 사용하여 추세를 판단하고, 손실을 제어하는 위험과 같은 장점을 가지고 있으며, 파라미터 주관성, 신호 오해와 같은 위험도 있습니다. 우리는 파라미터를 최적화하고, 신호 필터링을 추가하고, 엄격한 손실을 방지하는 방법을 통해 전략의 안정성과 수익률을 더욱 향상시킬 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-19 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/10/2022
// Developed by Dr Alexander Elder, the Elder-ray indicator measures buying 
// and selling pressure in the market. The Elder-ray is often used as part 
// of the Triple Screen trading system but may also be used on its own.
// Dr Elder uses a 13-day exponential moving average (EMA) to indicate the 
// market consensus of value. Bull Power measures the ability of buyers to 
// drive prices above the consensus of value. Bear Power reflects the ability 
// of sellers to drive prices below the average consensus of value.
// Bull Power is calculated by subtracting the 13-day EMA from the day's High. 
// Bear power subtracts the 13-day EMA from the day's Low.
// WARNING:
// - For purpose educate only
// - This script to change bars colors. 
////////////////////////////////////////////////////////////
strategy(title="Elder Ray (Bull Power) TP and SL", shorttitle = "Bull Power", overlay = true)
Profit = input.float(7, title='Take Profit %', minval=0.01)
Stop = input.float(7, title='Stop Loss %', minval=0.01)
Length = input.int(14, minval=1)
Trigger = input.float(-200)
reverse = input.bool(true, title="Trade reverse")
xPrice = close
xMA = ta.ema(xPrice,Length)
var DayHigh = high
DayHigh := dayofmonth != dayofmonth[1]? high: math.max(high, nz(DayHigh[1]))
nRes = DayHigh - xMA
pos = 0
pos := nRes < Trigger ? 1:  0 
possig = reverse and pos == 1 ? -1 :
          reverse and pos == -1 ? 1 : pos	   
if (possig == 1) and strategy.position_size == 0
    strategy.entry('Long', strategy.long, comment='Market Long')
    strategy.exit("ExitLong", 'Long', stop=close - close * Stop / 100 , limit = close + close * Profit / 100 , qty_percent = 100)  
if (possig == -1) and strategy.position_size == 0
    strategy.entry('Short', strategy.short, comment='Market Long')
    strategy.exit("ExitShort", 'Short', stop=close + close * Stop / 100 , limit = close - close * Profit / 100 , qty_percent = 100)  
barcolor(strategy.position_size == -1 ? color.red: strategy.position_size == 1 ? color.green : color.blue )