以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]请金字塔专家帮助解答一策略编写问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=58589)

--  作者:skylands
--  发布时间:2013/11/11 7:33:03
--  [求助]请金字塔专家帮助解答一策略编写问题
请教策略编写过程中遇到的问题:

要表达:当价格突破某根均线时,次根K收盘价未回破就买入,或者次根K盘中突破前根(即突破K)最高价时也买入。
应该如何表达才最合适?

我采用了如下方法表达:

MAN:=MA(CLOSE,N);
AA:=CLOSE>MAN AND CLOSE<=REF(HIGH,1);
BB:=HIGH>REF(HIGH,1);

//交易条件
KDPK:=REF(CROSS(CLOSE,MAN),1) AND (AA OR BB);          //开多平空条件

//交易系统
KD:BUY(KDPK AND HOLDING=0,30%,MARKET);                  //开多信号

但是,我在测试时发现后一种情况都是以次根K的收盘价成交的,而我希望的是以突破K的最高价附近报单的。我想问题可能出在BB:=HIGH>REF(HIGH,1);
具体问题有:
1. 当根K运行过程中价格突破前根最高价时买入,应该如何表达?
2. 假如按照我编的HIGH>REF(HIGH,1),若本周期内最高价突破前高后又回来,然后又突破,系统是如何处理的?
3. 当我们说突破均线(或某个价位)时,是用cross函数,还是用>号?

急切渴望专家高手的帮助,先行谢过!



--  作者:jinzhe
--  发布时间:2013/11/11 9:25:31
--  

1.market好好看下函数解释,想要指定价格就不要用market,用limitr+一个指定想要的下单价格

 

2.系统会判断k线形成后结果,k线形成后,判断结果是不是H>REF(H,1),中间发布发生其他情况不予考虑

 

3.用cross


--  作者:skylands
--  发布时间:2013/11/11 9:45:05
--  
请以您的专业来帮助我表达如下诉求:
当价格突破某根均线时:
1. 次根K收盘价未回破,以该根K收盘价报单买入;   OR
2. 次根K盘中突破前根K(即突破K)最高价时,以该最高价报单买入




--  作者:jinzhe
--  发布时间:2013/11/11 9:54:59
--  

1.收盘价未回破如何定义?最高价有没有突破?

2. h>ref(h,1) and l<ref(h,1)


--  作者:skylands
--  发布时间:2013/11/11 10:08:49
--  
收盘价未回破指:突破K的次根K收盘价在均线和突破K最高价之间。这时以收盘价报买单,那么BUY里面似乎以market下单最合适,但若用market,第二种情况突破前高时似乎就不适用(系统等K线走完才判断最高价?)

你写的 l<ref(h,1)是什么意思?   

--  作者:jinzhe
--  发布时间:2013/11/11 10:25:56
--  

盘中突破,反过来理解就是最低价没有突破前高但是最高价肯定是突破前高

 

 


--  作者:jinzhe
--  发布时间:2013/11/11 10:27:10
--  

还有这个突破时的触发价金字塔是取不到的

行情中用limitr,close来下单,实盘下单会按照当时触发时的价格下单(固定1秒轮询模式之下),但是信号和测评会按照当根k线收盘价来处理


--  作者:skylands
--  发布时间:2013/11/11 10:46:00
--  
明白了你写的 l<ref(h,1)的意思了,l是low对吧? 
实际上,次根收盘价若低于均线,就不不视为突破,就不操作了,故我的意思可能 CLOSE>MAN AND CLOSE<=REF(HIGH,1)更贴切?
我上传了附件,用K线图例子说明我的意图。烦请帮助解决,除了买入条件,还请把完整的BUY表达出来。请多费神,谢谢


--  作者:skylands
--  发布时间:2013/11/11 10:48:08
--  
见附件例子
图片点击可在新窗口打开查看此主题相关图片如下:买入条件.jpg
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2013/11/11 11:05:25
--  
MAN:=MA(CLOSE,N);
AA:=CLOSE>MAN AND CLOSE<=REF(HIGH,1);
BB:=HIGH>REF(HIGH,1);

//交易条件
KDPK:=REF(CROSS(CLOSE,MAN),1) AND (AA OR BB);          //开多平空条件

//交易系统
KD:BUY(KDPK AND HOLDING=0,30%,thisclose);                  //开多信号
 
这样改,改成thisclose,盘中触发后按照触发价下单,这个是做不到了