Le réseau de contrats pauvres

Auteur:Nom de famille, Date: 2021-11-18 17h28 et 35 min
Les étiquettes:

Les paramètres sont très simples, par exemple, BTC, dans les zones où il y a beaucoup de liquidités, il y a beaucoup de liquidités, dans les zones où il y a beaucoup de liquidités, il y a beaucoup de liquidités, il y a beaucoup de liquidités, il y a beaucoup de liquidités, il y a beaucoup de liquidités, il y a beaucoup de liquidités, il y a beaucoup de liquidités, il y a beaucoup de liquidités, il y a beaucoup de liquidités. Évidemment, dans le cercle monétaire, à long terme, aucun modèle complexe ne peut fonctionner sur une grille sans cerveau. Le mot de passe de la richesse est la grille sans cerveau + le chien sans cerveau. L'espoir, comme le premier Martin, est la stratégie la plus simple, la plus brutale, mais la plus rentable. img


'''backtest
start: 2021-01-01 00:00:00
end: 2021-11-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":2500}]
args: [["H",30],["n1",0.001],["grid",300],["xia",50000]]
'''

def CancelPendingOrders():
    orders = _C(exchanges[0].GetOrders)
    if len(orders)>0:
        for j in range(len(orders)):
            exchanges[0].CancelOrder(orders[j].Id, orders[j])
            j=j+1

def main():
    exchange.SetContractType('swap')
    exchange.SetMarginLevel(M)
    currency=exchange.GetCurrency()
    if _G('buyp') and _G('sellp'):
        buyp=_G('buyp')
        sellp=_G('sellp')
        Log('读取网格价格')
    else:
        ticker=exchange.GetTicker()
        buyp=ticker["Last"]-grid
        sellp=ticker["Last"]+grid
        _G('buyp',buyp)
        _G('sellp',sellp)
        Log('网格数据初始化')
    while True:
            account=exchange.GetAccount()
            ticker=exchange.GetTicker()
            position=exchange.GetPosition()
            orders=exchange.GetOrders()
            if len(position)==0:
                if ticker["Last"]>shang:
                    exchange.SetDirection('sell')
                    exchange.Sell(-1,n1*H)
                    Log(currency,'到达开空区域,买入空头底仓')
                    
                else:
                    exchange.SetDirection('buy')
                    exchange.Buy(-1,n1*H)
                    Log(currency,'到达开多区域,买入多头底仓')
            if len(position)==1:
                if position[0]["Type"]==1:
                    if ticker["Last"]<xia:
                        Log(currency,'空单全部止盈反手')
                        exchange.SetDirection('closesell')
                        exchange.Buy(-1,position[0].Amount)
                    else:
                        orders=exchange.GetOrders()
                        if len(orders)==0:
                            exchange.SetDirection('sell')
                            exchange.Sell(sellp,n1)
                            exchange.SetDirection('closesell')
                            exchange.Buy(buyp,n1)
                        if len(orders)==1:
                            if orders[0]["Type"]==1: #止盈成交
                                Log(currency,'网格减仓,当前份数:',position[0].Amount)
                                CancelPendingOrders()
                                buyp=buyp-grid
                                sellp=sellp-grid
                                LogProfit(account["Balance"])
                            if orders[0]["Type"]==0:
                                Log(currency,'网格加仓,当前份数:',position[0].Amount)
                                CancelPendingOrders()
                                buyp=buyp+grid
                                sellp=sellp+grid
                                LogProfit(account["Balance"])
            
                if position[0]["Type"]==0:
                    if ticker["Last"]>float(shang):
                        Log(currency,'多单全部止盈反手')
                        exchange.SetDirection('closebuy')
                        exchange.Sell(-1,position[0].Amount)
                    else:
                        orders=exchange.GetOrders()
                        if len(orders)==0:
                            exchange.SetDirection('buy')
                            exchange.Buy(buyp,n1)
                            exchange.SetDirection('closebuy')
                            exchange.Sell(sellp,n1)
                        if len(orders)==1:
                            if orders[0]["Type"]==0: #止盈成交
                                Log(currency,'网格减仓,当前份数:',position[0].Amount)
                                CancelPendingOrders()
                                buyp=buyp+grid
                                sellp=sellp+grid
                                LogProfit(account["Balance"])
                            if orders[0]["Type"]==1:
                                Log(currency,'网格加仓,当前份数:',position[0].Amount)
                                CancelPendingOrders()
                                buyp=buyp-grid
                                sellp=sellp-grid
                                LogProfit(account["Balance"])
                            
                    
                
                                     
            


Plus de

MexminIl y a un problème avec la syntaxe de for.

Des nuages légersS'il vous plaît, écoutez-moi, l'erreur de disque réel indique Traceback (most recent call last): File "", line 36, in TypeError: object of type 'NoneType' has no len (() Je ne sais pas quoi faire.

Des nuages légersJe suis un grand fan de JS, j'aimerais bien écrire un livre avec JS.

Des nuages légersÇa va. Merci.

Nom de familleRegardez les matrices structurelles de position, ce devrait être le problème ici.