[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 30

 
Ich habe Dimka wiedergesehen! Er hat das Auto mit einer Schleife versehen. Und jetzt tankt er, tankt, das Licht blinkt, aber auf dem Tacho ist nichts zu sehen! Er macht sich Sorgen, dass er morgen nicht mehr zur Arbeit fahren kann! Was meinen Sie dazu?
 
villy:
Ich habe Dimka wiedergesehen! Er hat das Auto mit einer Schleife versehen. Und jetzt tankt er, tankt, das Licht blinkt, aber auf dem Tacho ist nichts zu sehen! Er macht sich Sorgen, dass er morgen nicht mehr zur Arbeit fahren kann! Was meinen Sie dazu?

Haben Sie eine Behandlung versucht?
 
Vielleicht, wer hat es gelöst und ist eine solche Lösung in mt4 möglich. Benötige einen EA oder ein Skript, das den Handel anderer EA's überwacht (EA handelt auf verschiedenen Paaren mit der gleichen Magik). Und nach dem Schließen jeder Order eine Überprüfung auf Erreichen des Magik-Gewinns (vorher in den EA-Einstellungen eingegeben). Wenn der Gewinn höher oder gleich ist, sollte der folgende EA den Handel durch den EA stoppen. Zusätzlich zu diesem Handelsberater gibt es noch andere, die auf dem Konto handeln. Wie festgestellt, überwacht der EA EquityLimits(_http://mtexperts.narod.ru/files/EquityLimits_EA.ex4) die aktuelle Differenz zwischen dem Kontostand und dem Guthaben, und wenn die festgelegten Grenzen erreicht sind, schließt er alle Aufträge und deaktiviert alle Berater (durch Drücken der Schaltfläche "Berater" in der Symbolleiste). Dieser Punkt ist nicht erfüllt.
 
granit77:

42
laveosa 22.12.2012 14:46 | gebannt| löschen
Ich habe hier einen sehr seltsamen Fall. Ich teste den Berater auf die Geschichte von 2004 bis 2012 und das Ergebnis ist ein, positiv, und dann tue ich einen Test auf den Zeitraum von 2009 bis 2012 und es ist einfach ganz anders. eine große Anzahl von Aufträgen, über 20000 für einen Zeitraum von 8 Jahren. wenn der Test groß ist, dann die Rentabilität Balkendiagramm zeigt, dass von 2009 bis 2012 Gewinn ist sauber und schön und wenn Sie einen Abstand weniger als 2009 dann nur CHAOS testen. Wissen Sie zufällig, was das sein könnte? Vielen Dank im Voraus, Leute :)


Nun, ich würde sagen, dass Ihr EA überoptimiert ist... Wenn es sich aber um den Zeitraum von 2004 bis 2012 und dann von 2009 bis 2012 handelt, dann ist es sehr wahrscheinlich, dass in der Zeit von 2004 bis einschließlich 2008 einige Aufträge offen geblieben sind, die am Ende der Prüfung erfolgreich (oder vielleicht auch erfolglos) geschlossen wurden.
 
evgenGX:
Vielleicht, wer hat es gelöst und ist eine solche Lösung in mt4 möglich. Benötige einen EA oder ein Skript, das den Handel anderer EA's überwacht (EA handelt auf verschiedenen Paaren mit der gleichen Magik). Und nach dem Schließen jeder Order eine Überprüfung auf Erreichen des Magik-Gewinns (vorher in den EA-Einstellungen eingegeben). Wenn der Gewinn höher oder gleich ist, sollte der folgende EA den Handel durch den EA stoppen. Zusätzlich zu diesem Handels-EA gibt es noch andere Trades auf dem Konto. Wie festgestellt, überwacht der EA EquityLimits(_http://mtexperts.narod.ru/files/EquityLimits_EA.ex4) die aktuelle Differenz zwischen dem Kontostand und dem Guthaben und schließt bei Erreichen der festgelegten Grenzen alle Aufträge und deaktiviert alle Berater (klickt auf die Schaltfläche "Berater" in der Symbolleiste). Dieser Punkt ist nicht erfüllt.

Erstens, das Erreichen des Gewinns aus der Magie... das ist etwas Neues))) Nun, wenn es viele Expert Advisors gibt, warum nicht globale Variablen für jeden von ihnen verwenden
 

Hilfe eh!!!!

Wie erhalte ich die Anzahl der verlorenen Aufträge (in der Historie geschlossen) aus den letzten 10 geschlossenen Aufträgen?

Es gibt eine Funktion, die jedoch nur nach einem bestimmten Auftrag sucht.

hier:

double WW1(int stop,int mn=-1, string sy="", int op=-1 ) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal() -1 ;<-- hier können wir die laufende Nummer der Bestellung vom Ende her ändern (-1 ist die vorletzte, wenn wir -1 entfernen, ist es die letzte, usw.)usw.)

if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {

double rr=OrderProfit();


}
return(rr);
}


mit dieser Funktion definiere ich natürlich den Verlust- oder Gewinntyp

Hat jemand eine Funktion, die die letzten 10 Aufträge ausliest und die Anzahl der verlorenen Aufträge davon angibt?

 

Es gibt natürlich einen Vorschlag, diese Funktion zu einer boolschen Funktion zu machen, um wahre oder falsche Antworten zu erhalten,

aber dann brauchen wir 10 solcher Funktionen mit verschiedenen Zahlen (von 1 bis -9) und dann erhalten wir die Anzahl der Lügen und Wahrheiten

Wer kann dann beraten, wie man die Zahl der Falschheiten und Unwahrheiten ermittelt?

aber das ist eine Menge von Operationen und Formeln, ich halte es für eine Perversion

 
evgenGX:
Vielleicht, wer hat es gelöst und ist eine solche Lösung in mt4 möglich. Benötige einen EA oder ein Skript, das den Handel anderer EA's überwacht (EA handelt auf verschiedenen Paaren mit der gleichen Magik). Und nach dem Schließen jeder Order eine Prüfung auf Erreichen eines Gewinns auf der Magik (vorher in den EA-Einstellungen eingegeben). Bei einem Gewinn höher oder gleich, sollte der folgende EA den Handel durch den EA stoppen. Zusätzlich zu diesem EA gibt es noch andere Trades auf dem Konto. Wie festgestellt, überwacht der EA EquityLimits(_http://mtexperts.narod.ru/files/EquityLimits_EA.ex4) die aktuelle Differenz zwischen Kontostand und Guthaben und schließt bei Erreichen der festgelegten Grenzen alle Aufträge und deaktiviert alle EAs (durch Drücken der Schaltfläche "EAs" in der Symbolleiste). Dieser Punkt ist nicht erfüllt.
Zwei Expert Advisors können über globale Variablen des Terminals miteinander "kommunizieren". Der folgende EA erstellt eine GV-Variable, z.B. Symbol_STOP, nach dem angegebenen Ereignis (Schließung aller Orders) und setzt die Variable auf 1. Und der Handels-EA überwacht die Variable, und wenn er diese Variable findet und ihr Wert 1 ist, wird der EA verlassen (zurückkehren).
 
gheka:

Hilfe eh!!!!

Wie kann man die Anzahl der verlorenen Aufträge (in der Historie geschlossen) der letzten 10 geschlossenen Aufträge ermitteln?

Ich verwende diese Funktion, um den Verlust- oder Gewinntyp zu definieren

Vielleicht gibt es eine Funktion, die die letzten 10 Aufträge sofort ausliest und die Anzahl der verlorenen Aufträge angibt?


so wird es gelöst
int num_losed,tt,check=10;
for(tt=OrdersHistoryTotal()-1;tt>=0;tt--) if(OrderSelect(tt,SELECT_BY_POS,MODE_HISTORY) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
if(OrderProfit()<0) num_losed++;
Check..;
if(check<=0) break;

}

 
keep87:


Wenn der Code 1000 Zeilen überschreitet, beginnen Sie mit dem Schreiben von compact )

Auch in MT4 leidet die Leistung, insbesondere bei der Durchführung von Tests. Die lakonische Version ist schneller.


Soweit ich weiß, entfernt der Compiler beim Kompilieren des Codes alle "Lücken". Logischerweise sollte es egal sein, welche Option für die Leistung zu schreiben, weil in der Ausgabe der kompilierten Datei wird die gleiche sein "ohne Lücken".

Ist es nicht so?