
대유도 다중 인자량화 전략은 평평선, MACD, 이치모쿠 클라우드 차트 여러 가지 기술 지표를 동시에 결합한 긴 선 추적 전략이다. 그것은 주로 200 일 간단한 이동 평균을 사용하여 전반적인 시장 방향을 판단하고, 20 일 지수 이동 평균, MACD 지표 및 이치모쿠 클라우드 차트를 결합하여 더 자세한 신호를 제공하여 특정 중단 중단 지점을 결정한다.
이 전략은 장기 단기 트렌드와 다중 인자 검증을 동시에 고려하여 가짜 돌파구로 인한 노이즈 거래를 효과적으로 필터링 할 수 있습니다. 그것은 우수한 기회를 추구하면서 위험을 통제하며, 숙련 된 투자자가 중장선 지분을 보유하는 데 적합합니다.
가격이 200일 이동 평균선 위에 있을 때, 전략은 황소시장이라고 간주하며, 이 시점에 20일 평균선과 MACD 지표가 동시에 구매 신호를 발산하고, 가격이 클라우드 그래프의 최고 가격보다 높거나 클라우드 그래프 안에 있을 때 구매 신호를 발산한다.
가격이 200일 이동 평균선 아래로 떨어질 때, 전략은 곰 시장에 진입한다고 생각하며, 이 때 요구되는 신호는 더욱 엄격하다: 20일 평균선과 MACD 지표가 동시에 구매 신호를 발산해야 하며, 이치모쿠 클라우드 지도는 동방향으로 구매 신호를 발산해야 한다 (녹색 구름 또는 가격이 클라우드 지도 최고 가격보다 높다).
판매 신호의 판단 논리는 구매 신호와 비슷하지만 방향은 반대입니다. 황소 시장에서 가격은 클라우드 그래프의 바닥을 넘어오면 또는 클라우드 그래프가 역전되면 판매가 발생합니다. 곰 시장에서 가격은 빨간 클라우드 그래프 또는 20 일 평균선과 MACD 지표가 판매 신호를 발산하면 판매가 발생합니다.
이 전략의 가장 큰 장점은 시장 구조를 판단하는 여러 가지 지표와 결합하여 가짜 신호를 효과적으로 제거 할 수 있다는 것입니다. 구체적으로 다음과 같은 몇 가지 사항이 있습니다.
여러 계층의 지표 검증으로 수익률을 크게 높일 수 있다. 또한, 장기 및 단기 지표의 조합은 전략이 단선과 중장선 연동에 동시에 적합하도록 한다.
이 전략의 주요 위험은 여러 지표가 동시에 잘못된 신호를 보내는 확률에 있다. 산이 막히면 길이 없을 때 이 확률은 매우 낮지만, 장기적인 운영에서는 여전히 불가피하다. 주요 대응 방법은 다음과 같다:
적절히 변수를 조정합니다. 예를 들어, 평균선기수를 사용하여 최적의 변수 조합을 찾습니다.
엄격한 스톱, 잘못된 신호 후에 적시에 스톱하는 스위치 방향. 전략 자체는 스톱을 설정하지 않고, 실디에서 보충할 수 있다.
이윤을 고정하는 방법들 중 하나는, 미래에셋대우를 이용하는 것이다.
대주기 레벨의 지지율에 따라 적절하게 위치를 조정하십시오.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
다른 변수들의 효과를 테스트한다: 평균선 주기, 클라우드 그래프 변수 등을 바꾸어 최적의 변수 조합을 찾는다.
스톱모듈을 추가: 적절한 이동 스톱모듈은 위험을 더 잘 통제할 수 있다.
연관성 지표와 결합하여, 예를 들어, 하락률은 하락을 추적하는 것을 피할 수 있습니다.
기계 학습을 도입: 신경 네트워크와 같은 방법을 사용하여 지표 무게를 훈련하십시오.
다중 시장 검증: 다양한 시장에서 전략의 강도를 검증한다.
다중 인자 계량화 전략은 과학적인 지표 조합을 통해 잡음 신호를 필터링하고, 위험을 통제하는 전제 하에 지속적인 수익을 창출한다. 그것은 대주기 추세를 고려하면서도 단기 기회에 초점을 맞추고, 중장기 투자에 널리 사용할 수 있다. 매개 변수 최적화, 스톱 로즈 최적화 및 기계 학습 도입과 같은 방법을 통해 이 전략은 더 우수한 효과를 낼 것으로 보인다.
/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="MACD/EMA/SMA/Ichimoku Long Strategy",overlay=true)
// Ichimoku
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
p1 = plot(leadLine1, offset = displacement, color=green,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,
title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? color(green,50) : color(red,50))
bottomcloud=leadLine2[displacement-1]
uppercloud=leadLine1[displacement-1]
// SMA Indicator - Are we in a Bull or Bear market according to 200 SMA?
SMA200 = sma(close, input(200))
EMA = ema(close,input(20))
//MACD Indicator - Is the MACD bullish or bearish?
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
// Set Buy/Sell conditions
[main,signal,histo]=macd(close,fastLength,slowlength,MACDLength)
buy_entry = if ((uppercloud>bottomcloud or close>max(uppercloud,bottomcloud)) and close>EMA and (delta>0 and close>min(uppercloud,bottomcloud))) or (close<SMA200 and delta>0 and close>EMA and (uppercloud>bottomcloud or close>max(uppercloud,bottomcloud)))
true
if close<EMA and ((delta<0 and close<min(uppercloud,bottomcloud)) or (uppercloud<bottomcloud and close>max(uppercloud,bottomcloud)))
buy_entry = false
strategy.entry("Buy",true , when=buy_entry)
alertcondition(buy_entry, title='Long', message='Chart Bullish')
sell_entry = if ((uppercloud<bottomcloud or close<min(uppercloud,bottomcloud)) and close<EMA and (delta<0 and close<max(uppercloud,bottomcloud))) or (close>SMA200 and delta<0 and close<EMA and (uppercloud<bottomcloud or close<min(uppercloud,bottomcloud)))
true
if close>EMA and ((delta>0 and close>max(uppercloud,bottomcloud)) or (uppercloud>bottomcloud and close<min(uppercloud,bottomcloud)))
sell_entry = false
strategy.close("Buy",when= sell_entry)
alertcondition(sell_entry, title='Short', message='Chart Bearish')
//plot(delta, title="Delta", style=cross, color=delta>=0 ? green : red )