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

 
borilunad:
es sei denn, der Markt selbst optimiert sie für Sie, d.h. er programmiert sie mit Feedback

Ich habe auf der einen Seite das Sammeln von Statistiken und auf der anderen Seite das Scannen nach übertragenen Parametern (z.B. Scannen nach Wellenlänge) eingefügt, um das Maximum anhand von Statistiken zu finden, und das erneute Scannen in regelmäßigen Abständen durch einen zugewiesenen Hotkey. Welche anderen Möglichkeiten gibt es?

Apropos Humor.

#property indicator_chart_window
void start(){
   if(Bid>Ask) Alert("Это конец света");
   return;
}

- Indikator für den Weltuntergang.

 

Hallo zusammen!

Ich teste eine Strategie, die die Eröffnung eines Marktauftrags zum Eröffnungszeitpunkt beinhaltet.

einerjeden Fünf-Minuten-Kerze.

Bei einigen Aufträgen lässt sich der Tester (MT-4 von Alpari) nicht öffnen und gibt Fehler 148 aus.

Dieser Fehler wird durch die Überschreitung des Limits der gleichzeitig eröffneten Aufträge verursacht.

Ich werde im wirklichen Leben nicht alle fünf Minuten öffnen.

F: Wie kann ich ein Limit von offenen Aufträgen gleichzeitig aufheben?

Im Prüfgerät?

Ich danke Ihnen.

 

gyfto, Sie haben das falsch verstanden oder ich habe es nicht gut erklärt. Wenn wir eine offene Position haben, müssen wir ihren Eröffnungskurs bestimmen, und wenn der Balken über dem Eröffnungskurs schließt, steigen wir aus.

 
borilunad:
Victor, wie können Sie es tun, ohne Externs, müssen Sie in der Tester, in der Demo zu debuggen! Schreiben Sie wirklich so, dass Sie nichts überarbeiten müssen? Ich stimme zu, dass Ihr TS stabil sein muss, aber es ist unmöglich, die Parameter nicht zu verändern, es sei denn, der Markt verändert sie, d. h. Sie haben sie mit Feedback programmiert! Dann sind Sie bereits ein großes Ass! Herzlichen Glückwunsch!


Das ist es nicht, es ist nur so, dass bei mir alles, was ich schreibe, fast keine Optimierungsparameter hat. Ich bevorzuge genau die Strategien, die auf Preis-Aktion-Indikatoren basieren, die ich in aller Ruhe studiert habe, nur um mit ihnen arbeiten zu können. Aber ich bin nur an ihnen interessiert, um mir ein Bild von den Vorgängen zu machen.

Und um die Parameter in Parameter umzuwandeln, ist es eine Marktanpassung. Und die Anpassung an einen bestimmten Zeitrahmen ist ein Allheilmittel???

 
cursed:

gyfto, Sie haben das falsch verstanden oder ich habe es nicht gut erklärt. Wenn wir eine offene Position haben, müssen wir ihren Eröffnungskurs bestimmen, und wenn der Balken über dem Eröffnungskurs schließt, steigen wir aus.


Nach den obigen Ausführungen zu urteilen, befindet sich Ihr Zustand an der falschen Stelle. Sie sollten zunächst die Suche nach Aufträgen organisieren und dann, wenn der Auftrag gefunden ist, seinen Parameter mit etwas anderem vergleichen.

Andernfalls wird er mit dem Schlusskurs des Balkens außerhalb der Suche verglichen, so dass wir kein Ergebnis erhalten.

 
hoz:

... Und dann die Parameter: Es geht um die Passung zum Markt. Und die Anpassung an einen bestimmten Zeitrahmen ist ein Allheilmittel???

Ja, wenn es sich bei dem Zeitrahmen um RealTime handelt. :)
 
Zhunko:

Victor, Sie haben eine Menge Variablen in Ihrer Funktion und keine deklariert.

Der Compiler sagte:

Variable nicht definiert

Eine Variable ist nicht definiert. Es gibt 18 von ihnen.


Vadim, ich kann sehen, dass sie nicht deklariert sind. Ich habe schon seit einiger Zeit darüber nachgedacht. Sie haben keine Variablen global deklariert, genau wie ich. Aber es gibt KEINE Fehler beim Kompilieren! Ich habe verstanden, dass alle Ihre Variablen durch Funktionsparameter in der Einbeziehung definiert sind, richtig?

 
tara:
Ja, wenn diese Zeitspanne RealTime ist. :)


Es ist keine Passform, es ist eine Art Autopassform :)
 
hoz:


Vadim, ich kann sehen, dass sie nicht deklariert sind. Ich habe schon eine Weile darüber nachgedacht. Sie haben keine Variablen global deklariert, genau wie ich. Aber es gibt KEINE Fehler beim Kompilieren! Ich habe verstanden, dass alle Ihre Variablen durch Funktionsparameter in der Einbeziehung definiert sind, richtig?

Jede Variable muss zuerst deklariert werden, bevor sie verwendet werden kann, sei es in Parametern, sei es global in der Bibliothek.
 
<br / translate="no">

Nach der Gestaltung der Funktion zu urteilen, ist sie hoch spezialisiert. Warum soll es in der Bibliothek stehen? Vor allem, weil sie wahrscheinlich in einer Schleife bei jedem Takt aufgerufen wird.

Sie haben etwas über Geschwindigkeit und Optimierung gesagt. Sie erstellen einen sehr langsamen Code. In MQL4 sollten Sie Funktionen nicht in eine Schleife einfügen. Je weniger Funktionsaufrufe in einer Schleife, desto schneller läuft der Code.

Es handelt sich also um eine Funktion aus der Bibliothek:

//+-------------------------------------------------------------------------------------+
//| Получаем машку с заданными параметрами                                              |
//+-------------------------------------------------------------------------------------+
double GetMA(int typeOfMA)
{
   switch (typeOfMA)
   {
      case 1:      return (iMA(NULL, i_fastMATF, i_fastMAPeriod, i_fastMAShift, i_fastMAMethod, i_fastMAApplied, i_fastMAIndex));
      case 2:      return (iMA(NULL, i_slowMATF, i_slowMAPeriod, i_slowMAShift, i_slowMAMethod, i_slowMAApplied, i_slowMAIndex));
      case 3:      return (iMA(NULL, i_filtrMATF, i_filtrMAPeriod, i_filtrMAShift, i_filtrMAMethod, i_filtrMAApplied, i_filtrMAIndex));
   }
}

Vadim, über Funktionen in der Schleife. Sie meinen, was der Schalterbetreiber zurückgibt? Aber es ist nicht so, dass ich Werte über die gesamte Anzahl von Schleifenvariablen erhalte. Es wird lediglich der Typ der empfangenen Maske verglichen (Eingangsvariable der Funktion) und dann der Wert der Maske berechnet. Es stellt sich heraus, dass es keine zusätzlichen Berechnungen gibt. Ich wähle einfach den Maskentyp aus, und das war's! Ich möchte verstehen, was Sie damit meinen:

Zhunko:

In MQL4 sollten Sie keine Funktionen in Schleifen einfügen. Je weniger Funktionsaufrufe in der Schleife, desto schneller arbeitet der Code.

Darf ich das klarstellen?
Grund der Beschwerde: