[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 201

 

Alguém pode aconselhar como encontrar o símbolo atual (destacado) da janela do gráfico fora dos abertos, não aquele com o roteiro/conselheiro anexado, mas aquele que está atualmente ativo no terminal (como eles também dizem no foco)

 
harbor:

Alguém pode aconselhar como encontrar o símbolo atual (destacado) da janela do gráfico fora dos abertos, não aquele com o roteiro/conselheiro anexado, mas aquele que está atualmente ativo no terminal (como eles também dizem no foco)

Obtenha o descritor da janela no topo da seqüência Z das janelas do gráfico. Em seguida, obtenha o cabeçalho com base nele, e analise-o.
 
Zhunko:
Obtenha o descritor da janela no topo da seqüência Z das janelas do gráfico. Em seguida, faça uma análise e analise-a.


Bem, o mql4 parece ter apenas uma função com oWindowHandle

Mas eu estou fazendo um dll, é possível fazer isso através do winapi de alguma forma? Há uma função chamadaGetWindowText por handle

Como eu consigo o cabo?

 
harbor:


Bem, o mql4 parece ter apenas uma função com oWindowHandle

Mas eu estou fazendo um dll, é possível fazer isso através do winapi de alguma forma? Há uma função chamadaGetWindowText por handle

Como eu consigo o cabo?

Bem, na DLL você precisa ter o cabo da janela na parte superior da seqüência Z. Existe um cliente MDI. É o pai das janelas do gráfico. É aí que se obtém esse descritor.
 
Favor informar o que acontecerá se você negociar EURJPY e USDJPY com lotes iguais (se não forem iguais). Talvez alguém já tenha experimentado (eu preciso de uma variante de cálculo)
 
YOUNGA:
Favor informar o que acontecerá se você negociar EURJPY e USDJPY com lotes iguais (se não forem iguais). Talvez alguém já tenha experimentado (eu preciso de uma variante de cálculo)
Cálculo de quê?
 
YOUNGA:
Favor informar o que acontecerá se você negociar EURJPY e USDJPY com lotes iguais em direções diferentes (ou se não for igual). Talvez alguém tenha tentado (eu preciso de uma variante de cálculo)

Aqui o EUR e o USD são a moeda base, e o lote é calculado nela. Isto é, para o primeiro par 1 lote é 100.000 EUR, para o segundo é 100.000 USD, em ambos os casos comprado/vendido por iene.
 


Deixe-me explicar se você abrir um lote em cada par EURJPY e USDJPY então o lote EURUSD deve ter uma mudança de 1 ponto no preço do EURUSD algo deve acontecer com o sintético EURJPY/USDJPY já que eles estão correlacionados



 

Tentando codificar a seguinte idéia.

Se o horário for 01.00.00. ou 03.00.00.

Abra um pedido para cima.

Em outros momentos, abrir uma ordem para baixo.

PROBLEMA O programa se compila à 01:00:00 e abre uma ordem de compra , mas não lê ||| nem nada depois dela.

if(Hour( )==01 && Minute( )==00 && Seconds()==00||Hour( )==03 && Minute( )==00 && Seconds()==00 )

Isto é, às03h00, o testador abre não uma posição de compra, mas uma posição devenda.

Todos os outros acordos são abertos de acordo com o código.

  if(Hour( )==01 && Minute( )==00 && Seconds()==00||Hour( )==03 && Minute( )==00 && Seconds()==00 )
 
    
   {  
      if (Bid==Price  )
     
  int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP );
  }
  else
  {
  SL=NormalizeDouble (Price+3000*Point, Digits);         
  TP=NormalizeDouble (Price-100*Point, Digits);
  Ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,SL,TP );
 }
 }
 }

Делал два заголовка if ...... вообще не открывает сделки

 if(Hour( )==01 && Minute( )==00 && Seconds()==00 )
  if(Hour( )==03 && Minute( )==00 && Seconds()==00)
    
   {  
      if (Bid==Price  )
     
  int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP );
  }
  else
  {
  SL=NormalizeDouble (Price+3000*Point, Digits);         
  TP=NormalizeDouble (Price-100*Point, Digits);
  Ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,SL,TP );
 }
 }
 }
Подскажите - как сделать так что бы в 03.00.00. открывалась сделка на покупку? Спасибо
 
solnce600:

PROBLEMA O programa compila, à 01.00.00 abre um comércio de compra, mas não lê |||| e o personagem depois dele.

if(Hour( )==01 && Minute( )==00 && Seconds()==00||Hour( )==03 && Minute( )==00 && Seconds()==00 )

Isto é, às03h00, o testador abre não uma posição de compra, mas uma posição devenda.

Todos os outros acordos são abertos de acordo com o código.


Para começar, acostume-se a colocar parênteses onde você precisa deles. Assim:

if((Hour( )==01 && Minute( )==00 && Seconds()==00) || (Hour( )==03 && Minute( )==00 && Seconds()==00))
Na verdade, você deve ter um intervalo de tempo, não um valor fixo. Sua lógica não está correta de forma alguma. Não 1 hora OU 3 horas, mas de 1 hora a 3 horas!