
이 전략은 간단한 이동 평균 (SMA) 과 카우프만 적응 이동 평균을 결합하여 3 개의 다른 주기에서 이동하는 것을 사용하여 긴 선의 입문 신호를 형성한다. 짧은 기간 SMA에서 더 긴 기간 SMA를 통과 할 때 구매 신호를 생성한다. 또한, 전략은 K 선의 개체 색상을 결합하여 주요 트렌드를 판단하고, 가짜 돌파구를 피하기 위해 다단계 트렌드에서만 구매 신호를 생성한다.
이 전략은 3개의 다른 주기적인 SMA를 사용한다. SMA 4와 SMA 9 그리고 SMA 18을 포함한다. 이 3개의 SMA의 교차 조합은 트렌드 방향을 판단하는 고전적인 기술적인 지표이다.
가짜 브레이크를 필터링하기 위해 이 전략은 카우프만 적응 이동 평균을 도입하기도 한다. SMA의 골드 포크 신호는 클로징 가격이 적응 이동 평균보다 높을 때만 유효하며, 즉 다목적 트렌드에 있을 때만 긴 선을 시작합니다.
또한, 이 전략은 100주기 SMA를 사용하여 주 트렌드를 판단한다. 가격이 100주기 SMA를 넘어서면 다단계 트렌드에 들어간다는 것을 확인한다. 전략은 주 다단계 트렌드에서만 구매 신호를 발생시킨다.
전체적으로 보면, 이 전략의 구매 신호는 다음과 같은 부분들의 조합에서 나온다.
위의 3가지 조건이 동시에 충족될 때, 긴 줄 구매 신호를 생성한다.
이 전략에는 다음과 같은 장점이 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
다음의 방법으로 최적화할 수 있습니다.
이 전략에는 더 많은 최적화 가능성은 있습니다:
이 전략은 다중 SMA 교차를 통해 긴 라인 신호를 형성하고, 동시에 이동 평균과 주 트렌드 판단에 적응하는 것을 결합하여, 트렌드 상황에서 큰 수익을 얻을 수 있으며, 안정적인 논리와 강력한 실전 효과를 얻을 수 있습니다. 그러나 또한 약간의 위험이 있으며, 회귀를 줄이고 승률을 높이기 위해 계속 최적화 할 필요가 있습니다. 이 전략은 긴 라인 포지션 전략으로, 인내와 위험 제어 능력을 가진 투자자에게 적합합니다.
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
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/
// © Wielkieef
//@version=5
strategy(title='twisted SMA strategy [4h] ', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)
src = close
Length1 = input.int(4, title=' 1-SMA Lenght', minval=1, group='SMA')
Length2 = input.int(9, title=' 2-SMA Lenght', minval=1, group='SMA')
Length3 = input.int(18, title=' 3-SMA Lenght', minval=1, group='SMA')
SMA1 = ta.sma(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)
Long_ma = SMA1 > SMA2 and SMA2 > SMA3
Short_ma = SMA1 < SMA2 and SMA2 < SMA3
LengthMainSMA = input.int(100, title=' SMA Lenght', minval=1)
SMAas = ta.sma(src, LengthMainSMA)
// Powered Kaufman Adaptive Moving Average by alexgrover (modificated by Wielkieef)
lengthas = input.int(25, title=' Lenght')
sp = input.bool(true, title=' Self Powered')
er = math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas)
pow = sp ? 1 / er : 2
per = math.pow(math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas), pow)
a = 0.
a := per * src + (1 - per) * nz(a[1], src)
mad4h = 0.
a_f = a / a[1] > .999 and a / a[1] < 1.001
///.
Bar_color = close > SMAas ? color.green : Long_ma ? color.blue : Short_ma ? color.maroon : color.gray
barcolor(color=Bar_color)
long_cond = Long_ma and SMAas < close and not a_f
long_stop = Short_ma
if long_cond
strategy.entry('BUY', strategy.long)
strategy.close_all(when=long_stop)
//by wielkieef