[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 500

 

Expert Advisor auf Basis von ZUP mit modifizierten Mistgabeln

Bei der Verwendung von Indikatoren mit Heugabeln drehen sich die Heugabeln im Prüfgerät aus irgendeinem Grund in die entgegengesetzte Richtung (rückwärts).

Was kann diese Umkehrung verursachen?

 
Cmu4:
Meine Herren, wenn es Ihnen nichts ausmacht, schicken Sie mir bitte die Funktion, die das Eigenkapital abfängt. Ich kann es nicht finden...

https://www.mql5.com/ru/code/8781

Und davon gibt es in der Codebase reichlich.

 
Helfen Sie mir, eine schlupffähige Auftragsvergabefunktion zu finden, die keine 130-134 Fehler aufweist.
 
xrust:

https://www.mql5.com/ru/code/8781

Und davon gibt es in der Codebasis reichlich

Ich werde den Berater von Igor Kim hinzufügen.
 
Roman.:


Hallo, Dimitri. Ich für meinen Teil bin bereit, Ihnen die folgende Variante vorzuschlagen. Zur Analogie siehe die Auslösung der Handelskriterien dieses Artikels - es gibt auch zwei Signale - nämlich siehe nach dem zweiten Bild "Das erste, was Sie auf dem DeMarker-Chart abwarten sollten, ist der Moment, in dem der DeMarker die schnelle und langsame MA-Linie bei 0,7 für eine Short-Position kreuzt. Dies ist das erste vorläufige Signal. Dann warten wir auf die Überquerung der MA-Linien selbst. Dies ist das Hauptsignal, nach dem die Taichi-Anzeige abgelesen werden kann. Wenn die MA-Linien nicht gekreuzt werden, gilt dies als falsches Signal und die Preisbewegung wird fortgesetzt. So ist es in meinem Code implementiert - in der Einbeziehung von Eulen, die für die Auslösung von Handelskriterien verantwortlich sind.

Der Haupttrick besteht darin, dass wir die beiden unten genannten Faktoren abarbeiten, indem wir Flaggen setzen und zurücksetzen, wenn das eine oder andere Handelskriterium ausgelöst wird.

Sie speichern zusätzlich die aktuelle Zeit, wenn das Hauptkriterium mit TimeCurrent ausgelöst wird, d.h. Sie geben einen Ausdruck vom Typ x = TimeCurrent vorreturn(OP_BUY); oderreturn(OP_SELL); an, wobei x analog zur erstenint_op_DeMarker-Funktion eine globale Variable vom Typ datetime ist. Dann machen Sie dasselbe mit der zweitenint type_op_MA Funktion... - dort speichern Sie die Variable y = TimeCurrent;

Dann vergleichen Sie den Wert dieser beiden Variablen mit dem Pluszeichen im Block der Handelskriterienberechnung (es stellt sich heraus, dass Sie nicht analog mit UTC-Werten arbeiten müssen - stattdessen nehmen Sie einen Vergleich der Empfangszeit Ihrer beiden Handelssignale):

P.S. Außerdem sende ich Ihnen eine Funktion, mit der Sie den Wert der Arbeits-TF optimieren können.

P.P.S. So ist diese Codestruktur in meinem Code organisiert. Ich schließe nicht aus, dass es wesentlich bessere Code-Varianten gibt, um solche Bedingungen des EA zu erfüllen. :-)))

Vielen Dank, Ihre Antwort war sehr hilfreich.
 
demlin:
Vielen Dank, Ihre Antwort war sehr hilfreich.

:-))) Und ich dachte schon, Sie hätten es geschluckt und mich mit all diesen Analogien, Beispielen usw. weggeschickt. .... :-)))
 
Roman.:

:-))) Ich dachte, Sie hätten es geschluckt und mich mit all diesen Analogien, Beispielen usw. weggeschickt. .... :-)))
Ich bin schon seit einiger Zeit nicht mehr in die Nähe meines Computers gekommen))). Ich habe nur die Funktion der Optimierung der Arbeits-TF nicht ganz verstanden. Was ist das?
 
demlin:
Ich war schon eine Weile nicht mehr in der Nähe des Computers))). Ich habe nur die Funktion zur Optimierung der Arbeits-TF nicht ganz verstanden. Was ist das?

Es ist nur eine Art "Adapter", der es erlaubt, die Zeitrahmen des Expert Advisors durch externe Variablen der Eule zu optimieren, um die besten (-die, im Falle der Eule, die auf mehreren TFs arbeitet) für seinen Betrieb einzustellen... Eine gute und nützliche Funktion...
 
Roman.:

Es ist nur eine Art "Adapter", der es ermöglicht, EA-Zeitrahmen über externe Eulenvariablen zu optimieren, um die besten (-die, im Falle von Eulenbetrieb auf mehreren TFs) für seinen Betrieb zu setzen... Eine gute und nützliche Funktion...
Wie bekommt man es?
 
demlin:
Wie bekommen Sie es?


Schauen Sie genau in meinen Antwortcode - er ist dort direkt nach dem Ende des Kriteriums {... return (0)}... im Block der externen Variablen:

extern int t_trend_period =6; // для оптимизации по всем периодам от 0 до 7 шаг 1
                              // на каком ТФ работаем: 1-М1, 2-М5, 3-М15, 4-М30, 5-Н1, 6 - Н4, 7-день

und wie man sie verwendet, um Indikatorwerte zu erhalten:

//--------------------------------------------------------------- 3 --
int Criterion()                        // Пользовательская функция
  {
  //--------------------------------------------------------------- 4 --
int trend_period=GetPeriod(t_trend_period); // для выбора оптимального значения рабочего ТФ

   // Параметры технич. индикат:
                 
double Taichi_1 = iCustom (Symbol(), trend_period, "Cronex Taichi",Tenkan, Kijun, Senkou, FlatSE, 0, 1);
...
...
//--------------------------------------------------------------- 6 --
   return(0);                          // Выход из пользов. функции
  }
//--------------------------------------------------------------- 7 --

//для оптимизации по всем ТФ
int GetPeriod(int period)
{int periodres;
 switch(period)
  {
   case 1: periodres=1;break;
   case 2: periodres=5;break;
   case 3: periodres=15;break;
   case 4: periodres=30;break;
   case 5: periodres=60;break;
   case 6: periodres=240;break;
   case 7: periodres=1440;break;
   case 8: periodres=10080;break;
   default: periodres=1;break;
  }
return(periodres);
}