Diskussion zum Artikel "Übersetzung von MQL4 in MQL5" - Seite 8

 

Wie wird der MQL4-String der folgenden Form klingen?

spread_ =MarketInfo(Symbol(), MODE_SPREAD)*Point;

in MQL5?

Vielen Dank im Voraus!

 
piv_:

Wie wird der MQL4-String der folgenden Form klingen?

spread_ =MarketInfo(Symbol(), MODE_SPREAD)*Point;

in MQL5?

Vielen Dank im Voraus!

ungefähr so:

spread=SymbolInfoInteger(symbol,SYMBOL_SPREAD)*Point();
 
iStdOnArray() fehlt :) Scheint MT5 ist die erste Autotrading-Plattform, die nicht über grundlegende Statistik :) Versuchen Sie, etwas mit MQL5 für ein paar Tage zu tun, aber bis jetzt nur verschiedene Probleme, wie ich ganze Finanz-Engineering Lager erstellen würde.
 
Ich verstehe immer noch nicht, wie man die vordefinierten Variablen wie High. Low, Ask, Cose, Open.... In welcher der speziellen Funktionen sollten sie deklariert werden?
 
buh400:
Ich verstehe immer noch nicht, wie man die vordefinierten Variablen wie High. Low, Ask, Cose, Open.... In welcher der speziellen Funktionen sollten sie deklariert werden?
High, Low, Open, Close - durch CopyHigh(), CopyLow(), etc. Bid und Ask - über SymbolInfoDouble(). - Dies ist eine Datenabfrage. Und Sie sollten Arrays deklarieren, in die Sie Daten (für Copy... Funktionen) und Variablen für Bid- und Ask-Werte aufnehmen werden. Deklarieren Sie sie in den Funktionen, in denen Sie diese Daten erhalten wollen (Sie sollten sie nicht auf globaler Ebene deklarieren, obwohl Sie das können). Wenn Sie zum Beispiel Daten bei jedem Tick erhalten wollen - in der Funktion OnTick(). Wenn bei der Initialisierung - OnInit(), usw. Lesen Sie die Dokumentation.
 
Ich las es, keine Begeisterung für mcl5 lernen! Ich denke, dass Makler nicht aufgeben MT4! Ja, und für mein Leben wird es genug sein! Nur nicht verkomplizieren mcl4! Bitte!
 
Beim Kompilieren des Codes aus Abschnitt 17, nämlich dort, wo wir Konstanten deklarieren, erhalten wir einen Fehler - 'MODE_MAIN' - enumerator identifier already defined.

 
buh400:
beim Kompilieren von Code aus Abschnitt 17,
Geben Sie den Link aus der Online-Version der Hilfe an - https://docs.mql4.com/ru
Справочник MQL4 - Документация на MQL4
  • docs.mql4.com
Справочник MQL4 - Документация на MQL4
 
Rashid Umarov:
Geben Sie einen Link von der Online-Version der Hilfe - https://docs.mql4.com/ru

dieser Code ist aus dem Artikel - Migration von MQL4 zu MQL5.

17. Технические индикаторы
Получение значений технических индикаторов в своих экспертах очень подробно рассмотрено в одноимённой статье. В этом справочнике представлен краткий способ обращения к стандартным индикаторам, которого вполне достаточно для получения результата расчёта в одной точке. Для реализации такого механизма, нам потребуется вспомогательная функция:

double CopyBufferMQL4(int handle,int index,int shift)
  {
   double buf[];
   switch(index)
     {
      case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
         return(buf[0]); break;
      case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
         return(buf[0]); break;
      case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
         return(buf[0]); break;
      case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
         return(buf[0]); break;
      case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
         return(buf[0]); break;
      default: break;
     }
   return(EMPTY_VALUE);
  }
и объявим следующие константы:
ENUM_MA_METHOD MethodMigrate(int method)
  {
   switch(method)
     {
      case 0: return(MODE_SMA);
      case 1: return(MODE_EMA);
      case 2: return(MODE_SMMA);
      case 3: return(MODE_LWMA);
      default: return(MODE_SMA);
     }
  }
ENUM_APPLIED_PRICE PriceMigrate(int price)
  {
   switch(price)
     {
      case 1: return(PRICE_CLOSE);
      case 2: return(PRICE_OPEN);
      case 3: return(PRICE_HIGH);
      case 4: return(PRICE_LOW);
      case 5: return(PRICE_MEDIAN);
      case 6: return(PRICE_TYPICAL);
      case 7: return(PRICE_WEIGHTED);
      default: return(PRICE_CLOSE);
     }
  }
ENUM_STO_PRICE StoFieldMigrate(int field)
  {
   switch(field)
     {
      case 0: return(STO_LOWHIGH);
      case 1: return(STO_CLOSECLOSE);
      default: return(STO_LOWHIGH);
     }
  }
//+------------------------------------------------------------------+
enum ALLIGATOR_MODE  { MODE_GATORJAW=1,   MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE        { MODE_MAIN,         MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE     { MODE_BASE,         MODE_UPPER,      MODE_LOWER };
enum ICHIMOKU_MODE   { MODE_TENKANSEN=1,  MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN,         MODE_SIGNAL };
 
Ich habe festgestellt, dass dieses Thema bereits angesprochen wurde und ich einen anderen Artikel lesen muss:) Meine Beiträge können gelöscht werden