写点什么

高频量化合约对冲交易软件开发源代码

  • 2022-11-15
    广东
  • 本文字数:2170 字

    阅读完需:约 7 分钟

量化交易机器人是什么?实质上,交易机器人是一个软件程序,可以直接与金融(通常使用 API 来获取和解释相关信息)进行交互,系统开发 I34-案例 I633-演示 53I9 并且可以根据对市场数据的解释来发布买卖订单。他们通过监控市场上的价格走势,并根据一套事先设置好的规则作出反应来做出这些决策。一般情况下,交易机器人会分析市场上的交易数量、订单、价格和时间等行为,并根据你的喜好来规划它们。


在策略设定好之后,开发对接薇 hkkf5566 机器人智能分配每一次进单条件,严格执行交易策略,交易策略,根据当前行情,实时进行云大数据调整。同时支持百种交易同时执行交易策略,每一个品种立线程,自动管理报价深度,策略计算,实时查看交易情况,实时执行。


策略执行代码参考如下:


/*backteststart: 2021-06-01 00:00:00end: 2022-05-23 00:00:00period: 1hbasePeriod: 1mexchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]args: [["v_input_float_1",500],["v_input_string_1",2],["v_input_float_2",0.01],["v_input_int_1",20],["v_input_int_2",500],["RunMode",1,358374],["MinStock",0.001,358374]]*/
strategy(overlay=true)
varip beginPrice = 0var spacing = input.float(-1, title="间距价格")var dir = input.string("long", title="方向", options = ["long", "short", "both"])var amount = input.float(-1, title="下单量")var numbers = input.int(-1, title="网格数量")var profit = input.int(-1, title="盈利价差") / syminfo.mintick
if spacing == -1 and amount == -1 and numbers == -1 and profit == -1 runtime.error("参数错误")
if not barstate.ishistory and beginPrice == 0 beginPrice := close
findTradeId(id) => ret = "notFound" for i = 0 to strategy.opentrades - 1 if strategy.opentrades.entry_id(i) == id ret := strategy.opentrades.entry_id(i) ret
// 实时K线阶段if not barstate.ishistory // 检索网格 for i = 1 to numbers // 做多 direction = dir == "both" ? "long" : dir plot(beginPrice-i*spacing, direction+str.tostring(i), color.green) if direction == "long" and beginPrice-i*spacing > 0 and beginPrice-i*spacing < close and findTradeId(direction+str.tostring(i)) == "notFound" strategy.order(direction+str.tostring(i), strategy.long, qty=amount, limit=beginPrice-i*spacing) strategy.exit("exit-"+direction+str.tostring(i), direction+str.tostring(i), qty_percent=100, profit=profit) // 做空 direction := dir == "both" ? "short" : dir plot(beginPrice+i*spacing, direction+str.tostring(i), color.red) if direction == "short" and beginPrice+i*spacing > close and findTradeId(direction+str.tostring(i)) == "notFound" strategy.order(direction+str.tostring(i), strategy.short, qty=amount, limit=beginPrice+i*spacing) strategy.exit("exit-"+direction+str.tostring(i), direction+str.tostring(i), qty_percent=100, profit=profit)
复制代码


接下来的代码:


strategy(overlay=true)
varip beginPrice = 0var spacing = input.float(-1, title="间距价格")var dir = input.string("long", title="方向", options = ["long", "short", "both"])var amount = input.float(-1, title="下单量")var numbers = input.int(-1, title="网格数量")var profit = input.int(-1, title="盈利点数") / syminfo.mintick
复制代码


strategy(overlay=true): 用来设置脚本的一些选项,overlay=true,就是给参数 overlay 赋值 true,让画图时,画在图表的主图上(K 线图就是主图,可以这么简单理解)。


varip beginPrice = 0: 用关键字 varip 声明了一个变量 beginPrice 初始赋值为 0,这个值是用作网格的初始价格。


var spacing = input.float(-1, title="间距价格"): 设置一个策略参数,参数名字叫“间距价格”,就是每个网格点的间距,设置 100 就是价格每过 100,交易一次。


var dir = input.string("long", title="方向", options = ["long", "short", "both"]): 设置了一个策略参数,名字叫“方向”,这个参数是一个带下拉框的选项,可以选择 long,short,both。分别表示网格只做多、只做空、多空都做。


var amount = input.float(-1, title="下单量"): 设置一个参数,用来控制每次网格点交易时的交易量。


var numbers = input.int(-1, title="网格数量"): 网格点的数量,设置 20 就是一个方向 20 个网格点。


var profit = input.int(-1, title="盈利价差") / syminfo.mintick: 设置一个参数,控制每个网格点的持仓盈利到多少价差就平仓。


通过现货、合约、对冲理念等策略,让合约交易者在市场尽可能的简单操作,提高盈利机会,数据清晰明确;其中,量化对冲,指以大量数据为基础,策略模型为主体,在很大程度上用电脑自动化交易来实现投√资的一种交易方式,风险管理相对精准,能够提供超√额收益;量化合约指目标或任务具体明确,可以清晰度量;根据不同情况,表现为数量多少,具体的统计数字,范围衡量,时间长度等。

用户头像

还未添加个人签名 2022-05-23 加入

区块链项目开发,咨询weixin:hkkf5566

评论

发布
暂无评论
高频量化合约对冲交易软件开发源代码_开发微hkkf5566_InfoQ写作社区