摘要:该策略是很久以前适用数字货币796期货交易所的一个策略,期货合约是币本位,即保证金扣除的是币(例如BTC合约扣除BTC),合约下单量是小数,类似币安的币本位合约

期货反手加倍算法策略注释详解-区块链315

该策略是很久以前适用数字货币796期货交易所的一个策略,期货合约是币本位,即保证金扣除的是币(例如BTC合约扣除BTC),合约下单量可以是小数,类似币安的币本位合约。该策略拿出来学习策略设计,逻辑处理还是很不错的,策略以学习为主。

策略代码注释

期货反手加倍算法策略注释详解-区块链315

策略逻辑

读完策略代码可以发现,策略逻辑其实并不复杂,代码也并不算多,但是设计上可谓匠心独运,很多地方可以借鉴参考。策略交易逻辑的主要函数为loop函数,在main函数的主循环中反复调用,当loop函数开始执行时,首先下单持仓,然后挂单止盈,等待止盈订单成交。之后进入检测状态,检测两项内容。

1、检测挂出的止盈单是否成交,止盈单成交,即盈利,退出检测循环,重置逻辑,重新开始。

2、检测是否触发止损(反手),触发止损,即取消所有挂单,平掉仓位,然后根据参数设置是反手顺仓还是反手逆仓进行加倍反手下单交易。产生持仓,继续挂出止盈单,并且再次进入检测状态(监测止盈、反手)。

策略逻辑简单描述如此,但是还是有一些其它细节的,比如最大反手次数的设置,账户资产可用的检测,下单失败最大次数10次的处理等。

策略中有些函数都做了根据参数不同而行为差异化的设计,例如:StripOrders函数,GetAccount函数,GetPosition函数。这些函数根据参数传入差异,有不同的行为。这样很好的复用了代码,避免了代码冗余,让策略设计简洁易懂。

原策略:https://www.fmz.com/strategy/3648

反手加倍有一定的风险,特别是在期货上,策略仅为学习,实盘慎用,欢迎留言讨论。