그리디 (Greedy) 전략

정의

그리디 전략은 현재 시가와 이전 막대의 고점 또는 저점 사이에 차이가 있을 경우 초기 주문을 개시합니다. 현재 시가가 이전 고점보다 크면 전략은 롱 포지션을, 현재 시가가 이전 막대의 저점보다 낮으면 숏 포지션을 개시합니다. 포지션이 개설된 후 캔들 색상이 개설된 포지션과 일치하는 한 같은 방향으로 주문을 계속 채웁니다. 현재 포지션이 매수인 경우 녹색 캔들에 대해 새로운 매수 주문이 생성되며 그 반대의 경우도 마찬가지입니다. 이 과정은 다른 색상의 캔들 또는 하루 동안의 지정가 주문 한도에 도달할 때까지 진행됩니다. 

설정에서 최대 일중 체결 주문 수 값을 편집하여 한도를 변경할 수 있습니다. 손절가 및 이익실현 설정에서는 손절가 및 이익실현을 설정할 수 있습니다. 이 값은 TP와 SL이 위치할 포지션 가격의 위/아래 민틱 수를 나타냅니다.

계산

파인 스크립트

//@version=5
strategy("Greedy Strategy", pyramiding = 100, calc_on_order_fills=false, overlay=true)
tp = input(10)
sl = input(10)
maxidf = input(title="Max Intraday Filled Orders", defval=5)
strategy.risk.max_intraday_filled_orders(maxidf)
upGap = open > high[1]
dnGap = open < low[1]
dn = strategy.position_size < 0 and open > close
up = strategy.position_size > 0 and open < close
strategy.entry("GapUp", strategy.long, stop = high[1], when = upGap)
strategy.entry("Dn", strategy.short, stop = close,  when =  dn)
strategy.entry("GapDn", strategy.short, stop = low[1], when = dnGap)
strategy.entry("Up", strategy.long, stop = close,  when =  up)
strategy.cancel("GapUp", not upGap)
strategy.cancel("GapDn", not dnGap)
strategy.cancel("Up", not up)
strategy.cancel("Dn", not dn)
XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size
dir = strategy.position_size < 0 ? -1 : 1
lmP = strategy.position_avg_price + dir*tp*syminfo.mintick
slP = strategy.position_avg_price - dir*sl*syminfo.mintick
float nav = na
revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false),
strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL",  strategy.oca.reduce, "TPSL", when=  not revCond and XQty > 0)
strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL",  strategy.oca.reduce, "TPSL", when= not revCond and XQty > 0)
strategy.cancel("TP", XQty == 0 or revCond)
strategy.cancel("SL", XQty == 0 or revCond)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

요약

그리디 전략은 어느 한 방향의 갭을 이용하기 위해 만들어졌습니다. 그런 다음 상승 또는 하락 모멘텀을 이용해 갭에 진입합니다. 이 전략은 현재 시가와 이전 바의 고점 또는 저점 사이에 갭이 있는 경우 초기 주문을 개시합니다. 시가가 이전 고점보다 크면 전략은 롱 포지션을, 시가가 이전 바의 저점보다 낮으면 숏 포지션을 개시합니다. 포지션이 개설된 후 캔들 색상이 개설된 포지션과 일치하는 한 같은 방향으로 주문을 계속 채웁니다.