Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:请帮忙写一个公式

1楼
order 发表于:2014/7/4 9:24:36
请帮忙写一个macd红绿柱面积公式
macd是有连续红柱和连续绿柱组成,呈现出正弦波浪形,请写一下,MACD一段连续红绿柱子的数字之和。【每根柱子都有一个数值,没一段连续大于等于3根连续红/绿柱子之和】
谢谢
[此贴子已经被作者于2014/7/4 9:24:50编辑过]
2楼
jinzhe 发表于:2014/7/4 9:43:46

s:=12;
p:=26;
m:=9;

DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  : =EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA);
nn1:barslast(macd1>0);

nn2:barslast(macd1<0);
ss1:=sum(macd1,ref(nn2+1,1));
ss2:=sum(macd1,ref(nn1+1,1));
if macd1<0 and ref(macd1>0,1) then ss:=ss1;

if macd1>0 and ref(macd1<0,1) then ss:=ss2;

3楼
order 发表于:2014/7/4 10:07:45
刚刚倒入了,倒入之后原有的MACD红绿柱子消失了,仅仅有折线的存在。 是否可以实现MACD原有的线不变,只是在红绿柱转换附近写一个长度之和的数值。这样看起来就非常的直观了。 可以实现吗?
比如连续红柱转绿柱之后,在破零轴那里写一下之前连续的红柱数值之和。但是原有的红绿柱还是存在的。
4楼
jinzhe 发表于:2014/7/4 10:10:25

runmode:0;
s:=12;
p:=26;
m:=9;

DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  : =EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA),colorstick;
nn1:barslast(macd1>0);

nn2:barslast(macd1<0);
ss1:=sum(macd1,ref(nn2+1,1));
ss2:=sum(macd1,ref(nn1+1,1));
if macd1<0 and ref(macd1>0,1) then ss:=ss1;

if macd1>0 and ref(macd1<0,1) then ss:=ss2;

sss:ss;

5楼
order 发表于:2014/7/4 10:16:36
嗯现在比较直观了,但是这个数值累计之后比较大。有些是道了50了。这样图形现在出来会把红绿柱给缩小的无法看清。 是否可以求和值不用线表示,直接显示数值就可以了。 原有的macd刻度不变。这样是否可以呢?
6楼
jinzhe 发表于:2014/7/4 10:24:14

最后一句改成

sss:ss,linethick0;

7楼
order 发表于:2014/7/4 10:46:21
还是不行。。。不显示数值,还是显示计算红绿柱的值的线。 这个线是否可以去掉,只显示连续红柱的和?
8楼
jinzhe 发表于:2014/7/4 10:49:17

runmode:0;
s:=12;
p:=26;
m:=9;

DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  : =EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA),colorstick;
nn1:=barslast(macd1>0);

nn2:=barslast(macd1<0);
ss1:=sum(macd1,ref(nn2+1,1));
ss2:=sum(macd1,ref(nn1+1,1));
if macd1<0 and ref(macd1>0,1) then ss:=ss1;

if macd1>0 and ref(macd1<0,1) then ss:=ss2;

sss:ss,linethick0;

9楼
order 发表于:2014/7/4 11:20:49
我导入之后不显示数值之和哦~
10楼
jinzhe 发表于:2014/7/4 13:12:37
sss
共12 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.04199 s, 3 queries.