137 浏览
0

q=1
while 1:
         # q==1,,且当前无持多单且没有活动的开多单,买开多1
    if q==1:
        BK = api.insert_order(SYMBOL,’BUY’,’OPEN’,volume=lots,limit_price=newprice-3*miniprice)
        q=0
        sp = 1
        api.wait_update()
        print(‘open long ‘,BK.insert_date_time)
         # if 一分钟买开单未成交,撤单
    if BK.status == ‘ALIVE’ and klines.iloc[-1][‘datetime’] – BK.insert_date_time >= 60*10**9:
        api.cancel_order(BK)
        api.wait_update()
        print(‘order canceled ‘)
#     如果持有多单,下止盈单
    if BK.status == ‘FINISHED’ and position.pos_long>0 and sp== 1:
        SP = api.insert_order(SYMBOL,’SELL’,’CLOSE’,volume=lots,limit_price=BK.limit_price+3*miniprice)
        api.wait_update()
        print(‘有多单,下止盈单 ‘)
#     如果持有多单且浮亏>=100 撤掉已委托止盈单,重下按超价下平仓单
        if SP.status == ‘ALIVE’ and position.position_profit_long <= -20:
            api.cancel_order(SP)
            api.wait_update()
            print(‘order canceled ‘)

        if SP.status != ‘ALIVE’:
            stplong = api.insert_order(SYMBOL,’SELL’,’CLOSE’,volume=lots,limit_price=newprice-3*miniprice)
            api.wait_update()
            print(“stop long position”)

问的问题