Martin est une variante de la version originale

Auteur:Nom de famille, Date: le 24 juin 2021 à 16 h 35 min 21 s
Les étiquettes:Le martingale

这是我进入澳门之后的第一个简单策略,当时我花了10分钟写出了它,它是一个加仓间隔非常小的马丁变种,通过定投和逐步拉大加仓间隔来控制爆仓的风险,盈亏比比传统马丁好不少。
在三四月份的大牛市中,这个马丁表现非常不错,巅峰时期用小资金跑一天一倍,当时四天用12u跑CHR到了48u。
然而时过境迁,大牛市早已不在,这个马丁用于今天的市场不免会让使用者成为短信接收员,因此我把它分享了出来。
其实实盘还有一些可以跑的价值,但是需要人工择时,现在再也不是那种马丁一开坐着数钱的行情了。

'''backtest
start: 2021-05-01 00:00:00
end: 2021-05-14 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"EOS_USDT","balance":1000}]
args: [["zuokong",true],["n",3],["E",0.02]]
'''
def main():
    while True:
        exchange.SetContractType("swap")
        exchange.SetMarginLevel(MarginLevel)
        ticker = _C(exchange.GetTicker)
        account = _C(exchange.GetAccount)
        position = _C(exchange.GetPosition)
        if zuoduo:
            if len(position) == 0:   
                    exchange.SetDirection("buy")
                    exchange.Buy(-1, k, "开多")
            if len(position) > 0:
                if position[0].Type==0:
                    
                    if position[0].Price+Q<ticker["Last"]:
                        exchange.SetDirection("closebuy")
                        exchange.Sell(-1, position[0].Amount) 
                        account = exchange.GetAccount()
                        LogProfit(account["Balance"]) 
                    fx=(E/n)*position[0].Amount  
                    if position[0].Profit<position[0].Margin * -fx :
                        #轮询加仓
                            exchange.SetDirection("buy")
                            exchange.Buy(-1, k)
                            LogProfit(account["Balance"])     
        if zuokong:
            if len(position) == 0:   
                    exchange.SetDirection("sell")
                    exchange.Sell(-1, k, "开空")
            if len(position) > 0:
                if position[0].Type == 1 :
                    fp=Q*position[0].Amount
                    if position[0].Profit > 0.01*fp*ticker["Last"] :
                        exchange.SetDirection("closesell")
                        exchange.Buy(-1, position[0].Amount) 
                        account = exchange.GetAccount()
                        LogProfit(account["Balance"]) 
                    fx=(E/n)*position[0].Amount  
                    if position[0].Profit<position[0].Margin * -fx :
                        #轮询加仓
                            exchange.SetDirection("sell")
                            exchange.Sell(-1, n)
                            LogProfit(account["Balance"])
        
        Sleep(3000)

Relationnée

Plus de

Les rêves coûtent huit chiffresPourquoi ne peut-on pas courir dans les deux sens?

Les trésors du cielJe ne peux pas utiliser~~

Je vous en prie./upload/asset/25b56df4d22feadcf17e3.jpg Vous êtes les auteurs.

Le stylo Un.Il y a beaucoup de monde, tirez-moi dessus.

- Je ne sais pas.Il y a des gens qui ne sont pas d'accord avec ce que je dis, mais ils ne sont pas d'accord avec ce que je dis.

Les plantes à racinesCette position est morte, c'est écrit.

Je vous en prie.Le nombre d'éléments est le nombre d'éléments de la position. Si la position [0].Profit < position [0].Marge * - fx: Vous ne comprenez pas ce que cela signifie?

Nom de familleVotre API ne fonctionne pas

Nom de famillevx:15001733415

Nom de familleIl est possible d'accéder à la version de location collective (doge)

- Je ne sais pas.J'espère que non.

Nom de familleSi c'est le cas, allez-y vous-même (doge)

Nom de familleOui, je ne l'ai pas remarqué au début, mais j'ai changé.

Nom de familleConstruisez une fonction d'intervalle de mise en place, lorsque les pertes de garantie existantes atteignent un certain pourcentage, fx est l'intervalle de mise en place, et ((E/n) est le nombre de positions détenues, chaque position augmentera la linéarité de l'intervalle de mise en place à mesure que la position augmente.