西部金融网校>程序化交易培训>正文

程序化交易信号消失的处理方法

无论是在TB模型或是文华交易模型的编写时对于新手来讲可能都会遇上交易信号消失的困惑,为什么信号会消失或闪烁?如何来处理交易信号消失呢?西部金融网校就此问题做一个简单的讲解,更多专业的教学请参见《文华程序化编程教程》第三章内容。

一、信号消失的原因:

我们在编写策略或交易模型时常经会用到收盘价函数CLOSE(简写为C),这个C在历史数据测试时为收盘价,而在当前交易时为最新价,因为K线的收盘价就是K线的最后一笔交易价嘛,所以这个概念大家要能理解。

既然C是当前K线的最新价数据然而无论是用C制做出来的均线系统还是突破系统在没有经过特别处理前所发出的信号都有可能消失或闪烁,原因很简单因为C在盘中是一个变量,随着价格的变化交易的条件时而成立,又时而不成立,因此就出现了信号的反复消失与闪烁。

二、交易信号消失的处理方法:

文华财经程序化交易中有一个选项叫“当K线走完再发出交易指令”将其钩选。意思是说信号在K线走完下一个K线出现的瞬间再发出信号,将实际交易的条件向后延迟,其道理是K线走完后收盘价C则不会再变化,交易条件成立与否已完全确定。这种模型则称其为收盘价交易模型。

那么在TB程序化软件中则并没有收盘价这么一个说词,更没有"当K线走完再发出交易指令的选项,那么我们又该如何处理信号消失的问题呢?其实并不难,西部金融网校在多个教学文章中提到有两种方法:

1、等条件成立后信号出现到下一个K线的开盘价上,其实盘意义等同于前一个K线的收盘价,因为在行情连续竟价时前一个K线的收盘价是等于当前K线开盘价的,因此效果等同。具体实现方法参见编程教程。

2、制做成指令价交易模型,所谓的指令价交易模型是指在K线价格变化时,及k线中的任意一个价位都有可能发单交易的模型。一般这种模型适用于日内短线交易,但制做较为麻烦。首先要排除程序化中的C涵数或者将其固化,以H或L做为交易条件成立的触点,而在TB中可以计算条件成立时的价格,按成立时的价格发单以达到更精准的交易结果。例:h > ref(h,1),bk; l<ref(l,1),sp;这是最为简单的指令价模型示例。





  • 咨询电话:029-86357984
  • 技术支持:18966736851
  • 市场营销:13619150813
  • 神话:46416815智冠:1356107194