初学者的问题 MQL5 MT5 MetaTrader 5 - 页 434

 
Artyom Trishkin:
评论的颜色不能改变。如果你想要一种颜色,你可以通过对象来改变它。
为什么我有0? 我对错误感兴趣,而不是例子。我将复制和粘贴这个例子,但错误的概念仍然不明。
 
Leanid Aladzyeu:
为什么我有0? 我感兴趣的是错误,而不是例子。我将复制和粘贴这个例子,但错误的概念仍然不明。

试着去掉 "点"--它会说什么?

我认为Point()是正确的。

 
new-rena:

试着去掉 "点"--它会说什么?

在我看来,正确的Point()

double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); Print("Bar size 1 = " , p1)。

0,0合计。不加点和加点都有括号。我试过这样的数组。全部为0.0。

int  imax5=iHighest(Symbol(),PERIOD_MN1,MODE_HIGH,3,1);Print("max1=====", imax5);
    double   max5= iHigh(Symbol(),PERIOD_MN1,imax5);Print("max2=====", max5);
    max5=NormalizeDouble(max5,Digits);Print("max3=====", max5);
 
Leanid Aladzyeu:

double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); Print("Bar size 1 = " , p1)。

0,0合计。不加点和加点都有括号。我试过这样的数组。全部为0.0。

试试这个方法

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); 
Print("Величина бара 1 = ", DoubleToString(p1, Digits));

利安尼德-阿拉德兹耶乌
为什么我得到的是0? 我对错误感兴趣,不是对例子感兴趣。我复制和粘贴这个例子,但错误的概念仍然不明。
因为Print()和Alert()打印的是双数,最小为4位数,而结果是5位数。要看到第五位数字,你必须将数字转换成字符串。
 
Alexey Viktorov:

试试这个

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); 
Print("Величина бара 1 = ", DoubleToString(p1, Digits));
Мне говорили что моя версия была с багом на массивы iclose[] , получается что и на функцию багом попало  или в терминале не хватает истории  тоже врядли история с начала загружена ,

 
Leanid Aladzyeu:

我只是说有一个建筑有这个错误,我在这个论坛上看到过,但没有说你可能有这个建筑。

关于零,我纠正了,补充了我之前的帖子,稍有延迟。


如果你在第五位也得到0,为减法和减法都设置Print()。也许它们是一样的?尽管他们不应该这样。但应该寻找原因的是印刷商。

 
Alexey Viktorov:

我只是说有一个建筑有这个错误,我在这个论坛上看到过,但没有说你可能有这个建筑。

关于我纠正的零,在我以前的帖子里加的有点晚。


如果你在第五位也得到0,为减法和减法都设置Print()。也许它们是一样的?虽然他们不应该这样。但你需要从打印机中寻找原因。

这很残酷))如何解决?

4074
 ERR_NO_MEMORY_FOR_HISTORY
 Не хватает памяти для исторических данных
 
 
Alexey Viktorov:

因为它被拼错了。

你确定吗?在写作之前,我在AAA = true和AAA = false的情况下运行了这个结构--一切正常。当真时,它返回(字符串)c,当假时,它返回 "脱机"。订单数的 负值不能,所以正好符合。
 
Leanid Aladzyeu:
为什么我得到的是0? 我对错误感兴趣,而不是例子。我将复制和粘贴这个例子,但错误的概念仍然不明。

没有错误。剧本

#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits))/Point; 
   Print("Величина бара 1 = ", p1);
  }
//+------------------------------------------------------------------+

它在日志中显示出来。

2015.09.05 05:00:09.558 Script SizeCandle USDJPY,Daily: removed
2015.09.05 05:00:09.557 SizeCandle USDJPY,Daily: uninit reason 0
2015.09.05 05:00:09.557 SizeCandle USDJPY,Daily: Величина бара 1 = 9122.0
2015.09.05 05:00:09.556 SizeCandle USDJPY,Daily: initialized
2015.09.05 05:00:09.541 Script С форума\SizeCandle USDJPY,Daily: loaded successfully

只是我还是不明白,为什么要用双倍数来输出一个整数值(因为点数是一个整数)。

 

鉴赏家们,帮助。

我需要一种字体来书写MT-4中的波浪标记,即字母和数字的圆圈。