TraderWagon合约跟单社区平台开发技术分析|一键自动跟单软件开发功能逻辑介绍

简介: TraderWagon合约跟单社区平台开发技术分析|一键自动跟单软件开发功能逻辑介绍

trail_price参数为触发跟踪止损、止盈的价格,测试中我们使用了当时的收盘价close,加上一个偏移量offset。怎么区分多头持仓还是空头持仓的跟踪止盈、止损触发价格呢?strategy.exit函数会要求指定一个标签,来确定是对哪个仓位进行执行跟踪止损止盈计划单。我们使用strategy.entry("test 1", strategy.long, 1)函数开了一个多头仓位,指定了标签为test 1,所以在strategy.exit函数调用时我们也传入了这个标签。那么Pine语言脚本就知道是要对这个标签为test 1的多头仓位执行跟踪止损、止盈计划单了。

当对多头持仓使用trail_price参数时,是当价格高于这个trail_price价格时才会触发跟踪止损止盈。空头持仓则反之。

trail_offset参数为跟踪止损、止盈偏移量,跟踪止损止盈时会时时刻刻记录出现过的价格,用来动态调整跟踪止盈止损线(注意,不是触发启动跟踪止损止盈行为的线,是执行跟踪止损止盈的线)。拿本例子中开多仓之后跟踪止损止盈来说,这里就会监控行情出现的最高价格,当价格回撤到距离最高价格超过trail_offset参数设置的值时就会立即平仓止盈止损。如果是空头仓位的跟踪止损止盈,那么方向相反。

我们通过这个演示代码回测显示来具体说明:
因为测试的rb合约价格每跳为1元,我们设置了参数offset为30即30元距离,激活跟踪止损止盈计划单的价格就为close+30。然后当行情价格超过这个价格(close+30)之后就会进行跟踪止损止盈,记录最高价。当价格低于止损止盈触发线(记录的高价-30)时,立即平仓止损止盈。

跟踪止损止盈触发线

可以看到策略开始执行时马上开多仓,然后设置了触发移动止盈止损条件单的触发价格。之后期间没有任何操作,待到价格上升超过土黄色线,开始激活跟踪止盈止损条件单。开始记录此后行情的高价,根据最高价动态调整止损止盈线

跟踪止盈触发,平仓

可以观察到始终保持30元的距离(即因为设置了strategy.exit函数的参数trail_offset=offset),动态调整跟随。当价格下降跌破蓝色的线时,立即执行了平仓操作。

跟踪止盈止损例子回测日志

这样就实现了一次开仓、跟踪止盈止损操作。Pine语言是不是非常简单易用,便于设计。我们还可以把这样的止盈止损设计到策略里。例如我们有一个超级趋势策略,我们可以在策略中加入这样跟踪止损止盈。

// 反向信号,全平
if strategy.position_size > 0 and dir[2] < 0 and dir[1] > 0

strategy.cancel_all()
strategy.close_all()
runtime.log("趋势反转,多头全平")

else if strategy.position_size < 0 and dir[2] > 0 and dir[1] < 0

strategy.cancel_all()
strategy.close_all()
runtime.log("趋势反转,空头全平")

if not barstate.ishistory and findOrderIdx("open") >= 0 and state == 1

trail_price := strategy.position_size > 0 ? close + offset : close - offset
strategy.exit("exit", "open", 1, trail_price=trail_price, trail_offset=offset)
runtime.log("每点价格为:", syminfo.mintick, ",当前close:", close, ",trail_price:", trail_price)
state := 2
tradeBarIndex := bar_index

plot(superTrendPrice, "superTrendPrice", color=dir>0 ? color.red : color.green, overlay=true)

相关文章
|
Kubernetes 关系型数据库 MySQL
k8s教程(基础篇)-入门及案例
k8s教程(基础篇)-入门及案例
4806 0
|
存储 人工智能 算法
秒懂算法 | 矩阵连乘问题
给定n个矩阵{A1,A2,A3,…,An},其中Ai与Ai+1(i=1,2,3,…,n-1)是可乘的。用加括号的方法表示矩阵连乘的次序,不同加括号的方法所对应的计算次序是不同的。
1297 0
秒懂算法 | 矩阵连乘问题
|
消息中间件 存储 运维
从 Kafka 2.x 到 Kafka 3.x:升级之旅
从 Kafka 2.x 到 Kafka 3.x:升级之旅
2803 2
|
安全 Unix Linux
Unix是一个多用户、多任务的操作系统
Unix是一个多用户、多任务的操作系统
665 3
|
前端开发 API 区块链
合约交易丨秒合约丨永续合约丨合约跟单系统开发指南步骤
合约交易、秒合约、永续合约和合约跟单系统的开发基本要素和指南如下:
|
数据库 数据安全/隐私保护
远程桌面CredSSP 加密数据库修正
远程桌面CredSSP 加密数据库修正
246 0
|
缓存 API 开发工具
Unity——工程与资源
Unity——工程与资源
644 1
|
传感器 数据采集 监控
资料转发分享【毕业设计】单片机和stm32设计选题,proteues仿真、程序完整资料
资料转发分享【毕业设计】单片机和stm32设计选题,proteues仿真、程序完整资料 基于单片机寻迹巡线避障智能小车系统设计 基于单片机体温心率脉搏检测仪系统设计 基于单片机温湿度光照自动窗帘系统设计 基于单片机环境监测温湿度PM2.5系统设计 基于51单片机的波形发生器(四种波形) 基于单片机SO2 NO2 PM温湿度空气质量检测仪 基于51单片机冰箱温度控制器设计
789 1
资料转发分享【毕业设计】单片机和stm32设计选题,proteues仿真、程序完整资料
|
Android开发
Android--fragment与activity及两个fragment之间的跳转实现
在应用的交互中,我可能需要实现: 从当前的fragment跳转到另一个fragment 从当前的fragment跳转到一个activity中 从当前的activity跳转到一个fragment中 网上提供的思路较多,这里总结了一套自己的方法。
2383 0
|
机器人 API 区块链
Pionex派网量化网格交易机器人开发策略部署[源码执行规则示例]
Pionex派网量化网格交易机器人开发策略部署[源码执行规则示例]