十七、区块量化 鳄鱼线策略

# -*- coding: utf-8 -*-import talibimport cross_order as orderimport timeimport numpy as np"""鳄鱼线原理: 鳄鱼线是根据几何学以及非线性动力学总结出来的一套技术分析方法,当鳄鱼的下巴、牙齿和上唇闭合,或者相互纠缠时,代表鳄鱼睡着啦。 这时我们通常待在市场外面,直到碎形出现,这样我们就可以原理不确定的市场,并且只参与明显的趋势行情。 当鳄鱼睡觉时间越长,醒来时就会越饿,所以一旦醒来,就会张大嘴巴。如果上唇在牙齿以上,牙齿在下巴以上,表明市场进入多头行情,鳄鱼要吃牛肉了。 如果上唇在牙齿以下,牙齿在下巴以下,表明市场进入空头行情,鳄鱼要吃熊肉了。直到吃饱为止,之后它会再次闭上嘴巴(持有并获取利润)。鳄鱼线计算公式: 上唇 = REF(SMA(VAR1,5,1),3) 牙齿 = REF(SMA(VAR1,8,1),5) 下巴 = REF(SMA(VAR1,13,1)"""def main():print("任务开始时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))for symbol in order.symbol_pool:# 设置杠杆倍数 order.set_leverage(symbol=symbol, leverage='25')# 获取标的的最新价 data = order.get_candlesticks(symbol=symbol, interval='15m', limit=str(140))if len(data) < 22: # 如果K线数量小于22根 return # 计算 np_arr = np.array(data['close']) # 转换收盘价数组 sma13 = talib.SMA(np_arr, 130)[-9] # 下巴 sma8 = talib.SMA(np_arr, 80)[-6] # 牙齿 sma5 = talib.SMA(np_arr, 50)[-4] # 上唇 current_price = data['close'].values[-1] # 最新价格 # 获取标的可平多仓 long_closeable_amount = order.get_long_positions(symbol=symbol)print('可平多仓:' + str(long_closeable_amount))# 获取标的可平空仓 short_closeable_amount = order.get_short_positions(symbol=symbol)print('可平空仓:' + str(short_closeable_amount))# 如果没有持仓 if (short_closeable_amount == 0) and (long_closeable_amount == 0):if current_price > sma5: # 如果当前价格大于上唇 开多单 order.up_cross_order(symbol, '如果当前价格大于上唇: 开多单')elif current_price < sma13: # 如果当前价格小于下巴 开空单 order.down_cross_order(symbol, '如果当前价格小于下巴: 开空单')# 如果当时持有多仓,则先平仓,再开空仓; elif long_closeable_amount != 0:if current_price < sma8: # 如果当前价格小于牙齿 order.close_long_positions(symbol, '如果当前价格小于牙齿: 平多单')# 如果当时持有空仓,则先平仓,再开多仓; elif short_closeable_amount != 0:if current_price > sma8: # 如果当前价格大于牙齿 order.close_short_positions(symbol, '如果当前价格大于牙齿: 平空单')
time.sleep(5)print("任务结束时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))if __name__ == '__main__':print("程序运行时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值