以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  如何控制DEBUGFILE的输出?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=149078)

--  作者:gzx888
--  发布时间:2017/3/14 14:47:13
--  如何控制DEBUGFILE的输出?
    flag:=1;
    If close>open and flag=1 then begin//若当前K线是阳线,且之前flag=1,则开多仓。
buy(CLOSE>open,10,CLOSE);
    
    DEBUGFILE(\'C:\\交易信号2.TXT\',\'       买入价格=\'&numtostr(CLOSE,5),0);
    Flag:=flag+1;//flag=2             
End

If close<open and flag=2 then begin//若当前K线是阴线,且之前flag=2,则平多仓。
sell(close<open,10,THISCLOSE);
    Flag:=1; //重置flag到初始状态
End
--------------------------------------------------------------
按照我的理解是  :当满足条件后 ,FIAG加1后等于2了,只有平仓之后,FLAG才会重置为1的状态。
也就是在平仓之前,BEGIN......END之间的语句只会执行1次

可为什么DEBUGFILE(\'C:\\交易信号.....)不停的输出?

想知道如何才能控制   DEBUGFILE(\'C:\\交易信号.....)这个语句只执行一次?

--  作者:jinzhe
--  发布时间:2017/3/14 14:50:50
--  
用走完k线下单模式
--  作者:gzx888
--  发布时间:2017/3/14 15:02:18
--  
以下是引用jinzhe在2017-3-14 14:50:50的发言:
用走完k线下单模式 


请讲的具体些,怎么样设置成   走完K线下单模式?
另外请教下,如果是  写突破的话,比如说   今天的最高价>昨天最高价   就BUY.....  一般情况下,成交的价格就等于昨天的最高价,
如果等K线走完的话,那么成交价格则成了第二天的开盘价了,这样是没有办法准确的控制自己开仓的价格的,因为第2天的开盘谁也不知道会开在什么地方啊,是集合竞价出来的


--  作者:gzx888
--  发布时间:2017/3/14 15:19:13
--  
我已经改成
走完k线下单模式   了
  可是依然   输出了N多个信号?

2017-03-14 15:15:01.934           买入价格=1.06440
2017-03-14 15:15:04.937           买入价格=1.06432
2017-03-14 15:15:07.940           买入价格=1.06436
2017-03-14 15:15:08.938           买入价格=1.06436
2017-03-14 15:15:10.944           买入价格=1.06432
2017-03-14 15:15:11.938           买入价格=1.06431
2017-03-14 15:15:41.453           买入价格=1.06440

--  作者:jinzhe
--  发布时间:2017/3/14 15:35:08
--  

If close>open and flag=1 then begin//若当前K线是阳线,且之前flag=1,则开多仓。

buy(CLOSE>open,10,CLOSE);
    
  if time<>extgbdata(\'time\') then begin
       DEBUGFILE(\'C:\\交易信号2.TXT\',\'       买入价格=\'&numtostr(CLOSE,5),0);
       extgbdataset(\'time\',time);
  end
End
 
这样写,用extgbdataset这个后台全局变量来限定,注意这个函数不能用在图表交易做交易相关用
[此贴子已经被作者于2017-3-14 15:35:15编辑过]