이동 평균 교차 중점 전략은 트렌드 추적 전략이다. 그것은 중점 지표와 이동 평균을 결합하여 가격이 중점 지표와 이동 평균의 교차점을 뚫었는지 판단하여 거래 신호를 생성한다.
이 전략의 핵심 지표는 중점 지표이다. 중점 지표는 일정 기간 동안의 최고 가격과 최저 가격의 평균값이다. 최고 가격과 최저 가격이 시장의 변동의 양극을 반영하기 때문에 평균값은 중요한 지지 또는 저항 지점이 된다.
또한, 전략에는 이동 평균이 도입되었다. 이동 평균은 가격 데이터를 평형화하여 추세 방향을 판단한다.
가격이 위쪽으로 중간 지표와 이동 평균의 교차점을 통과하면 구매 신호가 발생하고, 가격이 아래쪽으로 교차점을 통과하면 판매 신호가 발생한다.
이 전략의 논리에 따르면, 가격의 브레이크 중간점과 이동 평균의 교차 영역의 브레이크를 잡으면, 순차적으로, 중간 회귀를 잡고 반전 작업을 수행 할 수 있습니다.
이 전략은 중간 지표와 이동 평균을 결합하여 중요한 지지 저항과 트렌드 방향을 빠르게 판단할 수 있습니다. 다음과 같은 장점이 있습니다:
중점 지표는 지원 저항의 위치를 정확하게 파악하고, 이동 평균은 트렌드 방향을 판단하며, 둘을 결합하면 신뢰성이 높다.
교차 상황을 통해 트렌드 전환점을 판단하여 가짜 돌파의 가능성을 줄여줍니다.
단 하나의 지표로 오해의 소지가 생기지 않도록 2선 교차 판단을 적용한다.
전략적 아이디어는 간단하고 명확하며, 이해하기 쉽고 구현하기 쉽고, 양적 거래에 적합합니다.
이 전략에는 몇 가지 위험도 있습니다.
시장이 급격하게 변동할 때, 중점 지표와 이동 평균은 무효가 될 수 있다.
쌍선 교차시, 어느 정도의 회전 테스트 또는 회전 압력이 발생할 수 있으며, 무사할 위험이 있다.
이 전략은 중·단기 운용을 주로 하고 있으며, 너무 긴 선 운용에는 적합하지 않다.
이에 대응하는 위험 관리 조치에는 다음과 같은 것들이 포함됩니다.
이동 평균 파라미터를 최적화하여 평탄함을 향상시킵니다.
재조정 압력에 대응하기 위해 스톱 손실을 적절히 확대하십시오.
포지션 보유 기간을 단축하고 손실을 제때 막는 것.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
중점 지표와 이동 평균의 주기 변수를 최적화하여 최적의 변수 조합을 찾습니다.
MACD, RSI 등과 같은 다른 지표 필터를 추가하여 신호 품질을 향상시킵니다.
거래량 검증을 늘리고, 낮은 거래량으로의 가짜 침입을 방지한다.
변동률 지표와 결합하여 시장 변동에 따라 정지 지점을 조정합니다.
다양한 시장과 품종에 대한 적합성을 테스트하십시오.
이동 평균 교차 중점 전략은 중점 지표와 이동 평균의 장점을 통합하여 교차 상황을 통해 중요한 지원 저항 지점의 돌파구를 판단하여 시장 전환점을 잡습니다. 전략 최적화 공간이 넓고 안정적인 수익을 얻을 수 있습니다.
/*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)