Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 345

 
Сергей:

Ich verstehe dich sehr gut, aber du liegst falsch.

Setzen Sie Anführungszeichen und Sie erhalten:

'EURUSD' - Name erwartet MyIndi 3 (MA).mq4 61 14

Rechts

Und wo sind hier die Zitate?

EURUSD'

 
Artyom Trishkin:

Wo sind die Anführungszeichen?


Die Anführungszeichen in meinem Code sind doppelt, in der Fehlermeldung erhalte ich einfache Anführungszeichen, ich kann nichts dagegen tun.

Ich habe kein Problem mit der Ausgabe von Daten in das Fenster. Das Problem liegt in der falschen Ausgabe. Statt "flach" heißt es "Attenthion!" und umgekehrt. Der Algorithmus ist elementar, ich bin nicht sicher, wo ich es vermasselt habe...

Ich habe auch keine Probleme mit der Kompilierung. Beitrag mit Code #3437.

 

Der Indikator selbsthttps://cloud.mail.ru/public/6Ney/gTq1xMcMd

Ich habe das Problem der JPY-Charts, die die Ergebnisse verändern, hier angesprochen

Hier ist ein Forum für Trading, automatisierte Handelssysteme und Strategietests.

Ich werde versuchen, alle Fragen von Neulingen in diesem Forum zu beantworten. Alle Fragen von Neulingen, um das Forum nicht zu überladen. Nirgendwo ohne dich - 6.

Sergej, 2017.08.13 22:06

Leute, könnt ihr mir bitte sagen, warum der auf MA basierende Multiwährungsindikator falsche Ergebnisse anzeigt, wenn ich ihn an alle Paare mit JPY anhänge? Bei anderen Paaren funktioniert es gut.

Der betreffende Indikator ist hierhttps://cloud.mail.ru/public/CAXu/p3uD3UzBJ zu finden. Ich habe damals keine Hilfe zu meiner Frage bekommen, können Sie mir jetzt helfen?
 
Сергей:

Ich habe doppelte Anführungszeichen in meinem Code, aber in der Fehlermeldung erhalte ich einfache Anführungszeichen, und ich kann nichts dagegen tun.

Ich habe kein Problem mit der Ausgabe von Daten in das Fenster. Das Problem liegt in den falschen Ergebnissen. Anstelle von "flach" heißt es "Attenthion!" und umgekehrt. Der Algorithmus ist elementar, ich bin nicht sicher, wo ich es vermasselt habe...

Ich habe auch keine Probleme mit der Kompilierung. Beitrag mit Code #3437.

Damit die Leute wissen, wovon du sprichst, gibt es im Beitragseditor, den du eingibst, alle Optionen dafür:

Sie können den Code als Datei anhängen (unten finden Sie +Datei hinzufügen),

können Sie den Code als Code ausgeben,

zum Beispiel:

//+------------------------------------------------------------------+
//| Выводит в журнал список свечей серии                             |
//+------------------------------------------------------------------+
void CSeriesCollection::PrintListCandlesSeries(const uint num_candle)
  {
   int total=m_series.Total();
   ::Print("====== "+TextByLanguage("Список свечей тайм-серии","List of time series candles")+" ======");
   for(int i=0; i<total; i++){
      CCandleObject* candle=m_series.At(i);
      if(candle!=NULL){
         datetime time=candle.Time();
         if(time<TimeCurrent()-PeriodSeconds()*num_candle) continue;
         string tm=TimeToString(candle.Time());
         this.PrintCandle(candle);
         }
      }
   ::Print("====== "+TextByLanguage("Список свечей тайм-серии","List of time series candles")+" ======");
  }
//+------------------------------------------------------------------+

Sie können die Protokollzeile auch als Code anzeigen (Sie können sie aus dem Terminalprotokoll kopieren und hier als Code einfügen (Schaltfläche SRC))

2017.10.20 04:04:09.014 Свеча NZDUSD 2017.10.20 00:00, open: 0.70296, high: 0.70360, low: 0.70260, close: 0.70355, vol tick: 87, размер: 100, тело: 59, верх. тень: 5, нижн. тень: 36, тип: Бычья

dann werden die Leute nicht missverstehen, wovon du sprichst.

Und die Leute zu einer fremden Ressource zu schicken, um dort Unbekanntes herunterzuladen, ist nicht sehr freundlich, oder?

 
Сергей:
...

Auch bei der Kompilierung gibt es keine Probleme. Beitrag mit Code #3437.

Nun, du kannst auf #3437 klicken, "Link kopieren" wählen und den Link in deinen Beitrag einfügen (auch im Beitragseditor) - so dass die Leute nicht dort suchen müssen, wo sie es nicht wirklich müssen ;)

 
Artyom Trishkin:

Und es ist nicht sehr freundlich, die Leute auf eine Drittanbieterquelle zu verweisen, damit sie von dort herunterladen, was auch immer es ist, oder?


Verzeihen Sie meinen Analphabetismus.


MyIndi 1 MultiValue auf MultiTimeFrames. Am unteren Rand wird die Anzahl der Kaufpunkte angezeigt.

MyIndi 2 Wie die erste Version, jedoch ohne unnötige Daten. Unten wurden Daten hinzugefügt - dies ist die durchschnittliche Preisänderung pro Minute für die verschiedenen Zeitrahmen.

MyIndi 3 ist mehrwährungsfähig. Sie basiert auf einem einzigen MA mit einer Verschiebung. Wenn die Differenz im MA erreicht ist, wird "Warnung!


Alle drei funktionieren nicht korrekt, wenn sie an Charts mit JPY angehängt sind (aus irgendeinem Grund). MyIndi 3 funktioniert überhaupt nicht richtig, obwohl der Code sehr einfach ist.

Und natürlich kann ich in all dem nicht finden, was falsch ist, da ich neu in diesem Bereich bin... Wenn jemand Zeit hat, das herauszufinden und zu helfen, wäre ich sehr dankbar.
Dateien:
MyIndi.mq4  54 kb
MyIndi_2.mq4  38 kb
 
Сергей:

Verzeihen Sie meinen Analphabetismus.


MyIndi 1 Multiwährung auf MultiTimeFrames. Am unteren Rand wird die Anzahl der Kaufpunkte angezeigt.

MyIndi 2 Wie die erste Version, jedoch ohne unnötige Daten. Unten wurden Daten hinzugefügt - dies ist die durchschnittliche Preisänderung pro Minute für die verschiedenen Zeitrahmen.

MyIndi 3 ist mehrwährungsfähig. Sie basiert auf einem einzigen MA mit einer Verschiebung. Wenn die Differenz im MA erreicht ist, wird "Warnung!


Alle drei funktionieren nicht korrekt, wenn sie an Charts mit JPY angehängt sind (aus irgendeinem Grund). MyIndi 3 funktioniert überhaupt nicht richtig, obwohl der Code sehr einfach ist.

Und natürlich kann ich nicht in allen den Fehler finden, denn ich bin ein Anfänger auf diesem Gebiet. Wenn jemand Zeit hat, mich zu verstehen und mir zu helfen, wäre ich sehr dankbar.

Sehen Sie sich"Point" an, der JPY ist anders. Verwenden Sie MarketInfo. Zum Beispiel double EUR_point=MarketInfo("EURUSD",MODE_POINT);

 
Nauris Zukas:

Schauen Sie sich "Point" an, JPY ist anders. Verwenden Sie MarketInfo. Zum Beispiel double EUR_point=MarketInfo("EURUSD",MODE_POINT);

Danke, ich werde es ausprobieren! Ich hatte eine Ahnung, dass das das Problem war, wusste aber nicht WIE.


Es hat geklappt! Vielen Dank, lieber Mann! =)

Ich habe am Anfang hinzugefügt

      double USD_point=MarketInfo("EURUSD",MODE_POINT);
      double JPY_point=MarketInfo("USDJPY",MODE_POINT); 

und je nachdem, welches Paar ich verarbeite (mit oder ohne JPY), wird die eine oder die andere Variable verwendet.

 
Nauris Zukas:

Sehen Sie sich Point an, der JPY ist anders. Verwenden Sie MarketInfo. Zum Beispiel double EUR_point=MarketInfo("EURUSD",MODE_POINT);

Es ist besser, gleich zu gehen.

Point
SymbolInfoDouble(Symbol(),SYMBOL_POINT)
 
Vitaly Muzichenko:

Besser sofort.


Ich denke, die von@Nauris Zukas vorgeschlagene Variante eignet sich für Mehrfachwährungen.

Und Ihre Variante ist besser für einzelne Währungen geeignet, da sie Daten aus dem Diagramm übernimmt, an das sie angehängt ist.