Aprender e escrever juntos em MQL5 - página 31

 
Urain:

Será que Pushkin vai rubricar o cordel?

Hmmm... Não sou muito bom a programar, mas a corda não seria sempre reiniciada?

Estou interessado no seu valor base, por exemplo, o valor do dobro é zero, o bool é 1, mas o que é isso?

Exemplo de um exemplo:

duplo Statys;

nulo OnTick()
{
se(Statys == 0)
{OpenBuy();}

}

E parece funcionar))


(Exactamente, não está zerado)). Nunca os inicializei lá).


 
AUser:

Hmm... Não sou bom a programar, mas a corda não seria sempre reiniciada?

Estou interessado no seu valor base, por exemplo, o valor do dobro é zero, o bool é 1, mas o que é?


Exactamente, não está zerado). E eu nunca os iniciei lá)

Na ajuda da MQL5 é claramente indicado na secção Inicialização de variáveis:

Qualquer variável pode ser rubricada quando definida. Se uma variável não for explicitamente inicializada, o valor armazenado nesta variável pode ser o que quiser. A inicialização implícita não é realizada.

Terá apenas sorte durante algum tempo, mas um dia terá azar e procurará dolorosamente um erro no seu código, sem saber que o diabo se esconde em detalhes. Não tem de confiar no facto de que "vou ter sorte".
 
Rosh:

A secção de Inicialização de Variáveis da ajuda MQL5 declara explicitamente:

Tem apenas sorte por enquanto, mas um dia terá azar e será agonizantemente longo a procurar um bug no seu código, sem saber que o diabo se está a esconder nas minúcias. Não tem de confiar no "Eu terei sorte".
Sim, obrigado))) Eu vou acertar))))
 

Estou a escrever uma função simples para verificar a direcção da indexação numa matriz. As próprias matrizes são retiradas da OnCalculate(), ou seja, têm tipos diferentes (duplo, data/hora, etc.). Há exemplos de funções terminais na referência que utilizam cabeçalhos tipo f(void &array[]) ao processar matrizes de diferentes tipos. Mas o compilador jura sobre a utilização do tipo void na função de utilizador. Existe alguma forma universal de dizer ao compilador que o tipo de parâmetros de matriz não é importante para uma função do utilizador?

 

Gostaria de clarificar a estrutura do resultado do pedido de comércio (MqlTradeResult)

duplo preço; // Preço no comércio, confirmado pelo corretor

Não devolve o preço de uma encomenda pendente? O Conselheiro Especialista escreveu o seguinte código:

duplo Statys = 0;
void OnTick()
{
if (Statys == 0)
{OpenBuy();}
}

vazio OpenBuy()
{
MqlTradeRequest o; MqlTradeResult p;
double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);

o.acção = TRADE_ACTION_PENDING;
o.símbolo = _Símbolo;
o.volume = 1;
o.preço = 82.000;
o.sl = 81,800;
o.tp = 82.200;
o.tipo = ORDER_TYPE_BUY_STOP;
o.type_filling = ORDER_FILLING_AON;
o.type_time = ORDER_TIME_GTC;
OrderSend(o,p);
Statys = p.preço;
}


A julgar pelo facto de termos muitos comércios abertos, aventuro-me a adivinhar que a resposta é preço = 0. Mas é um pouco estranho.


Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса - Документация по MQL5
 
Yedelkin:

Existe alguma forma universal de dizer ao compilador que o tipo do parâmetro da matriz não é importante para uma função do utilizador?

Fazer uma função de sobrecarga em diferentes tipos de dados da matriz.
Документация по MQL5: Основы языка / Функции / Перегрузка функций
Документация по MQL5: Основы языка / Функции / Перегрузка функций
  • www.mql5.com
Основы языка / Функции / Перегрузка функций - Документация по MQL5
 
AUser:

Gostaria de clarificar a estrutura do resultado do pedido de comércio (MqlTradeResult)

duplo preço; // Preço no comércio, confirmado pelo corretor

Não devolve o preço de uma encomenda pendente? O Conselheiro Especialista escreveu um tal código:


A julgar pelo facto de haver muitos comércios abertos, arrisco-me a adivinhar que a resposta é preço = 0. No entanto, isto é um pouco estranho.


Uma ordem pendente não implica a realização de um acordo. Dê uma vista de olhos na ajuda da estrutura MqlTradeResult:

Descrição do campo

Campo

Descrição

retcode

Código de retorno do servidor comercial

negócio

Bilhete de negócio, se tiver sido realizado um negócio. Reportado na operação comercial TRADE_ACTION_DEAL

encomenda

Encomendar bilhete, se tiver sido colocado um bilhete. Notificado durante uma operação de comércio_ACÇÃO_PENDENTE

volume

Volume do comércio confirmado pelo corretor. Depende do tipo de preenchimento da encomenda

preço

Preço de negócio, confirmado pelo corretor. Depende do campo dodesvio no pedido comercial e/ou do tipo de comércio

oferta

Preço actual de oferta de mercado (preço de requote)

perguntar

Preço actual de licitação no mercado (preços de requote)

comentário

Comentário do corretor à transacção (por defeito, preenchido com uma descodificação)

Além disso, por favor, insira o código correctamente.
 
OK, parar. Também temos de inicializar as cordas? Não é um tipo atómico.
 
Rosh:

Uma ordem pendente não constitui uma transacção. Veja-se a ajuda para a estrutura MqlTradeResult:

Além disso, por favor, insira o código correctamente.
Já está)
 
TheXpert:
OK, parar. Também temos de inicializar as cordas? Não é um tipo atómico.
Não se deve confiar na inicialização por defeito. Nunca.