# 3日前下降 2日前上昇 で 始値が下降
elif x.preVol < 0 and x.vol >= 0 and x.preOpen > x.open:
return -1

のとこがよくわからないんですが、
2日前の始値は3日前の終値と二アリーになるので、3日前が下降なら2日前の始値は必ず3日前の始値より下だと思うんですが。
よくわかってなくてすみません・・・。