[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 547

 
gheka:

Der MA wird im EA verwendet, ich brauche ihn auch zur Visualisierung.

Wenn Sie nicht wissen, wann der Auftrag geöffnet und geschlossen werden soll, möchte ich ihn auf dem Diagramm sehen und wissen, wann der Auftrag ausgelöst wird.

Dann wird die Bibliothek helfen. Aber es hilft nur beim Laden des Indikators aus dem EA. Die Berechnungen sind Ihnen überlassen, während Sie sie durchführen.

Siehe den Abschnitt über die Bibliothek " 7. FUNKTIONEN ZUR STEUERUNG VON MQL4-PROGRAMMEN".

 
Zhunko:

Dann wird die Bibliothek helfen. Es hilft aber nur beim Laden des Indikators aus dem Expert Advisor. Sie können die Berechnungen selbst durchführen.

Siehe den Abschnitt über die Bibliothek " 7. FUNKTIONEN ZUR STEUERUNG VON MQL4-PROGRAMMEN".



404

Die von Ihnen angeforderte Seite wurde nicht gefunden

Versuchen Sie, die Suche zu benutzen oder finden Sie die gewünschten Informationen in einem der Bereiche von MQL4.com

 

Ich wollte das Problem mit der Übertragung von Parametern aus dem Link konsolidieren.

Um einen einfachen Experten zu schreiben, sozusagen.

//+------------------------------------------------------------------+
//|                                                        links.mq4 |
//|                                                              hoz |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "hoz"
#property link      ""

double firstBarClosed,
       secondsBarClosed;
       
int a = 1;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+-------------------------------------------------------------------------------------+
//| Получение цены установки отложенного ордера                                         |
//+-------------------------------------------------------------------------------------+
double GetPriceToInput()
{ 
  double firstBarClosed = iClose(Symbol(),1440,2);                          // Цена закрытия предпоследнего дня
  double secondBarClosed = iClose(Symbol(),1440,1);                         // Цена закрытия последнего дня
  
  if(firstBarClosed > secondBarClosed)                                      // Если закрытие вчерашнего дня ниже закрытия предыдущего..
  {                                                                         //.. (линия по ценам закрытий направлена вниз), то..
    double deltaForSell = (firstBarClosed - secondBarClosed)/2;             // Находим дельту изменения цены до 12 часов текущего дня
    double priceForSell = secondBarClosed - deltaForSell;                   // Вычисляем цену продажи
    return(priceForSell);
  }

  if(firstBarClosed < secondBarClosed)                                      // Если закрытие предыдущего днях ниже закрытия вчерашнего..
  {                                                                         //..(линия по ценам закрытий направлена вверх), то..
    double deltaForBuy = (secondBarClosed - firstBarClosed)/2;              // Находим дельту изменения цены до 12 часов текущего дня
    double priceForBuy = secondBarClosed + deltaForBuy;                     // Вычисляем цену покупки
    return(priceForBuy);
  }
}

void Test(double& a, double& b)
      {
         Print("firstBarClosed = ", firstBarClosed);
         Print("secondsBarClosed = ", secondsBarClosed);
      }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
   GetPriceToInput();
   
   if(a > 0)
   {
     Test(firstBarClosed, secondsBarClosed);
   }

   return(0);
}
//+------------------------------------------------------------------+

Im Protokoll wird ständig eine 0 ausgegeben. Und warum?

Auf der Linie:

void Test(double& a, double& b)

Ich habe "firstBarClosed" und "secondBarClosed" nicht angegeben, weil dies formale Parameter sind. Dies ist bereits in der Startfunktion enthalten

if(a > 0)
   {
     Test(firstBarClosed, secondsBarClosed);
   }
 
kolospav:

Neues Konto für Metatrader gemacht! Geld von Market Trader geladen! auf der Website in der Kontoauszug - es ist Geld. Ich verstehe das überhaupt nicht. Der technische Support ist ebenfalls ratlos... Ich versuche, es selbst zu verstehen!


Einige DCs verlangen eine Kopie Ihres Reisepasses oder etwas Ähnliches... Versuchen Sie, ein Demokonto zu eröffnen, um das Interesse zu wecken.
 
gheka:


404

Die von Ihnen angeforderte Seite wurde nicht gefunden

Versuchen Sie, die Suche zu benutzen oder finden Sie die gewünschten Informationen in einem der Bereiche von MQL4.com

Der Link wurde korrigiert. Das hätten Sie selbst herausfinden müssen. Es war ein privater Link. Sie hätten meinen Namen entfernen sollen.
 
Zhunko:
Der Link wurde korrigiert. Das hätten Sie auch selbst herausfinden können. Es war privat. Sie hätten meinen Namen entfernen sollen.


Dank an.
 
gheka:

wie man einen Indikator auf einem Diagramm (Linie) in einem EA erstellt

Wenn Sie den Tester starten und "Visualisierung" aktivieren, wird die MA automatisch angezeigt.
Wenn Sie im aktuellen Modus beobachten müssen, setzen Sie einfach den MA auf den Chart mit den Parametern, die Sie im EA haben. Sie werden nicht miteinander in Beziehung stehen, aber es wird offensichtlich sein
 
Arles:

Können Sie mir bitte sagen, wie ich diese Zeilen schreiben soll?

Ich möchte, dass High nach MA und nicht nach Preis gezählt wird. Dieser Code funktioniert nicht. Ich brauche etwas Ähnliches wie iMAOnArray, nur iHIGHOnArray. Aber soweit ich weiß, gibt es so etwas nicht. Hilfe...


Die Frage ist nicht ganz klar: "Ich möchte, dass High nicht nach dem Preis berechnet wird". High[] ist ein vordefinierter Wert, wir können ihn nicht ändern, vielleicht wollen wir MA nach Preis High ?
 
pu6ka:

Die Frage ist nicht ganz klar: "Ich möchte, dass High nicht nach dem Preis berechnet wird". High[] ist ein vordefinierter Wert, den wir nicht ändern können. Vielleicht wollen wir MA nach Preis High ?


Nein, wir wollen den Höchstwert des MA selbst für den Zeitraum wissen.
 
Arles:

Nein, Sie müssen den Maximalwert des MA selbst während des Zeitraums kennen.
Jetzt verstehe ich. Höchstwahrscheinlich müsste ich ein Array für die MA-Werte erstellen und dann ein zweites Array, um die Max-Werte zu speichern, oder eine Variable, wenn nur der letzte Max-Wert benötigt wird.
Grund der Beschwerde: