Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 123

 

Como acrescentar um valor à condição de compra/venda se o indicador RVI, por exemplo: quando duas linhas se cruzam, abre uma ordem de compra/venda, mas quero que não seja apenas uma travessia, mas se a travessia estiver acima do valor 0 ?

MM e MS são linhas indicadoras RVI

  if (MM > MS && MoM < MS && MoM < MM)
   {
    OrderSend(_Symbol, OP_BUY, Lot, Ask, 3, Ask-SL*Point, Ask+TP*Point, "", Magic, 0, Red);
   }
  if (MM < MS && MoM > MS && MoM > MM)
   {
    OrderSend(_Symbol, OP_SELL, Lot, Bid, 3, Bid+SL*Point, Bid-TP*Point, "", Magic, 0, Red);
   }


 

Olá !

Você pode me dizer como usar o rótulo obj para exibir uma seqüência de mais de 64 caracteres?

 
Игорь:

Olá !

Você pode me dizer como usar o rótulo obj para exibir uma seqüência de mais de 64 caracteres?

Duas etiquetas obj lado a lado. A esquerda está alinhada à borda direita, a direita à esquerda

 
novichok2018:

Você pode explicar esta linha de seu código:OrderInfo arrstBuyOrderInfo[MAX_ORDERS_CNT], arrstSellOrderInfo[MAX_ORDERS_CNT]; Por queOrderInfo não tem parênteses e nenhum tipo?

OrderInfo é um tipo de dado. Assim como int, duplo, etc. Neste caso, OrderInfo é uma estrutura. Eu dei um exemplo de sua declaração em meu postode fechamento de posições? Onde? E talvez a função de fechar posições com arrays deva parecer de alguma forma diferente? É um pouco complicado para mim. Obrigado.

Até agora, consideramos apenas a primeira tarefa - coleta de informações sobre ordens de trabalho. A geração de sinais comerciais e a execução de ações comerciais são as Tarefas 2 e 3 respectivamente. Ainda não chegamos a eles.

A idéia da coleta de informações é não ter que passar novamente por toda a lista de pedidos a cada "espirro". Em uma EA corretamente escrita, esta ação é realizada apenas uma vez por iteração. Mais adiante, trabalhamos apenas com os dados criados.

Вопросы от начинающих MQL4 MT4 MetaTrader 4
Вопросы от начинающих MQL4 MT4 MetaTrader 4
  • 2018.02.13
  • www.mql5.com
Если у Вас вопросы по MQL4, MT4, MetaTrader 4, пожалуйста пишите в этой теме. Особенно когда вопросы касаются торговых функций...
 
Aleksey Rodionov:

Como acrescentar um valor à condição de compra/venda se o indicador RVI, por exemplo: quando duas linhas se cruzam, abre uma ordem de compra/venda, mas quero que não seja apenas uma travessia, mas se a travessia estiver acima do valor 0 ?

MM e MS são linhas indicadoras RVI


O valor de ambas as linhas deve ser comparado a zero. Não é?

E não está claro o que é MoM.

 

há esta linha da MQL5, o compilador MQL4 reclama dela, como ela pode ser reescrita?

//--- set new color
   m_pixels[y*m_width+x]=(r<<16|g<<8|b<<0|255<<24) &0xffffffff;

//check operator precedence for possible error; use parentheses to clarify precedence   Canvas.mqh
 
Ihor Herasko:

OrderInfo é um tipo de dado. Como int, duplo, etc. Neste caso, a OrderInfo é uma estrutura. Eu dei um exemplo de sua declaração em meu postohttps://www.mql5.com/ru/forum/160587/page121#comment_6556328.

Entendo seu exemplo corretamente: A diretiva #define substituirá a número 500 em todos os lugares onde ela se encontra MAX_ORDERS_CNT ? E por que um número deve ser atribuído a um tipo?

E por que não podemos especificar cnt=500 ? E depois haverá OrderInfo arrstOrderInfo[cnt], arrstBuyOrderInfo[cnt], arrstSellOrderInfo[cnt]; ?


Também: em seu posto na p122 não está claro para mim o que é&arrstOrderInfo[],&nOrdersCnt e.n? Desculpe se minhas perguntas parecem bobagens - como é, estou tentando descobrir mais por conta própria, embora esteja tendo uma experiência ruim.

 

Boa tarde

Por favor, ajude-me a atualizar meu indicador

Preciso adicionar 2 buffers, o indicador "nativo" desenha uma seta (para cima ou para baixo) na identificação da lacuna e dá um sinal no buffer 6 ou 7

Eu gostaria de ter um buffer 8 e 9 onde na lacuna sinal +1 (para cima) ou -1 (para baixo) 0, na ausência de

Eu mesmo tentei fazer isso, mas nada funciona, não tenho habilidades em programação

Arquivos anexados:
 
novichok2018:

Entendo seu exemplo corretamente? A diretiva #define substituirá o número 500 onde quer que MAX_ORDERS_CNT seja encontrado ? E por que um número deve ser atribuído a um tipo?

Sim. E note que ele será substituído na fase de compilação e não durante a execução do programa.

E por que você não pode apenas especificar cnt externo=500 ? E depois haverá OrderInfo arrstOrderInfo[cnt], arrstBuyOrderInfo[cnt], arrstSellOrderInfo[cnt]; ?

Não, porque int cnt é a declaração de uma variável. E uma variável pode mudar seu valor enquanto o programa está sendo executado. E a memória estática da matriz não é alocada durante a execução do programa. O tamanho da memória já deve ser conhecido na fase de compilação. Para mudar o tamanho da matriz durante a execução do programa, é necessário usar uma matriz dinâmica. Bem, isso é algo para mais tarde, quando você se acostuma a arrays estáticos.

Também: em seu posto na p122 não está claro para mim o que é&arrstOrderInfo[],&nOrdersCnt e.n? Desculpe se minhas perguntas parecem bobas - eu mesmo estou tentando entendê-las, mas não sou muito bom nisso.

Vou simplificar um pouco a resposta para evitar confusão. O sinal (&) indica que o argumento da função pode mudar seu valor no momento da execução e voltará para de onde a função foi chamada, com um valor diferente. No caso em questão, a função SaveOrder pode alterar o conteúdo das variáveis g_arrstBuyOrderInfo e g_arrstSellOrderInfo, bem como as variáveis g_nBuyOrdersCnt e g_nSellOrdersCnt.

 

Olá !

Você pode me dizer como repintar as barras sem usar modelos em mt4 !??

Ou como aplicar um esquema de cores !???