Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1000

 
Onde posso encontrar uma opção no terminal para começar a criar, indicadores auxiliares que não estão ligados ao gráfico aberto?
 
BillionerClub:
Onde posso encontrar uma opção no terminal para começar a criar, indicadores auxiliares que não estão ligados ao gráfico aberto?

Tudo o que precisa de fazer ao criar um indicador HANDLE é especificar o prazo e o símbolo desejados. Por exemplo, o indicadoriRSI:

int  iRSI( 
   string              symbol,            // имя символа 
   ENUM_TIMEFRAMES     period,            // период 
   int                 ma_period,         // период усреднения 
   ENUM_APPLIED_PRICE  applied_price      // тип цены или handle 
   );
 
Vladimir Karputov:

Tudo o que precisa de fazer ao criar um indicador HANDLE é especificar o prazo e o símbolo desejados. Por exemplo, o indicadoriRSI:

Não, estou a falar a sério. Penso que Renat disse em algum post sobre a criação de auxiliares, não ligados ao gráfico EAs ou algo do género.

 
BillionerClub:

Não, é isso que eu quero dizer. Penso que Renat disse em algum post sobre a criação de EAs auxiliares, não cartografados ou algo do género.

Chama-se Serviços. Ainda não os temos.

 

Tenho uma função de trabalho sob MT4 que verifica a disponibilidade do servidor antes de colocar a encomenda (parâmetro bool refresca - actualizar aspas e int conta - número de verificações com pausa se o servidor não estiver disponível, resultados devolvidos falsos - pode negociar, servidor verdadeiro não está disponível. isto é, é conveniente usar if(ServerDisable() devolve;):

bool ServerDisable(bool refreshrates=false,int count=10)
  {
   for(int i=0;i<count;i++)
     {
      if(IsConnected())
        {
         if(IsTradeAllowed())
           {
            if(!IsTradeContextBusy())
              {
                 {
                  if(refreshrates)RefreshRates();
                  return(false);
                 }
              }
           }
        }
      Sleep(157);
     }
   Print(__FUNCTION__," Торговый сервер не отвечает");
   return(true);
  }

Ajude-me a reescrever correctamente esta construção para MT5, chama-seTerminalInfoInteger() solicitar parâmetros na ajuda MT5 (ou seja, estou à procura de analogia em MT5 para funções padrão MT4 IsConnected(), IsTradeAllowed()... ) e como executar RefreshRates() ?

 
Igor Makanu:

Tenho uma função de trabalho sob MT4 que verifica a disponibilidade do servidor antes de colocar a encomenda (parâmetro bool refresca - actualizar aspas e int conta - número de verificações com pausa se o servidor não estiver disponível, resultados devolvidos falsos - pode negociar, servidor verdadeiro não está disponível. isto é, é conveniente usar if(ServerDisable() devolve;):

Ajude-me a reescrever correctamente esta construção para MT5, chama-se TerminalInfoInteger() solicitar parâmetros na ajuda MT5 (ou seja, estou à procura de analogia em MT5 para funções padrão MT4 IsConnected(), IsTradeAllowed()... ) e como executar RefreshRates() ?

Eu só uso este e parece ser suficiente.

TerminalInfoInteger(TERMINAL_CONNECTED)

 
Vitaly Muzichenko:

Eu só uso este, parece ser suficiente

TerminalInfoInteger(TERMINAL_CONNECTED)

Não quero discutir os corretores complicados, a construção que mostrei acima fornece a colocação de uma encomenda, bem como a saída de OnTick() quando um tick vem, se nesse tick não há possibilidade de trabalhar com encomendas

Preciso de análogos exactos para fts MT5: IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmado ), IsTradeAllowed() , IsTradeContextBusy() , RefreshRates()

 
Igor Makanu:

Não quero discutir os corretores complicados, a construção que mostrei acima fornece a colocação de encomendas, bem como no tick para sair OnTick() se neste tick não houver possibilidade de trabalhar com encomendas

Preciso de análogos exactos para as funções MT5: IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmado), IsTradeAllowed() , IsTradeContextBusy() , RefreshRates()

IsTradeContextBusy() pode ser excluído, o quinto fio é sempre livre

RefreshRates() é a actualização de variáveis Ask/Bid pré-definidas.

#define Bid (::SymbolInfoDouble(_Symbol, ::SYMBOL_BID))
#define Ask (::SymbolInfoDouble(_Symbol, ::SYMBOL_ASK))

então os preços estarão sempre actualizados

 
Igor Makanu:

Não quero discutir os corretores complicados, a construção que mostrei acima fornece a colocação de encomendas, bem como no tick para sair OnTick() se neste tick não houver possibilidade de trabalhar com encomendas

Preciso de análogos exactos para fts MT5: IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmado), IsTradeAllowed() , IsTradeContextBusy() , RefreshRates()

Presumo que quer dizer que as carraças estão a funcionar mas o comércio é deficiente?

Se assim for, também gostaria de ter um tal cheque, mas até agora ninguém ofereceu nada.

 
Vitaly Muzichenko:

IsTradeContextBusy() pode ser excluído, o quinto fio é sempre livre

https://www.mql5.com/ru/articles/4332

IsConnected() TerminalInfoInteger(TERMINAL_CONNECTED)

IsTradeAllowed() MQLInfoInteger(MQL_TRADE_ALLOWED)

RefreshRates() SymbolInfoDouble(_Symbol, ::SYMBOL_BID)

IsTradeContextBusy() precisa de análogo ou justificar porque é que o mesmo não é possível


Preciso de um analógico e nada mais , ontem reescrevi a função acima com base na ajuda mas há incerteza sobre a interpretação correcta (palavras diferentes descritas ), agora quero confirmar a correcção no fórum:

//_______________________________________________________________________
bool ServerDisable(bool refreshrates=false,int count=10)
  {
   if(MQLInfoInteger(MQL_TESTER)|| MQLInfoInteger(MQL_OPTIMIZATION))return(false);
   for(int i=0;i<count;i++)
     {
      if(TerminalInfoInteger(TERMINAL_CONNECTED))if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
        {
#ifdef __MQL5__
         if(refreshrates) SymbolInfoDouble(_Symbol,SYMBOL_BID);
         return(false);
#else
#ifdef __MQL4__
         if(!IsTradeContextBusy())
           {
            if(refreshrates) RefreshRates();
            return(false);
           }
#endif   // __MQL4__
#endif
        }
      Sleep(157);
     }
   Print(__FUNCTION__," Торговый сервер не отвечает");
   return(true);
  }
//___________________________________________________________________________
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
  • www.mql5.com
— В чем сила, брат?                                   —А сила, брат, в дефайнах                     Вы все ещё пишете на MQL4 и хотите перейти на MQL5, но не знаете с чего начать? Тогда мы идём к вам! Теперь появилась возможность комфортно работать в редакторе MetaEditor MQL5 и при этом использовать MQL4-нотацию (справедливости ради замечу...