基于买入入场和止损缺口的头寸/手数
Position / lot size based on buy entry and stop gap
我正在尝试根据正订单信号在 Python 我的手数中编码。
以下是在 excel 中完成的预期输出。
逻辑是:
Lot_size = IF (Order_Signal=1, 那么 Prior_Period_Portfolio_Value * Risk_pct / Stop_gap,
elif(Active=0, 0, 前期手数)) risk_pct=0.02
我很难在 excel 中重现这一点,特别是最后一个组件,它指的是前期手数。
这取决于您如何在 Python 中存储这些数据。但为简单起见,我假设每个变量都在其自己的列表中。
order_signal = [0,0,...-1,0]
stop_gap = [0.44,1.13,...1.94,9.06]
prior_period_portfolio_value = [10000,10000,...9900,9807.5]
active = [0,0,...1,0]
lot_size = [0] * len(order_signal)
risk_pct = 0.02
for i = 1:len(order_signal):
if order_signal[i] == 1:
lot_size[i] = prior_period_portfolio_value[i] * risk_pct / stop_gap[i]
elif active[i] == 0:
lot_size[i] = 0
else:
# just need to be sure this doesn't happen on the first iteration
lost_size[i] = lot_size[i-1]
我从基础应用程序开发课程 (PhP) 中学到的东西 我在游戏开发中使用它来对表格中的数据进行排序。所以这里的技巧是首先创建列,然后将行添加为 childrens.
在 tkinter 上我会这样做:
1 - 我将创建一个垂直扩展的框架 parent
frame = Frame()
frame.pack(expand=True, fill="y", side="left")
2 - 我将添加条目水平扩展为 childrens
entry = Entry(frame)
entry.pack(expand=True, fill="x", side="top")
在这种情况下,所有 childrens 将具有相同的宽度。
如果您只想使用标签来显示每个 child 的数据,我将制作一个框架(与条目示例相同)并在其中添加标签(与条目相同,但边 ="right")并且所有文本将具有相同的宽度,并且将右对齐。
我正在尝试根据正订单信号在 Python 我的手数中编码。 以下是在 excel 中完成的预期输出。 逻辑是: Lot_size = IF (Order_Signal=1, 那么 Prior_Period_Portfolio_Value * Risk_pct / Stop_gap, elif(Active=0, 0, 前期手数)) risk_pct=0.02
我很难在 excel 中重现这一点,特别是最后一个组件,它指的是前期手数。
这取决于您如何在 Python 中存储这些数据。但为简单起见,我假设每个变量都在其自己的列表中。
order_signal = [0,0,...-1,0]
stop_gap = [0.44,1.13,...1.94,9.06]
prior_period_portfolio_value = [10000,10000,...9900,9807.5]
active = [0,0,...1,0]
lot_size = [0] * len(order_signal)
risk_pct = 0.02
for i = 1:len(order_signal):
if order_signal[i] == 1:
lot_size[i] = prior_period_portfolio_value[i] * risk_pct / stop_gap[i]
elif active[i] == 0:
lot_size[i] = 0
else:
# just need to be sure this doesn't happen on the first iteration
lost_size[i] = lot_size[i-1]
我从基础应用程序开发课程 (PhP) 中学到的东西 我在游戏开发中使用它来对表格中的数据进行排序。所以这里的技巧是首先创建列,然后将行添加为 childrens.
在 tkinter 上我会这样做:
1 - 我将创建一个垂直扩展的框架 parent
frame = Frame()
frame.pack(expand=True, fill="y", side="left")
2 - 我将添加条目水平扩展为 childrens
entry = Entry(frame)
entry.pack(expand=True, fill="x", side="top")
在这种情况下,所有 childrens 将具有相同的宽度。 如果您只想使用标签来显示每个 child 的数据,我将制作一个框架(与条目示例相同)并在其中添加标签(与条目相同,但边 ="right")并且所有文本将具有相同的宽度,并且将右对齐。