以文本方式查看主题

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

--  作者:xuxu7890
--  发布时间:2018/10/24 15:50:46
--  编写一个公式
 怎样使同一均线下  ,信号只出现一次那,  打个比方   20日均线价格下,如果信号出现了一次,则成立,  如果收盘价始终在20日均线下,则第二个信号不成立,直到收盘价在20日均线上 之后 下一个信号在价格在20日均线下才成立  ,  也就是说  每一段20日均线价格下只出现一次信号,收盘价在没超过20日均线上时,只有一个信号不出现第二个信号  谢谢
--  作者:FireScript
--  发布时间:2018/10/24 16:11:53
--  
 直接用cross函数就行了啊。

cross(ma20,c)满足的时候就是你要的结果。cross不会连续出现的。注意这里用的是ma20 上传c的。

--  作者:wenarm
--  发布时间:2018/10/24 16:12:00
--  

1.如果是交易策略可以在开仓语句中增加holding=0的条件,这样只会开一次。

2.如果不是交易策略,可以通过全局变量处理。范例如下:

VARIABLE:flag=-1;
ma20:ma(c,20);
if close<ma20 and  flag=-1 then BEGIN
 DRAWICON(1,LOW,6);
 flag:=1; 
end

IF C>MA20 AND flag=1 THEN BEGIN
 DRAWICON(1,LOW,7);
 flag:=-1; 
END