具有做空功能的下单代码

最开始的代码是这样的:

  # 空仓 开多
  if margin_info == [] and signal == 1:      
  # 空仓 开空
  if margin_info == [] and signal == -1:
  # 多头 平仓
  if margin_info != [] and signal == 0:
  # 空头 平仓
  if margin_info != [] and signal == 0:
  # 多头 平仓 开空
  if margin_info != [] and signal == -1:
  # 空头 平仓 开多
  if margin_info != [] and signal == 1:

左看右看还是不严谨,比如最后一个情况里面,当 signal 变为 1 的时候之前必定有一个 0 的信号,那么后面两种情况就是可有可无了。
另外,第三种情况与第四种情况完全是一样的,完全起了冲突,所以经过改进后,目前的版本是这样的:

    # 判断是否持仓
    if margin_info == []:  # 空仓
        if signal == 1:
        elif signal == -1:
    elif margin_info != []:  # 持仓
        if margin_info[0][2] > 0 and signal == 0:
        elif margin_info[0][2] < 0 and signal == 0:
        elif margin_info[0][2] > 0 and signal == -1:
        elif margin_info[0][2] < 0 and signal == 1:

其中,因为 margin_info 本身是个嵌套数组,所以先去第一个数组,再取第三个数组,就成了以上代码见到的情况。

你可能感兴趣的:(量化交易,order,margin,bitfinex,future)