
이 전략은 클라우드 브레이크와 쌍평선 교차를 기반으로 한 동적 거래 시스템이다. 시장의 동향 방향과 동력의 변화를 식별하기 위해 클라우드 지표의 여러 구성 요소를 결합하여 가격과 클라우드의 위치 관계 및 전환선과 기준선과의 교차를 통해 거래 신호를 생성한다. 전략의 핵심 아이디어는 강력한 추세에서 동적 기회를 포착하는 것이다.
이 전략은 다음과 같은 핵심 요소들을 사용합니다.
입장 조건:
출구 조건: 반대의 거래 신호가 발생했을 때 평점
위험 관리 제안:
이것은 트렌드 추적과 동적 거래를 결합한 통합 전략 시스템입니다. 클라우드 돌파구와 일률적 교차의 조합을 통해 전략의 안정성을 유지하면서 시장의 트렌드 기회를 효과적으로 포착 할 수 있습니다. 전략의 성공적인 적용은 파라미터 최적화, 위험 제어 및 시장 적응의 세 가지 중요한 측면에 진지하게 관심을 기울여야합니다.
/*backtest
start: 2024-02-08 00:00:00
end: 2025-02-06 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud Strategy", shorttitle="IchimokuStrat", overlay=true)
//=== Užívateľské vstupy ===//
tenkanLen = input.int(9, "Tenkan-Sen Length")
kijunLen = input.int(26, "Kijun-Sen Length")
senkouSpanBLen = input.int(52, "Senkou Span B Length")
displacement = input.int(26, "Cloud Displacement")
//=== Výpočet Ichimoku liniek ===//
// Tenkan-Sen (Conversion Line)
tenkanHigh = ta.highest(high, tenkanLen)
tenkanLow = ta.lowest(low, tenkanLen)
tenkan = (tenkanHigh + tenkanLow) / 2.0
// Kijun-Sen (Base Line)
kijunHigh = ta.highest(high, kijunLen)
kijunLow = ta.lowest(low, kijunLen)
kijun = (kijunHigh + kijunLow) / 2.0
// Senkou Span A = (Tenkan + Kijun)/2, posunutý dopredu
spanA = (tenkan + kijun) / 2.0
// Senkou Span B = (highest high + lowest low)/2, posunutý dopredu
spanBHigh = ta.highest(high, senkouSpanBLen)
spanBLow = ta.lowest(low, senkouSpanBLen)
spanB = (spanBHigh + spanBLow) / 2.0
// Chikou Span (voliteľný) = current close, posunutý dozadu
chikou = close[displacement]
//=== Podmienky pre LONG / SHORT ===//
// Cena NAD oblakom => close > spanA a close > spanB
// Tenkan NAD Kijun => tenkan > kijun
longCondition = (close > spanA and close > spanB) and (tenkan > kijun)
// Cena POD oblakom => close < spanA a close < spanB
// Tenkan POD Kijun => tenkan < kijun
shortCondition = (close < spanA and close < spanB) and (tenkan < kijun)
//=== Vstup do pozícií ===//
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
//=== Výstup pri opačnom signáli ===//
if strategy.position_size > 0 and shortCondition
strategy.close("Long", comment="Exit Long")
if strategy.position_size < 0 and longCondition
strategy.close("Short", comment="Exit Short")
//=== Vykreslenie Ichimoku = vyplnený oblak ===//
// Najskôr si ulož premenne (plot) pre spanA, spanB
plotA = plot(spanA, title="Span A", offset=displacement, color=color.new(color.green, 0))
plotB = plot(spanB, title="Span B", offset=displacement, color=color.new(color.red, 0))
// Namiesto plotfill() použijeme fill()
fill(plotA, plotB, title="Cloud Fill", color=color.new(color.green, 80))