[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 103

 
IgorM:

这样试试吧。


要么是我不明白什么,要么是你误解了这个问题。

有一个收盘价[2]为1.34529,开盘价[1]为1.34530

我有一个开仓的条件。

Close[2] >= Open[1]

由于10 - 20个点(以5位数计)的作用不大,我需要把它放入程序。

如果收盘价是1.34529,开盘价是1.34530,仍然可以开仓。

 
kilnart:

该职位不开放。

???

那么价格条件与它有什么关系?

接下来看一下代码。还有一个错误。

 
满足条件的价格会出现在图表上,然后开仓。
 
我将仔细检查代码并告诉你。
 
kilnart:


不是我不明白,就是你对任务有误解。

......

10 - 20 pps(以5位数计)并不发挥很大作用,你需要把它放在程序中

显然,你先写了你的前一篇文章,然后才想知道你想听到的回应....。

真的,5位数的10-20点并不重要,我展示了如何正确地比较像double这样的 变量,我怀疑你的问题不是在做正确的条件。首先尝试提出一个清晰明确的问题,以获得一个明确的答案

 
IgorM:

显然,你先写了你的上一篇文章,然后才想知道你想听到的回复....。

真的,5位数的10-20个pps并不重要,我展示了如何正确比较double类型的变量,我怀疑你的问题不在于做出正确的条件。首先尝试提出一个清晰明确的问题,以获得一个明确的答案


除了,我认为,这样比较双打是错误的。例如,四个数字,价格1.00014和1.00016相当于1.0001和1.0002,但1.00016对1.00014<点
 
220Volt: 除了,我认为,这样比较多宝是错误的。例如,四位数,价格1.00014和1.00016,相当于1.0001和1.0002,但1.00016-1.00014<点

你把比较双数和四舍五入混为一谈,你需要明确说明问题:要么 把5位数四舍五入成4位数,然后在4位数上做分析,要么 就适当比较两个双数。

如果你比较两个双数,那么我引用的那部分代码对4位和5位数字都能正确工作。

switch(Digits){
   case 5: if(1.00014-1.00016>=10*Point); условие= false, -0.00002 меньше 0.00001*10   // цена больше на 10 пп в 5-ти знаке
   case 4: if(1.0001-1.0002>=Point); условие= false, -0.0001 меньше 0.0001          // цена больше на 1 пп в 4-х знаке
}

请看:https://www.mql5.com/ru/articles/1561https://www.mql5.com/ru/forum/101433

SZZ:我在代码中犯了一个错误:case应该用break来关闭,也就是像这样。

switch(Digits){
   case 5: if(Close[2]-Open[1]>=10*Point);// цена больше на 10 пп в 5-ти знаке
           break;
   case 4: if(Close[2]-Open[1]>=Point);// цена больше на 1 пп в 4-х знаке
           break;
}
 
IgorM:

你把比较和四舍五入混为一谈,你需要明确说明问题:要么 把5位数四舍五入到4位数,然后以4位数做分析,要么 就适当比较两个双数。

如果你比较两个双数,那么我引用的那部分代码对4位和5位数字都能正确工作。

请看:https://www.mql5.com/ru/articles/1561https://www.mql5.com/ru/forum/101433

ZS:我在代码中犯了一个错误:case应该用break来关闭,也就是说,像这样。


虽然你可能是对的,但这对作者来说可能并不重要。我计算每一个管道,所以我从自己的角度看这种情况。
 

就这样吧,我现在一团糟,脑子已经不灵光了。

这里是代码

       double Low1=Low[iLowest(NULL,0,MODE_LOW,3,0)],
              Low2=Low[iLowest(NULL,0,MODE_LOW,20,0)];
         
         if(Low1<Low2 && Open[2]>Close[2])    
          {
            if(Open[1]<=Close[2] && Open[2]<Close[1])
             {
                 double sl=Low[iLowest(NULL,0,MODE_LOW,3,0)],
                        tp=Ask+(Open[2]-Low[2]);
                 OrderSend(Symbol(),OP_BUY,0.1,Ask,3,sl,tp);
                 return;
             }
          }

我想得出以下结论。我需要找到最后3个蜡烛图的最低点。将其与最后20个蜡烛图的最低价格 进行比较。如果最后3个蜡烛图的价格较低,而且蜡烛图是黑色的(Open[2]>Close[2]),那么就进一步寻找。

我需要找到一个看跌的接管(Open[1]<=Close[2] && Open[2]<Close[1] )。

并建立一个买入头寸。

它似乎是正确的,但我觉得有些不对劲。

如果你能帮助我,我将非常感激。

 
你好。

我把绘制通道的指标移到了EA。

不平衡的括号是一个持续的错误,尽管我已经仔细检查了所有的括号。

但我的问题是不同的--我需要使用这些非常通道在条件下打开交易,但我不知道如何标记它们。我试着只写一个对象的名字,但我还没有设法检查这个方案的正确性。

请告知如何解决这个问题