이 전략은 양평선 교차 원리를 적용하여 트렌드 추적 지표와 결합하여 트렌드 판단과 추적을 구현한다. 주요 아이디어는 단기 평균선에서 장기 평균선을 통과할 때 더 많이하고, 단기 평균선 아래에서 장기 평균선을 통과할 때 공백이다. 동시에 백일 평균선을 추가하여 전반적인 트렌드 방향을 판단하고, 가짜 돌파구를 피한다.
이 전략은 주로 양평선 교차 시스템과 트렌드 추적 시스템으로 구성된다.
쌍평선 교차 시스템은 고속선 EMA1과 느린선 EMA2를 포함한다. 이 중 EMA1은 10일선을 기본으로 하고, EMA2는 20일선을 기본으로 한다. 고속선 상에서 느린선을 통과할 때 구매 신호를 생성하고, 고속선 아래에서 느린선을 통과할 때 판매 신호를 생성한다.
100일 평균선 EMA100을 더하여 전체 트렌드 방향을 판단한다. 가격 상승 트렌드에서 (가격 100일 평균선보다 높다) 빠른 선에서 느린 선을 통과하면 구매 신호가 발생한다. 가격 하향 트렌드에서 (가격 100일 평균선보다 낮다) 빠른 선에서 느린 선을 통과하면 판매 신호가 발생한다. 이것은 대부분의 가짜 돌파구를 필터링 할 수 있다.
또한, K라인에서는 구매와 판매의 화살표를 표시하여 거래 신호를 직관적으로 표시합니다.
트렌드 추적 시스템은 일간과 주기간의 일선을 사용하여 트렌드 방향을 다시 확인한다. 일간 5분 및 60분 헤이킨-아시 평균선을 사용하여 판단하고, 주기간의 일선의 8일, 12일 평균선을 사용하여 판단한다.
실제 거래 신호는 당일과 주기의 판단이 일치하는 경우에만 발송됩니다. 이것은 대부분의 비주류 트렌드 방향의 소음을 추가적으로 필터링 할 수 있습니다.
이 전략의 가장 큰 장점은 트렌드 추적과 일률적 교차 시스템을 동시에 통합하여 가짜 신호를 효과적으로 필터링하여 견딜 수 있는 범위 내에서 회전을 제어하는 것입니다.
특히, 쌍평선 교차 시스템의 장점은 다음과 같습니다:
“사용하기 쉽고, 이해하기 쉽고, 초보자에게 적합합니다”.
“이런 일이 벌어질 때, 우리는 더 많은 것을 할 수 있습니다.
빠른 선과 느린 선의 매개 변수는 조정할 수 있으며, 다른 주기에 적응할 수 있다.
이산화탄소 배출량 증가율이 높은 것으로 나타났습니다.
EMA100에 가입하는 장점:
역전도 조작을 필터링하여 손실을 줄여줍니다.
트렌드 조작과 함께, 회귀는 통제할 수 있다.
트렌드 추적 시스템의 장점:
“시각”이라는 단어의 의미와 “시각”이라는 단어의 의미와 같은 의미의 의미의 의미입니다.
거래의 방향이 큰 차원의 흐름과 일치하는지 확인하고, 회수율을 줄여주세요.
Heikin-Ashi는 가격 차이를 평평하게 하고, 노이즈를 필터링하여 추세만을 포착한다.
이 전략에는 몇 가지 위험도 있습니다.
장기적으로 재계획할 때, 평행선이 교차하는 경우가 많기 때문에, 과도한 거래 기회와 대외 거래 비용이 발생한다.
트레이딩 신호는 트렌드의 초기 단계를 놓칠 수 있습니다.
하지만, 그 결과, 그보다 더 큰 손실이 발생할 수 있습니다.
매개 변수 설정은 최적화가 필요하며, 적절하지 않으면 정책 성능에 영향을 미칠 수 있습니다.
대책:
재조정할 때 작동 주파수를 줄여서 무효 거래를 피한다.
트렌드의 초기 신호를 얻기 위해 평균선 주기를 적절히 단축하십시오.
단편적 손실을 통제하기 위해 스톱포트를 설정합니다.
다양한 품종과 시장 환경에 맞게 최적화된 파라미터 설정.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
평균선주기 최적화. 더 많은 변수 조합을 테스트하여 최적의 주기를 찾을 수 있다.
더 많은 기간 판단을 추가하십시오. 예를 들어 달선 또는 분기선 지표를 추가하십시오.
손실 메커니즘을 추가하십시오. 이동식 손실 또는 지수형 손실을 설정하십시오.
거래량 지표와 결합. 예를 들어 에너지 흐름이 KDJ와 같은 지표와 결합.
입시 시점을 최적화하기 위해 MACD와 같은 더 민감한 지표의 도움을 고려할 수 있다.
여러 품종에 적응하는 최적화. 더 많은 품종에 적응하는 파라미터를 조정한다.
이 전략은 양평선 교차와 트렌드 추적 시스템을 통합하여 각자의 장점을 효과적으로 발휘하여 단일 시스템의 문제를 피할 수 있습니다. 다 시간 차원의 판단은 거래 방향의 정확성을 보장하고, 회수 제어가 좋습니다. 더 많은 시장 환경에 적응하여 더 많은 최적화를 통해 실제 전투 가치를 가질 수 있습니다.
/*backtest
start: 2023-09-20 00:00:00
end: 2023-09-27 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/
// © askkuldeeprandhawa
//@version=4
strategy("KSR Strategy", overlay=true)
par1=input(10)
par2=input(20)
ema1=ema(close,par1)
ema2=ema(close,par2)
buy=ema1>ema2
sell=ema2<ema1
mycolor= iff(buy,color.green,iff(sell,color.blue,color.red))
barcolor(color=mycolor)
ema100=ema(close,100)
ibuy=crossover(ema1,ema2)
iSell=crossunder(ema1,ema2)
varp=tostring(close[1])
plotshape(ibuy, "Up Arrow", shape.triangleup, location.belowbar, color.green, 0, 0,"Buy" , color.green, true, size.tiny)
plotshape(iSell, "Down Arrow", shape.triangledown, location.abovebar, color.red, 0, 0, "Sell", color.red, true, size.tiny)
crossed =crossover(ema(close,par1), ema(close,par2))
// if crossed
// l = label.new(bar_index, na, tostring(close),
// color=color.green,
// textcolor=color.white,
// style=label.style_labelup, yloc=yloc.belowbar)
crossed2 =crossunder(ema(close,par1), ema(close,par2))
// if crossed2
// l = label.new(bar_index, na, tostring(close),
// color=color.red,
// textcolor=color.white,
// style=label.style_labeldown, yloc=yloc.abovebar)
plot(ema(close,par1),"EMA Short",color=color.white)
plot(ema(close,par2),"EMA Long",color=color.orange)
longCondition = crossover(ema(close, par1), ema(close, par2))
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
shortCondition = crossunder(ema(close, par1), ema(close, par2))
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)
ma1_len = input(title="MA1", type=input.integer, defval=8, minval=1, maxval=100, step=1)
ma2_len = input(title="MA2", type=input.integer, defval=12, minval=1, maxval=100, step=1)
o = ema(open, ma1_len)
c = ema(close, ma1_len)
h = ema(high, ma1_len)
l = ema(low, ma1_len)
tim1=input('D',"Short Time")
tim2=input('W',"Long Time")
ema_p=input(title="EMA Period", type=input.integer, defval=16, minval=1, maxval=100, step=1)
refma = ema(close, ema_p)
plot(refma, title="EMA" , linewidth=1, color=close < refma ? color.orange : color.blue)
ha_t = heikinashi(syminfo.tickerid)
ha_o = security(ha_t, tim2, o)
ha_c = security(ha_t, tim2, c)
ha_h = security(ha_t, tim2, h)
ha_l = security(ha_t, tim2, l)
o2 = ema(ha_o, ma2_len)
c2 = ema(ha_c, ma2_len)
h2 = ema(ha_h, ma2_len)
l2 = ema(ha_l, ma2_len)
ha_col = ha_c > ha_o ? color.red : color.green
plotshape(true, style=shape.circle, color=ha_c > ha_o ? color.green : color.red, location=location.bottom)
ha_t1 = heikinashi(syminfo.tickerid)
ha_o1 = security(ha_t1, tim1, o)
ha_c1 = security(ha_t1, tim1, c)
ha_h1 = security(ha_t1, tim1, h)
ha_l1 = security(ha_t1, tim1, l)
o3 = ema(ha_o1, ma2_len)
c3 = ema(ha_c1, ma2_len)
h3 = ema(ha_h1, ma2_len)
l3 = ema(ha_l1, ma2_len)
ha_col1 = ha_c1 > ha_o1 ? color.red : color.green
plotshape(true, style=shape.circle, color=ha_c1 > ha_o1 ? color.green : color.red, location=location.top)