保持敬畏之心
交易是一场持久战

Pine Script(58):strategy()函数的参数设置指南(一)

#Pine Script入门教学

写一个Pine策略,就像是组建一支准备上战场的军队,strategy()函数里的各种设置,就是你为这支军队制定的作战条例和后勤规范。这些规则决定了你的策略如何交易、如何管理资金、以及回测报告的真实性。所有的策略设置我们可以清晰地分为两大类:一个是只有策略脚本才有的独门兵法;另一个是和指标脚本通用的基础装备。

我们先从最重要的独门兵法讲起,以下这些设置是策略脚本专属的,它们直接定义了交易行为和回测环境,是决定一个回测是否具有参考价值的关键。

一、 交易规则

  • pyramiding:金字塔加仓。默认情况下,一个方向只允许持有一笔订单,通过这个参数,你可以设定在盈利方向上最多能加多少次仓,这是实现让利润奔跑的关键工具。
  • close_entries_rule:平仓顺序。当你有多个仓位时,这个参数能让你自定义平仓顺序,比如后进先出。
  • margin_long / margin_short:保证金比例。设定多头和空头订单需要占用的保证金百分比,直接关系到策略的杠杆水平。

二、 资金与成本

下面这组参数是区分业余回测和专业回测的分水岭,如果你忽略它们,你的回测报告将毫无实战意义。

  • initial_capital:初始资金。设定回测开始时你有多少本金。
  • currency:账户货币。你可以指定策略用什么货币来计算盈亏。
  • slippage:滑点。模拟市价单和止损单在真实市场中可能遇到的不理想成交价。强烈建议所有策略都设置一个合理的滑点!
  • commission_type / commission_value:手续费。模拟真实交易中不可避免的成本,可以按固定金额或成交额百分比设置,强烈建议所有策略都根据你的经纪商标准进行设置!

三、 订单与计算

  • process_orders_on_close:true时,允许策略在K线收盘那一刻就成交订单,而不是等到下一根K线的开盘,这更符合收盘价交易的逻辑。
  • backtest_fill_limits_assumption:限价单成交模拟。默认情况下,价格触碰到限价单就会成交,这个参数可以要求价格必须穿过限价单几个点才算成交,让回测更保守、更真实。
  • calc_on_order_fills:true时,订单一旦成交,会立刻触发一次额外的计算,适合那些需要对成交回报做出即时反应的策略。
  • calc_on_every_tick:严重警告,这是一个潘多拉魔盒! true时,实盘中价格每次跳动都会计算一次策略,这在回测中会导致你的回测报告极度虚高,新手请永远不要打开这个开关!

四、 仓位管理

  • default_qty_type:默认下单量的计算方式。你可以选择按固定手数、固定现金价值,或者总权益的百分比来下单。
  • default_qty_value:配合上一条使用,设定具体的下单数值。

另一部分设置,则是策略和指标通用的基础装备,它们主要负责脚本的外观显示和性能限制,如果你熟悉指标的设置,那么这部分对你来说就是老朋友了。

这些共享设置在策略和指标中的作用完全相同,包括:

  • title / shorttitle (脚本名称)
  • overlay (是否叠加在主图)
  • format / precision / scale (数值格式与坐标轴)
  • max_bars_back (历史数据回溯数量)
  • max_lines_count / max_labels_count / max_boxes_count (绘图对象数量上限)
  • linktoseries (与主图表视觉外观保持一致)
  • explicit_plot_zorder (绘图元素的图层顺序)

总结

你无需死记硬背所有参数,但为了回测的真实性,你必须重点掌握并设置关于初始资金、滑点、手续费的核心参数。请务必远离calc_on_every_tick=true这个回测陷阱,除非你百分之百熟练这个设定,掌握了这些规则,你才能真正开始构建一个有实战参考价值的交易策略。

赞(0)
未经允许不得转载:图道交易 » Pine Script(58):strategy()函数的参数设置指南(一)
分享到

评论 抢沙发

登录

找回密码

注册