系统函数都可以加上小括号

5.6万
0
2022-09-25 14:53:29
正在缓冲...
7
投币
1
2
系统函数都可以加上小括号
主要发布:数学思维与文化、少儿编程、发明创造、《新概念英语》背诵相关视频
自动连播
960.0万播放
简介
WH9 平台特点
04:32
合约界面与品种篮子
05:44
模型界面与新建模型
05:53
程序结构与注释
08:45
Hello World 编译与执行
04:56
WH9在线帮助系统
06:29
历史数据下载
02:34
基础输出函数
09:27
基础绘图函数
04:42
算术操作符
02:43
比较操作符
03:33
逻辑操作符
05:49
数值与字符串转换
04:25
临时变量
06:55
序列变量
03:23
广域变量
02:51
标示符是否区分大小写
04:13
序列变量和临时变量的对比
03:52
广域变量的特殊现象与使用风险
04:26
分支结构基础
03:47
分支结构嵌套
05:49
for-to循环结构
02:47
for-downto循环结构
01:22
while循环结构
01:49
break结束循环
01:58
continue结束本轮循环
01:54
循环嵌套
02:37
功能关键字
01:41
数据类型关键字
01:28
枚举值关键字
00:50
枚举值的用法
04:17
六大交易指令
03:38
发送委托单
01:29
系统函数与自定义函数
02:37
系统封装函数与开源函数
03:23
自定义函数编写平台与WFC函数
03:32
编写调用无参数自定义函数
05:53
Rand(X,Y)产生随机数的函数
03:48
编写调用有参数的自定义函数
04:10
在副图子窗口绘制随机数曲线
03:27
有返回值的自定义函数
04:30
编写查看自定义函数帮助信息
03:15
系统函数都可以加上小括号
03:31
快速提升WH9编程功力的一种方法
04:15
K线数据引用函数介绍
02:34
OHLCV数据引用
04:01
AvgPrice()求平均价格
02:44
AvPrice()取得K线图的均价
02:38
Category()当前数据合约类型
05:25
CloseD()求N天前的收盘价
09:43
ContractUnit()加载合约的交易单位
03:02
CurrentBar()返回索引值
01:56
DayVol()当天的成交量
03:18
ImpVolatility()期权隐含波动率
03:19
Volatility(N)期权历史波动率
01:58
Scale() 取得K线图主动买占总成交量的比例
03:38
布林线指标·代码分析
08:06
Ma()函数介绍
04:33
Ma()函数示例代码
05:36
显示当日第几根K线
04:46
将系算法或指标转换成用户可以编辑的代码
04:03
ATR指标代码详解
05:38
算法参数选择,首要问题是稳定性
02:11
算法参数未必是常数,甚至可以是随机数
04:33
布林线-日线系统介绍
02:47
WH9平台-海龟模型
00:53
模型的整体结构
01:07
基于ATR指标的海龟交易下单系统
01:07
海龟模型和其他一开一平模型之间的区别
01:03
Setting 模块参数分析
01:35
Params 模块参数分析
02:11
WH9 参数设置必须是整数
01:01
Review_Data NULL 注意这个设置,否则很容易出错
01:14
Vars 模块,变量介绍
02:43
一个周期前真实波幅计算
02:13
计算开仓数量模块
01:59
对交易手数做取整操作
01:01
一个周期前boLength周期最高价和最低价
01:18
一个周期前boLength周期最高价和最低价
00:45
一个周期前teLength周期最高价、最低价
00:37
PreBreakoutFailure 预留的控制变量
00:48
满足条件时可以继续后面的操作
00:35
做多和做空策略各有 3 个判断模块
00:21
没有多头空头持仓,最高价突破短周期上轨,开多仓
01:22
没有持仓,突破长周期上轨做多
00:48
持多仓时加仓或平仓操作
02:15
分析持多仓时的操作
02:30
无持仓,跌穿短期通道低点开空仓
01:03
无持仓时,跌穿长期通道低点开空仓
00:26
持空仓时出场或加仓分析
01:25
持空仓的情况有两个退出条件,一个加空仓条件
01:58
海龟模型有加仓操作,进场和出场条件各有两个
01:26
两个进场条件分析
01:15
两个出场条件分析
加仓条件详细分析
02:37
海龟模型-原始版-整体回顾
05:14
指标线较多且每次使用收盘价开仓平仓
01:12
海龟原始版加载到沪金品种上
00:43
年初震荡行情是的表现
00:52
在上涨趋势中连续开仓5次,最后整体出场
00:39
趋势没有形成就只开仓一次,然后出场
00:17
连续加仓但趋势没有形成再次整体出场
00:41
9月以来的趋势也成功把握住
00:41
最高价触发,收盘价进场
00:33
连续下跌时持续加仓,反转时整体出场
01:12
原始版有3种,6条指标线,比较复杂
00:28
去掉长周期相关的参数和代码
00:58
去掉长周期内容,似乎差距不大
00:38
修改版产生 779 个信号
00:26
通过观察参数发现加载的是原始版没问题
00:24
原始版也是 779 个信号
00:12
PreBreakoutFailure 变量被删除
00:57
XAverage 改成 ma() 函数
00:31
收盘价突破上轨做多
00:43
收盘价突破,收盘价进场
00:20
收盘价跌出追踪止损价格,准备出场
00:36
跌穿止损价格,收盘时出场
00:23
用门槛价格加仓,而非收盘价
00:34
直接以门槛价格加仓
00:37
收盘价跌穿 2 ATR 才出场
00:23
收盘价格出场
00:21
收盘价跌穿门槛,收盘价出场
00:20
收盘价越过止损线,收盘价出场
00:18
已门槛价直接挂单成交,实现加仓
00:23
最低最高价越过止损位置,直接止损
01:13
回顾海龟模型-修改版,进行全品种测试
01:25
变量定义模块
01:00
ATR指标、头寸规模、唐奇安通道指标计算
01:15
收盘价突破上轨,收盘价开多仓
01:17
收盘价低于止损线平仓
00:28
满足条件时,触发就补多仓
01:08
收盘价低于最近开仓价之下 2 ATR就平仓
00:51
收盘价跌穿下轨首次开空仓
00:34
持空仓时如何止损
00:29
持空仓时,下跌到一定幅度就补仓
00:37
收盘价大于最后一个空单开仓价之上2倍ATR的距离就止损
00:59
保存代码,编译并运行
00:29
连续加仓之后出现平仓
00:55
第一次开仓基于收盘价,盘中加仓只要到位就会进行
01:50
形势有利就持续加仓,直到反转
01:16
条件不满足时就会持续等待
01:26
沪金品种的整体表现
01:11
胜率很低,盈亏比高
00:40
沪铜今年的整体情况
01:13
沪铜的表现确实非常好
00:56
沪铜收益率曲线也是非常剧烈波动
01:03
同向加仓加剧了行情的波动
00:24
组合配置,回测大量品种
00:26
加载交易品种,选择模型和周期
00:53
将 30 个品种加载到系统中
00:42
30 个品种计算完成,然后进行整体汇总
00:40
不同品种的数据起止时间不同
01:02
以实际上市数据为准
00:48
权益曲线和收益曲线
00:46
这几年是大涨之后急速大跌的情况比较多
00:29
整体收益水平十分可观
01:04
股指期货没有交易
00:27
设置每个品种的资金额度
01:11
股指期货设置保证金比例和手续费
00:25
参数设置成功之后,看到了交易信号
00:35
2010年以来持续进行交易
00:44
整体收益曲线还不是很强
00:30
改成以 30 日高低点为进场门槛
00:40
沪金、沪铜的表现都有改变
00:51
加载全部品种进行分析回测
01:50
加载全部品种进行分析回测
01:50
30 日周期的整体表现还更好了
00:32
整体收益率略为下降些
00:30
修改代码,绘制指标线
01:15
有指标线整体会清晰很多
00:34
满足条件连续加仓,形势不利马上出场
00:41
前 30 日高低点的门槛比较高,不容易突破
00:36
最近一次沪金连续出现信号,并平仓结束
00:40
触发信号更少,指标线更平稳
00:41
一开一平模型结构简单,更容易编码和理解
00:36
加仓模型对不同品种的下注就不一样,拉开了差距
01:02
准备出版量化建模、数据分析相关图书
01:10
欢迎大家反馈对这本书的想法
00:30
本书的读者和内容定位
01:11
图书体系 介绍
00:55
考虑编写 15 章内容
01:33
图书编写模式
00:40
少年科学家与我们配合完成撰写任务
00:33
期货量化建模、数据回测、成果展示 是 特色内容
00:51
常见交易流派介绍
00:54
常见交易流派有哪些
00:44
尽量言简意赅、不说废话、不凑篇幅
00:31
可以参考《昆虫交易法则》课程体系
00:36
我们的核心交易理念是重要一块
00:43
WH9 量化编程基础知识
01:29
WH6 量化编程
01:08
如果第一版畅销,可以考虑第二版升级模型和回测分析
00:43
后续可以有期权、股票、ETF基金相关图书出版
00:31
开设新的 B 站账号也是一条思路
00:17
图书的整体结构分为:篇、章、节
00:39
图书各部分的章节模块
01:18
为什么选择 WH9 平台? 这是一个非常重要的话题
00:37
WH9 和 Python 做对比
00:38
Python 和 WH9 做些比较,分析总结
01:06
前言中告诉读者我们的想法和目标
00:59
WH9 量化编程 篇
00:25
WH9 编程、回测的基础知识
00:20
因为 WH9 的体系非常庞大,考虑只介绍建模和交易所需的最核心的知识
00:23
可以考虑后面专门出一本深入学习、研究 WH9 的图书
00:15
一定要 着眼于建模和实战应用,讲述 WH9 知识
00:18
WH9 使用基础
00:38
如何使用 WH9 的基本功能
00:43
WH9 语法基础介绍
00:26
WH9 交易指令
00:24
系统函数 介绍
01:00
自定义函数 的定义
00:27
自定义函数 的应用场景
00:38
历史数据回测
00:38
单品种历史数据回测
00:31
初学者 和 产业客户往往对某个品种感兴趣
01:02
组合回测
00:23
单品种多模型回测
00:31
因子分析??
00:37
常见交易流派 篇
00:15
每个流派选择 1 个模型做详细介绍,似乎就可以了
00:35
单个模型的分析内容有很多
00:53
模型搞多了,容易让读者更迷糊
00:23
量化模型的四大模块
00:21
量化模型的四大模块
00:38
一般需要满足所有条件,才是一个完整的量化模型
00:24
趋势跟踪流派
00:14
均值回归流派
00:29
日内交易流派
00:28
日历交易流派
00:21
高频交易流派
00:28
人工智能流派
00:34
行业特点与交易理念
00:25
常见问题,分析思考和总结
00:40
是不是模型一旦公布就没有效果了?
00:22
量化交易一定是高频交易?
00:20
逐步收集整理问题,慢慢思考总结回答
00:32
篇章节 分解之后内容还是很多的
00:31
WH6 量化编程暂时不考虑进去
00:46
四大篇,对应四大方向,内容比较多
00:30
欢迎大家提出宝贵的意见建议
00:42
有朋友提出,想了解我们列出了哪些常见问题?
00:27
模型是否需要随时修改,不断调整?
00:59
趋势跟踪流派 如何对抗 持续震荡行情?
01:25
量化模型是否是 联合收割机 一定能够收割散户?
00:48
量化模型是否一定比基本面交易者更能赚钱?
00:44
量化编程图书基本结构
00:39
量化编程与建模基础、WT9 量化编程
01:22
期货行业特点
00:53
趋势跟踪流派
01:22
均值回归流派
00:56
统计套利流派
01:05
日内交易流派介绍
00:51
日历交易流派
00:55
网格交易流派介绍
01:18
高频交易流派
00:41
历史数据回测
02:03
实战中使用模型
00:55
风险管理
00:48
交易理念和交易技巧
01:35
期货量化100问
01:35
附录部分
01:29
使用 WT9 平台是我们的一大特色
02:00
按照流派进行分类,并介绍他的优缺点
01:11
历史数据回测,模型分析、优化是一大特色
01:29
本书的另外几个特色
01:16
除了纸质图书,还有B站视频账号讲解图书内容、讨论模型后续效果
02:13
使用京东读书划重点、复制内容
00:42
今日介绍 订单流模型,先说基础知识
00:19
WT9 软件使用宽语言编程
00:22
支持基于盘口数据的订单流策略研发
00:30
基于 K 线数据的趋势策略的研发
00:43
是基于盘口报价数据构建的算法交易模型
00:22
不需要调用 K 线图表的数据
00:19
仅以读取五档交易数据为核心
00:27
定义数据区
00:21
定义变量区域
00:36
主程序部分介绍
00:27
订单流模型展示-RB2505 合约作介绍
00:27
使用 浮动网格交易模型,时间是 2025年01月02日
00:24
使用的是该品种的TICK数据做研究
00:25
白盘数据只有 226 分钟
00:45
选择日期后模型开始运行
00:27
看到浮动网格交易模型中使用的网格
00:15
Ctrl + G 打开 模型回测报告
00:22
螺纹钢分配100万资金,资金使用率不高
00:22
单个品种,白盘做了34笔交易,频率比较高
01:02
一些朋友提出想看 WT9 软件说明书讲解视频
00:51
WT9 平台直接打开软件说明书
00:42
看到整个使用说明书的全貌
00:26
在线说明书由 4 个部分组成
00:21
说明书第一部分 策略的研发
00:39
说明书的第二部分 策略的组合配置
00:18
说明书的第三部分 策略的运行管理
00:15
下载 WT9 说明书
00:25
新版说明书越来越贴近实战交易
00:31
使用宽语言编程,类C语言的语法结构
00:46
新版说明书越来越贴近实战交易
00:31
使用宽语言编程,类C语言的语法结构
00:46
My 语言执行速度较慢
00:28
支持各类复杂策略的开发
00:41
支持基于盘口数据的订单流策略研发
00:27
基于K线数据的趋势策略的研发
00:45
支持编写算法下单组件
00:18
接管趋势策略的信号以及手动下单的委托
00:35
对下单委托进行精细化处理、智能分批下单
00:30
订单流模型的基本框架
00:16
订单流策略,是基于盘口报价数据构建的算法交易模型
00:14
不需要调用K线图表的数据,仅以读取五档盘口的委托数据
00:15
已成交数据和期货账户的委托状态、资金头寸等信息
00:16
自动完成分批、挂单、撤单等一系列交易步骤
00:17
订单流策略的模型框架
00:11
订单量策略一般分成三个主要的部分
00:11
定义数据区直接设置我们要交易的品种
00:30
许多趋势类模型不用定义数据区
00:22
定义变量区。出现了新的定义方式
00:34
订单流模型的 主程序部分
00:45
订单流模型的运行机制,共5条
00:13
订单流策略不支持定义参数
00:17
趋势类模型,参数是重要的部分
00:44
趋势类模型一般都有 LOSS 参数
00:30
不支持定义参数,很值得了解
00:24
策略不支持定义参数-值得深入研究
00:34
订单流策略不支持BK、SK、SP、BP、BPK、SPK信号指令
00:15
BK、SK、SP、BP、BPK、SPK 信号指令 介绍
00:27
BPK、SPK信号指令
00:49
BPK、SPK信号指令 - 双均线会用到
00:26
连续交易的时候,这两个指令经常连用
00:18
订单流模型中不使用这些指令如何进行交易?
00:24
通过下单委托函数A_SendOrder直接发委托
00:16
data0.A_SendOrder(BuyOrSell,EntryOrExit,Lot,Price, AccountID )
00:25
针对当前公式应用的交易账户,对data0合约发送委托单
00:13
A_SendOrder() 直接和交易数据绑定
00:31
策略不计算信号,根据条件直接发委托单
00:16
策略不计算信号 - 一种新的异常
00:19
支持在Tick图表上进行订单流模型动态回测
00:12
Tick图表 - 新的模型类型
00:37
操作方法
00:20
趋势策略是之前的主流交易策略
00:27
典型问题解答
00:26
宽语言编写教程
00:10
宽语言语法说明
00:17
系统函数的查看方法
00:12
700 多个系统函数才是核心部分
00:24
右上角菜单【量化】 函数列表
00:18
查看全部函数和详细说明,右键可导出文档
00:10
右上角菜单【量化】- 编写模型
00:13
在策略开发平台点击【插入】- 插入函数
00:10
在函数列表中查看函数
00:23
策略开发平台上双击蓝色的系统函数
00:10
点击右键 - 查找函数说明
00:10
什么是自定义函数
00:09
什么是自定义函数-有编程经验的朋友不会陌生
00:32
调用比较复杂的计算
00:14
函数又无法满足需要
00:52
创建自定义函数来实现
00:14
自定义函数的结构
00:25
主程序部分一定要有
00:16
编写自定义函数:软件右上角菜单【量化】- 编写自定义函数
00:14
编写规则
00:11
自定义函数语法介绍
00:16
自定义函数不能直接加载在图表上
00:13
只能在其他自定义函数或公式应用中调用
00:30
未经过编译保存的自定义函数不能在其他公式中被引用
00:13
未经过编译保存的自定义函数,不能在其他公式中被引用
00:31
提高效率,保护代码的一种负责
00:26
订单流模型、策略、算法,都是一个意思
00:55
订单流策略的模型框架 - 本章详细总结
02:06
宽语言编写教程 - 点开链接学习
00:28
订单流策略模型编写、机制说明
00:13
订单流策略模型编写、机制说明
00:16
算法下单组件编写、机制说明
00:19
订单流策略模型编写、机制说明 - 详细介绍
00:21
订单流策略模型,不需要调用K线图表的数据 - 介绍
00:31
订单流策略的结构
00:12
根据订单流数据,计算条件
00:22
发出 委托处理
00:10
模型的机制
00:09
模型根据从上至下,从左至右的顺序计算
00:09
同时满足条件时,以先计算出来的条件优先
00:13
模型计算频率:受盘口的行情数据与委托回报驱动
00:13
来一笔TICK或者收到一笔回报就计算一次
00:08
没有行情时每5秒驱动一次
00:08
计算频率极高的模型
00:10
通过下单委托函数A_SendOrder直接发委托
00:24
A_SendOrder( BuyOrSell,EntryOrExit,Lot,Price, AccountID )
00:22
针对当前公式应用的交易账户,对合约发送委托单
00:11
委托函数直接发单,不经过任何确认
00:16
并会在每次计算公式时发送,一般需配合仓位头寸进行条件处理
00:29
趋势模型可以通过 AddTimes 参数设置
00:29
回测机制
00:14
订单流策略支持在Tick图表上动态回测
00:23
软件提供仿真撮合机制
00:21
采用交易所的行情数据作为撮合基础
00:32
期货公司和交易所的交易机制
00:37
撮合成交的基础
00:36
仿真撮合机制
00:12
成交条件:买委托价 大于 最新价 或 卖委托价 小于 最新价,全部成交
00:17
委托价=最新价=买一价 或 委托价=最新价=卖一价,部分成交
00:15
成交价格:最新价
00:10
部分成交手数=委托手数 乘以 成交比例
00:27
买成交比例
00:21
仿真交易尽量与实战贴近
00:24
仿真交易需要根据实际成交量做判断
00:53
编写示例
00:16
订单流策略的编写重在各类数据的获取
00:29
Def_TickData定义数据区
00:10
用盘口数据编写订单流策略,首先要把用多少数据定义出来
00:13
否则只能使用当笔数据计算
00:13
定义数据区为最近5秒钟的tick数据
00:10
并取第一笔tick的卖一价
00:10
Var_TickData data0; 定义数据区变量
00:13
data0=Def_TickData(rb2501,0,5,1);
00:20
data0中装有5秒钟rb2501的tick数据
00:15
data0.State == 1
00:17
判断数据区是否达到设置的Tick容量
00:22
data0[0].Ask1;
00:23
取第一笔tick数据的卖一价
00:31
定义数据区为最近5笔tick数据,并取第一笔tick的卖一价
00:13
Var_TickData data0; 定义数据区变量
00:14
data0=Def_TickData(rb2501,1,5,1)
00:20
data0中装有5笔rb2501的tick数据
00:12
IF(data0.State == 1) 判断数据区是否达到设置的Tick容量
00:10
data0[0].Ask1; 取第一笔tick数据的卖一价
00:14
data0 是一个 对象
00:27
data0 同时保存数据 和 相关属性信息
00:38
定义数据区前必须先用Var_TickData定义数据区变量
00:14
再用Def_TickData定义tick数据区
00:10
并搭配State函数判断当前数据区是否已经满足设置的tick容量
00:32
Def_TickData(Code,Type,Num,SetBigVol)
00:17
第二个参数用于设置数据容量的形式
00:11
Type为0时,表示定义Num秒数据(最大60秒)
00:16
Type为1时,表示定义Num笔数据(最大200笔)
00:11
处理 60 秒以内的数据
00:31
Def_TickData定义数据区后,data0[0].为取第一笔数据
00:15
data0[Num-1].为取最后一笔数据
00:36
Price函数获取盘口数据
00:13
可通过data0.Price( Data )写法取指定合约的盘口数据
00:13
基础数据如:开盘价、最高价、最低价、最新价、成交量、持仓量
00:14
盘口数据如:买1价~买5价、买1量~买5量、总买
00:28
买卖价格和数量的区别
00:27
抬头数据如:沉淀资金、资金流向、60秒速涨、投机度、趋势度
00:11
抬头数据如
00:26
期权相关数据如:隐含波动率、历史波动率、溢价率、杠杆比率、内在价值
00:10
期权相关数据如:隐含波动率、历史波动率
00:22
同时读取两种数据
00:14
data0.Price( New )
00:18
data0.Price(New) 大于 data1.Price( New)
00:17
Commentary() 调试信息
00:14
Text() 文本函数
00:13
data0.Price(New) 字符串形式
00:20
两个字符串相加
00:18
运算符重载,连接两个字符串
00:18
生成两个合约的最新价,加入调试窗口
00:15
订单流策略,使用该函数时必须在Data区定义合约
00:17
必须在Data区定义合约
00:49
若Data区只定义了一个合约,可以不使用data0.的形式来调用,默认定义的唯一合约
00:23
Price 函数获取盘口数据极其强大
01:00
软件右上角菜单【量化】 编写模型,编写后保存 订单流策略
00:14
宽语言语法说明
00:38
宽语言语法的三个部分
01:15
宽语言的操作符
00:18
加法
00:21
减法
00:13
乘法
00:15
除法
00:14
并且运算
00:30
判断当前最高价是否大于价格,并且,最低价小于当前价格
00:20
或者运算
00:14
判断当前最高价是否大于价格,或者,最低价小于当前价格
00:40
大于运算
00:08
判断当前最高价是否大于当前价格
00:23
小于运算
00:11
判断当前最低价是否小于当前价格
00:23
大于等于运算
00:08
判断当前最高价是否大于等于当前价格
00:09
小于等于运算
00:08
判断当前最高价是否小于等于当前价格
00:08
不等于运算
00:11
判断当前最高价是否不等于当前价格
00:14
Close 不一定是收盘价
00:32
等于运算
00:12
等于运算 - 判断是否相等
00:18
为变量进行赋值
00:08
判断当前最高价是否等于当前价格
00:10
判断当前最高价是否等于当前价格,如果是把Num变量赋值为1
00:26
算数运算符
00:13
逻辑运算符
00:11
比较运算符
00:10
赋值运算符
00:07
关键字
00:17
模型结构关键字
00:15
定义数据区
00:11
定义数据区
00:12
定义数据区 - 交易合约
00:27
定义环境设置
00:09
定义环境设置,实现多样化的策略
00:29
实现多样化的策略
00:11
设置跨周期跨合约公式属性
00:10
跨周期设置
00:28
跨合约公式属性
00:17
Params
00:09
设置参数
00:25
必须填写默认值
00:11
定义变量
00:11
变量必须先定义后使用
00:11
可以赋初值,不赋初值系统自动填充初值
00:11
Begin
00:07
主程序开始
00:15
End
00:07
主程序结束
00:10
主程序结束
00:09
条件语句
00:12
Else
00:12
if-else 形成分支结构
00:10
For 循环
00:06
To
00:07
for - to 循环
00:12
DownTo
00:07
for - downto
00:17
While
00:07
While 和 for - to 的区别
00:26
Break
00:06
结束循环体
00:13
Continue
00:06
结束单次循环
00:17
Return
00:07
返回,不再向下执行
00:08
True
00:07
False
00:05
And
00:07
Or
00:08
And 和 Or 关键字来自 WH8
00:24
变量类型
00:07
分为数值型和字符串型
00:09
数值型临时变量
00:09
Numeric
00:15
数值型序列变量
00:09
NumericSeries
00:26
数值型数组
00:09
NumericArray
00:24
数值型引用(仅用于编写自定义函数)
00:09
NumericRef
00:16
数值型数组引用(仅用于编写自定义函数)
00:11
NumericArrayRef
00:11
数值型广域变量
00:07
Global_Numeric
00:18
数值型广域数组
00:07
Global_NumericArray
00:08
字符串型临时变量
00:07
String
00:17
字符串型数组
00:08
StringArray
00:12
字符串型引用(仅用于编写自定义函数)
00:09
StringRef
00:14
字符串型数组引用(仅用于编写自定义函数)
00:08
StringArrayRef
00:08
字符串型广域变量
00:07
Global_String
00:17
字符串型广域数组
00:07
Global_StringArray
00:13
宽语言数据类型比较丰富
00:18
引用(仅用于编写自定义函数)
00:14
枚举值
00:08
买卖状态枚举值
00:10
Enum_
00:18
Sig_
00:09
返回买卖状态的买入枚举值
00:10
返回买卖状态的卖出枚举值
00:11
返回开平仓状态的开仓枚举值
00:09
返回开平仓状态的平仓枚举值
00:14
返回开平仓状态的平今仓枚举值
00:08
开平仓状态的平今仓枚举值
00:27
委托状态枚举值
00:17
返回委托状态的全部成交枚举值
00:13
返回委托状态的部分成交枚举值
00:17
返回委托状态的委托发出枚举值
00:12
返回委托状态的委托成功枚举值
00:09
返回委托状态的委托无效枚举值
00:11
委托无效枚举值
00:20
返回委托状态的正在撤单枚举值
00:07
返回委托状态的已撤单枚举值
00:10
返回委托状态的已废除枚举值
00:13
信号枚举值
00:11
买开信号枚举值
00:09
卖开信号枚举值
00:07
卖平信号枚举值
00:06
买平信号枚举值
00:06
买平开信号枚举值
00:05
Sig_BPK
00:07
卖平开信号枚举值
00:09
Sig_SPK
00:14
期权枚举值
00:05
返回看涨期权的枚举值
00:06
Enum_CallOption
00:07
返回看跌期权的枚举值
00:08
Enum_PutOption
00:13
手动下单委托指令类型枚举值
00:07
返回普通单枚举值
00:08
返回FOK指令枚举值
00:13
返回FAK指令枚举值
00:12
枚举值相关内容很多
00:17
枚举值的本质就是常数
00:11
系统自定义的常数,我们无法操作
00:13
通过枚举值判断交易状态
00:14
订单流模型比较复杂,未必能全部执行好
00:20
通过枚举值了解执行状态
00:26
期权编程也是 宽语言 的重要功能
00:21
手动下跌也需要对状态有深入了解
00:23
宽语言的语法
00:18
模型关键字
00:19
Data:定义数据区
00:22
使用部分函数时需要在Data区定义合约
00:15
趋势类模型一般不用定义DATA
00:13
从而指定合约
00:24
Data区可定义多个合约
00:20
支持写入合约代码、文华码
00:18
期货合约支持使用中文名
00:15
在函数前使用data0.的形式来调用
00:16
其中data0为合约名称,需要使用双引号标注
00:18
若模型中Data区只定义了一个合约,则函数可以不使用data0.的形式来调用
00:13
默认定义的唯一合约
00:16
若模型中Data区定义了多个合约,则必须使用data0.的形式来调用
00:09
只有一个合约则可以直接操作
00:24
订单流策略,必须定义Data数据区
00:08
算法下单组件,可以不定义Data数据区,默认取图表中的合约
00:12
算法下单组件,与订单流模型、趋势模型都不同
00:16
定义数据区并对指定合约下单
00:09
定义数据区
00:16
定义数据区,指定合约为豆粕2501
00:13
A_SendOrder
00:15
用开盘价开多单
00:29
Setting:定义环境设置
00:08
定义环境设置,用于实现多样化的策略
00:10
与Params、Vars结构并列
00:10
写入结构任意位置都可生效,不受模型从上至下计算的限制
00:14
这几个模块都是程序的基础
00:20
关键字下需写入【计算控制函数】分类下的函数
00:10
AddTimes
00:10
Review_Data
00:08
计算控制函数
00:28
仅用于趋势策略模型
00:08
与Params、Vars结构并列,写入结构任意位置都可生效
00:17
不支持在订单流策略和算法下单组件中使用
00:09
不支持 在订单流策略 和 算法下单组件中使用
00:19
Review_Data 冒号 Tick
00:10
指定用逐笔数据计算
00:05
多读代码,查看 计算控制函数
00:16
Setting 设置对于提升代码复杂性,提升功能,帮助很大
00:20
ImPort:设置跨合约跨周期引用关键字
00:12
在ImPort字段下写入
00:11
#Call 设置跨合约
00:12
#ImPort 跨周期引用
00:09
#Call_Plus 跨合约、跨周期引用
00:09
#Call_Other函数 跨指标引用
00:08
跨合约引用案例
00:40
跨周期数据引用案例
00:25
跨指标引用案例
00:20
跨合约、跨周期引用可以发开其他类型模型
00:28
仅用于趋势策略模型,不支持在订单流策略和算法下单组件中使用
00:16
跨周期引用变量
00:20
#ImPort[Day,1,AA] AS Var1-----------------------引用日线上的趋势条件
00:09
#ImPort[Hour,2,AA] AS Var2----------------------引用小时周期上的趋势条件
00:09
Params:定义参数
00:06
一个模型只能有一个Params关键字,放在模型开始部分,在定义变量之前
00:12
参数类型:数值型(不能使用序列变量)
00:12
参数必须指定默认值
00:08
参数不可以使用赋值符号=赋值
00:11
仅用于趋势策略模型,不支持在订单流策略和算法下单组件中使用
00:11
Numeric N(5); -----------------------定义参数N,默认值为5
00:17
Vars:定义变量
00:09
一个模型只能有一个Vars关键字,放在模型开始部分,在定义参数之后,主程序开始之前
00:13
变量类型:数值型、字符串型;
00:14
变量可不指定默认值,默认值为0(数值型)或空串(字符串型);
00:17
变量可以在主程序使用赋值符号=进行赋值;
00:07
Numeric N1; -----------------------定义变量N1
00:10
String N3; -----------------------定义变量N3
00:07
NumericArray N4; ----------------------定义变量N4
00:06
Numeric 整数、浮点数 都可以表示
00:17
N4[0] = 1; ----------------------数组型赋值
00:18
主程序
00:07
返回值当根K线变化
00:23
主程序中模型语句从上至下、从左至右进行计算;
00:08
返回值写在指令前与写在指令后的区别
00:08
信号记录函数BKVOL
00:12
多根K线计算的指标
00:07
需要单独定义在条件外确保每根K线上都会计算
00:27
HH=HHV(Close,5);
00:09
If (AA 大于 0 && Ma(HH,5))
00:30
模型关键字
00:20
Data:定义数据区
00:24
Setting:定义环境设置
00:24
ImPort:设置跨合约跨周期引用关键字
00:25
Params:定义参数
00:21
Vars:定义变量
00:25
主程序
00:19
信号指令&委托函数
00:34
信号指令(仅支持趋势策略)
00:12
T+0指令
00:20
T+1指令
00:27
BK(买开)、SK(卖开)、SP(卖平)、BP(买平)、BPK(买平开)、SPK(卖平开)
00:21
BK(买开)
00:19
SK(卖开)
00:27
SP(卖平)
00:40
BP(买平)
00:41
BPK(买平开)
00:33
SPK(卖平开)
00:23
买入(Buy)
00:17
BK 和 Buy 的区别
00:13
卖出(Sell)
00:08
买入(Buy)、卖出(Sell)
00:09
BK(买开)、SK(卖开)、SP(卖平)、BP(买平)
00:19
BPK(买平开)、SPK(卖平开) 手数可以不同
00:41
股票交易支持T+0指令和T+1指令
00:21
支持以上8种信号指令
00:10
套利交易仅支持买开(BK)、卖平(SP)、卖开(SK)、买平(BP)
00:11
套利交易仅支持买开(BK)、卖平(SP)、卖开(SK)、买平(BP) ---
00:33
BK(N,Price);
00:18
N为建仓手数,不可缺省
00:15
Price为委托价格可以缺省
00:27
N为建仓数量,可以为固定正整数,也可以为变量,不可缺省
00:20
N写入0表示建仓数量为0;写入myvol,按照模型资金参数-开仓手数进行委托
00:17
写入myvol,按照模型资金参数-开仓手数进行委托
00:22
Price可以为具体数值,也可以为变量
00:12
Price 可以为 具体数值,也可以为变量
00:17
参数缺省时,按照账户-程序化参数-默认下单价格进行委托
00:15
Price超出K线的有效范围,回测时将会取最接近的有效价格为成交价
00:10
回测时将会取最接近的有效价格为成交价
00:22
信号指令只在图表上显示信号标识,不能下单委托
00:16
信号指令只在图表上显示信号标 识 , 不 能下单委托
00:21
模型类型
00:29
默认按一开一平信号过滤模型规则出信号
00:11
一开一平信号过滤模型
00:29
一开一平 信号过滤 模型
00:31
开平仓手数不同,为加减仓模型
00:09
开平仓手数不同,为加减仓模型
00:22
Setting字段下写入AddTimes为连续建仓模型
00:09
Setting字段下写入AddTimes 为连续建仓模型
00:11
写入AddTimes为连续建仓模型
00:20
发送委托单
00:29
支持订单流策略和算法下单组件
00:18
订单流策略
00:24
算法下单组件
00:21
A_SendOrder(BuyOrSell,EntryOrExit,Lot,Price,”AccountID”)
00:14
针对当前公式应用的交易帐户、合约发送委托单
00:11
当前公式应用的交易帐户、合约发送委托单
00:22
该函数不支持趋势策略使用
00:08
函数不支持趋势策略使用
00:19
订单流策略中支持回测
00:17
算法下单组件不支持回测
00:22
函数
00:08
函数的意义
00:23
Numeric Ma12;
00:15
Numeric SValue;
00:09
Ma12=Ma(Close,12); 计算12周期均价
00:11
计算12周期均价
00:14
SValue=Summation(Close,12);
00:14
计算12周期以来的收盘价的和
00:18
PlotNumeric(Ma12,Ma12);
00:10
PlotNumeric( SValue ,SValue);
00:09
PlotNumeric
00:13
两种不同类型的函数
00:12
系统函数
00:15
在策略开发平台中显示蓝色字体
00:16
如上面例子中的:Ma(求移动平均)
00:17
策略开发平台→插入→插入函数
00:14
可以查看详细的函数分类及函数说明
00:14
自定义函数
00:14
模型编写平台中显示红色字体
00:11
如上面例子中的Summation
00:19
自定义函数结构
00:12
参数定义语句;
00:14
变量定义语句;
00:21
脚本正文;
00:26
自定义函数的调用
00:17
自定义函数的调用 - 分三种方式
00:12
无参数
00:07
此类函数在编写自定义时没有定义参数的部分
00:23
所以在调用时也不需写入参数,直接写函数名即可
00:10
下面以AvgPrice为例,求当前周期的平均价格
00:11
Numeric AvgValue;
00:08
函数在编写自定义时没有定义参数 的部分
00:14
自定义函数的执行部分
00:10
AvgValue=AvgPrice();
00:12
AvgPrice() 自定义函数
00:19
PlotNumeric( AvgValue ,AvgValue);
00:08
有参数
00:10
此类函数在编写自定义时定义了参数个数和类型
00:13
需要根据定义时候的参数列表和顺序,输入相应的参数
00:15
以Summation为例,计算指定周期内的数值和
00:15
Numeric SValue;
00:08
SValue=Summation(Close,12);
00:08
计算12周期以来的收盘价的和
00:05
PlotNumeric( SValue ,SValue);
00:08
Summation() 调用介绍
00:34
数组类
00:19
数组类
00:15
NumericArray arr[10];
00:13
建立一个数组,长度为10
00:20
建立一个数组
00:22
Numeric i;
00:08
Numeric SValue ;
00:13
Begin
00:11
For i=0 To 9
00:08
For i = 0 To 9
00:13
arr[i]=Open[i];
00:15
依次存放0-9开盘价
00:14
SValue=SummationArray(arr);
00:08
SValue=SummationArray(arr);
00:12
PlotNumeric( SValue ,SValue);
00:11
运算控制语句
00:15
条件语句
00:14
If语句
00:11
If语句是一个条件语句,当条件(Condition)满足后执行公式语句
00:15
当条件(Condition)满足后执行公式语句
00:15
If (Condition)
00:08
If ( Condition )
00:15
公式语句;
00:18
当If体中的语句多于一条时,要用{}括起来
00:14
只有一条时,可括可不括
00:08
当If体中的语句多于一条时,要用{}括起来;只有一条时,可括可不括
00:14
If-Else语句
00:09
对条件(Condition)进行判断
00:08
如果条件满足执行If后的公式语句1
00:16
否则执行Else后的公式语句2。
00:12
如果条件满足执行If后的公式语句1,否则执行Else后的公式语句2。
00:24
在嵌套结构中会有多个If与多个Else关键字
00:12
每一个Else都应有对应的If相配对
00:14
原则:Else与其前面最近的还未配对的If相配对
00:09
Else与其前面最近的还未配对的If相配对
00:16
If-Else-If
00:10
当条件Condition1满足时,公式语句1将会被执行
00:10
当条件Condition1不满足时,将会继续判断条件Condition2
00:17
当满足条件Condition2时,公式语句2将会被执行
00:08
If ( Condition1 )
00:19
Else If(Condition2)
00:28
条件 语句
00:25
If语句是一个条件语句
00:19
If 语句是一个 条件语句
00:41
循环语句
00:09
For循环
00:11
For循环一般用于次数一定的循环思路
00:09
For语句为循环语句,重复执行某项操作,直至循环结束
00:10
循环变量为在之前已经定义的一个数值型变量
00:10
For To循环(从小到大)
00:08
For To循环(从小到大)
00:08
按照步长为 1 依次递增
00:08
重复执行循环体中的公式语句
00:13
初始值必须小于或等于结束值
00:11
For 循环变量 = 初始值 To 结束值
00:10
For 循环变量 = 初始值 To 结束值
00:14
公式语句 ;
00:09
For DownTo循环(从大到小)
00:09
For DownTo语句中循环变量从初始值每次递减 1直到等于结束值
00:13
重复执行循环体中的公式语句
00:08
初始值必须大于或等于结束值
00:06
For 循环变量 = 初始值 DownTo 结束值
00:08
For 循环变量 = 初始值 DownTo 结束值
00:12
For 循环变量 = 初始值 To 结束值
00:15
For 循环变量 = 初 始 值 DownTo 结 束 值
00:13
循环数组时,数组的下标不要超过总数量
00:11
While循环
00:10
While循环不像For循环那样有次数结束语句
00:12
适用于次数未知的循环思路
00:06
While语句在条件(Condition)为真的时候重复执行某一项操作
00:09
直至条件(Condition)为假时循环结束
00:07
While (Condition)
00:08
公 式 语 句 ;
00:09
While循环不像 For 循环那样有次数 结束语句
00:13
While 循环
00:19
Break 语句
00:11
Break语句用于结束循环
00:10
跳出循环体,执行循环之后的代码
00:07
循环在每次执行后,都将判断Condition的值
00:11
当Condition为True时,则执行Break语句
00:08
跳出整个循环,执行公式语句2
00:09
While (True)
00:08
While ( True )
00:24
Continue语句
00:06
Continue语句用于结束此次循环,进行下一次循环
00:09
循环在每次执行后,都将判断Condition2的值
00:10
当Condition2为True时,则执行Continue语句
00:10
跳过公式语句2
00:13
判断Condition1进入下一次循环
00:09
否则继续执行公式语句 2
00:06
While(Condition1)
00:10
If ( Condition2 )
00:19
两者的区别
00:19
增加了新的循环控制功能
00:12
条件语句,分支结构
00:22
三种结构可以执行任何任务
00:38
Return语句
00:08
Return的作用是从当前位置返回
00:07
不再执行Return后面的代码
00:05
循环在每次执行后,都将判断Condition的值
00:08
当Condition为True时,则执行Return语句
00:09
Return之后的代码都不再执行
00:06
Return语句 自定义函数使用较多
00:19
变量使用示例
00:10
临时变量
00:09
Numeric
00:12
String
00:23
NumericArray
00:17
StringArray
00:21
对临时变量的计算和赋值当次计算生效
00:15
15、如果不做赋值临时变量直接取变量的初始值
00:09
不做赋值临时变量直接取变量的初始值
00:21
变量直接取变量的初始值
00:18
具体在模型应用中,用k线数据回测那么当次计算指的是对某一根k线数据的计算过程
00:12
当次计算指的是对某一根k线数据的计算过程
00:27
某一根k线数据的计算过程
00:28
临时变量的赋值只对这一根k线数据的计算过程中生效
00:07
只对这一根k线数据的计算过程中生效
00:23
逐笔回测和盘中运行,当次计算指的是对某一笔数据的计算过程
00:16
临时变量只对一笔数据的计算过程生效
00:07
对某一笔数据的计算过程
00:34
临时变量只对一笔数据的 计算过程生效
00:29
如果当根K线为阳线则yang为1
00:14
如果当根K线为阴线则yin为1
00:09
Vars
00:13
Numeric yang;
00:07
Numeric yin;
00:05
Begin
00:07
IF (Open Close)
00:08
yang = 1;
00:05
IF (Open 大于 Close)
00:11
yin = 1;
00:06
End
00:13
序列变量(NumericSeries)
00:14
对一段k线数据回测,一根一根逐次计算过程中
00:12
如果当根K线计算对变量有赋值就取这个赋值结果
00:16
如果当根K线没有对变量进行赋值则取上一根k线的数值
00:14
序列变量,意义在于一段k线数据的每一根k线都有对应一个数据存储
00:14
序列变量本质上是一组数值或字符串
00:14
序列变量和WT8、金字塔等软件的全局变量概念是一致的
00:09
序列变量通常用于统计一段历史K线中满足某一条件的次数
00:10
统计截止当前历史K线中阳线的数量
00:12
NumericSeries UpNum;
00:17
If(Close 大于 Open)
00:08
UpNum = UpNum+1;
00:13
PlotNumeric(阳线的数量,UpNum);
00:23
广域变量
00:15
Global_Numeric
00:09
Global_String
00:08
Global_NumericArray
00:08
Global_StringArray
00:08
广域变量和C语言的内部变量的概念是一致的
00:15
在一个公式的多次计算过程中,广域变量的计算是延续
00:11
这次计算是在上一次的结果基础上进行
00:08
计算是在上一次的结果基础上进行
00:27
广域变量和临时变量的区别
00:08
在于一个公式的多次计算的整个过程中永久有效
00:08
广域变量和序列变量的区别
00:08
在于广域变量和一根一根的k线没有对应关系
00:36
通常用于算法下单或逐笔数据统计
00:11
在订单流策略中通过广域变量控制信号处理标识
00:13
控制满足条件时只下单一次
00:20
Data
00:07
data0 cu2411 ;
00:11
data0 cu2411;
00:25
Vars
00:09
Global_Numeric BKID; 买开委托
00:14
买开委托
00:23
Global_Numeric BKFLG;
00:10
买开标志
00:27
If(BKFLG == 0)
00:14
如果没有买开委托
00:07
BKID = data0.A_SendOrder()
00:15
data0.A_SendOrder()
00:18
data0.A_SendOrder(Enum_Buy,Enum_Entry,1,data0.Price(New))
00:16
发出买开委托
00:08
BKFLG = 1;
00:11
已发出买开委托
00:05
BKFLG == 1
00:16
F_OrderStatus(BKID) == Enum_Declared
00:18
如果买开委托的状态是委托成功
00:08
data0.F_DeleteOrder()
00:08
data0.F_DeleteOrder( )
00:31
F_OrderContractNo(BKID)
00:33
撤掉买开委托挂单
00:07
撤掉 买开 委托挂单
00:26
data0.F_DeleteOrder(F_OrderContractNo(BKID))
00:32
BKFLG = 2
00:13
已发出撤掉买开委托挂单
00:10
广域变量 使用示例
00:12
数据值可以改变,但不会丢失
00:18
在于一个公式的多次计算的整个过程中 永久有效
00:30
枚举值的用法
00:10
枚举值的 用法
00:17
通用语言 和 专用语言
00:27
交易型的语言和通用语言有明显区别
00:10
枚举值 语言本身的一部分
00:14
交易状态是语言的一部分
00:13
订单量模型对交易控制十分严格
00:18
作为函数的参数
00:07
A_SendOrder()
00:08
Enum_Sell
00:12
Enum_Exit
00:11
data0.F_BuyRemainPosition()
00:10
data0.Price( bid1)
00:10
对当前公式应用的交易账户对应合约发出卖平仓委托
00:09
客服
顶部
赛事库 课堂 2021拜年纪