Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 115

 
gyfto:
O AccountNumber( ) pode ser lido a partir da dll e como? Ao menos me dê uma dica de onde cavar. Quero dizer sem passar o valor da função para a dll, ou seja, a partir da própria biblioteca dinâmica.
Do cabeçalho da janela MT4, mas pode ser facilmente substituída. Tenho que pensar em como rastrear a substituição.
 
pako:

Não entendo por que tem que ser tão complicado.
Isso não facilitaria as coisas?

Eh... Se ao menos eu mesmo pudesse decidir como fazê-lo... Se meu cliente precisar recalcular os pontos de todas as posições (além disso, as próximas posições de média podem ser abertas com lotes ainda maiores e a tomada total é recalculada novamente) e fechar exatamente por ordem de parada, em vez de por um Expert Advisor, então é isso que devemos fazer.
 
Zhunko:
A partir do cabeçalho da janela MT4, mas pode ser facilmente adulterado. Precisamos pensar em como rastrear o falsificador.

Mas de uma coisa tenho quase certeza: não há nenhum lugar no Windows para ver a última vez que o buffer de janelas foi acessado.
 
gyfto:
Mas de uma coisa tenho quase certeza: não há nenhum lugar no Windows para ver a última vez que o buffer de janelas foi acessado.
Temos que interceptar as mensagens.
 

Preciso de ajuda, não consigo entender.

A idéia é que a coruja usará o preenchimento da tendência, se o sinal se repetir. Então a questão é: como ensinar a função da fração para saltar o primeiro sinal?

Por exemplo, houve um sinal de compra, a coruja compra e no próximo tick é chamada a função de escalada (porque há uma ordem aberta), o sinal de entrada ainda está em vigor e a função preenche com sucesso (o que está errado).

A função em si só é chamada se houver uma ordem em aberto.

Eu só preciso pular a barra atual. Como implementá-la na MQL?

 
MarkTrade:

Preciso de ajuda, não consigo entender.

A idéia é que a coruja usará o preenchimento da tendência, se o sinal se repetir. Então a questão é: como ensinar a função da fração para saltar o primeiro sinal?

Por exemplo, houve um sinal de compra, a coruja compra e no próximo tick é chamada a função de escalada (porque há uma ordem aberta), o sinal de entrada ainda está em vigor e a função preenche com sucesso (o que está errado).

A função em si só é chamada se houver uma ordem em aberto.

Eu só preciso pular a barra atual. Como implementá-la na MQL?

Que diabos você está fumando? De que plantações você colhe os cigarros? A Coruja foi até a loja e comprou alguns... E então apareceu um pouco de funk e arruinou tudo.

Que chatice...

 

Utilize a função que lhe devolverá o número de barras depois que a última posição foi aberta:

//+----------------------------------------------------------------------------+
int BarsAfterOpenLastPos(int op, int mn) {
   datetime t=0;
   int      i, k=OrdersTotal();

   for (i=0; i<k; i++) {
      if (OrderSelect(i, SELECT_BY_POS)) {
         if (OrderSymbol()!=Symbol())  continue;
         if (OrderType()!=op)          continue;
         if (OrderMagicNumber()!=mn)   continue;
         if (t<OrderOpenTime()) t=OrderOpenTime();
         }
      }
   return((TimeCurrent()-t)/60/Period());
}
//+----------------------------------------------------------------------------+

Como verificar uma posição de compra com Magic

if (BarsAfterOpenLastPos(OP_BUY, Magic)>1) {// доливаем}
 
artmedia70:

Merda... o que você está fumando? De onde você tira seus cigarros? A Coruja foi até a loja e comprou alguns... E então apareceu um pouco de funk e arruinou tudo.

É uma pena...



:) De qualquer forma, é assim que as coisas são

if (OrdersCount()==0)
{CheckBuy();
CheckSell();}
if (OrdersCount()==1) DolivkaBuy();
if (OrdersCount()==-1) DolivkaSell();

O que devo escrever no Dolivka...() para que ele salte a barra, na qual foi aberto o primeiro comércio?

Não tenho o código fonte, só estou me lembrando...

 
О! Já há uma resposta enquanto escrevo. Obrigado!
 
artmedia70:
Eh... Se ao menos eu mesmo pudesse decidir como fazê-lo... Se o cliente precisar recalcular a tomada de todas as posições (especialmente porque as próximas posições médias podem ser abertas com lotes ainda maiores e a tomada total é recalculada novamente) e fechar exatamente por ordem de parada, e não por Expert Advisor, então é isso que tenho que fazer.


Obter os dados de posição
Razão: