[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 342

 


Herzlichen Dank.Swan
 

Können Sie mir bitte sagen, wenn ich eine Bestellung eröffne

OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, oSL, oTP, "", ExpertID, 0, Red)

Wenn ein Stop Loss ausgelöst wird, wird bei der nächsten Auftragseröffnung automatisch ein doppeltes Lot eröffnet.

 
vik-777 >> :

Können Sie mir bitte sagen, wenn ich eine Bestellung eröffne

OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, oSL, oTP, "", ExpertID, 0, Red)

Wenn ein Stop Loss ausgelöst wird, öffnen Sie bei der nächsten Auftragseröffnung ein doppeltes Lot, was automatisch geschieht.


Fügen Sie diese Zeilen ganz am Anfang der Funktion START ein und verwenden Sie die Variable _SL[0], um das Ergebnis des vorherigen Handels zu ermitteln.

if (OrderSelect(Tic,SELECT_BY_TICKET)==true)
{
if (OrderComment()=="[sl]")_SL[0]=-1;
if (OrderComment()=="[tp]")_SL[0]=1;
}

 

Problem.

Es gibt einen EA. Wenn die Variablen Lot, Porog, Otstup, SL, TP im "Körper" des Programms gesetzt sind, dann funktioniert der EA. Wenn diese Variablen als "extern" gesetzt werden (indem sie über die Einstellungen gesetzt werden), dann funktioniert der EA nicht (im "Körper" des EA haben diese Variablen den Wert NULL).

Woran kann das liegen? Wo kann man nach einer Lösung suchen?

/*
extern double Lot = 0.1;    

extern double Porog = 5.0;  
extern double Otstup = 5.0; 

extern double SL = 5.0; 
extern double TP = 15.0; 
*/

int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }

int start()
  {
  int MagicNumber = 8; 
  int ticket;
  int err;
  int q=0;

double Lot = 0.1;    
double Porog = 5.0;  
double Otstup = 5.0; 
double SL = 5.0; 
double TP = 15.0; 
 

Könnten Sie bitte eine Funktion vorschlagen, um ein Dialogfeld zu implementieren, in dem Sie Variablenwerte einstellen können?

Zum Beispiel gibt es ein Kaufskript (Kauf mit eingestelltem Sl und Tp), wenn Sie es ausführen, wird ein Dialogfeld angezeigt, in dem Sie z.B. die Losgröße angeben können, dann drücken Sie Ok und der Auftrag wird ausgeführt!

Ich danke Ihnen!

 

Liebe Fachleute, bitte beraten Sie...

In meinem Indikator verwende ich einen Text, der Daten über den Wert der Indikatorkurve im Diagramm anzeigt

{ObjectCreate("P"+Time[ ai],OBJ_TEXT,0,Time[ ai],High[ ai]+ Label);
ObjectSetText("P"+Time[ ai]," "+DoubleToStr( HL,2),7,"Arial",Black);}
Ich muss ihn beim Parameter "Beschriftung" verschieben, damit der Text auf der Kurve bleibt. Wenn wir jedoch zu einem anderen Zeitraum wechseln oder das Diagramm vergrößern/verkleinern, ändert sich der Maßstab des Diagramms und wir müssen es erneut bearbeiten. Kann die Textverschiebung anders eingestellt werden, z. B. in Bildschirm-Pixeln?
 
kon12 писал(а) >>

Liebe Fachleute, bitte beraten Sie...

In meinem Indikator verwende ich einen Text, der Daten über den Wert der Indikatorkurve im Diagramm anzeigt

Um sicherzustellen, dass der Text die Kurve nicht überlappt, müssen wir ihn um den Parameter Label verschieben. Wenn Sie jedoch zu einem anderen Zeitraum wechseln oder das Diagramm vergrößern/verkleinern, ändert sich der Maßstab des Diagramms und Sie müssen es erneut bearbeiten. Kann die Textverschiebung anders eingestellt werden, z. B. in Bildschirm-Pixeln?

Sie können verwenden

OBJ_LABEL 23 Es handelt sich um ein Textetikett. Verwendet keine Koordinaten. Die Funktion ObjectSet() wird verwendet, um Koordinaten in Pixeln relativ zum Referenzwinkel zu setzen (Eigenschaften OBJPROP_CORNER, OBJPROP_XDISTANCE, OBJPROP_YDISTANCE). Um den Text zu ändern, wird die Funktion ObjectSetText() verwendet.

 
Ich verstehe nicht ganz, wie? Ich füge ein Bild des Indikators bei. Es geht darum, dass der Text mit bestimmten Punkten des Indikators verknüpft ist.
 
kon12 писал(а) >>
Ich verstehe nicht ganz, wie? Ich füge ein Bild des Indikators bei. Es geht darum, dass der Text an bestimmte Punkte des Indikators gebunden ist.

Dann müssen Sie das Label dynamisch gestalten. Für jeden Zeitrahmen ein eigener. Einmal in der Init und schon ist es vergessen. Aber zuerst müssen Sie sie auswählen.

 
kon12 >> :
Kann die Textverschiebung anders eingestellt werden, z. B. in Bildschirm-Pixeln?

Die richtigste Antwort ist nein.