9qihuo.com
我们只提供有用的干货

公式编写求助 (文华财经)

投资者咨询:公式编写求助 (文华财经)
来源:文华财经  日期:2020-8-15 2:04


图片点击可在新窗口打开查看
图片点击可在新窗口打开查看 文件名:gh.png

请求帮忙写一个MACD的公式

如图  

在MACD红色柱子下降到最高点一半的时候划白线并声音报警

在MACD蓝色柱子上升到最低点一半的时候划白线并声音报警

在MACD红色柱子下降到最低点又重新升高到最低点的120%(最少要超过0.2数值)时划黄线并声音报警(最低点回调画线必需是在最高点的一半以下才能触发)

在MACD蓝色柱子上升到最高点又重新下降到最高点的120%(最少要超过0.2数值)时划黄线并声音报警(最高点回调画线必需是在最低点的一半以上才能触发)

划黄线以后        以黄线后的最高点为准计算下一个划白线的地方

谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢


         
技术人员回复
日期:2020-8-15 9:12
分析了一下 您的思路,无法完全实现的,无法根据黄线位置重新画白线,并且需要用到未来函数

未来函数与声音函数连用不能出声音,这里您加载看下

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
M1:=BACKSET(REFX(SC,1),HHVBARS(MACD,N1)+1);
A:=CROSS(MACD<=0.5*VALUEWHEN(CROSS(M1,0.5),MACD),0.5);
DRAWSL(SC,REF(MACD,BARSLAST(A)),0,-BARSLAST(A),0,COLORMAGENTA);

M2:=BACKSET(REFX(JC,1),LLVBARS(MACD,N2)+1);
A1:=CROSS(MACD>=0.5*VALUEWHEN(CROSS(M2,0.5),MACD),0.5);
DRAWSL(JC,REF(MACD,BARSLAST(A1)),0,-BARSLAST(A1),0,COLORWHITE);

B:=CROSS(BACKSET(REFX(JC,1),HHVBARS(MACD,BARSLAST(CROSS(M2,0.5))+1)+1),0.5);
B1:=MACD<VALUEWHEN(B,MACD)*1.2&&BARSLAST(B)<BARSLAST(A1)&&MACD<0&&BARSLAST(B)<N2,NODRAW;
DRAWSL(JC&&COUNT(JC,BARSLAST(B1)),REF(MACD,BARSLAST(B1)),0,-BARSLAST(B1),0,COLORYELLOW);

BB:=CROSS(BACKSET(REFX(SC,1),LLVBARS(MACD,BARSLAST(CROSS(M1,0.5))+1)+1),0.5);
BB1:=MACD>VALUEWHEN(BB,MACD)*1.2&&BARSLAST(BB)<BARSLAST(A)&&MACD>0&&BARSLAST(BB)<N1;
DRAWSL(SC&&COUNT(SC,BARSLAST(BB1)),REF(MACD,BARSLAST(BB1)),0,-BARSLAST(BB1),0,COLORYELLOW);

投资者咨询:公式编写求助 (文华财经)
来源:文华财经  日期:2020-8-15 2:04
您编写的这个有未来函数吗?

还有画线能画成像我上面图 上的竖线吗

您这个是横着的

竖线能一直画到K线图上吗


趋势回调      对比的是前面的最高最低点+20%(最少要超过0.2数值)
这个不是已经发生的事情吗  
技术人员回复
日期:2020-8-15 16:27
您的思路需要用到未来函数才能够判断的,在一段红色和蓝色区间内

如果想要取到最大MACD和最小的MACD,是需要用未来函数判断

另外,画线是无法将主图和副图贯穿的,如果改成竖线,参考:

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;
N2:=BARSLAST(SC)+1;
M1:=BACKSET(REFX(SC,1),HHVBARS(MACD,N1)+1);
A:=CROSS(MACD<=0.5*VALUEWHEN(CROSS(M1,0.5),MACD),0.5);
VERTLINE(A,COLORWHITE);
M2:=BACKSET(REFX(JC,1),LLVBARS(MACD,N2)+1);
A1:=CROSS(MACD>=0.5*VALUEWHEN(CROSS(M2,0.5),MACD),0.5);
VERTLINE(A1,COLORWHITE);
B:=CROSS(BACKSET(REFX(JC,1),HHVBARS(MACD,BARSLAST(CROSS(M2,0.5))+1)+1),0.5);
B1:=MACD<VALUEWHEN(B,MACD)*1.2&&BARSLAST(B)<BARSLAST(A1)&&MACD<0&&BARSLAST(B)<N2,NODRAW;
VERTLINE(B1,COLORYELLOW);
BB:=CROSS(BACKSET(REFX(SC,1),LLVBARS(MACD,BARSLAST(CROSS(M1,0.5))+1)+1),0.5);
BB1:=MACD>VALUEWHEN(BB,MACD)*1.2&&BARSLAST(BB)<BARSLAST(A)&&MACD>0&&BARSLAST(BB)<N1;
VERTLINE(BB1,COLORYELLOW);

投资者咨询:公式编写求助 (文华财经)
来源:文华财经  日期:2020-8-15 2:04
您看可以帮忙写个简单的

macd红蓝每个山峰高点的标注具体数值

每个山峰形成过程中 每个柱子超过前高 前面那个柱子数值消失 显示现在这个更高的柱子数值 直到山峰走下坡路后数值固定

技术人员回复
日期:2020-8-16 8:19
参考:

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);

HH:=BACKSET(SC||ISLASTBAR,HHVBARS(MACD,BARSLAST(JC))+1);
DRAWNUMBER(CROSS(HH,0.5),MACD,MACD,2,COLORRED);
LL:=BACKSET(JC||ISLASTBAR,LLVBARS(MACD,BARSLAST(SC))+1);
DRAWNUMBER(CROSS(LL,0.5),MACD,MACD,2,COLORCYAN),VALIGN0;
投资者咨询:公式编写求助 (文华财经)
来源:文华财经  日期:2020-8-15 2:04
能不能更改设置下显示DIFF和DEA数值不显示  只显示MACD数值  可以吗

图片点击可在新窗口打开查看
图片点击可在新窗口打开查看 文件名:qqq.png
技术人员回复
日期:2020-8-16 10:16

参考:

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26),NOTEXT;
DEA  : EMA(DIFF,9),NOTEXT;
MACD:2*(DIFF-DEA),COLORSTICK;
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);

HH:=BACKSET(SC||ISLASTBAR,HHVBARS(MACD,BARSLAST(JC))+1);
DRAWNUMBER(CROSS(HH,0.5),MACD,MACD,2,COLORRED);
LL:=BACKSET(JC||ISLASTBAR,LLVBARS(MACD,BARSLAST(SC))+1);
DRAWNUMBER(CROSS(LL,0.5),MACD,MACD,2,COLORCYAN),VALIGN0;

投资者咨询:公式编写求助 (文华财经)
来源:文华财经  日期:2020-8-15 2:04
使用8体验版 可以付费帮忙编写交易公式吗   想试试可不可以用  行吗
技术人员回复
日期:2020-8-16 10:25
您提供下您的具体思路,我们分析一下

为方便论坛管理,请您重新发帖提问