马丁变种原始版

马丁格尔
创建日期: 2021-06-24 16:35:21 最后修改: 2022-03-02 15:39:53
复制: 277 点击次数: 5083
21
关注
116
关注者
这是我进入澳门之后的第一个简单策略,当时我花了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)
相关推荐
更多内容
全部留言
avatar of 梦想身价八位数
梦想身价八位数
怎么双向不能跑啊?只能单向
2022-10-09 04:21:41
avatar of 天降财神
天降财神
原来不能用~~
2022-02-19 19:40:49
avatar of cjjklwx
cjjklwx
/upload/asset/25b56df4d22feadcf17e3.jpg您好作者 这个是啥意思
2022-02-09 10:48:10
avatar of 笔One
笔One
群多少,拉我。老板。
2021-11-05 19:58:15
avatar of caixb1233
caixb1233
这是市价吃单买入的,能改成限价挂单买入吗?
2021-08-07 14:03:50
avatar of 种根葱
种根葱
这个双向不能跑吧?position[0],这个地方是写死的
2021-08-06 17:38:17
avatar of shanzhu
shanzhu
fx=(E/n)*position[0].Amount if position[0].Profit<position[0].Margin * -fx : 这两句没明白什么意思?
2021-07-30 10:51:18
avatar of 恐龙宝宝
恐龙宝宝
你的api不能用
2022-02-12 12:54:22
avatar of 恐龙宝宝
恐龙宝宝
vx:15001733415
2021-11-05 20:10:58
avatar of 恐龙宝宝
恐龙宝宝
可以进群租收费版本(doge)
2021-08-07 14:06:18
avatar of caixb1233
caixb1233
可惜我不会
2021-08-07 14:05:34
avatar of 恐龙宝宝
恐龙宝宝
可以的,自己动手就行(doge)
2021-08-07 14:04:45
avatar of 恐龙宝宝
恐龙宝宝
对,我一开始没发觉,后来懒得改了
2021-08-06 17:51:34
avatar of 恐龙宝宝
恐龙宝宝
构造一个加仓间隔函数,当现有保证金亏损到一定比例就加仓,fx是加仓间隔,(E/n)是持有的仓位份数,随着仓位不断加大,每一份仓位将会使加仓间隔线性加大
2021-07-30 10:55:38