以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助] 这条语句为何不执行?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=53235)

--  作者:clant
--  发布时间:2013/6/20 16:37:29
--  [求助] 这条语句为何不执行?

GLOBALVARIABLE:前高:=0,xx:=0;
  前高:=if( MACD>0.5 AND VA2 AND VA2!=UU,MACD,0);
 

if 前高!=0  then xx:=前高;


--  作者:jinzhe
--  发布时间:2013/6/20 16:41:45
--  

我写的不对?


--  作者:clant
--  发布时间:2013/6/20 16:42:31
--  
xx 变量 没有值
--  作者:jinzhe
--  发布时间:2013/6/20 16:48:12
--  

GLOBALVARIABLE:前高:=0,xx:=0;
  前高:=if( c>o,1,0);
 

if 前高!=0  then xx:=前高;
xxx:xx;

 

 

 

用这样的公式测试,XX是有值的

楼主的公式没有值,说明前高没有值,说明判断条件有问题


--  作者:clant
--  发布时间:2013/6/20 17:13:31
--  

前高是值的。帮我看下下,谢谢。

 

 

代码如下:

 

//----MACD-----
DIF:EMA((CLOSE+h+l)/3,12)-EMA((CLOSE+h+l)/3,26);
DEA:EMA(DIF,9);
MACD:DIF;
STICKLINE(MACD>=0,MACD,0 ,5,0) ,COLORred;
STICKLINE(MACD<0,MACD,0 ,5,0 ),COLORGREEN;
STICKLINE(MACD>0 AND MACD<REF(MACD,1),MACD,0,5,0),COLORYELLOW;
STICKLINE(MACD<0 AND MACD<REF(MACD,1),MACD,0,5,0),COLORBLUE;

 

//-----变量声明----
GLOBALVARIABLE:前高:=0,前低:=0,xx:=3;
VARIABLE:前高MACD值仓库[1]=0, 前低MACD值仓库[1]=0;

 

//------高低点计算------
VA1:=HHVBARS(MACD,BARSLAST(MACD<0)+1);
VA2:=CROSS(BACKSET(CROSS(0,MACD),REF(VA1,1)+2),0.5);
VA3:=LLVBARS(MACD,BARSLAST(MACD>0)+1);
VA4:=CROSS(BACKSET(CROSS(MACD,0),REF(VA3,1)+2),0.5);
QG:=CROSS(BACKSET(CROSS(0,MACD) OR (ISLASTBAR AND MACD>0),REF(VA1,1)+2),0.5);

终点:=IF(ISLASTBAR AND MACD>0 AND MACD=HHV(MACD,BARSLAST(MACD<0)),1,IF(FILTERX(QG,BARSCOUNT(C)),2,DRAWNULL));
UU:=(终点=1 OR 终点=2) AND MACD>0;

 

//--------获取MACD前高---------

DRAWTEXT(MACD>0.5 AND VA2 AND VA2!=UU,(MACD/10)*9,\'前\'),COLORWHITE;
DRAWTEXT(MACD>0.5 AND VA2 AND VA2!=UU,MACD/10,\'高\'),COLORWHITE;

 

//--------获取MACD前低---------
DRAWTEXT(MACD<-0.5 AND VA4 AND VA4!=UU,(MACD/10)*9,\'前\'),COLORWHITE;
DRAWTEXT(MACD<-0.5 AND VA4 AND VA4!=UU,MACD/10,\'低\'),COLORWHITE;

GLOBALVARIABLE:前高:=0,xx:=0;

  前高:=if( MACD>0.5 AND VA2 AND VA2!=UU,MACD,0);

if 前高!=0 then xx:=333333333;


//xxx:xx1;
//xxx0:xx2;
//if 前高=0 then xx:=前高+1;
 //xx:=if(前高=0,drawnull,前高);
  //DRAWTEXT(xx=0,(MACD/10)*9,\'xxxxxxxxxxx\'),COLORWHITE;
//IF(前高!=0,前高,100000000);

 

[此贴子已经被作者于2013/6/20 17:14:07编辑过]

--  作者:王锋
--  发布时间:2013/6/20 18:05:02
--  
没看懂楼主要表达的意图,可否详细告知你要求的目的与效果