이중 이동 평균 거래 전략 사용


생성 날짜: 2024-02-18 15:11:04 마지막으로 수정됨: 2024-02-18 15:11:04
복사: 0 클릭수: 580
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이중 이동 평균 거래 전략 사용

개요

이 전략은 두 개의 이동평균선이 거래 신호를 형성하는 방식을 채택하고, 단기 이동평균선 상에서 장기 이동평균선을 통과할 때 구매 신호를 생성하고, 단기 이동평균선 아래에서 장기 이동평균선을 통과할 때 판매 신호를 생성한다. 이 전략은 이동평균선의 트렌드 추적 기능을 결합하여 가격 트렌드를 효과적으로 포착하여 트렌드 거래를 구현할 수 있다.

전략 원칙

이 전략은 두 개의 다른 주기의 지수 이동 평균선을 사용한다. EMA1은 단기 이동 평균선이며, 주기는 9로 설정되어 있다. EMA2는 장기 이동 평균선이며, 주기는 21로 설정되어 있다. 단기 이동 평균선이 EMA1 위에 장기 이동 평균선인 EMA2를 뚫을 때 구매 신호가 발생하며, EMA1 아래 EMA2를 뚫을 때 판매 신호가 발생한다.

이렇게 하면 이동 평균의 트렌드 추적 기능을 활용하여 가격이 새로운 트렌드 방향을 시작할 때 신호를 적시에 포착하여 트렌드를 추적 할 수 있습니다. 예를 들어 가격이 하락에서 상승으로 전환 할 때 단기 이동 평균은 장기 이동 평균보다 먼저 상승합니다. 단기 이동 평균에서 장시간 이동 평균을 통과하는 것은 가격이 상승하기 시작한 초기 신호입니다.

우위 분석

이 전략의 가장 큰 장점은 가격 동향을 효과적으로 식별 할 수 있다는 것입니다. 특히 유행성이 강한 시장에 적합합니다. 이동 평균선은 그 자체로 좋은 트렌드 추적 기능을 가지고 있으며, 쌍 이동 평균선은 이 장점을 더욱 강화합니다. 또한, 단일 이동 평균선 전략에 비해 쌍 이동 평균선은 가짜 신호를 더욱 필터링 할 수 있으며, 신호의 신뢰성이 높습니다.

위험 분석

이 전략의 가장 큰 위험은 가격이 급격하게 변동할 때 이동평균선이 지연되어 최적의 입문 또는 출구 시간을 놓칠 수 있다는 것입니다. 또한, 시장이 흔들림 영역에있을 때 이 전략은 더 많은 무효 신호를 생성하여 전략의 안정성을 감소시킵니다.

위험을 줄이기 위해 이동 평균의 주기적 변수를 적절하게 조정하거나 다른 지표를 필터링 할 수 있습니다. 예를 들어 시장의 변동률 지표와 결합하여 마이너스를 설정하여 시장의 큰 변동이있을 때 거래하는 것을 피합니다.

최적화 방향

이 전략의 최적화 공간은 다음과 같은 부분에서 이루어집니다.

  1. 이동 평균주기 변수를 최적화하여 최적의 변수 조합을 찾습니다.
  2. 다른 지표와 결합하여 필터링 작업을 수행하여 신호의 신뢰성을 향상시킵니다.
  3. 다양한 품종과 시장 환경에 따라 적응 가능한 매개 변수를 설정합니다.
  4. 결합량 지표 등이 구체적인 입시 지점을 결정한다.
  5. 손해 방지 제도를 최적화

요약하다

이 전략은 쌍 지수 이동 평균선 형성 거래 신호의 방법을 채택합니다. 가장 큰 장점은 가격 트렌드 추적 능력이 강하여 가격 트렌드 전환을 효과적으로 식별 할 수 있습니다. 그러나 이동 평균선 지연 등의 문제가 있습니다. 다음 단계는 신호 품질을 향상시키고 특정 입시 시점을 결정하고 손실을 막는 측면에서 최적화 할 수 있습니다.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © technicalTruff99446

//@version=4
strategy("AhmetMSA", overlay=true, initial_capital = 10000, commission_value = 0.002, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, calc_on_order_fills = true)
//2. DEĞERDEN SONRA GEÇMİŞ HESAPLAMA DEĞERİ, KOMİSYON ORANI, PARANIN TAMAMI, DEĞERLERİ EKLEMDİ

emaShPD = input (title="EMA KISA PERİYOT", defval=9, minval=1)
emaLngPD = input (title="EMA UZUN PERİYOT", defval=21, minval=1)

//input   DEĞİŞKEN DEĞER ATAMA

ema1 = ema (close,emaShPD)
ema2 = ema (close,emaLngPD)

//EMALAR ARASINI BOYAMA upTrend downTrend
upTrend   = plot (ema1, color=#4DFF00, linewidth=2, title= "EMA KISA", transp=0)
downTrend = plot (ema2, color=#FF0C00, linewidth=3, title= "EMA UZUN", transp=0)
//linewidth ÇİZGİ KALINLIĞI
//title     İSİM VERME

//BACKTESTİN BAŞLANGIÇ TARİHİNİ BELİRLEME
yearin = input(2024, title = "Backtest Başlangıç Tarihi")
//longCondition = crossover(ema1, ema2)
//shortCondition = crossover(ema2, ema1)
buy = crossover(ema1, ema2) and yearin >= year
sell = crossover(ema2, ema1) and yearin >= year
//ta.crossunder  KESİŞİM KODU

//Barları BOYAMA
barbuy  = ema1 >= ema2
barsell = ema2 <  ema1




//AL SAT AŞK KUTUCUKLU EKRANA YAZMA
plotshape(buy, title = "AL AŞK", text = 'AL AŞK', style = shape.labelup, location = location.belowbar, color= color.green,   textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "SAT AŞK", text = 'SAT AŞK', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

//Barları BOYAMA KOŞULU
barcolor(barbuy? #4DFF00: barsell? #FF0C00: #FF0C00)


fill(upTrend, downTrend, color = ema1 >= ema2?#4DFF00 : #FF0C00, transp = 80, title = "bgcolor")

//longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
//shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
//14 GÜNLÜĞÜN KAPANIŞDEĞERİNİN 28 GÜNLÜK KAPANIŞ DEĞERİNİ KESMESİ KOŞULU



if (buy)
    strategy.entry("AL AŞK", strategy.long)


if (sell)
    strategy.entry("SAT AŞK", strategy.short)