
클라우드 전략은 클라우드 그래프, MACD, CMF, TSI 등 다양한 기술 지표들을 통합한 양적 거래 전략이다. 이 전략은 시장에서 중장기 거래 기회를 발굴하기 위한 것이다.
클라우드 전략의 핵심 아이디어는 한 클라우드 그래프의 다공간 신호, MACD의 다공간 지표, CMF의 자금 흐름 지표 및 TSI의 강도 지수가 시장의 추세와 과매도 과매도 지역을 판단하는 것이다. 클라우드 그래프는 트렌드 방향과 핵심 지원 저항을 명확하게 판단할 수 있다. MACD는 시장의 매매력 대조와 과매도 과매도 현상을 반영한다. CMF는 자금 유입과 유출을 판단하고, TSI는 시장의 실제 매매력을 보여줍니다.
특히, 이 전략은 다음과 같은 몇 가지 지표에 기초하여 판단됩니다.
위의 5가지가 동시에 성립할 때 다중 신호가 발생하며, 한 구름이 10칸선 아래로 흐르는 구름 지지선 등의 조건이 역전될 때 공백 신호가 발생한다.
이 전략은 복합적으로 여러 지표의 공백 상황을 판단하여 단일 지표 판단으로 인한 잡음을 방지한다. 동시에 하나의 클라우드 그래프를 사용하여 중요한 지원 및 저항 영역을 판단하고, 지연 그림자 선의 실물 방향과 결합하여 실제 자금 흐름의 방향을 판단하여 트렌드 후의 단계에 들어가서, 중요한 지점 전에 퇴출하여 더 큰 이익을 얻을 수 있다.
彩云 전략의 가장 큰 장점은 시장의 과매매 현상을 판단하기 위해 여러 지표를 종합적으로 사용하는 데 있습니다. 구체적인 장점은 다음과 같습니다:
다중 지표 통합 판단, 신호 정확성 향상단일 지표는 잘못된 신호를 발생시킬 수 있으며, 이 전략은 하나의 클라우드 그래프, MACD, CMF, TSI와 같은 지표를 통합하여 잡음을 효과적으로 필터링하여 신호의 신뢰성을 향상시킬 수 있습니다.
한 클라우드 그래프에서 핵심 지지 저항 영역을 판단한다클라우드 그래프는 중요한 지지 및 저항 위치를 명확하게 표시하고, 전략은 이러한 위치에 매매 지점을 배치하여 트렌드 후의 단계에서 시장에 진입 할 수 있습니다.
지연된 그림자 선은 재원 유입을 판단합니다.지연 그림자 선은 주체가 이탈한 상황을 보여주며, 실제 자금의 유입과 흐름을 판단하고, 중매에 의한 가짜 이동의 오해를 방지한다.
MACD는 과매매 현상을 나타냅니다.│MACD는 거래상황의 과매매 현상을 비교적 빠르게 나타내고, 클라우드 그래프의 위치 판단과 결합하여 매매점을 정확하게 포착할 수 있다.
CMF는 자금의 흐름을 보여줍니다.CMFIndicator는 거래량 변화를 통해 큰 자본의 흐름을 반영하여 중매된 작은 자본의 흐름을 오해하지 않도록합니다.
TSI는 구매력이 약하다는 것을 보여준다.。TSI는 가격 변화의 규모 요소를 제거하여 실제 구매와 판매의 강도를 정확하게 나타낼 수 있으며, 이를 통해 하위 반발과 상위 하락의 시간을 판단 할 수 있습니다。
클라우드 전략은 장점이 많지만, 위험도 있다. 주요 위험과 최적화 방향은 다음과 같다.
지표 매개변수 최적화기존의 매개 변수는 최적의 매개 변수 조합이 아닐 수 있으며, 더 체계적인 최적화 방법을 통해 더 나은 매개 변수를 찾아 더 안정적인 수익을 얻을 수 있다.
손실을 막는 전략이 부족합니다.현재 스톱스 메커니즘이 설정되어 있지 않아 급격한 시장 변동 시 손실을 효과적으로 제어할 수 없습니다. 합리적인 이동 스톱스 또는 랜싱 스톱스 설정할 수 있습니다.
거래 빈도가 너무 높습니다.여러 지표가 결합되어 판단하면 거래 빈도가 너무 높을 수 있는 상황이 발생한다. 매개 변수를 적절히 조정하여 거래 빈도를 합리적으로 제어할 수 있다.
효과는 변동합니다.여러 지표가 결합된 판단은 효과 경력을 형성하기 쉽다. 특정 상황에서 전략 효과는 큰 변동이 있을 수 있다. 모델 포트폴리지의 방법을 도입하여 다른 지표의 중점을 설정할 수 있다.
지표는 분산 위험다른 지표가 서로 다른 신호를 나타낸다면 최종 입학을 판단하는 것이 어려울 것이다. 이러한 상황은 인적 경험으로 심사 분석을 필요로 한다.
다중 지표 통합의 양적 거래 전략이다. 그것은 하나의 구름 도표, MACD, CMF, TSI 등의 지표의 상호보완적 이점을 최대한 활용하여 구매 및 판매 시기를 판단하는 데 독특한 이점을 가지고 있다. 또한 전략에는 최적화 가능한 측면이 있으며, 손해 차단 장치, 변수 최적화, 무게配置 등을 더 개선할 수 있다면 전략 운영의 안정성을 크게 향상시킬 수 있다.
/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI ", overlay=true)
//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")
middle(len) => avg(lowest(len), highest(len))
// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)
// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.green : color.red, title="Cloud color")
ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])
// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=hl2)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
//CMF
lengthA = input(10, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)
//TSI
long = input(title="Long Length", type=input.integer, defval=20)
short = input(title="Short Length", type=input.integer, defval=20)
price = close
double_smooth(src, long, short) =>
fist_smooth = ema(src, long)
ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0 and mf < -0.1 and tsi_value < 0
strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)