Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共18 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:策略信号发生改变

1楼
king2366 发表于:2018/2/23 9:33:58

螺纹钢主力连续,15分钟周期,图表程序化交易,走完一根K线模式(设置见图3)。

2月22日9:15的K线上策略平多开空信号成立,在9:30的K线上开启策略,由于没有多单,系统自动进行开空下单,所有账户均已成交(通过图2,系统中调出的下单日志可以看出)。

这个期间,信号一直没有发生改变,且晚上20:00已重启电脑,重新进入系统,信号一直是对的。

2月22日22:20 正在图表程序化交易中,9:15K线上的信号突然发生改变,变成9:45K线上的平多开空信号(见图1)。


图片点击可在新窗口打开查看此主题相关图片如下:图片1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:图片2.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:图片3.jpg
图片点击可在新窗口打开查看
2楼
gxx978 发表于:2018/2/23 9:44:17

重启电脑后,你图上加载的K线数量是否发生了变化?如果你的条件对K线数量比较敏感的话,加载的K线数量不同,那信号也可能会发生变化的。可以通过指定K线开始时间,严格固定住K线数量,或开启程序化前,输出barpos看下当前加载的K线数量是多少。

3楼
king2366 发表于:2018/2/23 9:46:35
夜盘重启电脑,加载K线的数量检查过,都是对的。策略当中需要调用的数据,一直都是调全的,检查策略上三个信号都准确无误。
4楼
gxx978 发表于:2018/2/23 10:10:58

引起历史上的信号发生变化的可能因素是K线的起始位置发生变化,或者是引用了未来数据,例如是小周期引用大周期这类情况。如果你的条件中有用到EMA或引用MACD指标或小周期引用大周期数据,这种情况对数据的敏感度更高。可以指定K线的开始时间,严格限定K线的起始位置,再使用debugfile输出各个条件的值,记录下历史上各个条件满足时候的值是多少,看后面是否发生变化,若发生了变化,方便查找原因。

[此贴子已经被作者于2018/2/23 10:11:34编辑过]
5楼
king2366 发表于:2018/2/23 10:28:23
你好,请问,debugfile输出各个条件的值,这个函数要怎么应用?
6楼
gxx978 发表于:2018/2/23 10:41:03

举例说明:

MA3:MA(C,3);

MA5:MA(C,5);

BK:= CROSS(MA3,MA5);

BP:= CROSS(MA5,MA3);

 

debugfile('D:\test.txt','MA3的值=%.2f',MA3);

debugfile('D:\test.txt','MA5的值=%.2f',MA5);

debugfile('D:\test.txt','BK的值=%.2f',BK);

debugfile('D:\test.txt','PK的值=%.2f',PK);

 

以上就是输出这4条语句的值,你可以根据需要输出你需要那个值是多少,记录下条件满足的时候,各个条件的值是多少。

7楼
king2366 发表于:2018/2/23 11:09:53

DATETOD1970(DATE)<DATETOD1970(1140401)

请问这句表达出来是什么意思?
8楼
gxx978 发表于:2018/2/23 11:15:06

a:DATETOD1970(DATE)<DATETOD1970(1140401);

若K线的日期距离1970年1月1日的天数小于14年4月1日距离1970年1月1日的天数,则a返回的值是1,否则为0。

[此贴子已经被作者于2018/2/23 11:17:50编辑过]
9楼
king2366 发表于:2018/2/23 11:29:17
那如果在if语句中加入这句代码,以今天的日期来看,这句if语句就不会执行了是吗?
10楼
gxx978 发表于:2018/2/23 11:31:48
是的,说明条件不满足。
共18 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03320 s, 2 queries.