Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 753

 
Top2n:


Ich danke Ihnen! Wenn es Ihnen nichts ausmacht, noch eine Frage zu stellen: Wie um alles in der Welt lässt sich ein zweidimensionales Array in zwei Teile aufteilen, die Logik bricht doch zusammen, oder?

Wenn Sie ein zweidimensionales Array aus einem Indikator geben wollen, machen Sie einen Puffer für jede Dimension des Arrays.

Puffer 0 ist die erste Dimension, Puffer 1 ist die zweite Dimension.

Und bringen Sie sie auf die übliche Weise in den EA.

 
Artyom Trishkin:

Wenn Sie ein zweidimensionales Array aus einem Indikator geben wollen, machen Sie einen Puffer für jede Dimension des Arrays.

Puffer 0 ist die erste Dimension, Puffer 1 ist die zweite Dimension.

Und bringen Sie sie auf die übliche Weise in den EA.


Danke, aber wenn die Dimensionalität 1000*1000 ist, dann nicht wie.

Wie teilt man also ein zweidimensionales Array in zwei Teile?

Ich habe ein eindimensionales Array von Daten auf jedem Balken

 
Top2n:


Danke, aber wenn die Dimensionalität 1000*1000 ist, dann geht das nicht.

Wie wird also ein zweidimensionales Feld in zwei geteilt?

Ich habe ein eindimensionales Array von Daten auf jedem Balken

Warum müssen Sie alles im Indikator berechnen, um es an den Expert Advisor weiterzugeben? Berechnen Sie einfach alles im Expert Advisor - das wird einfacher sein.
 
Artyom Trishkin:
Warum müssen Sie Berechnungen in einem Indikator durchführen und diese dann an den Expert Advisor weitergeben? Berechnen Sie einfach alles im Expert Advisor - das wird einfacher sein.


Ich habe eine Klasse, die Parameter&Preis[] verwendet

OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
   sm.Solve(rates_total,prev_calculated,price);

Ich kann es im EA nicht umgehen

 
Top2n:


Ich habe eine Klasse, die&Preis[] als Parameter verwendet

Ich kann es im EA nicht umgehen

Lesen Sie den Abschnitt "Zugang zu Zeitreihen und Indikatoren" in der Dokumentation aufmerksam durch , dann wird Ihnen alles klar.

Sie können auch"SymbolInfoTick" verwenden, um Preise in EAs zu erhalten.

Документация по MQL5: Доступ к таймсериям и индикаторам
Документация по MQL5: Доступ к таймсериям и индикаторам
  • www.mql5.com
Доступ к таймсериям и индикаторам - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Liebe Kolleginnen und Kollegen, guten Tag.

Ich habe durch etwa 20 MQL5 Themen gelesen, aber nicht eine Antwort auf die folgende Frage finden: wo kann ich einen Beispielcode eines einfachen MQL5 Expert Advisor für FORTS automatisierten Handel erhalten?

Je einfacher der EA ist, desto besser. Je einfacher der EA ist, desto besser.

Ich habe bereits einen funktionierenden Code in MT5.


Ich habe zuvor bei Tranzac, AmiBroker und einigen IT-Terminals gearbeitet. Ich habe nie mit MetaTrader 4 oder 5 gearbeitet,

Aber jetzt hat Jus2Trade (offenbar eine Tochtergesellschaft von Finam) MT5 mit Zugang zu Forts und amerikanischen Futures.

Ich möchte es auf MT5 ausprobieren, aber ich kann kein richtiges Beispiel finden, das richtig funktioniert. Alle Beispiele beziehen sich auf den Devisenhandel.

Kolleginnen und Kollegen, bitte den Link anklicken.

 
Alexey Viktorov:

Lesen Sie den Abschnitt "Zugriff auf Zeitreihen und Indikatoren" in der Dokumentation aufmerksam durch , dann werden Sie alles sehen.

Sie können auch"SymbolInfoTick" verwenden, um Preise in EAs zu erhalten.


Das verstehe ich nicht.
 

Gute Leute, beraten, wie man diese Parameter in einem EA zu umgehen, kann ich nicht herausfinden, wie man eine Klasse für einen Indikator in einem EA angepasst verwenden

sm.Solve(rates_total,prev_calculated,price);

Info: Beim Starten des Indikators verwende ich SMA und wende es auf HL/2 an.

 
Top2n:

Gute Leute, beraten, wie man diese Parameter in einem EA zu umgehen, kann ich nicht herausfinden, wie man eine Klasse für einen Indikator in einem EA angepasst verwenden

Info: Ich verwende SMA beim Starten des Indikators, gilt für HL/2

Ich brauche weder rates_total noch prev_calculated in meinem EA. Treten Sie auf diese unverständlichen Ausdrücke und drücken Sie F1, lesen Sie, was sie bedeuten, vielleicht wird es dann klarer. Schließlich müssen alle Aktionen sinnvoll sein. Wie kann man etwas tun, ohne darüber nachzudenken, ob es funktionieren könnte oder nicht? Wie kann man etwas nutzen, ohne zu wissen, was es ist?

Stellen Sie sich vor, Sie wollen einen Nagel einschlagen und versuchen, dies mit einer Harke oder einem Mikroskop zu tun, ohne zu verstehen, womit Sie es zu tun haben...

Wenn Sie die Werte des iMA-Indikators für die letzten 2-3 Balken benötigen, können Sie diese über CopyBuffer mit einem Handle des zuvor erstellten Indikators abrufen. Genau dort, wenn Sie einen Indikator erstellen und sein Handle erhalten

PREIS_MEDIAN

Der Medianpreis, (hoch+niedrig)/2


Und in der Dokumentation gibt es ein eindeutiges Beispiel.

Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
Технические индикаторы / iMA - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Weder rates_total noch prev_calculated werden in der EA benötigt. Treten Sie auf diese unverständlichen Ausdrücke und drücken Sie F1, lesen Sie, was sie bedeuten, vielleicht wird es dann klarer. Schließlich müssen alle Aktionen sinnvoll sein. Wie kann man etwas tun, ohne darüber nachzudenken, ob es funktionieren könnte oder nicht? Wie kann man etwas nutzen, ohne zu wissen, was es ist?

Stellen Sie sich vor, Sie wollen einen Nagel einschlagen und versuchen, dies mit einer Harke oder einem Mikroskop zu tun, ohne zu verstehen, womit Sie es zu tun haben...

Wenn Sie die Werte des iMA-Indikators für die letzten 2-3 Balken benötigen, können Sie diese über CopyBuffer mit einem Handle des zuvor erstellten Indikators abrufen. Genau dort, wenn Sie einen Indikator erstellen und sein Handle erhalten

PREIS_MEDIAN

Der Medianpreis, (hoch+niedrig)/2


Und in der Dokumentation gibt es ein eindeutiges Beispiel.


Ok, ich habe es mit den ersten beiden rates_total und dem anderen übertrieben, aber statt prece ->&aData[]. sollte man die Klasse integrieren, nicht die Indikatoren durch copybuff

die Klasse ist

//+------------------------------------------------------------------+
void  CSMA_Greed::Solve(const int aRatesTotal,const int aPrevCalc,const double  &aData[])
  {
   rt=aRatesTotal; prv=aPrevCalc;
   for(int i=0;i<m_max_period;i++)ArrayResize(d[i].m,rt);
   chsma.Solve(rt,prv,aData,d[m_max_period-1].m);

   for(int i=prv>m_max_period?prv:m_max_period;i<rt;i++)
     {
      temp=d[m_max_period-1].m[i]*m_max_period;
      for(int j=m_max_period-2;j>=0;j--)
        {
         temp-=aData[i-(j+1)];
         d[j].m[i]=temp/(j+1);
        }
     }
  };