我使用 pine 脚本构建了大约 30 种不同的策略,我想测试它们如何同时而不是单独执行工作。
有什么办法可以做到这一点吗?如果没有,还有其他程序提供此功能吗?
理论上你可以这样做,但你需要注意一些限制。一些重要的:
request.*()
通话次数如果我们假设合并这 30 个策略后一切都会好起来,那么您可以为每个策略设置启用/禁用输入。
您写下每个策略的所有买入和卖出条件。最终目标是稍后
and
所有这些。
但是,如果某个策略被禁用,您希望它返回
true
,这样当您稍后 and
它们时,它不会影响最终结果。
下面是一个例子:
in_strat_1_en = input.bool(false, "Enable Strategy 1")
// Strategy 1 Settings
in_strat_2_en = input.bool(false, "Enable Strategy 2")
// Strategy 2 Settings
strat_1_buy_cond_org = // The original buy condition for Strategy 1
strat_1_buy_cond = in_strat_1_en ? strat_1_buy_cond_org : true // If strategy 1 is enabled, use the original buy condition. Else, return true to bypass this condition
strat_2_buy_cond_org = // The original buy condition for Strategy 2
strat_2_buy_cond = in_strat_2_en ? strat_2_buy_cond_org : true // If strategy 2 is enabled, use the original buy condition. Else, return true to bypass this condition
strategy_buy_cond = strat_1_buy_cond and strat_2_buy_cond // Any disabled strategy will return "true" so that's fine. Any enabled strategy will return its own condition
您还需要添加一个条件,即“如果至少启用一种策略”。因为如果他们全部被禁用,他们都会返回
true
作为他们的购买条件。然后strategy_buy_cond
将是true
。为了防止这种情况,您需要添加另一个条件,检查是否至少启用了一个策略。