精华内容
下载资源
问答
  • 前几期文章我们分析了原版的现货版韭菜收割机高频策略的思路以及代码实现。 韭菜收割机策略剖析(1) 韭菜收割机策略剖析(2) 对于币圈量化的很多用户都比较关注print money大佬的策略,print money大佬的策略是...

    前几期文章我们分析了原版的现货版韭菜收割机高频策略的思路以及代码实现。

    韭菜收割机策略剖析(1)
    韭菜收割机策略剖析(2)

    对于币圈量化的很多用户都比较关注print money大佬的策略,print money大佬的策略是在币安USDT合约交易的。从观察以及众多关注者的分析可知,该高频策略类似韭菜收割机的原理(草神也说过高频策略原理比较趋近)。但是肯定有精妙之处能实现策略有一个稳定的胜率和适当的盈亏比。

    所以技痒的小编也忍不住魔改了一把,虽说魔改过的策略效果被大神们的策略碾压至渣渣。但是也算是对于高频策略的学习实践了,有兴趣的FMZer同学一起来探讨、学习下吧。

    魔改过的韭菜收割机

    var TickInterval = 100
    
    function LeeksReaper() {
        var self = {}
        self.numTick = 0
        self.lastTradeId = 0
        self.vol = 0
        self.askPrice = 0
        self.bidPrice = 0
        self.orderBook = {
            Asks: [],
            Bids: []
        }
        self.prices = []
        self.tradeOrderId = 0
        self.account = null
        self.buyPrice = 0
        self.sellPrice = 0
        self.state = 0
        self.depth = null
    
        self.updateTrades = function() {
            var trades = _C(exchange.GetTrades)
            if (self.prices.length == 0) {
                while (trades.length == 0) {
                    trades = trades.concat(_C(exchange.GetTrades))
                }
                for (var i = 0; i < 15; i++) {
                    self.prices[i] = trades[trades.length - 1].Price
                }
            }
            self.vol = 0.7 * self.vol + 0.3 * _.reduce(trades, function(mem, trade) {
                // Huobi not support trade.Id
                if ((trade.Id > self.lastTradeId) || (trade.Id == 0 && trade.Time > self.lastTradeId)) {
                    self.lastTradeId = Math.max(trade.Id == 0 ? trade.Time : trade.Id, self.lastTradeId)
                    mem += trade.Amount
                }
                return mem
            }, 0)
    
        }
        self.updateOrderBook = function() {
            var orderBook = _C(exchange.GetDepth)
            self.depth = orderBook
            self.buyPrice = orderBook.Bids[pendingLevel].Price
            self.sellPrice = orderBook.Asks[pendingLevel].Price
            self.orderBook = orderBook
            if (orderBook.Bids.length < 3 || orderBook.Asks.length < 3) {
                return
            }
            self.bidPrice = orderBook.Bids[0].Price * 0.618 + orderBook.Asks[0].Price * 0.382 + 0.01
            self.askPrice = orderBook.Bids[0].Price * 0.382 + orderBook.Asks[0].Price * 0.618 - 0.01
            self.prices.shift()
            self.prices.push(_N((orderBook.Bids[0].Price + orderBook.Asks[0].Price) * 0.15 +
                (orderBook.Bids[1].Price + orderBook.Asks[1].Price) * 0.1 +
                (orderBook.Bids[2].Price + orderBook.Asks[2].Price) * 0.1 +
                (orderBook.Bids[3].Price + orderBook.Asks[3].Price) * 0.075 +
                (orderBook.Bids[4].Price + orderBook.Asks[4].Price) * 0.05 +
                (orderBook.Bids[5].Price + orderBook.Asks[5].Price) * 0.025))
        }
    
        self.updateAccount = function() {
            var account = exchange.GetAccount()
            if (!account) {
                return
            }
            self.account = account
            LogProfit(parseFloat(account.Info.totalWalletBalance), account)
        }
    
        self.CancelAll = function() {
            while (1) {
                var orders = _C(exchange.GetOrders)
                if (orders.length == 0) {
                    break
                }
                for (var i = 0; i < orders.length; i++) {
                    exchange.CancelOrder(orders[i].Id)
                }
                Sleep(100)
            }
        }
    
        self.poll = function() {
            self.numTick++
            self.updateTrades()
            self.updateOrderBook()
            var pos = _C(exchange.GetPosition)
    
            var burstPrice = self.prices[self.prices.length - 1] * burstThresholdPct
            var bull = false
            var bear = false
            LogStatus(_D(), "\n", 'Tick:', self.numTick, 'self.vol:', self.vol, ', lastPrice:', self.prices[self.prices.length - 1], ', burstPrice: ', burstPrice)
    
            if (self.numTick > 2 && (
                    self.prices[self.prices.length - 1] - _.max(self.prices.slice(-6, -1)) > burstPrice ||
                    self.prices[self.prices.length - 1] - _.max(self.prices.slice(-6, -2)) > burstPrice && self.prices[self.prices.length - 1] > self.prices[self.prices.length - 2]
                )) {
                bull = true
            } else if (self.numTick > 2 && (
                    self.prices[self.prices.length - 1] - _.min(self.prices.slice(-6, -1)) < -burstPrice ||
                    self.prices[self.prices.length - 1] - _.min(self.prices.slice(-6, -2)) < -burstPrice && self.prices[self.prices.length - 1] < self.prices[self.prices.length - 2]
                )) {
                bear = true            
            }
    
            if (pos.length != 0) {
                if (pos[0].Type == PD_LONG) {
                    self.state = 1
                } else {
                    self.state = 2
                }
            } else {
                self.state = 0
            }
    
    
            if ((!bull && !bear)) {
                return
            }
    
            if (bull) {
                var price = (self.state == 0 || self.state == 1) ? self.buyPrice : self.depth.Bids[coverPendingLevel].Price
                var amount = (self.state == 0 || self.state == 1) ? pendingAmount : pos[0].Amount
                exchange.SetDirection("buy")
                exchange.Buy(price, amount)
            } else if (bear) {
                var price = (self.state == 0 || self.state == 2) ? self.sellPrice : self.depth.Asks[coverPendingLevel].Price
                var amount = (self.state == 0 || self.state == 2) ? pendingAmount : pos[0].Amount
                exchange.SetDirection("sell")
                exchange.Sell(price, amount)                    
            }
            self.numTick = 0
            Sleep(TickInterval)
            self.CancelAll()
            self.updateAccount()
        }
    
        while (!self.account) {
            self.updateAccount()
            Sleep(500)
        }
        Log("self.account:", self.account)
    
        return self
    }
    
    function main() {
        LogProfitReset()
        exchange.SetPrecision(pricePrecision, amountPrecision)
        exchange.SetContractType("swap")
        var reaper = LeeksReaper()  
        while (true) {
            reaper.poll()
            Sleep(100)
        }
    }
    

    策略修改思路

    策略是计划使用在币安USDT合约市场交易,币安合约支持单向持仓。所以策略就按照单向持仓的特性修改设计(单向持仓更加方便策略修改),不考虑平仓,只考虑买卖。这样思路也比较贴近现货版的韭菜收割机。

    策略基本保留了原版的短期价格趋势突破判定标准,短期价格突破幅度由参数burstThresholdPct控制,根据这个判定条件来判断短期价格为bull(牛),还是bear(熊)。

    策略剔除了原版一些模块,比如平衡模块。较大的改动是把下单改为了在订单薄中挂单,等待成交。
    期望在多空博弈激烈的混乱盘口中用较低的成本开仓,追随短期趋势,并且在短期趋势反转时平仓,继续反向挂单开仓。

    策略删除了其它没用的代码所以非常简短,也很简单。虽然策略是个不赚钱的策略,甚至亏钱,但是作为FMZer学习高频策略,观察高频策略的行为、观察市场微观规律等是一个可以上手的模型。程序化交易、量化交易需要通过大量的实践、经验、理论作为基础。

    实盘跑一会儿

    可以看到,行情不活跃的时候开平仓是比较困难的。

    策略优化

    目前,还没有找到好的优化方向。
    有兴趣的同学请踊跃发言,一起探讨。

    策略地址:https://www.fmz.com/strategy/260806

    本策略仅仅用于学习,行情平淡实盘可能亏损。

    展开全文
  • 20210524-华泰期货-金融科技赋能投研系列之十五:多周期高频策略(一).pdf
  • 策略需要搭配火币API 使用,此策略利用30分钟的MA5和MA30判断趋势,当MA5上穿MA30时就开多,不断开多,平多,开多,平多,赚取差价,我设置是0.02的莱特。你可以根据实际修改。同样的下穿MA30就开空。
  • 《从编程小白到量化宗师之路》---日内高频策略之《快手策略》 20年企业以及...

    扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

    APP订阅课程,领取优惠,最少立减5元 ↓↓↓

    订阅后:请点击此处观看视频课程

     

    视频教程-《从编程小白到量化宗师之路》---日内高频策略之《快手策略》-C/C++

    学习有效期:永久观看

    学习时长:49分钟

    学习计划:1天

    难度:

     

    口碑讲师带队学习,让你的问题不过夜」

    讲师姓名:李炳辰

    技术总监/研发总监

    讲师介绍:20年企业以及互联网软件开发经验,开发过互联网广告、大型企业组织项目资产管理、股票期货数字货币高频自动化交易系统、全市场数据流图式分析系统等,熟悉分层、消息驱动、微内核、微服务,低延迟等多种软件系统架构模式,掌握Java、C++、Python、Go、R等多种软件开发语言以及其主流开发体系。

    ☛点击立即跟老师学习☚

     

    「你将学到什么?」

    本文是继《从编程小白到量化宗师之路》---高频交易系统编写,完成之后的第一个真实策略编写课程。

    本工具的开发目的是,训练交易员识别日内高胜率的回调和顺势波动,不是为了盈利!不是为了盈利!不是为了盈利!请使用者使用simnow模拟工具进行模拟使用。

    并且配置参数都是在盘前设定,不允许中途任意修改设定,交易者一定要管的住自己的手,不可随意修改交易方案,不可由情绪影响既定策略的设定。


    如果胜率达到盈利以后,也可以继续使用本工具,配置到期货公司的实盘交易接口。这样,本工具就变成了一个实现手工日内高频交易的辅助工具,在为交易员提供一个急速手工交易工具的同时,也实现了一定的风险控制功能,比如:止损跳点的配置,止盈跳点的配置,最长止损时间。

    本工具并不具备自动运行的功能。



    任何代码都可能有bug,请务必使用其他交易软件进行必要的风控管理,以免由程序问题引起资金损失。

    本工具不负责任何的实盘盈亏。

    本工具不负责任何的实盘盈亏。

    本工具不负责任何的实盘盈亏。


     

    「课程学习目录」

    1.日内高频《快手策略》交易课程介绍
    2.快手策略代码实现
    3.快手高频训练机使用演示
    4.文件说明

     

    7项超值权益,保障学习质量」

    • 大咖讲解

    技术专家系统讲解传授编程思路与实战。

    • 答疑服务

    专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

    • 课程资料+课件

    超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

    • 常用开发实战

    企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

    • 大牛技术大会视频

    2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

    • APP+PC随时随地学习

    满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

     

    「什么样的技术人适合学习?」

    • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
    • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
    • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

     

    「悉心打造精品好课,1天学到大牛3年项目经验」

    【完善的技术体系】

    技术成长循序渐进,帮助用户轻松掌握

    掌握C/C++知识,扎实编码能力

    【清晰的课程脉络】

    浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

    【仿佛在大厂实习般的课程设计】

    课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

     

    「你可以收获什么?」

    识别日内高胜率的回调和顺势波动

    一定要管的住自己的手,不可随意修改交易方案

    风险控制功能,比如:止损跳点的配置,止盈跳点的配置,最长止损时间。

     

    展开全文
  • 本文是继《从编程小白到量化宗师之路》---高频交易系统编写,完成之后的第一个真实策略编写课程。 本工具的开发目的是,训练交易员识别日内高胜率的回调和顺势波动,不是为了盈利!不是为了盈利!不是为了盈利!请...
  • 使用方法:把上一篇的配置基础,写到一个python文件中,文件名保存为...属于高频策略。 注:该策略做过实盘,有回撤。使用的话,建议进一步优化。 更一步交流,qq:1733505732 验证请注明:python ,比特币量化...

    使用方法:把上一篇的配置基础,写到一个python文件中,文件名保存为 OkcoinSpotAPI,然后把下面的代码, 写到一个新的文件中,保存好,就可以直接运行了

    原理:根据盘口买卖量,深度行情挂单量,进行买卖决策。属于高频策略。

    注:该策略做过实盘,有回撤。使用的话,建议进一步优化。

        更一步交流,qq:1733505732 
    
       验证请注明:python ,比特币量化
    

    -- coding: utf-8 --

    “””
    Created on Mon Jan 16 17:40:55 2017
    @author: yunjinqi
    E-mail:yunjinqi@qq.com
    Differentiate yourself in the world from anyone else.
    “”“

    ##################################################盘口模型

    from OkcoinSpotAPI import *
    import pandas as pd
    import numpy as np
    import datetime
    import time

    ################################################初始数据

    引入初始信息

    apikey = ‘9b93e53a-e803-4883-b8fc-64af2f3ccc57’
    secretkey = ‘14284B3C0B9CF0F932E83888388855C9’
    okcoinRESTURL = ‘www.okcoin.cn’ #请求注意:国内账号需要 修改为 www.okcoin.cn
    okcoinSpot = OKCoinSpot(okcoinRESTURL,apikey,secretkey)
    okcoinFuture = OKCoinFuture(okcoinRESTURL,apikey,secretkey)

    info=eval(okcoinSpot.userinfo())#账户信息

    info

    ###############################获取并整理数据

    def cut(deep):
    deep[‘bid_price’]=”
    deep[‘bid_volume’]=”
    deep[‘ask_price’]=”
    deep[‘ask_price’]=”
    for i in range(len(deep)):
    deep.ix[i,’bid_price’]=deep.ix[i,’bids’][0]
    deep.ix[i,’bid_volume’]=deep.ix[i,’bids’][1]
    deep.ix[i,’ask_price’]=deep.ix[i,’asks’][0]
    deep.ix[i,’ask_volume’]=deep.ix[i,’asks’][1]
    del deep[‘asks’]
    del deep[‘bids’]
    deep[‘bid_price’]=deep[‘bid_price’].astype(‘float64’)
    deep[‘bid_volume’]=deep[‘bid_volume’].astype(‘float64’)
    deep[‘ask_price’]=deep[‘ask_price’].astype(‘float64’)
    deep[‘ask_price’]=deep[‘ask_price’].astype(‘float64’)
    return deep
    def bid_ask_vol_diff(deep):
    bidvol10=deep[‘bid_volume’][:10]
    askvol10=deep[‘ask_volume’][-10:]
    diff=bidvol10.sum()-askvol10.sum()
    return diff #diff>0是入场条件1
    def bid_ask_price_diff(deep):
    bidprice10=deep[‘bid_price’][:10]
    askprice10=deep[‘ask_price’][-10:]
    bid_diff=bidprice10.max()-bidprice10.min()
    ask_diff=askprice10.max()-askprice10.min()
    diff=bid_diff-ask_diff #小于0是入场条件
    return diff
    def bid_ask_bigvol(deep):
    bidvol10=deep[‘bid_volume’][:10]
    askvol10=deep[‘ask_volume’][-10:]
    diff=bidvol10.max()>askvol10.max()#大于0是入场条件
    return diff
    i=0
    while True:

    deep=pd.DataFrame(okcoinSpot.depth('btc_cny'))
    deep=cut(deep)
    deep
    if bid_ask_vol_diff(deep)>0 and bid_ask_price_diff(deep)<0 and bid_ask_bigvol(deep)>0:
       price_buy=str(deep['bid_price'][1]+0.01)
       buy=okcoinSpot.trade('btc_cny','buy',price_buy,'0.01')
    
    time.sleep(0.2)
    price_sell=str(deep['bid_price'][1]+0.50)
    sell=okcoinSpot.trade('btc_cny','sell',price_sell,'0.01')
    print(sell)
    i=i+1
    try:
        buyid=str(eval(buy)['order_id'])
        sellid=str(eval(sell)['order_id'])
    except NameError:
        pass
    except KeyError:
        pass
    time.sleep(5)
    try:
       cancel_buy=okcoinSpot.cancelOrder('btc_cny',buyid)
       cance1_sell=okcoinSpot.cancelOrder('btc_cny',sellid)
    except NameError:
        pass
    except KeyError:
        pass
    info_btc_free=eval(eval(okcoinSpot.userinfo())['info']['funds']['free']['btc'])
    info_net=eval(eval(okcoinSpot.userinfo())['info']['funds']['asset']['net'])
    print(i,info_btc_free,info_net)
    
    展开全文
  • 就是我刚开始编写比特币高频机器人的源代码,几乎没有改动,参数也是原来的参数。这个版本的程序有许多...这个策略原理极为简单,可以理解为准高频的做市策略,各位看了之后可能想打人,这都能赚钱,当时几乎谁都能...

    就是我刚开始编写比特币高频机器人的源代码,几乎没有改动,参数也是原来的参数。这个版本的程序有许多要改进的地方,但即使如此,它也当时表现除了惊人的盈利能力,在我本金不多时,不加杠杆平均每天盈利在5%左右。当然无论从哪一方面,它都不适应今天的市场。我同时也发了一篇文章在社区,大家可以看看。

    这个策略原理极为简单,可以理解为准高频的做市策略,各位看了之后可能想打人,这都能赚钱,当时几乎谁都能写出来。我开始也没预料到它能这么有效,可见心中有想法要赶紧付出实践,说不一定有意外之喜。在比特币机器人初兴的2014年,写出赚钱的策略太容易了。

    策略源码地址:https://www.fmz.com/strategy/1088

    稍微改了一下,用了平台的容错函数_C(),和精度函数_N().

    function CancelPendingOrders() {
        var orders = _C(exchange.GetOrders);
        for (var j = 0; j < orders.length; j++) {
              exchange.CancelOrder(orders[j].Id, orders[j]);}
    }
    
    //计算将要下单的价格
    function GetPrice(Type,depth) {
        var amountBids=0;
        var amountAsks=0;
        //计算买价,获取累计深度达到预设的价格
        if(Type=="Buy"){
           for(var i=0;i<20;i++){
               amountBids+=depth.Bids[i].Amount;
               //floatamountbuy就是预设的累计买单深度
               if (amountBids>floatamountbuy){
                   //稍微加0.01,使得订单排在前面
                  return depth.Bids[i].Price+0.01;}
            }
        }
        //同理计算卖价
        if(Type=="Sell"){
           for(var j=0; j<20; j++){
               amountAsks+=depth.Asks[j].Amount;
                if (amountAsks>floatamountsell){
                return depth.Asks[j].Price-0.01;}
            }
        }
        //遍历了全部深度仍未满足需求,就返回一个价格,以免出现bug
        return depth.Asks[0].Price
    }
     
    function onTick() {
        var depth=_C(exchange.GetDepth);
        var buyPrice = GetPrice("Buy",depth);
        var sellPrice= GetPrice("Sell",depth);
        //买卖价差如果小于预设值diffprice,就会挂一个相对更深的价格
        if ((sellPrice - buyPrice) <= diffprice){
                buyPrice-=10;
                sellPrice+=10;}
        //把原有的单子全部撤销,实际上经常出现新的价格和已挂单价格相同的情况,此时不需要撤销
        CancelPendingOrders() 
        //获取账户信息,确定目前账户存在多少钱和多少币
        var account=_C(exchange.GetAccount);
        //可买的比特币量
        var amountBuy = _N((account.Balance / buyPrice-0.1),2); 
        //可卖的比特币量,注意到没有仓位的限制,有多少就买卖多少,因为我当时的钱很少
        var amountSell = _N((account.Stocks),2); 
        if (amountSell > 0.02) {
            exchange.Sell(sellPrice,amountSell);}
        if (amountBuy > 0.02) {
            exchange.Buy(buyPrice, amountBuy);}
        //休眠,进入下一轮循环
        Sleep(sleeptime);
    }
        
    function main() {
        while (true) {
            onTick();
        }
    }

     

    转载于:https://www.cnblogs.com/botvsing/p/10984292.html

    展开全文
  • 自己做量化交易软件(37)小白量化实战10–操作方法与MetaTrader5高频策略的进化 散户和主力不是一个级别的竞争对手,可以用蚂蚁和大象来比喻。散户和主力炒股比武,散户玩短线,主力玩长线,其结果是散户高买低卖;...
  • 高频交易,你听到这个名字有多少年了,但是你翻遍互联网,找到过真实在用的高频交易策略吗?不管别人如何, 我决定把自己使用的tick级高频交易策略分享出来。第一章:期货日内高频:普通均值回归策略1. 课程准备与...
  • OKCoin韭菜收割机,201606-201701从6千块入市赚到25万,在此开源 这是一个在OKCoin比特币交易平台上的高频交易机器人程序,从2016年6月策略基本定型,到2017年1月中旬,这个策略成功的把最初投入的6000块钱刷到了...
  • # daily partials partial <- pacf( audusd %>% mutate(hour = hour(timestamp)) %>% filter(hour == 0) %>% select(close) %>... lags = 20, plot = FALSE) ...plot(partial[2:20], main = 'Daily ...
  • 策略回测什么才是最重要的?速度?花里胡哨的绩效指标?答案是准确!是的,回测的目的是为了验证策略的逻辑和可行性。这也是回测本身的意义,其他都是次要的。一个能够真正反映策略在历史数据上的回测才具有参考价值...
  • C++商品期货高频交易策略之Penny Jump

    千次阅读 2019-09-06 11:16:22
    今天给大家分享的 Penny Jump 策略属于HFT高频策略之一,最初来源于银行间外汇市场,常用于主流货币对做市。 高频策略分类 在高频交易中,主要分为两类策略。分别是买方策略和卖方策略,卖方策略通常都是做市策略,...
  • 这里尝试做了一个Tick基本准高频交易策略,只是为了实现思路。可以回测,不要直接用。。回测时候记得把回测模式改为TICK_MODE, 数据库改为TICK_DB_NAME,还有setStartDate时候initdays设为0,不需要回读历史天数,只...
  • 在前一篇文章中,我们聊了一下蛙人高频策略的原理,这次,我们从纯软件系统角度来看一下蛙人高频的系统结构及使用方法。 1.系统组成 蛙人高频系统,可以说是“麻雀虽小,五脏俱全”,其组成结构如下: 2.配置...
  • 阅读原文:http://t.cn/RXxE6xd京东金融官方资讯QQ群:417082141 有什么想咨询的都可以来询问我们哦雷•达里奥(Ray Dalio)——对冲基金教父的人生 | 华尔街见闻在高频交易中,价格择时策略是所有投资人关注的重点。...
  • 下面为你介绍一下高频交易有风险吗以及高频交易策略作步骤,如果想要了解更多高频交易方面的知识,敬请关注QR量化投资社区,下面让我们了解一下高频交易方面的知识吧! 高频交易有风险吗? 一些业界人士认为,这种...
  • 自己做量化交易软件(37)小白量化实战10–操作方法与MetaTrader5高频策略的进化>. 这一篇介绍双向高频马丁交易策略,也就是说能够多空两个方向的开单策略. 小白量化双向马丁策略如下: 1、RSI上穿40开多方马丁策略...
  • 高频交易策略[z]

    2019-10-08 12:44:39
    Market Order以最高速下市价单(market order)是买方最基本的策略Looking for Price Discrepancies这个就是高频统计套利(high frequency statistical arbitrage)Indulging in Momentum Ignition人为制造价格上的spike...
  • 基于变量选择和遗传网络规划的期货高频交易策略研究_陈艳 基于变量选择和遗传网络规划的期货高频交易策略研究_陈艳 基于变量选择和遗传网络规划的期货高频交易策略研究_陈艳
  • 原帖地址:https://www.fmz.com/bbs-topic/1184在商品期货高频交易策略中, Tick行情的接收速度对策略的盈利结果有着决定性的影响,但市面上大多数交易框架,都是采用回调模式的机制, onBar/onTick, Tick不漏掉就不错...
  • 介绍了高频链逆变器的拓扑,建立了高频链逆变器及其重复控制策略的仿真模型,并对系统进行仿真分析。通过仿真验证了重复控制策略能够使高频链逆变器获得高质量的输出波形。
  • 基于深度学习算法的高频交易策略及其盈利能力.pdf
  • 盒式高频程序化套利策略分析.doc
  • 高频融冰激励电源及其控制策略的研究

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,835
精华内容 9,534
关键字:

高频策略