이 LONG-ONLY 전략은 이치모쿠 킨코 히오 (Ichimoku Kinko Hyo) 시스템을 사용하여 여러 이치모쿠 요인을 결합하여 기준이 충족되면 긴 거래를 합니다.
거래의 논리는 다음과 같습니다.
변환 계산, 기본 선, 선행 스프랜 1 & 2
클라우드 위의 클로즈와 클라우드 상승, 기본 라인 위의 변환을 통해 긴 고려
또한, 뒤떨어진 스펜은 클라우드 이상과 상승 추세를 확인하기 위해 가격이 있어야합니다
모든 기준이 충족되면,
지연 스펜이 가격 또는 구름 아래로 떨어지면 긴 문을 닫습니다.
이 전략은 트렌드를 확인하기 위해 이치모쿠의 지표를 이용하고, 위험 통제를 위한 동적 정지점으로 클라우드를 사용합니다.
이치모쿠는 트렌드 결정에 필요한 여러 요인을 합성합니다.
수익을 최대화하기 위한 동적 중지
단순하고 명확한 규칙
이치모쿠는 느리고 기회를 놓칠 수도 있어
회상 기간을 신중하게 최적화해야 합니다
길게만, 그래서 좋은 짧은 기회는 놓쳤어
이 전략은 트렌드 방향을 정의하기 위해 이치모쿠의 지표 합성을 활용합니다. 최적화된 매개 변수로 간단한 롱-온리 시스템을 제공합니다. 그러나 지연과 롱-온리라는 한계에는 주의가 필요합니다.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Ichimoku Cloud", shorttitle="Doubled Ichimoku", overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity) conversionPeriods = input(20, minval=1, title="Conversion Line Length") basePeriods = input(60, minval=1, title="Base Line Length") laggingSpan2Periods = input(120, minval=1, title="Leading Span B Length") displacement = input(30, minval=1, title="Displacement") Stoploss = input(1, minval=0.1, title="Stoploss (% below cloud)") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) plot(conversionLine, color=#2962FF, title="Conversion Line") plot(baseLine, color=#B71C1C, title="Base Line") plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span") p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7, title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) bool TKcross = conversionLine > baseLine bool aboveCloud = close > leadLine1 and close > leadLine2 bool greenCloud = leadLine1 > leadLine2 bool lagLong = close > leadLine1[2*displacement+1] and close > leadLine2[2*displacement+1] and close > close[displacement] bool longCondition = false bool close_trade = crossover(leadLine1[displacement], close) or crossover (leadLine2[displacement], close) or close < close[displacement] or crossover(baseLine, close) var position_count = 0 if (TKcross and aboveCloud and greenCloud and lagLong and position_count==0) position_count = 1 strategy.entry(id="buy", long=true) if (close_trade) strategy.close_all() // strategy.entry(id="sell", long=false) position_count = 0 //if (longCondition) // strategy.close("long", when=exit_trade) // strategy.exit("exit","long",stop=stop_level,limit=profit_level)