以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  WH8 的模型 要转化为 金字塔  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=172801)

--  作者:1835710088
--  发布时间:2019/11/4 10:42:41
--  WH8 的模型 要转化为 金字塔
如下文华 WH8 的模型 要转化为  金字塔 ,要怎样转化,谢谢

MA5:MA(C,5),COLORWHITE;
MA10:MA(C,10),COLORYELLOW;
SET:SETTLE,DASHDOT,COLORCYAN;


DK:=CROSS(MA5,MA10) OR CROSS(SET,MA5);
KK:=CROSS(MA10,MA5) OR CROSS(MA5,SET);
DK,BPK;//买平后买开新仓
KK,SPK;//卖平后卖开新仓
C<=BKPRICE*0.97,SP;//
C>=SKPRICE*1.03,BP;//
SETDEALPERCENT(10);//按资金比例10%下单
AUTOFILTER;//启用一开一平信号过滤机制。

{AUTOFILTER 启用一开一平信号过滤机制。:
1、连续的同方向指令只有第一个有效,其他的将被过滤;
2、交易指令必须先开仓后平仓,一开一平配对出现:
出现BK指令,下一个指令只允许出现SP\\SPK指令;
出现SK指令,下一个指令只允许出现BP\\BPK指令;
出现SP/BP/CLOSEOUT等平仓指令,下一个可以是BK/SK/SPK/BPK指令任一个;
反手指令SPK和BPK交叉出现。}

--  作者:1835710088
--  发布时间:2019/11/4 11:11:56
--  
如同时要调取跨周期  2小时 的MA5  MA10   SET  的数据要怎样表达?谢谢
--  作者:FireScript
--  发布时间:2019/11/4 11:27:37
--  
 参考下:

MA5:MA(C,5),COLORWHITE;
MA10:MA(C,10),COLORYELLOW;


n1:=todaybar;
dm:=4-INTPART(LOG(C));
结算价:=ROUNDS(IF(sum(vol,n1)=0,C,sum(C*vol,n1)/sum(vol,n1)),2+dm),colorred;
SET:结算价,COLORCYAN;


DK:CROSS(MA5,MA10) OR CROSS(SET,MA5);
KK:CROSS(MA10,MA5) OR CROSS(MA5,SET);
if dk  then
begin
sellshort(holding<0,holding,market);
buy(holding=0,10%,market),PERTRADER;     
end

if KK  then
begin
sell(holding>0,holding,market);
buyshort(holding=0,10%,market),PERTRADER;     
end

SKPRICE:=ENTERPRICE;
sell(C<=SKPRICE*0.97 and holding>0,holding,market);
sellshort(C>=SKPRICE*1.03 and holding<0,holding,market);


不过只支持在1分钟上运行,其他周期的话,需要额外处理下结算价的那个部分才行。你先在1分钟上看下基本思路符不符合吧。

--  作者:1835710088
--  发布时间:2019/11/4 11:33:57
--  
如同时要调取跨周期  2小时 的MA5  MA10   SET  的数据要怎样表达?谢谢



--  作者:FireScript
--  发布时间:2019/11/4 13:12:54
--  
 跨周期调用的话,请参考下stkindi函数 的函数说明。也有说明帖如下:
http://www.weistock.com/bbs/dispbbs.asp?boardid=17&id=162644&page=1&star=1 


--  作者:1835710088
--  发布时间:2019/11/18 19:31:05
--  
n1:=todaybar;
dm:=4-INTPART(LOG(C));
结算价:=ROUNDS(IF(sum(vol,n1)=0,C,sum(C*vol,n1)/sum(vol,n1)),2+dm),colorred;

你好,你说上述的只支持在1分钟上运行,其他周期的话,需要额外处理下,请问如要在15分钟周期也想等到   结算价   数据要怎样表述?  

--  作者:FireScript
--  发布时间:2019/11/19 8:49:28
--  
 请看五楼的回复。
只需要这部分代码单独放在一个指标里面,然后进行调用即可。五楼的那个帖子里面有范例的。