wenn (Curtime() > lasttime + 30*60)
Grundsätzliche Frage ...
Hallo!
Ich bin neu bei MetaTrader und habe eine grundlegende Frage:
Ich möchte die offenen Positionen in meinem Expert-Advisor auf jeweils nur 1 Position begrenzen - aber ich möchte diese Begrenzung pro Symbol, so dass, wenn ich einen anderen Expert-Advisor für ein anderes Symbol ausführe, er eine neue Position für dieses Symbol öffnet.
Mit anderen Worten, ich möchte in der Lage sein, 1 Positionen für alle Symbole zu öffnen, aber nicht mehr als 1 Position für ein Symbol (Und ich spreche über viele Expert-Advisor auf viele Symbole...)
Wie kann ich das machen?
Ich habe die Funktion"totaltrades" gesehen, aber aus der Dokumentation habe ich verstanden, dass diese Funktion für das Konto gilt und nicht für das aktuelle Symbol,
so "if totaltrades=1 then exit;" wird zu 1 Position zu einer Zeit für alle Symbole führen...
10X !
1 Positionen für alle Symbole
int total=OrdersTotal();
if(total<1)
{
.
.
.
}
Aber eine Position für ein Symbol oder für ein geöffnetes Diagramm?
Nun, eine pro Diagramm ist das Beste ...
Aber wenn es nicht getan werden kann, dann 1 pro Symbol ist auch gut...
1 pro Symbol
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() )
return(0);
....Großartig!
10 Mal so viel!
Und ich werde Sie wieder belästigen ... (:
Kann ich es auch pro Chart machen?
Denn ich habe verschiedene Systeme für verschiedene Zeitintervalle Charts ...
Tut mir leid, dass ich nicht verstehe
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo
Ich möchte folgendes im Code machen
Don't trade for 30 minutes since my last trade'
Wenn also meine Indikatoren anzeigen, dass ich meinen aktuellen Handel wieder ergänzen sollte, dann platziere ich den Handel in dieselbe Richtung nur, wenn 30 Minuten vergangen sind.
Ich mache folgendes - dieser Code funktioniert noch nicht - er ist nur in der Entwurfsphase - ich weiß nicht, wie ich 30 Minuten zu meiner letzten Order hinzufügen kann
Dies ist für einen EA, der nur mit dem aktuellen Paar arbeitet
int start()
{
int cnt, ticket, total, stop1;
statisch datetime lasttime
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//Bestimmen des Zeitpunkts des letzten OrderClose
if (OrderCloseTime > lasttime + 30)
{
lasttime = orderclosetime
}//if (OrderCloseTime)
}
Jetzt möchte ich sagen
if (Curtime() > lasttime + 30 Minuten)
{
Handel fortsetzen
}
Bitte um Hilfe