Discussione sull’articolo "Migrazione da MQL4 a MQL5" - pagina 8

 

Come sarà la stringa MQL4 della seguente forma?

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

in MQL5?

Grazie in anticipo!

 
piv_:

Come sarà la stringa MQL4 della seguente forma?

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

in MQL5?

Grazie in anticipo!

Più o meno così:

spread=SymbolInfoInteger(symbol,SYMBOL_SPREAD)*Point();
 
Manca iStdOnArray() :) Sembra che MT5 sia la prima piattaforma di autotrading a non avere una statistica di base :) Sto cercando di fare qualcosa con MQL5 da qualche giorno, ma finora ho avuto solo vari problemi come se dovessi creare un intero magazzino di ingegneria finanziaria.
 
Non ho ancora capito come sostituire le variabili predefinite come High. Low, Ask, Cose, Open.... In quale funzione speciale devono essere dichiarate?
 
buh400:
Non ho ancora capito come sostituire le variabili predefinite come High. Low, Ask, Cose, Open.... In quale funzione speciale devono essere dichiarate?
High, low, open, close - tramite CopyHigh(), CopyLow(), ecc. Bid e ask - tramite SymbolInfoDouble(). - Questo è il recupero dei dati. È necessario dichiarare gli array in cui ricevere i dati (per le funzioni Copy...) e le variabili per i valori bid e ask. Dichiaratele nelle funzioni in cui volete ottenere questi dati (non dichiaratele a livello globale, anche se è possibile). Ad esempio, se si desidera ricevere i dati a ogni tick, nella funzione OnTick(). Se all'inizializzazione - OnInit(), ecc. Leggete la documentazione.
 
Ho letto, nessun entusiasmo per imparare mcl5! Penso che i broker non abbandoneranno MT4! Sì, e per la mia vita sarà sufficiente! Basta non complicare mcl4! Per favore!
 
Quando si compila il codice della sezione 17, cioè dove si dichiarano le costanti, si ottiene un errore - 'MODE_MAIN' - enumerator identifier already defined.

 
buh400:
quando si compila il codice della sezione 17,
Indicare il link dalla versione online della guida - https://docs.mql4.com/ru
Справочник MQL4 - Документация на MQL4
  • docs.mql4.com
Справочник MQL4 - Документация на MQL4
 
Rashid Umarov:
Fornire un link dalla versione online della guida - https://docs.mql4.com/ru

questo codice proviene dall'articolo - migrazione da MQL4 a 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 };
 
Mi sono reso conto che la questione è già stata sollevata e devo leggere un altro articolo:) I miei messaggi possono essere cancellati