首页 > 其他分享 >十七、区块量化 鳄鱼线策略

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

时间:2023-06-18 15:58:43浏览次数:60  
标签:十七 symbol amount closeable 鳄鱼 time 区块 order

# -*- coding: utf-8 -*-
import talib
import cross_order as order
import time
import 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()

标签:十七,symbol,amount,closeable,鳄鱼,time,区块,order
From: https://www.cnblogs.com/nbjjy/p/17489217.html

相关文章

  • 十八、区块量化 CCI策略
    #-*-coding:utf-8-*-importtalibimportcross_orderasorderimporttimeCCI_TIMEPERIOD=20#CCI计算周期CCI_OVER_SOLD_THRESH=-250#超卖阈值CCI_OVER_BOUGHT_THRESH=350#超买阈值defmain():print("任务开始时间:",time.strftime('%Y-%m-%d%H:%M:%S'......
  • 十六、区块量化 MACD策略
    新增cross_macd_order.py#-*-coding:utf-8-*-importtalibimportcross_orderasorderimporttimedefmain():print("任务开始时间:",time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time())))forsymbolinorder.symbol_pool:#设置杠杆倍数......
  • 十五、区块量化 双均线策略
    新增cross_dualma_order.py#-*-coding:utf-8-*-importcross_orderasorderimporttimeSHORT_WIN=50#短周期窗口LONG_WIN=200#长周期窗口defmain():print("任务开始时间:",time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time())))forsymbol......
  • 十二、区块量化 gate.io 合约操作文件
    新增cross_order.py文件#-*-coding:utf-8-*-importpandasaspdfromgate_apiimportApiClient,Configuration,FuturesApi,FuturesOrderfromgate_api.exceptionsimportGateApiExceptionfromgate_api.configimportkey,secret,hostimportweixinimporttimepd.se......
  • 十三、区块量化 gate.io 合约操作文件续
    defcreate_market_order(symbol='EOS_USDT',quantity='1',message=''):"""全仓合约市价下单@paramsymbol:交易对@paramquantity:委托数量正数为买入,负数为卖出@parammessage:判断依据@return:"""quantitys......
  • 十一、区块量化 gate.io 接口
    1、接口文档网址:https://www.gate.ac/docs/developers/apiv4/zh_CN/#futures2、安装python工具:pip3installgateapi-python3、下载https://github.com/gateio/gateapi-python4、解压下载好的gateapi-python-master.zip5、用pycharm打开gateapi-python-master文件除了gate_a......
  • 十 区块量化 通用文件 微信接口
    1、首先申请开通微信企业号2、新建一个应用3、把应用id、企业Id、Secret替换以下winxin.py文件 #-*-coding:utf-8-*-importrequestsimportjsonimporttimeimportsysAppId="1000001"#应用idCropID='wx00000000000000'#企业IdSecret='S_000000000000000000......
  • 八、区块量化 binance 合约操作文件
    新增cross_order.py文件#-*-coding:utf-8-*-importpandasaspdfrombinance.clientimportClientfrombinance.configimportapi_key,api_secretimporttimeclient=Client(api_key,api_secret)pd.set_option('expand_frame_repr',False) #交易对集合#symb......
  • 九、区块量化 binance 合约操作文件续
    defcreate_limit_order(symbol='EOSUSDT',side='BUY',positionside='LONG',ordtype='LIMIT',price=0,quantity='1',message=''):"""全仓合约市价下单@paramsymbol:......
  • 五、区块量化 okx boll轨道策略
    1、新增cross_boll_order.py#-*-coding:utf-8-*-importtalibimportcross_orderasorderimporttimeBOLL_N=20#BBands参数NBOLL_M=2#BBands参数Mdefmain():print("任务开始时间:",time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()))......