Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1131

 
Wie erstellt man eine Gebotslinie in einem benutzerdefinierten Indikator?

Ich verschreibe sie folgendermaßen

      ObjectCreate("line",OBJ_HLINE,windowIndex,0,Bid);
              
      ObjectSet("line",OBJPROP_COLOR,Red);
      ObjectSet("line",OBJPROP_WIDTH,1);

      WindowRedraw();  

Aber es baut sich einmal auf und bleibt dann stehen. es ist statisch.
Sie muss sich bei jedem Tick ändern, wie eine Gebotslinie in einem Preisdiagramm.
 
Alexey Viktorov:

Der Code ist großartig, aber es gibt immer noch eine Sache, die wir nicht verstehen

Wir haben ein Objekt erstellt und ihm ein Preisniveau zugewiesen (sagen wir den Preis der letzten Eröffnung +500 Pips für das Kaufraster)

und ich habe es manuell nach unten gezogen

Wie wird dann die Bedingung "wenn ein Gebot über der Linie ist, um alle zu decken" aussehen? Es sollte irgendwo sein, um seine aktuelle Position nach den gegebenen Zügen zu speichern, d.h. die Möglichkeit, das Preisniveau zu erhalten, auf dem es sich befindet.

nach dem Schema

-Anfrage des Preises in der Zecke

-Wenn es die Abschlussbedingungen nicht erfüllt

-- alles so lassen wie es ist

und so wie ich es verstehe, ist es notwendig, einen separaten Text für die Kennzeichnung zu binden

 
igrok333:
Wie erstellt man eine Gebotslinie in einem benutzerdefinierten Indikator?

Ich schreibe es so

      ObjectCreate("line",OBJ_HLINE,windowIndex,0,Bid);
              
      ObjectSet("line",OBJPROP_COLOR,Red);
      ObjectSet("line",OBJPROP_WIDTH,1);

      WindowRedraw();  

Aber es wird einmal gebaut und ist schon da. Es ist statisch.
Sie muss sich bei jedem Tick ändern, wie eine Gebotslinie in einem Preisdiagramm.
Lesen Sie über ObjectMove().
 

Guten Tag!

Können Sie mir eine einfache Sache sagen?

Kann ich den Indikator nur über das Indikator-Array zeichnen, oder gibt es andere Möglichkeiten, um an das Diagramm zu binden?

Die Frage ist folgende: Ich sammle eine Reihe von Daten, für die ich dann die Markierungen zeichnen möchte. Es stellt sich heraus, dass ich dazu das time[]-Array durchsuchen muss. Gibt es andere Möglichkeiten, die entsprechenden Markierungen im Diagramm zu zeichnen?

 
Anttonnio:

Guten Tag!

Können Sie mir eine einfache Sache sagen?

Kann ich den Indikator nur über das Indikator-Array zeichnen, oder gibt es andere Möglichkeiten, um an das Diagramm zu binden?

Die Frage ist folgende: Ich sammle eine Reihe von Daten, für die ich dann die Markierungen zeichnen möchte. Es stellt sich heraus, dass ich dazu das time[]-Array durchsuchen muss. Gibt es andere Möglichkeiten, die entsprechenden Markierungen im Diagramm zu zeichnen?

Sie können die Pfeile selbst als OBJ_ARROW zeichnen

es ist nicht nötig, für jeden Nieser Indikatorpuffer anzulegen :-)
 

Hilfe bei einem Code-Snippet für einen EA!

Wie kann ich bereits erteilte schwebende Aufträge löschen, die mehr als 200 Pips vom aktuellen Kurs entfernt sind?


Die Funktion OrderDelete ist an die Auftragsnummer gebunden! Und die Auftragsnummer kann zum Zeitpunkt der Löschung unbekannt sein!

 
Anton Sokolov:

Hilfe bei einem Code-Snippet für einen EA!

Wie kann ich bereits erteilte schwebende Aufträge löschen, die mehr als 200 Pips vom aktuellen Kurs entfernt sind?


Die Funktion OrderDelete ist an die Auftragsnummer gebunden! Und die Auftragsnummer kann zum Zeitpunkt der Löschung unbekannt sein!

Gehen Sie in der Schleife durch alle Bestellungen, wenden Sie OrderSelect an, wenden Sie OrderTicket auf die ausstehenden Bestellungen an und löschen Sie dann nach Ticket. Wie die Nummer des Tickets in einem solchen Fall unbekannt sein kann, kann ich mir irgendwie gar nicht vorstellen.

Die Codebasis ist vollgestopft mit Codebeispielen, suchen Sie und Sie werden noch mehr finden, als Sie gesucht haben.

 

1. Gibt es ein praktisches Tool zum Synchronisieren von Expert Advisors, Indikatoren und Skripten zwischen Terminals? (z. B. programmiere ich auf einem Terminal, dann muss ich den Expert Advisor an die Terminals senden, auf denen ich handle)

2. Gibt es ein Beispiel für dieautomatische Aktualisierung(Laden einer neuen Version) eines EA auf einem Arbeitschart?

 
Anton Sokolov:

Wie berechnet die Funktion OrdersTotal die Aufträge?

Angenommen, ich habe 10 offene Aufträge (verschiedene Kauf- und Verkaufsaufträge) und 10 schwebende Aufträge (verschiedene Kauf- und Verkaufslimits, Kaufstopps und Verkaufsstopps).

Die Eröffnung und Platzierung von schwebenden Aufträgen erfolgt nach dem Zufallsprinzip.

Welcher von ihnen wird als erster platziert werden? Ab wann beginnt der Countdown?

Führen Sie diesen Code aus und lesen Sie das Protokoll

bool flag=true;

void OnTick()
{
//--
if(flag)
  {
  for(int i=0; i<OrdersTotal(); i++)
   {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
     Print(i," = ",OrderOpenTime());
    }
   }
  flag=false;
}

//-
}
 
Anton Sokolov:

Wie berechnet die Funktion OrdersTotal die Aufträge?

Angenommen, ich habe 10 offene Aufträge (verschiedene Kauf- und Verkaufsaufträge) und 10 schwebende Aufträge (verschiedene Kauf- und Verkaufslimits, Kaufstopps und Verkaufsstopps).

Die Eröffnung und Platzierung von schwebenden Aufträgen erfolgt nach dem Zufallsprinzip.

Welcher von ihnen wird als erster platziert werden? Was ist der Startpunkt der Zählung?

Irgendwo in der Hilfe sagen die Entwickler, dass keine Bestellung garantiert ist.