expert advisor - verschiedene Fragen - Seite 35

 

#sparam - Öffnen

Ich fange gerade diese verschiedenen " sparam " Methoden in meinem Hauptcode.
Jetzt versuche ich, eine Methode von ihnen zu wählen, aber kämpfen, um eine von ihnen zu wählen, auch ich recherchiert über das in mql4 Dokumentation.

F: Welche Methode ist die richtige, und warum, bitte?

Vielen Dank im Voraus.

// # 1
if(sparam==button)
{
  // here code
}

// # 2
if(id==CHARTEVENT_OBJECT_CLICK && sparam==button)
{
  // here code
}

// # 3 ( was 2 I just forgot to change )
if(id==CHARTEVENT_OBJECT_CLICK)
{
  if(sparam==button)
    {
     // here code
    }
}
 

#1 ist in der Regel innerhalb der Klick-Ereignis platziert, so dass Sie das gleiche wie # 2 und auch das gleiche wie die andere # 2 geben würde

 
#sparam - Geschlossen

Marco vd Heijden:

#1 ist in der Regel innerhalb der Klick-Ereignis platziert, so dass Sie das gleiche wie # 2 Und auch das gleiche wie die anderen # 2 geben würde

Danke viel mehr.

 

#Order-Objekte löschen / OnTrade() - Öffnen

In den letzten 2 Stunden habe ich meine Zeit damit verbracht, die OnTrade() Funktion zu erforschen, schließlich weiß ich, dass die Funktion in MT4 nicht funktioniert. (bitte jemand sagen: Sie sind falsch, dass es funktioniert)

Also, der Preis wird nicht treffen Stop Loss und Take Profit Ebenen in jedem Tick, jede Sekunde, jede Minute als in der Regel (wenn ich richtig bin).
Das versuche ich, wenn Preis trifft Stop Loss und Take Profit dann, dass #Ticket Objekte löschen könnte.
Ich weiß, dass ich "My_OrderObjectsDelete()" in OnTimer() und OnTick() einfügen kann - ich versuche, eine Funktion wie OnTrade() zu finden.

Ich brauche Ratschläge, wo kann ich "My_OrderObjectsDelete()" einfügen, bitte.

Vielen Dank im Voraus.

 
Es ist ein bisschen schwer für mich zu verstehen, was Sie wollen.

In mt4, wenn eine offene Bestellung STP oder TGT getroffen hat, finden Sie es in der Order-History. Wenn Sie sie also nicht mehr in OrdersTotal() finden, überprüfen Sie die Liste von OrdersHistoryTotal().

Aber was ist, wenn Sie STP und TGT wieder Bid und Ask verfolgen und die Orders nur prüfen, wenn diese Prüfungen erfolgreich waren - egal wo Sie sie in InTick() oder OnTimer() platziert haben.
 
Carl Schreiber:
Es ist ein bisschen schwer für mich zu verstehen, was Sie wollen.
In mt4, wenn eine offene Bestellung STP oder TGT getroffen hat, finden Sie es in der Order-History. Wenn Sie sie also nicht mehr in OrdersTotal() finden, überprüfen Sie die Liste von OrdersHistoryTotal().
Was aber, wenn man STP und TGT wieder Bid und Ask verfolgt und die Orders nur dann prüft, wenn diese Prüfungen erfolgreich waren - egal wo man sie in InTick() oder OnTimer() platziert hat.

Ich denke, Sie verstehen mich richtig, danke für Ihren Kommentar.

Aber meine Sorge ist: Ich möchte nicht, dass dieser Teil des Codes ständig läuft, denn der Preisindikator sollte nicht jeden Tick meine Stop Loss und Take Profit Levels treffen.

(Ich weiß bereits, wie ich diese Objekte nach Auftragsabschluss löschen kann - siehe auch diesen Kommentar - Funktionsname ist "deleteobjs()" - #238)

 

#Order-Objekte löschen / OnTrade() - Geschlossen

Ich werde meine Funktion entweder auf OnTick() oder OnTimer() setzen.

 

#StringLen - Offen

Ich recherchiere noch über dieses Anliegen - aber ich kann keine ähnlichen Foren - und alles andere.

Ich versuche, die Anzahl der Ziffern zu zählen. Untenstehenden Code gibt mir verschiedene Ergebnisse, bitte helfen Sie mir.

Bid_Len = StringLen( IntegerToString( change_to_points( Bid ) ) );

// Results
// EURUSD = 1.23456 > 123456
// NZDUSD = 0.12345 > 12345
Vielen Dank im Voraus.
 
Max Enrik:

#StringLen - Offen

Ich recherchiere noch über dieses Anliegen - aber ich kann keine ähnlichen Foren - und alles andere.

Ich versuche, die Anzahl der Ziffern zu zählen. Untenstehenden Code gibt mir verschiedene Ergebnisse, bitte helfen Sie mir.

Bid_Len = StringLen( IntegerToString( change_to_points( Bid ) ) );

// Results
// EURUSD = 1.23456 > 123456
// NZDUSD = 0.12345 > 12345
Vielen Dank im Voraus.
Können Sie bitte mehr darüber erklären, was Sie hier zu tun versuchen?
 
honest_knave:
Können Sie bitte genauer erklären, was Sie hier zu tun versuchen?

Vielen Dank für Ihre schnelle Antwort.

Untenstehendes Bild zeigt, was ich tun möchte.

StringLen-1

( nur schnell gemacht )

Ich hoffe, es wird Ihnen helfen, dass Sie mich besser verstehen.

// 2. Mal bearbeitet

Ich hoffe, dies kann mehr helfen.

StringLen - erklären - 1

Grund der Beschwerde: