我正在制定一个小型长期策略。该策略在预定义价格水平(按线设置)的收盘交叉时买入。我的目标是以交叉的确切价格和时间执行多头市价订单。我已经尝试了几种解决方案,目前我的脚本以确切的价格购买,但仅在下一根蜡烛上执行订单。下面我留下代码。
//@version=5
strategy(title = '',
overlay = true,
calc_on_every_tick = true,
initial_capital = 1000,
commission_type = strategy.commission.percent,
commission_value = 0.03,
pyramiding = 1,
default_qty_value = 100,
default_qty_type = strategy.percent_of_equity,
process_orders_on_close = false,
close_entries_rule = 'ANY')
Line = input.price(0.00, "", group = "", confirm=true)
plot(Line)
Cond = ta.crossover(close, Line)
if Cond and strategy.position_size == 0
strategy.entry(id = "BUY LONG",
direction = strategy.long,
limit = Line,
qty = 100)
该策略是在蜡烛结束时计算的。 策略声明中的参数“calc_on_every_tick” 在每次图表更新时重新计算,但仅针对最后一个蜡烛。
如果您将时间范围更改为较低的时间范围,例如: tf 5 min 将每 5 分钟触发一次订单 并使用 request.security 在上限时间范围内进行计算。
您可以尝试以下方法:
不幸的是,即使你有“calc_on_order_fills = true”,“immediately=true”也不起作用