Discussão do artigo "Migrando do MQL4 para o MQL5" - página 8

 

Qual será o som da string MQL4 do seguinte formato?

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

em MQL5?

Desde já, obrigado!

 
piv_:

Qual será o som da string MQL4 do seguinte formato?

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

em MQL5?

Desde já, obrigado!

Mais ou menos assim:

spread=SymbolInfoInteger(symbol,SYMBOL_SPREAD)*Point();
 
iStdOnArray() está faltando :) Parece que a MT5 é a primeira plataforma de negociação automática que não possui estatísticas básicas :) Estou tentando fazer algo com a MQL5 há alguns dias, mas até agora só tive vários problemas, como se eu estivesse criando um armazém inteiro de engenharia financeira.
 
Ainda não entendo como substituir variáveis predefinidas como High. Low, Ask, Cose, Open.... Em qual das funções especiais elas devem ser declaradas?
[Excluído]  
buh400:
Ainda não entendo como substituir variáveis predefinidas como High. Low, Ask, Cose, Open.... Em qual das funções especiais elas devem ser declaradas?
High, low, open, close - por meio de CopyHigh(), CopyLow(), etc. Bid e ask - por meio de SymbolInfoDouble(). - Isso é recuperação de dados. E você deve declarar matrizes para as quais receberá dados (para as funções Copy...) e variáveis para os valores de compra e venda. Declare-os nas funções em que você deseja obter esses dados (você não deve declará-los em nível global, embora possa). Por exemplo, se você quiser receber dados a cada tick - na função OnTick(). Se for na inicialização - OnInit(), etc. Leia a documentação.
 
Eu li, mas não tenho entusiasmo para aprender o mcl5! Acho que os corretores não desistirão do MT4! Sim, e para minha vida será suficiente! Só não compliquem o mcl4! Por favor!
 
Ao compilar o código da seção 17, ou seja, onde declaramos as constantes, recebemos um erro - 'MODE_MAIN' - identificador de enumerador já definido.

 
buh400:
ao compilar o código da seção 17,
Forneça o link da versão on-line da ajuda - https://docs.mql4.com/ru
Справочник MQL4 - Документация на MQL4
  • docs.mql4.com
Справочник MQL4 - Документация на MQL4
 
Rashid Umarov:
Forneça um link da versão on-line da ajuda - https://docs.mql4.com/ru

Esse código é do artigo - migração de MQL4 para 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 };
 
Percebi que essa questão já foi levantada e preciso ler outro artigo:) Minhas postagens podem ser excluídas