I suppose a sell stop order with a higher stop price will be easier to be triggered and filled.
But in my case the opposite situation happened.
def rebalance(sids,data,factor,type=1):
for sid in sids:
#order = get_order(order_target_percent(sid, sids[sid]*factor,style=LimitOrder(data.current(sid,'price'))))
#order = get_order(order_target_percent(sid, sids[sid]*factor))
if type == 1:
order_target_percent(sid, sids[sid]*factor)
elif type == 2:
order_target_percent(sid,sids[sid]*factor,style=StopLimitOrder(data.current(sid,'price')*0.995,data.current(sid,'price')*1.003))
elif type == 3:
order_target_percent(sid,sids[sid]*factor,style=StopOrder(data.current(sid,'price')*1.005))
elif type == 4:
order_target_percent(sid,sids[sid]*factor,style=StopOrder(data.current(sid,'price')*1.1))
orders with type == 4 should be easier to fill. But in my backtest type== 4 gave 6 order not filled while type == 3 only gave 1 order not filled?
Type==4 Type == 3
Do I understand the stop order correct?