[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 569

 
7Konstantin7:

Bitte sagen Sie mir, was falsch ist, ich bin neu in mql.

Ich setze TimeBar_t = Minute(); Ich kann nicht entscheiden, ob ich Klammern oder ;

int Minute( )
Gibt die aktuelle Minute (0,1,2,...59) der letzten bekannten Serverzeit beim Programmstart zurück (während der Programmausführung ändert sich dieser Wert nicht).
Hinweis: Beim Testen wird die letzte bekannte Serverzeit simuliert.
Ihre Bedingung gilt also nur für die Startzeit.
 
xant:

rigonich,

um genau zu sein (OrderProfit()+OrderCommission()+OrderSwap()

Wie kann ich also Informationen aus abgeschlossenen Aufträgen übernehmen?

Ich wähle Aufträge mit OrderSelect() und MODE_HISTORY aus den geschlossenen Aufträgen aus, aber wie kann ich die notwendigen Aufträge auswählen?

Wenn ich aus der Geschichte diejenigen entnehmen kann, die nach meinem Zustand geschlossen haben, dann werde ich natürlich das nehmen und zusammenfassen, was ich brauche. Aber ich weiß leider nicht, wie man das macht.


Was brauchen Sie? Erinnern Sie sich zum Beispiel an das Eröffnungsdatum der ersten Order auf dem Instrument durch Ihren EA und wählen Sie alle danach eröffneten aus, setzen Sie den Wert der Variablen nach dem Schließen durch die Bedingung zurückund merken Sie sich den neuen (aktuellen) Wert.
 
xant:

Bitte beraten Sie mich.

In meinem EA basiert die Exit-Berechnung auf dem kumulierten Gewinn. Wenn z. B. zu einem bestimmten Zeitpunkt Eigenkapital = Gleichgewicht ist, schließt der EA alle Geschäfte, wenn das aktuelle Eigenkapital diesen Ausgangswert übersteigt. Es werden alle Geschäfte geschlossen, unabhängig davon, wie viele es davon gibt.

Im Testgerät ist es einfach, da es nur ein Währungspaar gibt.

Realistischerweise wird jedoch mit mehreren Währungen gehandelt, und jede dieser Währungen muss separat betrachtet werden. Beispiel: Wenn für ein Währungspaar keine offenen Geschäfte vorliegen, dann ist die Variable==0. Und wir sollten auch geschlossene Trades bei diesem Symbol verfolgen und warten, bis der kumulierte Gewinn den Verlust aus offenen Aufträgen dieses Symbols um den angegebenen Wert übersteigt.

Ich kann in der Anleitung keine Funktion finden, mit der man die Buchhaltung der kumulierten Gewinne für verschiedene Währungen trennen kann. Bitte beraten Sie mich. Ich danke Ihnen.


https://www.mql5.com/ru/forum/131859/page3#434223 hier, und auchhttps://www.mql5.com/ru/forum/131859/page3#434222
 
Helfen Sie mir, eine Bedingung zu schreiben, um eine Position zu öffnen.

Ich kann keine zusätzliche Bedingung schreiben, um eine Position nach meiner Vorstellung zu eröffnen.

Wenn ich eine Position mit TP oder SL schließe, sollte sie mit der entgegengesetzten Position wieder eröffnet werden.

Beispiel: Wenn eine Verkaufsposition, z.B. SL, geschlossen wird, wird eine Verkaufsposition zusammen mit ihr wieder eröffnet und gekauft

Hier sind 2 Bedingungen vom Expert Advisor:

Bedingung zum Kauf

if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy");
}

sell condition

if (SELL)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); sonst TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); sonst SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)OPENORDER ("Sell");
}

Wer das versteht, möge mir bitte helfen, zusätzliche Bedingungen zu schreiben
Dateien:
sellbuy_4.mq4  3 kb
 
Ihre Bedingung passt nicht(( es öffnet Aufträge auf unbestimmte Zeit, solange die Anzahlung ausreichend ist
 
rigonich:

Nach links schieben - F12, nach rechts - ich weiß nicht.

RigonichDanke, das ist ein toller Tipp! Genau das, was ich brauche!
 
Oh, großartig, danke an alle!
 
Mann, ist das wirklich so schwierig mit dem Zustand ((( wie ein kleiner Berater.
 

Ich habe nichts damit gemacht, es funktioniert immer noch nicht ((((

Es funktionierte nur, wenn der Preis in eine Richtung geht, dann öffnet es und wenn der Preis dreht sich um es nicht öffnen((

Dateien:
trudnyaga.mq4  5 kb
 
Frostr:
Helfen Sie mir, eine Bedingung zu schreiben, um eine Position zu öffnen.

Ich kann keine zusätzliche Bedingung schreiben, um eine Position nach meiner Vorstellung zu eröffnen.

Wenn ich eine Position mit TP oder SL schließe, möchte ich, dass sie eine neue Position mit dem entgegengesetzten Wert eröffnet.

Beispiel: Wenn eine Verkaufsposition durch SL geschlossen wurde, wird eine Verkaufsposition zusammen mit einer Kaufposition wieder eröffnet.

Hier sind 2 Bedingungen aus dem EA:

Bedingung kaufen

wenn (KAUFEN)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); sonst TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); sonst SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)
}

Zustand verkaufen

wenn (SELL)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); sonst TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); sonst SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)
}

Wer das versteht, möge mir bitte helfen, weitere Bedingungen zu schreiben

Es tut mir leid, aber in den angehängten Dateien haben Sie eine kompilierte Datei, nicht die Quelldatei. Sie können sie nicht anzeigen. Bitte senden Sie die Datei mit der Erweiterung .mq4