以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  跨周期开仓条件  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=174218)

--  作者:thomasv
--  发布时间:2020/2/10 0:38:05
--  跨周期开仓条件
版主,我想写如下的开仓条件:我的操作周期是15分钟。当价格突破4小时和1小时布林上轨的时候,如果这个时候15分钟也突破布林上轨,则开仓。
这种跨周期的开仓条件应该如何写。

--  作者:wenarm
--  发布时间:2020/2/10 8:31:59
--  

被引用策略  

公式1:

MID:  MA(CLOSE,26);//布林中轨
UPPER: MID + 2*STD(CLOSE,26);//布林上轨
LOWER: MID - 2*STD(CLOSE,26);//布林下轨
REF_UPPER: REF(UPPER,1);//因为涉及到小引大,会造成信号闪烁,建议向前引用一根数据作为信号条件。

 

 

当前公式:

MID:  MA(CLOSE,26);//布林中轨
UPPER: MID + 2*STD(CLOSE,26);//布林上轨
LOWER: MID - 2*STD(CLOSE,26);//布林下轨


 

4hour:stkindi(\'\',\'公式1.REF_UPPER\',0,24,4);
1hour:stkindi(\'\',\'公式1.REF_UPPER\',0,24,4);

IF CLOSE>4HOUR AND CLOSE>1HOUR AND CLOSE>UPPER THEN BEGIN
 BUY(HOLDING=0,1,MARKET);
END

 


--  作者:thomasv
--  发布时间:2020/2/10 16:55:52
--  
版主,关于你写的1hour:stkindi(\'\',\'公式1.REF_UPPER\',0,24,4) , 其中倒数第二个参数24表示自定义N小时线,但是我看到好像5表示60分钟,所以为什么不是用5。最后一个参数4是什么意思,没看明白
--  作者:wenarm
--  发布时间:2020/2/10 17:02:24
--  

笔误了,应该是1.

1hour:stkindi(\'\',\'公式1.REF_UPPER\',0,24,1);


--  作者:thomasv
--  发布时间:2020/2/10 20:31:55
--  
版主,还是不理解参数24和1的含义,其中参数24表示自定义N小时线,但是我看到好像5表示60分钟,所以为什么不是用5
--  作者:wenarm
--  发布时间:2020/2/10 21:10:34
--  
都一样,个人使用习惯而已。你可以按你的思路修改。
--  作者:thomasv
--  发布时间:2020/2/10 21:18:53
--  
或者说,可以写成这样吗,等待日线和小时的突破

日线周期:stkindi(\'\',\'公式1.REF_UPPER\',0,6,1);
1小时周期:stkindi(\'\',\'公式1.REF_UPPER\',0,5,1);
--  作者:thomasv
--  发布时间:2020/2/10 21:27:28
--  
IF CLOSE>4HOUR AND CLOSE>1HOUR AND CLOSE>UPPER THEN BEGIN
 BUY(HOLDING=0,1,MARKET);
END

版主,这里的close是指当下周期这根k柱的收盘价吧,那我在选择模式的时候应该是用走完一根K线。
如果我想判断当下的价格是否已经突破日线和小时线,可以用high(多)或者low(空)来表示当下的价格来做比对吗。

--  作者:wenarm
--  发布时间:2020/2/10 22:14:38
--  
以下是引用thomasv在2020/2/10 21:18:53的发言:
或者说,可以写成这样吗,等待日线和小时的突破

日线周期:stkindi(\'\',\'公式1.REF_UPPER\',0,6,1);
1小时周期:stkindi(\'\',\'公式1.REF_UPPER\',0,5,1);

1小时周期:stkindi(\'\',\'公式1.REF_UPPER\',0,5,1); ==>  1小时周期:stkindi(\'\',\'公式1.REF_UPPER\',0,5);

最后一个参数,Num变量说明:
1、当PERIOD周期<=19,Num为左右偏移周期个数(可选),0表示引用当前数据,小于0为引用之前数据,大于0为引用之后数据;
2、当PERIOD周期>=20和<=24时,Num为自定义N周期的具体数字

 

版主,这里的close是指当下周期这根k柱的收盘价吧,那我在选择模式的时候应该是用走完一根K线。
如果我想判断当下的价格是否已经突破日线和小时线,可以用high(多)或者low(空)来表示当下的价格来做比对吗。

答:close是当前k线周期的收盘价,盘中最新k的close就是最新价。和您用什么模式运行策略没有关系。

可以使用HIGH或者low作为因子项,看你个人对条件定义的需求。没有强制要求,也没有对错之分。

 

 


--  作者:thomasv
--  发布时间:2020/2/10 23:09:34
--  
感谢之前的回复。我把您写的拷贝到程序里,结果在编译过程中,公式1下方的mid的左边会有个黄色的箭头,报错函数"mid:ma"未定义,这个我需要额外定义吗。我上传了报错图片,不知道您看不看的到