如图所示 怎么能求到macd柱子在大于0的时到MACD柱子小于上根MACD柱子的最高价,用回溯的方式求 我自己的写代码如下求改正DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA :=EMA(DIFF,9);
MACD :=2*(DIFF-DEA);
NN1:=BARSLAST(MACD>0 AND REF(MACD>0,1)>REF(MACD>0,2));
NN2:=BARSLAST(MACD<0 AND REF(MACD<0,1)<REF(MACD>0,2));
LL1:LLV(LOW,NN2);
HH1:HHV(HIGH,NN1);
[此贴子已经被作者于2017/12/11 10:47:57编辑过]
“MACD柱子小于上根MACD柱子” 这个触发会有多次的,你这个取的是最近的一次。合理的方法是用全局变量进行标记。你考虑下最终需求需要怎么个处理逻辑。
没太明白,你是想求出红柱部分每个顶点位置的的最高价?
如我图上的红箭头标记的这段MACD,就是MACD从第一个红柱子开始,求MACD>ref(macd,1)这段时间里K线的最高价,并赋值最高价那个K线的最低价到一个变量;(最高的MACD柱子到左边第一根红柱子的K线最高价)
我不理解的是,如果在整段红柱上,你需要求是怎么体现的,你要怎么定义出你标识的那个高点,在它之后还是存在比他高的位置。
下面图中黄色范围内。

此主题相关图片如下:8.jpg
只取第一次成立的就是MACD从负数变成整数开始到MACD不再变大的最高价和最高价K线的最低价,后边再出现的不再取值,我要的就是MACD又负变正到不再再变大后的最高加和最高价的K线低价,如果后边的K线的MACD只要大于0同时大于前边的取最高价就开仓做多 止损放到最高价K线的最低价
variable:m=0,n=0;
if macd>0 and macd>ref(macd,1) and low>n then
begin
n:=low;
end
这样做下记录