以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请版主帮忙实现一个亏损比例的代码  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=155299)

--  作者:leelatan
--  发布时间:2017/6/21 15:23:09
--  请版主帮忙实现一个亏损比例的代码


5分钟周期


如果某根K线的收盘价高于当前的收盘价,就认为那根K线的所有买入者(成交量)都是亏损的。

编一个指标,统计过去10根K线的所有成交量,按当前价计算,亏损的比例是多少。


以上代码如何实现?谢谢

--  作者:pyd
--  发布时间:2017/6/21 15:38:41
--  

1,某根k指多少周期范围内的k?

2,过去10根k的所有成交量和当前k成交量的比亏损比例?


--  作者:leelatan
--  发布时间:2017/6/21 15:43:44
--  
是先比价格,根据价格定是否亏损:如果过去某根K线的收盘价高于当前K线价格,就认为那根k线的成交量是亏损的。

比如过去的10根K线,有3根的成交量是亏损的,把这3根K线的成交量加起来,除以10根K线的总成交量,就得到了亏损比例。

要计算的就是这个亏损比例。

--  作者:wenarm
--  发布时间:2017/6/21 18:03:33
--  

根据你上述的需要表达,无法很友好的实现,只能采用下列方式处理掉。逐根比较计算范围内的值,并且必须在序列模式下。

my_sum:=0;

 

if ref(c,1)>close then my_sum:=my_sum+ref(VOL,1);
if ref(c,2)>close then my_sum:=my_sum+ref(VOL,2);
if ref(c,3)>close then my_sum:=my_sum+ref(VOL,3);
if ref(c,4)>close then my_sum:=my_sum+ref(VOL,4);
if ref(c,5)>close then my_sum:=my_sum+ref(VOL,5);

aa:sum(VOL,5);
bbb:my_sum/sum(VOL,5);

 

for循环由于必须使用数组参与,只能定位到一组数据。 

//for i=1 to 5 do begin
//   if close[DATACOUNT-i]>close[DATACOUNT] then  my_sum:=my_sum+VOL[DATACOUNT-i];
//end