이동 평균 크로스오버 중점 전략

저자:차오장, 날짜: 2023-12-13 17:38:23
태그:

img

전반적인 설명

이동 평균 크로스오버 중점 전략은 추세를 따르는 전략이다. 중점 지표와 이동 평균 라인을 결합하여 가격이 중점 지표와 이동 평균의 교차점을 통과 할 때 거래 신호를 생성합니다.

전략 논리

이 전략의 핵심 지표는 중점 지표입니다. 중점 지표는 특정 기간 동안 가장 높고 가장 낮은 가격의 평균 값을 사용하여 주요 지지 및 저항 수준을 찾습니다.

또한, 이동 평균은 원활한 가격 데이터를 도입하고 트렌드 방향을 결정합니다.

구매 신호는 가격이 중점과 이동 평균의 교차점 이상으로 돌파할 때 생성되며 판매 신호는 가격이 교차점 아래로 돌파할 때 생성됩니다.

이 전략 논리에 따르면, 중점과 이동 평균 크로스오버 영역의 브레이크오프를 잡는 것은 트렌드를 잘 따라가며 인하 기간 동안 반전 거래를 할 수 있습니다.

이점 분석

이 전략은 중간 지점 지표와 이동 평균의 장점을 결합하고 다음과 같은 가장자리를 가지고 있습니다.

  1. 중점 지표는 주요 지지/저항 수준을 정확하게 파악하고, 이동 평균은 트렌드 방향을 결정합니다. 이 조합은 신뢰성을 향상시킵니다.

  2. 크로스오버 상황을 통해 반전을 판단하면 거짓 파업의 확률이 감소합니다.

  3. 이중선 교차를 채택하면 하나의 지표로 인해 오해가 발생하지 않습니다.

  4. 전략 아이디어는 간단하고 명확하고 이해하기 쉽고 구현하기 쉽고 알고리즘 거래에 적합합니다.

위험 분석

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

  1. 중간점과 이동평균은 시장이 격렬하게 변동할 때 실패할 수 있습니다.

  2. 크로스오버가 발생했을 때 몇 가지 회수 압력이 발생할 수 있습니다.

  3. 이 전략은 중장기적인 사업에 초점을 맞추고 지나치게 장기적인 사업에는 적용되지 않습니다.

이에 따른 위험 관리 측정은 다음을 포함한다.

  1. 매끄러움을 높이기 위해 이동 평균 매개 변수를 최적화합니다.

  2. 정지 손실 범위를 적절히 확장하여 역압에 대처합니다.

  3. 적시에 이윤을 취득하고 손실을 멈추기 위해 보유 기간을 단축합니다.

최적화 방향

이 전략은 다음 측면에서도 최적화 될 수 있습니다.

  1. 중점 지표와 이동 평균의 기간을 최적화하여 최상의 매개 변수 조합을 찾습니다.

  2. 신호 품질을 향상시키기 위해 MACD, RSI와 같은 다른 지표를 추가합니다.

  3. 트레이딩 볼륨 확인을 추가하여 낮은 볼륨의 잘못된 브레이크오프를 피합니다.

  4. 시장 변동에 따라 스톱 및 수익 수치를 조정하기 위해 변동성 지표를 포함합니다.

  5. 다른 시장과 제품에서 적용 가능성을 테스트합니다.

결론

이동 평균 크로스오버 중점 전략은 중점 지표와 이동 평균의 장점을 통합하여 주요 지원/저항 수준의 돌파구를 판단하여 트렌드 반전을 포착합니다. 이 전략은 최적화 할 수있는 넓은 공간을 가지고 있으며 안정적인 이익을 얻을 것으로 예상됩니다.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MGULHANN
//@version=5
strategy('Forex Midpoint Stratejisi For Nasdaq ', overlay=true)
BPeriod = input(131, 'Başlangıç Period')
kaydirma = input(14, 'Kaydırma Seviyesi')
yuzdeseviyesi = input.float(0.0006, 'Yüzde Seviyesi', step=0.0001)
len = input.int(44, minval=1, title="Length")
src = input(close, title="Source")
out = ta.sma(src, len)

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

typeMA = input.string(title = "Method", defval = "EMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 53, minval = 1, maxval = 100, group="Smoothing")
smoothingLine = ma(out, smoothingLength, typeMA)
//plot(smoothingLine, title="Smoothing Line", color=color.red, linewidth = 2)

//zararDurdurmaYuzde = input.float(0.2, title='Zarar Durdurma %', step=0.01) / 100
//karAlmaYuzde = input.float(0.5, title='Kar Alma %', step=0.01) / 100


//MIDPOINT HESAPLA
midpoint1 = ta.highest(high, BPeriod) + ta.lowest(low, BPeriod)
midpoint2 = midpoint1 / 2
midyuzdeseviyesi = midpoint2 * yuzdeseviyesi
midtopdeger = midyuzdeseviyesi + midpoint2

//GİRİŞ KOŞULLARI
buycross = ta.crossover(smoothingLine, midtopdeger[kaydirma]) //? aort > ta.sma(close,50) : na
sellcross = ta.crossover(midtopdeger[kaydirma], smoothingLine) // ? aort < ta.sma(close,50) : na

//LONG GİRİŞ
if (buycross)
    strategy.entry("BUY", strategy.long)
    //longKarAl = strategy.position_avg_price * (1 + karAlmaYuzde)
    //longZararDurdur = strategy.position_avg_price * (1 - zararDurdurmaYuzde)
    //strategy.exit("Long Exit","Long", stop=longZararDurdur)
    
   
//SHORT GİRİŞ    
if (sellcross)
    strategy.entry("SELL", strategy.short)
    //shortKarAl = strategy.position_avg_price * (1 - karAlmaYuzde)
    //shortZararDurdur = strategy.position_avg_price * (1 + zararDurdurmaYuzde)
    //strategy.exit("Short Exit","Short", stop=shortZararDurdur)
   
//plot(midtopdeger, offset=kaydirma, linewidth=2, color=color.blue)


더 많은