以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  麻烦请老师帮忙将文华的转换成金字塔的代码。谢谢  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=184958)

--  作者:小白
--  发布时间:2021/3/30 14:29:31
--  麻烦请老师帮忙将文华的转换成金字塔的代码。谢谢
A1:=REF(C-O,2); 
A2:=VALUEWHEN(DATE<>REF(DATE,1),REF(SETTLE,1)); 
A3:MA(A1/A2,5),NODRAW,NOTEXT; 
A4:=REF(O,BARSBK+1); 
A5:=REF(O,BARSSK+1); 
A6:=(A4/L>=1.013);
 A7:=(H/A5>=1.013);
 A8:MA(CLOSE,26),NOTEXT;
 A9:=STD(CLOSE,26); 
AUTOFILTER;
[此贴子已经被作者于2021/3/30 14:30:39编辑过]

--  作者:FireScript
--  发布时间:2021/3/30 15:03:27
--  
其他部分不是问题,但是这里 这个函数:SETTLE
无法转换的。我们没有当日结算价这个函数。 我们只有昨结算。 不同软件直接函数功能支持情况不一样。

--  作者:小白
--  发布时间:2021/3/30 17:35:18
--  settle这个没有对应的类似的?
那老师可以麻烦下帮我先将其它写出来么!至于settle,我到时候看看能不能用别的代替。谢谢了
--  作者:FireScript
--  发布时间:2021/3/31 9:08:02
--  
其实除了结算价那个,其他部分都差不多。

结算价那个用其他方式处理下,需要跨周期进行调用:
首先新建一个单独的指标A,用作调用的指标。
指标A代码:
//以下代码在1分钟上计算有效,其他周期请跨周期调用
n1:=todaybar;
dm:=4-INTPART(LOG(C));
结算价:ROUNDS(IF(sum(vol,n1)=0,C,sum(C*vol,n1)/sum(vol,n1)),2+dm),colorred;


当前交易模型:
SETTLE:=STKINDI(\'\',\'A.结算价\',0,1,0);//调用结算价

A1:=REF(C-O,2);
A2:=VALUEWHEN(DATE<>REF(DATE,1),REF(SETTLE,1));
A3:MA(A1/A2,5),NODRAW;
A4:=REF(O,TYPEBAR(1,1)+1);
A5:=REF(O,TYPEBAR(1,3)+1);
A6:=(A4/L>=1.013);
A7:=(H/A5>=1.013);
A8:MA(CLOSE,26);
A9:=STD(CLOSE,26);

注意你需要保证当前品种的1分钟周期数据充足。否则结算价那个计算就不准了,本来那个也只是近似计算结算价,如果数据不足就偏差更大了。

--  作者:小白
--  发布时间:2021/3/31 10:18:30
--  好的,谢谢老师。只能1分钟周期吗?
只能1分钟周期吗?5分钟,10分钟,30分钟如何跨周期调用?
--  作者:FireScript
--  发布时间:2021/3/31 10:21:32
--  
 结算价那个只能1分钟上计算。但是你这个你不用管,跨周期调用函数里面已经指定好为1分钟了。