以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  若干问题的求助  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=147617)

--  作者:investstudy
--  发布时间:2017/2/9 22:33:41
--  若干问题的求助

版主及各位侠士:

你们好!

先祝各位鸡年大吉。

我有几个问题向大家请教。

1、先开后开问题。

现象:先开多单,但还没出现平多信号时,又出现了开空信号。此时应该开空单(也就是此时持仓中出现了对冲单)。

实践中:程序运行后,到了开空信号时,竟然没开空——还好后续是多头行情,逃过一劫且不用将空单止损,但这是程序化不可容忍的事情。

(事实上也会出现先开空单,还没出下平空信号,又出现了开多信号)

我的执行语句顺序如下:

判断持多单——是,则平多

判断持空单——是,则平空

判断无持仓——是,出现开多信号则开多单

判断无持仓——是,出现开空信号则开空单

请问这种现象如何解决

2、金字塔的时间怎么会出现18点这种现象。是软件设置问题,还是需要程序里自行配置?

3、我在TB系统中,出现的一个问题在我目前的金字塔系统中还没出现,但我想咨询一下:

TB系统中的语句也是收盘价出现信号进行相关操作,但运行中出现了信号(瞬时,还没到收盘时间,例如13点44分59秒是15分钟K的收盘时间,但在该K中间出现了信号,但收盘时该信号应该是不触线的),竟然执行了程序语句,进行了操作。请问咱们金字塔也会出现这种情况吗?

若第三个问题看不懂,请留言,我在详细阐述。

 

此致敬礼!

多谢版主!

 

[此贴子已经被作者于2017-2-9 22:35:37编辑过]

--  作者:wenarm
--  发布时间:2017/2/10 8:48:24
--  

1.图表程序化交易不支持锁仓,必须开仓前先平反手仓位。

2.用holding控制,holding=0表示没有仓位,holding>0表示多头持仓,holding<0表示空头持仓

3.软件默认采用金字塔时区,比北京时区快4小时,根据交易苏规定夜盘和次日日盘为一天数据,这样处理便于用户程序交易。

可以在工具--选项--视图中修改为北京时间

4.信号的触发下单,和你选择的运行模式有关,你可以看下走完一根K和固定时间间隔的详细说明。

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=5224

 

[此贴子已经被作者于2017-2-10 8:52:47编辑过]

--  作者:investstudy
--  发布时间:2017/2/10 10:30:45
--  
感谢大师。还有疑问,请答疑:

//如果空仓,则按照开多条件进场
IF HOLDING=0 THEN BEGIN
IF (K<1 AND KDTJ) THEN
BEGIN
多开:BUY(1,2,LIMITR,CLOSE);
K:=K+1;
DTRCJG:=ENTERPRICE;
JC:=0;
END
END

大师你好,我的意思是:当符合开多条件,想以收盘价建仓。看了你此贴中关于固定轮询和走完K线的帖子后更加疑惑了。特此询问。
就以我的意思为准:
当符合开多条件,想以收盘价建仓

请问我的语句里是否正确
多开:BUY(1,2,LIMITR,CLOSE);

多开:BUY(1,2,MARKET,CLOSE);——该语句表达的如何?

多开:BUY(1,2,THISCLOSE);——该语句又表达的如何?

以上语句是不是固定轮询模式表达。假设我想改为下一个K的开盘价建仓,又该如何表达呢?
多谢大师!





--  作者:wenarm
--  发布时间:2017/2/10 11:14:11
--  
多开:BUY(1,2,MARKET,CLOSE);——该语句表达的如何?

多开:BUY(1,2,THISCLOSE);——该语句又表达的如何?

语法错误,

市价是不需要指定价格。多开:BUY(1,2,MARKET)

第二个这个属于限价    多开:BUY(1,2,LIMITR,THISCLOSE);

你可以看下函数说明中buy的详细说明。

简单的说,如果想出现信号后立即成交采用,固定时间间隔的方式

如果需要出现信号后,在下根k建仓,就用走完一根K的方式

 


--  作者:pyd
--  发布时间:2017/2/10 11:16:35
--  

1,BUY(1,2,MARKET,CLOSE);这个是错误的写法; 市价BUY(1,2,MARKET);限价是BUY(1,2,limitr,CLOSE);

2, BUY(1,2,LIMITR,CLOSE); 固定是信号触发时的最新价报单

    BUY(1,2,THISCLOSE),信号触发时的对手价报单

图表程序化交易启动界面选择固定轮询或走完一根k线


--  作者:pyd
--  发布时间:2017/2/10 11:23:40
--  

buy(1,1,limitr,c);走完k线是上根k收盘价报单

buy(1,1,limitr,o);走完k线是上根k开盘价报单

buy(1,1,limitr,o);固定轮询是本根k开盘价报单

可以自己用模拟测试下


--  作者:investstudy
--  发布时间:2017/2/10 11:42:59
--  
感谢版主。
对于您的话,我能以下解读不知对否?

一般来说不涉及到收盘(14点59分59秒),使用市价market是不错的选择,小周期的跳空比较小。
若使用指定价交易,一旦出现跳空就不太好了,很容易无法成交。


第二个问题:
假设某日我外出,发现有了信号(建仓信号或加仓信号),就进场做多,回来后启动金字塔程序——当然此时信号已经错过。

1、信号错过后,金字塔还会继续操作嘛。例如某日连续出现5个K都符合条件,我是第一个K进场建仓或加仓,然后第三个K启动的金字塔,请问金字塔还会继续建仓或加仓?

2、我人工操作建仓加仓若干多单(或空单),然后启动金字塔后,出现了平多信号。请问金字塔是将多单全部平仓?

再次感谢,有些问题对于您来说,可能是重复了成千上万遍,但请你理解!



--  作者:investstudy
--  发布时间:2017/2/10 11:49:40
--  
上一个回复内容不全,以此内容为准!

感谢版主。
对于您的话,我能以下解读不知对否?

一般来说不涉及到收盘(14点59分59秒),使用市价market是不错的选择,小周期的跳空比较小。
若使用指定价交易,一旦出现跳空就不太好了,很容易无法成交。

第二个问题:
固定轮询和走完K线,到现在我一直有个“误解”,不知道是否我钻了牛角尖。
走完K线,以收盘价操作,BUY(1,1,LIMITER,CLOSE)
请问,都走完K线了,怎么以收盘价操作?若以收盘价操作,怎么又是走完K线呢?
或者这么问吧:例如13点44分59秒999毫秒是该K走完的时间信号。那么在999毫秒成交就叫做收盘价操作?但是在该时点操作时,算是收盘价?
我是不是有点钻牛角尖了?图片点击可在新窗口打开查看图片点击可在新窗口打开查看


第二个问题:
假设某日我外出,发现有了信号(建仓信号或加仓信号),就进场做多,回来后启动金字塔程序——当然此时信号已经错过。

1、信号错过后,金字塔还会继续操作嘛。例如某日连续出现5个K都符合条件,我是第一个K进场建仓或加仓,然后第三个K启动的金字塔,请问金字塔还会继续建仓或加仓?

2、我人工操作建仓加仓若干多单(或空单),然后启动金字塔后,出现了平多信号。请问金字塔是将多单全部平仓?

再次感谢,有些问题对于您来说,可能是重复了成千上万遍,但请你理解!


--  作者:pyd
--  发布时间:2017/2/10 13:49:05
--  

走完k是:本根k线走完下跟k线生成那一刻去检测上根k线是否满足条件下单,

例如13点44分的k线信号要到1345分k线出现那一刻去检测1344分k线去报单,

buy(1,1,limitr,o);走完k线是上根k开盘价报单,是指1344分k线的收盘价。

1,错过了就不会建仓

2,手工开的仓图表程序化不会去平仓

 


--  作者:investstudy
--  发布时间:2017/2/10 14:56:09
--  

走完k是:本根k线走完下跟k线生成那一刻去检测上根k线是否满足条件下单,

例如13点44分的k线信号要到1345分k线出现那一刻去检测1344分k线去报单,

buy(1,1,limitr,o);走完k线是上根k开盘价报单,是指1344分k线的收盘价。

*********************************************************************************************

版主:感觉你这个语句写错了,应该是BUY(1,1,LIMITR,C)


sellshort(1,holding,market)——这个是次K的开盘价操作

我想改为sellshort(1,holding,limitr,close)——本K的收盘价交易——真的能?尤其是14点59分59秒那个时间点?

版主,有点钻牛角尖了。

我先了解一下,实盘时,那就没办法了,拿资金去验证呗——玉米!


1,错过了就不会建仓

*****************************

收到。



2,手工开的仓图表程序化不会去平仓

**************************************************

版主,结合1、错过了就不会建仓和手开的程序化不平仓。那么在某个区间内我只能手工盯盘了?程序化没法发挥作用了?


举个例子:我2000点手开建仓,到了2050出现了加仓信号——请问此时程序化不会自动加仓吧,只能人工加仓?

然后到了2100出了平仓信号,那么我在2000和2050的仓位,也只能人工平仓了?

那么程序化和手动的交集在什么时候才能分开呢(手动离场,程序化进场)?