关于EA自动止赢止损

 

怎样自动捕获下图中箭头附近各低点的价格,用于EA自动跟踪止赢止损,望各位高手给个思路,谢谢。

 
 
Loong 写道 >>
https://www.mql5.com/zh/code/8044
Price Channel

看了这个指标,受到一些启发,谢谢。

 

看了一些计算高低点的指标,主要是取一定数量的K线,然后计算这个范围内K线的最高点和最低点,因为这些指标的关系,经常忽略中间的一些高低点,但对于止赢止损来说,中间的很多高低点不应该忽略。所以我有一个新想法:从第 i 根K线(这根K线要求实体长度大于一定的值,比如15点),然后从这第 i 根K线向左查找到距它最近的一根实体长度大于15点的K线 j,再计算 i 到 j -1这些K线的最高最低值。

现在刚刚做出找到这些实体长度大于15点的K线,也找到了它左边距它最近的实体长度大于15点的K线 j,也计算出了 i 到 j -1 这些K线的最高或最低值。问题是怎么得到 i 到 j - 1 最高或最低值那根K线的索引值。以便在最高或最低点那根K线处标注符号,在测试中看看是否是合乎止赢止损的点。

问题:怎样获得 i 到 j (j>i) 两个整数之间的、具有区间最低值或最高值那根K线的索引值。望各位高手指教,谢谢。

 
你找的过程中不用索引值吗?记下了不就是了。
 
Loong 写道 >>
你找的过程中不用索引值吗?记下了不就是了。

谢谢回复。

我是用 Low[iLowest(NULL,0,MODE_LOW,j-1,i) 获得的 i 到 j 之间的K线的最低值,没有得到最低值那根K线的索引值。

莫非还要用找 j 值那样的循环方法找最低值那根K线的索引值? MT4中有没有更简便的方法?

 
Low[]是个数组。
iLowest(NULL,0,MODE_LOW,j-1,i)是什么?
 

搞错了,应该用 iLow( Symbol(), 0, iLowest(NULL,0,MODE_LOW,j - i - 1, i)) 得到 i 到 j-1 的最低值。

我只知道iLowest(NULL,0,MODE_LOW, j - i - 1, i) 计算出 i 到 j - 1 之间K线的最低值, 是否用iLowest(NULL,0,MODE_LOW, j - i - 1, i) 也能得到最低值那根K线的索引值?

 

哈哈,刚刚试了一下,iLowest()得到的就是最低那根K线的索引值。

非常感谢。

原因: