Hilfe bei der Codierung - Seite 662

 
techmac:
Warum nicht mit etwas von hier https://www.mql5.com/en/forum/178566
Vielen Dank für Ihren Rat, aber es wäre immer noch schön, wenn jemand die Alarme als die vertikale Linie, die den ganzen Weg nach unten die Seite bewegt gibt eine genaue visuelle Preis Kreuzung Sicht auf alle Indikatoren in der sekundären oder nachfolgenden Fenster, ein weiterer Vorteil der Suche nach dem nächsten Einstiegspunkt.
 
mladen:
Das ist, mehr oder weniger, ein Zickzack. Warnungen darauf wären fast dasselbe wie Zickzack-Warnungen (und würden unter denselben Problemen leidenThan)

Vielen Dank für Ihre Antwort Mladen --- Ich stimme mit Ihrem Kommentar überein, aber was wäre, wenn die Alarme so programmiert werden könnten, dass Alarm 1 bei der Bildung der vertikalen Linie bei Kerzenschluss aktiviert wird, wodurch Sie auf den potenziellen Trendrichtungswechsel aufmerksam gemacht werden, und Alarm 2 (die horizontale Linie) bei Kerzenschluss der zweiten oder dritten Kerze nach dem Alarm der vertikalen Linie und unterhalb des höchsten erreichten Punktes aktiviert wird - wenn Alarm 2 dann aktiviert wird, sollte er einen guten Einstiegspunkt bieten - wenn nicht, dann handeln Sie nicht. Und ja, der Preis kann auch nach Alarm 2 ausbrechen, aber in all der Zeit, in der ich gehandelt und beobachtet habe, glaube ich nicht, dass ein solches Ereignis mehr als 20%-30% vorkommt, ein akzeptables Risiko. Wie auch immer, nur ein Gedanke für einen Programmierer, der vielleicht etwas Zeit damit verbringen und damit herumspielen sollte.

Aber während ich etwas von Ihrer Aufmerksamkeit habe, möchte ich fragen, warum die HMA/Hull-Indikatoren nicht so programmiert sind, dass sie die Farben ändern oder Warnungen ausgeben, wenn sie den Preis (die Kerze) kreuzen - viele Pips gehen verloren, wenn man den Handel bei einem Farbwechsel des HMA/Hull oder eines anderen MA-Indikators aufnimmt. Siehe meinen Anhang für eine visuelle Darstellung: Vielen Dank für Ihre Zeit Mladen - respektvoll, ein Handelskollege :)

Dateien:
HMA.jpg  188 kb
 

hallo mladen

ich habe einen Indikator gefunden, der "NON LINEAR ATR" heißt und in einfacher Sprache geschrieben ist (Tradestation).

Ist es möglich, in mql4 zu konvertieren?

danke u

 
lbubu:

hallo mladen

ich habe einen Indikator gefunden, der "NON LINEAR ATR" heißt und in einfacher Sprache geschrieben ist (Tradestation).

Ist es möglich, in mql4 zu konvertieren?

danke u

Es sollte möglich sein

Werden prüfen

 
lbubu:

hallo mladen

ich habe einen Indikator gefunden, der "NON LINEAR ATR" heißt und in einfacher Sprache geschrieben ist (Tradestation).

Ist es möglich, ihn in mql4 zu konvertieren?

danke u

Dies ist der Teil, der die Einträge verarbeitet


Dateien:
 

Liebe mladen

ich teste einen EA im Trading, der folgenden einfachen Code verwendet, um zu prüfen, ob eine Order geöffnet wurde. Aber wenn ich den Zeitrahmen ändere, wird ein neuer Auftrag geöffnet. Das Problem ist der Code oder brauche ich einen EA mit mehreren Zeitrahmen?!


   int OpenOrder = 0;
   for (int i=OrdersTotal()-1; i>=0; i--)
     {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber
         && (OrderType() == OP_BUY || OrderType() == OP_SELL)) OpenOrder++;
        }
     }
   return(OpenOrder);


Am besten,

 
IXI:

Liebe mladen

ich teste einen EA im Trading, der folgenden einfachen Code verwendet, um zu prüfen, ob eine Order geöffnet wurde. Aber wenn ich den Zeitrahmen ändere, wird ein neuer Auftrag eröffnet. Das Problem ist der Code oder brauche ich einen EA mit mehreren Zeitrahmen?!



Am besten,

Sie brauchen keinen EA mit mehreren Zeitrahmen

Wie verwenden Sie diesen Teil des Codes (ich meine, wie verhindern Sie, dass der EA eine neue Order öffnet, wenn die OpenOrder > 0 ist)? Es muss einen Teil des Codes haben, der das tut (der Code, den Sie gepostet haben, wird unabhängig vom Zeitrahmen die richtige Zahl zurückgeben)

 
lbubu:

hallo mladen

ich habe einen Indikator gefunden, der "NON LINEAR ATR" heißt und in einfacher Sprache geschrieben ist (Tradestation).

Ist es möglich, in mql4 zu konvertieren?

Danke

Die Version mit den Ausgängen(stop0 Verluste) hinzugefügt zu

 

Liebe Freunde!
Hier ist ein sehr bekannter Universal MA Cross Experte. Er funktioniert gut mit den richtigen Einstellungen und bietet großartige Geldmanagement- und Signalfilter-Optionen, aber ich möchte die Pro-Coder bitten, eine Option für die Verwendung von gleitenden Durchschnitten aus benutzerdefinierten höheren Zeitrahmen für Crossover-Signale hinzuzufügen. Der Screenshot veranschaulicht die Idee der gleitenden Durchschnitte eines höheren Zeitrahmens (gleitende 1-Stunden-Durchschnitte auf dem 5-Minuten-Chart).

Universal MA Cross EA und MTF MA Indikator mql Dateien sind beigefügt.

Ich bin für jede Hilfe und jeden Ratschlag dankbar.

Dateien:
 

Liebe mladen

vielen Dank für Ihre Antwort.

Es ist interessant, dass der EA nur prüft, ob OpenOrder == 0 ist, um eine neue Order zu senden. Ich weiß nicht, ob das ausreicht oder ob geprüft werden sollte, ob OpenOrder > 0 ist?

Sie haben auch erwähnt, dass die MetaTrader-Historie nicht nach Order-Schlusszeiten geordnet ist, zumindest nicht manuell. Wie sollten aufeinanderfolgende Orderergebnisse für einen EA geprüft werden? Ich habe eine Idee, aber ich bin mir nicht sicher, ob sie praktikabel ist. So etwas wie der folgende Code mit Arrays für die letzten paar Orders:

int ConsecutiveResults()
  {
   int Results[] ;
   int Orders = 0;
   ArrayResize (Results,OrdersHistoryTotal()); 
   datetime CloseTime  = 0;   
   for(int i=OrdersHistoryTotal()-1; i>=0; i--)
     {
      if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderCloseTime() > CloseTime)
      Results[i] = TimeCurrent()-OrderCloseTime();
     }
   ArraySort(Results);
   for(int j=5; j>=0 ; j--)
     {
      for(int k=OrdersHistoryTotal()-1; k>=0; k--)
        {
         if (OrderSelect(k,SELECT_BY_POS,MODE_HISTORY))
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderCloseTime() > CloseTime)
         if (TimeCurrent()-OrderCloseTime() == Results[j] && OrderProfit() > 0) Orders++;
         if (TimeCurrent()-OrderCloseTime() == Results[j] && OrderProfit() < 0) Orders--;
        }
     }
   return(Orders);
}
Best,