以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [原创请问如何实现开仓时信号出现后3秒下单,但是平仓时等下一根K线再下单?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=48611)

--  作者:tsycd
--  发布时间:2013/2/17 16:40:58
--  [原创请问如何实现开仓时信号出现后3秒下单,但是平仓时等下一根K线再下单?

日内股指1分钟模型(不会闪烁),请问如何实现开仓时信号出现后3秒下单,但是平仓时等下一根K线再下单?谢谢


--  作者:jinzhe
--  发布时间:2013/2/18 9:16:59
--  

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=2183&skin=0

信号延时,搜索到的


--  作者:tsycd
--  发布时间:2013/2/19 10:34:45
--  
 

老师好!

我用图表模式做日内股指1分钟模型(平仓信号会闪烁),请问如何实现平仓时信号出现后10秒下单?谢谢

下面的方法我可以用在图表模式吗?

谢谢

以下是引用admin在2010-7-25 1:05:01的发言:

本示例以后台自动交易的方式,展现了金字塔实现延迟信号确认的工作原理。

本代码可以实现3天现上穿5天线后,15秒等待信号确认后,再发开仓单。

请选择固定时间间隔模式运行后台自动交易,间隔时间设为1秒

本公式会在运行时产生很多临时数据,请用户再第二天交易前清空这些历史变量,否则会导致与第二天的临时变量冲突。方法 工具菜单-》数据-》全局变量,进去后,选择“清空”按钮

MA1:=MA(CLOSE,3);
MA2:=MA(CLOSE,5);

CROS:=CROSS(MA1,MA2);

CROS2:=CROSS(MA2,MA1);


BUY1:=FALSE;

IF ISLASTBAR THEN
BEGIN
IF CROS THEN
BEGIN
//将当前信号周期置全局变量数据库
//数据名字前加信号周期,标记周期位置
CRTEMP:=\'TEMP1\'&NUMTOSTR( BARPOS, 0);

//读取原有变量的时间,判断是否到延时时间
BUYTIME1:=EXTGBDATA(CRTEMP);
BUYTIME2:=TIMETOT0(CURRENTTIME);
DEBUGOUT(\'D1 %.0f\',BUYTIME1);
IF BUYTIME1 > 1 THEN //第一次信号的原数据库读取会得到0值
BEGIN
DEBUGOUT(\'D2 %.0f\',BUYTIME2 - BUYTIME1);
IF BUYTIME2 - BUYTIME1 > 15 THEN
BEGIN
//大于15秒的延迟,表示信号已经得到确认
BUY1:=TRUE;
END
END
ELSE
BEGIN
//第一次信号位置记录
EXTGBDATASET(CRTEMP,TIMETOT0(CURRENTTIME));
END
END
ELSE
BEGIN
//否则表示信号中间消失了
CRTEMP:=\'TEMP1\'&NUMTOSTR( BARPOS, 0);
EXTGBDATASET(CRTEMP,0);
END
END

TBUY(BUY1,1,MKT);
TSELL(CROS2,0,MKT);


--  作者:jinzhe
--  发布时间:2013/2/19 10:38:27
--  

这个是后台的,图表不能这么玩


--  作者:tsycd
--  发布时间:2013/2/19 15:02:31
--  
图表该怎么玩呢?谢谢老师
--  作者:jinzhe
--  发布时间:2013/2/19 15:15:07
--  

这个在图表实现不了的,必须要用后台