我正在为我的算法构建一个backtester,如果是买入或卖出信号,我希望它在新的列中填充0或1
生成购买信号:
1-如果两个不同列中的两个单元格超过某个阈值[Q5>;7&;Q7>;7]:
填写一个新列['BuySignal']=1
以下规则1和规则2中的else条件未满足fill BuySignal=0
2-如果有两个买入信号,但在第一个买入信号之后没有卖出信号,不要用1填充买入信号,保持0(如第6行黄色所示)。在下一个卖出信号之前,我们只能有一个买入信号
生成销售信号:
1-仅当一个单元格值超过某个阈值时出售[TCN>;8]
注:如果同时满足买入和卖出条件,我只想将买入信号标为1,卖出=0
我所期望的是:在第1行买入,在第6行忽略买入,在第10行卖出,在第13行再次买入
为您的ref输入数据:https://drive.google.com/file/d/16qqrcvxJuTgd41233RNjwhaNVNREqWWe/view?usp=sharing
首先,我认为输出表中有一个错误——根据购买信号规则2,我认为第1行和第13行中的购买信号也应该是0,因为第2行和第14行中没有销售信号。这是我根据你的描述得到的,不确定这是否正是你的意思,但迪福是一个很好的起点。为了简化问题,我创建了两个BuySignal列——第一个显示应用第一条规则后的状态,第二个显示应用第二条规则后的状态。您只需删除最终解决方案中的第一列即可
这是输出:![enter image description here](https://i.stack.imgur.com/uH9IX.png)
相关问题 更多 >
编程相关推荐