错误、漏洞、问题 - 页 1480

 
Vasyl Nosal:

'+' - 无法转换枚举 prob.mq4 14 51

要写一个服务台。


你看到帮助中ObjectSetDouble 的例子了吗?它包括创建Fibo,增加水平和获得水平的值。
 
Vasyl Nosal:

'+' - 无法转换枚举 prob.mq4 14 51

我准备写一个服务台。


嗯。它对我来说是有效的。
 
Karputov Vladimir:
你看到参考文献中ObjectSetDouble 的例子了吗?它创建了Fibo,增加了水平,并获得了水平的值。

ObjectSetDouble(chart_ID,name,OBJPROP_LEVELVALUE,i,values[i])

设定价格。

如果是GET,它返回水平值,而不是价格。

 
Vladislav Andruschenko:
嗯,这对我来说很有效。
给我的代码。
 

笨蛋的小插曲,但请告诉我,为什么新的950版本的编辑器中的F1按钮不能工作?

谢谢你!

 
Vasyl Nosal:

ObjectSetDouble(chart_ID,name,OBJPROP_LEVELVALUE,i,values[i])

设定价格。

如果是GET,它返回水平值,而不是价格。

获取飞博锚点的价格。

//+------------------------------------------------------------------+
//|                                              ObjectGetDouble.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property script_show_inputs
#property description "Получение цены точки привязки"
input string name_fibo="Fibo";   // имя Фибо
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   double temp=0.0;
   temp=ObjectGetDouble(0,name_fibo,OBJPROP_PRICE,0);
   Print("Цена точки привязки ",0," равна ",DoubleToString(temp,Digits()));
   temp=ObjectGetDouble(0,name_fibo,OBJPROP_PRICE,1);
   Print("Цена точки привязки ",1," равна ",DoubleToString(temp,Digits()));
  }
//+------------------------------------------------------------------+
附加的文件:
Test.mq5  2 kb
 
Karputov Vladimir:

你得到了菲博锚点的价格。

И?这就是0%和100%的价格。

而且你需要知道所有级别的价格。

 
Vasyl Nosal:

И?这就是0%和100%的价格。

而且你需要知道所有级别的价格。

据我所知,它是以通过0和100水平的比例计算的。这方面没有特殊功能。
 
Alexey Kozitsyn:
据我所知,它是通过0和100水平按比例计算的。这方面没有什么特殊的功能。
是的,你必须手动计算,并通过以下方式获得水平的值
ObjectGetDouble(ChartID(),name_fibo,OBJPROP_LEVELVALUE,i,temp_price)

//+------------------------------------------------------------------+
//|                                              ObjectGetDouble.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.01"
#property strict
#property script_show_inputs
#property description "Получение цены точки привязки и значение уровней"
input string name_fibo="Fibo";   // имя Фибо
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   double temp=0.0;
//--- цена точки привязки
   temp=ObjectGetDouble(0,name_fibo,OBJPROP_PRICE,0);
   Print("Цена точки привязки ",0," равна ",DoubleToString(temp,Digits()));
   temp=ObjectGetDouble(0,name_fibo,OBJPROP_PRICE,1);
   Print("Цена точки привязки ",1," равна ",DoubleToString(temp,Digits()));

//--- значение уровней
//--- кстати, а сколько у нас Фибо-уровней ? 
   int levels=ObjectGetInteger(0,name_fibo,OBJPROP_LEVELS);
   double temp_price=0.0;
   for(int i=0;i<levels;i++)
     {
      ResetLastError();
      if(!ObjectGetDouble(ChartID(),name_fibo,OBJPROP_LEVELVALUE,i,temp_price))
         Print("Error ",GetLastError());
      else
         Print("Значение уровня ",i," равно ",DoubleToString(temp_price,Digits()));
     }
  }
//+------------------------------------------------------------------+

这就是大致的结果。

2016.01.27 15:54:45.905 Test (EURUSD,M5)        Цена точки привязки 0 равна 1.09046
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Цена точки привязки 1 равна 1.08564
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 0 равно 0.00000
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 1 равно 0.23600
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 2 равно 0.38200
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 3 равно 0.50000
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 4 равно 0.61800
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 5 равно 1.00000
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 6 равно 1.61800
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 7 равно 2.61800
2016.01.27 15:54:45.905 Test (EURUSD,M5)        Значение уровня 8 равно 4.23600
附加的文件:
Test.mq5  2 kb
 
我要的是价格,而不是水平的价值
原因: