以文本方式查看主题

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

--  作者:huo88
--  发布时间:2018/8/27 8:10:34
--  模型先后顺序怎么区分?
比如,先破30均线,MACD再死叉,出场
--  作者:wenarm
--  发布时间:2018/8/27 8:28:19
--  
barslast可以分别返回两个条件成立时到当前的周期,进而得到谁先谁后。
--  作者:huo88
--  发布时间:2018/8/27 8:50:57
--  
不会用,那麻烦老师帮写,先C<ma(c,30),后MCD死叉,多单平仓
--  作者:wenarm
--  发布时间:2018/8/27 9:28:43
--  

可以直接写成

if C<ma(c,30)  and macd金叉 then  begin

     开平语句;

 

end


--  作者:FireScript
--  发布时间:2018/8/27 9:29:47
--  
 参考一下代码:
A:BARSLAST(c<ma(c,30));//最近一次c<ma30距离现在的周期长度
B:BARSLAST(macdsc);//最近一次macd死叉距离现在的周期长度

if holding>0 and a>b then sell(1,holding,market);


--  作者:huo88
--  发布时间:2018/8/27 11:21:39
--  
macdscAA显示未定义的变量
--  作者:FireScript
--  发布时间:2018/8/27 11:25:49
--  
 那个要你自己去定义的啊。我只是简单写了下。

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD1 : 2*(DIFF-DEA);

macdsc:cross(dea,diff);

补充下 死叉的定义就可以了。

--  作者:huo88
--  发布时间:2018/8/27 11:50:45
--  
做出来的效果没有对,E:BARSLAST(c<ma(c,60));//最近一次c<ma30距离现在的周期长度
F:BARSLAST(cross(DEA,DIFF));//最近一次macd死叉距离现在的周期长度
G:E>F;
D:BARSLAST(c>ma(c,60));//最近一次c<ma30距离现在的周期长度
I:BARSLAST(cross(DIFF,DEA));//最近一次macd死叉距离现在的周期长度
J:D>I;

--  作者:huo88
--  发布时间:2018/8/27 11:51:24
--  
这个大于号是表示先后吗?
--  作者:FireScript
--  发布时间:2018/8/27 12:05:15
--  
 不是先后,就是简单大于的意思。