以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  如何编写一个小时线和周线同时出现金叉开仓买入的公式?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=155159)

--  作者:pingia
--  发布时间:2017/6/16 11:03:00
--  如何编写一个小时线和周线同时出现金叉开仓买入的公式?
参考了一些帖子,试了好多品种,但是都没有出现条件的买入信号,不知道是哪里的问题,麻烦论坛的朋友帮忙看看,代码如下:
 
INPUT:P(12,5,40,4),S(26,20,100,8),M(9,2,60,6);
DIFF:EMA(CLOSE,P) - EMA(CLOSE,S);
DEA:EMA(DIFF,M);
MACD := 2*(DIFF-DEA), COLORSTICK;

DIFF_WEEK: "MACD.DIFF#WEEK"(26,12,9),COLORBROWN,LINETHICK1;
DEA_WEEK: "MACD.DEA#WEEK"(26,12,9),COLORBLUE,LINETHICK1;




//小时线金叉和死叉
GOLD_X_HOUR := CROSS(DIFF,DEA);
DEAD_X_HOUR:=CROSS(DEA,DIFF);

//周线金叉和死叉
GOLD_X_WEEK := CROSS(DIFF_WEEK,DEA_WEEK);
DEAD_X_WEEK:=CROSS(DEA_WEEK,DIFF_WEEK);

//开多单条件
BUY_LONG:= GOLD_X_HOUR and GOLD_X_WEEK;


if  BUY_LONG THEN
BEGIN
//买5手多单
   BUY(BUY_LONG, 5, THISCLOSE);
END

--  作者:wenarm
--  发布时间:2017/6/16 11:33:08
--  

INPUT:P(12,5,40,4),S(26,20,100,8),M(9,2,60,6);
DIFF:EMA(CLOSE,P) - EMA(CLOSE,S);
DEA:EMA(DIFF,M);
MACD := 2*(DIFF-DEA), COLORSTICK;
GOLD:=CROSS(DIFF,DEA);
DEAD:=CROSS(DEA,DIFF);

上面部分单独一个公式,公式名自己定义好,这里我定义的是mymacd。为下面的公式引用时使用。

 

 

这个是第二个公式。
hour_GOLD_cond:STKINDI(\'1A0001\',\'mymacd.GOLD\',0,5);//金叉
hour_DEAD_cond:STKINDI(\'1A0001\',\'mymacd.DEAD\',0,5);

week_GOLD_cond:STKINDI(\'1A0001\',\'mymacd.GOLD\',0,7);//金叉
week_DEAD_cond:STKINDI(\'1A0001\',\'mymacd.DEAD\',0,7);

if hour_GOLD_cond and week_GOLD_cond then BEGIN
  SELLSHORT(1,HOLDING,THISCLOSE)
  BUY(1, 5, THISCLOSE);


end


--  作者:pingia
--  发布时间:2017/6/16 12:33:31
--  
以下是引用wenarm在2017/6/16 11:33:08的发言:

INPUT:P(12,5,40,4),S(26,20,100,8),M(9,2,60,6);
DIFF:EMA(CLOSE,P) - EMA(CLOSE,S);
DEA:EMA(DIFF,M);
MACD := 2*(DIFF-DEA), COLORSTICK;
GOLD:=CROSS(DIFF,DEA);
DEAD:=CROSS(DEA,DIFF);

上面部分单独一个公式,公式名自己定义好,这里我定义的是mymacd。为下面的公式引用时使用。

 

 

这个是第二个公式。
hour_GOLD_cond:STKINDI(\'1A0001\',\'mymacd.GOLD\',0,5);//金叉
hour_DEAD_cond:STKINDI(\'1A0001\',\'mymacd.DEAD\',0,5);

week_GOLD_cond:STKINDI(\'1A0001\',\'mymacd.GOLD\',0,7);//金叉
week_DEAD_cond:STKINDI(\'1A0001\',\'mymacd.DEAD\',0,7);

if hour_GOLD_cond and week_GOLD_cond then BEGIN
  SELLSHORT(1,HOLDING,THISCLOSE)
  BUY(1, 5, THISCLOSE);


end

 

 

朋友 谢谢你,不过不知道为什么我测了好多品种都没信号,是不是这个条件有点不合逻辑啊。


--  作者:pyd
--  发布时间:2017/6/16 13:00:43
--  
1A0001这是什么品种?
--  作者:wenarm
--  发布时间:2017/6/16 13:02:23
--  
hour_GOLD_cond:STKINDI(\'\',\'mymacd.GOLD\',0,5);//金叉
hour_DEAD_cond:STKINDI(\'\',\'mymacd.DEAD\',0,5);

week_GOLD_cond:STKINDI(\'\',\'mymacd.GOLD\',0,7);//金叉
week_DEAD_cond:STKINDI(\'\',\'mymacd.DEAD\',0,7);

if hour_GOLD_cond and week_GOLD_cond then BEGIN
  SELLSHORT(1,HOLDING,THISCLOSE)
  BUY(1, 5, THISCLOSE);


end

 

补充足够的日线数据。


--  作者:pingia
--  发布时间:2017/6/16 14:37:47
--  
以下是引用wenarm在2017/6/16 13:02:23的发言:
hour_GOLD_cond:STKINDI(\'\',\'mymacd.GOLD\',0,5);//金叉
hour_DEAD_cond:STKINDI(\'\',\'mymacd.DEAD\',0,5);

week_GOLD_cond:STKINDI(\'\',\'mymacd.GOLD\',0,7);//金叉
week_DEAD_cond:STKINDI(\'\',\'mymacd.DEAD\',0,7);

if hour_GOLD_cond and week_GOLD_cond then BEGIN
  SELLSHORT(1,HOLDING,THISCLOSE)
  BUY(1, 5, THISCLOSE);


end

 

补充足够的日线数据。

 

你确定这样写行么?得到的hour_GOLD_cond 值不是0或1哦,


--  作者:wenarm
--  发布时间:2017/6/16 14:52:56
--  

金叉和死叉在第一个公式中已经做了。

引用时这个金叉死叉对应的周期上的条件。符合就1不符合就是0 。同时成交,就是你说的要求