Fehler, Irrtümer, Fragen - Seite 1480

 
Vasyl Nosal:

'+' - kann nicht konvertieren enum prob.mq4 14 51

Ich werde einen Servicedesk schreiben.


Haben Sie das Beispiel vonObjectSetDouble in der Hilfe gesehen? Es enthält die Erstellung von Fibo, das Hinzufügen von Ebenen und das Abrufen der Werte der Ebenen.
 
Vasyl Nosal:

'+' - kann nicht konvertieren enum prob.mq4 14 51

Ich werde einen Servicedesk schreiben.


Hmm. Bei mir funktioniert es.
 
Karputov Vladimir:
Haben Sie das Beispiel fürObjectSetDouble in der Referenz gesehen? Es erstellt Fibo, fügt Levels hinzu und ermittelt die Werte der Levels.

ObjectSetDouble(diagram_ID,name,OBJPROP_LEVELVALUE,i,values[i]);

Legt den Preis fest.

Bei GET wird der Wert der Stufe zurückgegeben, nicht der Preis.

 
Vladislav Andruschenko:
Hmm. Bei mir funktioniert es.
Geben Sie mir den Code.
 

Dummy's hiccup, aber klären Sie mich auf, warum die F1-Taste im Editor der neuen 950er Version nicht funktioniert?

DANKESCHÖN!

 
Vasyl Nosal:

ObjectSetDouble(diagram_ID,name,OBJPROP_LEVELVALUE,i,values[i]);

Legt den Preis fest.

Bei GET wird der Wert der Stufe zurückgegeben, nicht der Preis.

Ermittelt den Preis der Fibo-Ankerpunkte:

//+------------------------------------------------------------------+
//|                                              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()));
  }
//+------------------------------------------------------------------+
Dateien:
Test.mq5  2 kb
 
Karputov Vladimir:

Sie erhalten den Preis für die Fibo-Ankerpunkte:

И? Dies ist der Preis von 0% und 100%.

Und Sie müssen den Preis für alle Stufen kennen.

 
Vasyl Nosal:

И? Dies ist der Preis von 0% und 100%.

Und Sie müssen den Preis für alle Stufen kennen.

Soweit ich weiß, wird sie als Anteil durch die 0- und 100-Stufen berechnet. Hierfür gibt es keine speziellen Funktionen.
 
Alexey Kozitsyn:
Soweit ich weiß, wird sie anteilig über die Stufen 0 und 100 berechnet. Hierfür gibt es keine speziellen Funktionen.
Ja. Sie müssen sie manuell berechnen und den Wert der Stufen über
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()));
     }
  }
//+------------------------------------------------------------------+

Und das ist in etwa das Ergebnis:

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
Dateien:
Test.mq5  2 kb
 
Ich will den Preis, nicht den Wert des Levels.