Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1901

 
Vitaly Muzichenko #:

Não sei por onde começar

Aqui está uma variante em mql5. Mas somente para Ask price. Pelo preço da licitação você mesmo tem que fazê-la.

Ele tem tudo, inclusive trabalhar com buffer indicador, e trabalhar com carrapatos, e exemplo de como não é necessário reverter a indexação do buffer indicador.

A 1000 barras, ele é exibido sem qualquer atraso.

Arquivos anexados:
 
Alexey Viktorov #:

Aqui está uma variante em mql5. Mas somente para Ask price. Para Bid price finalize-o por conta própria.

Tem tudo, inclusive trabalhar com buffer indicador, e trabalhar com carrapatos, e exemplo de como a indexação do buffer indicador não precisa ser revertida.

A 1000 barras, ele é exibido sem qualquer atraso.

Consegui! Obrigado!

 

Olá, comecei recentemente a trabalhar com o MT4 e me deparei com o seguinte problema: não há nenhuma função adequada para rastrear uma ordem fechada. Meu algoritmo é simples: quando uma vela nova aparece, eu coloco duas ordens pendentes: uma Sell Stop e uma Bid Stop e preciso seguir a ordem fechada (Sell Stop ou Bid Stop) quando uma delas fecha e coloco uma ordem em vez da fechada. As encomendas são feitas - não há problema, mas não consigo entender como rastrear as fechadas, coloco o código, mas a mensagem exibe apenas SellSTOP, e não reage a BIGHTSTOP:


if (OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY))
   {
   Print("OrderType", OrderType());//Тут всегда только только "1"
   }
   if(OrderType()==0)
    {
    Print("Закрылся  BUYSTOP:", OrderTicket());
    }
   if(OrderType()==1)
   {Print("Закрылся   SELLSTOP:",  OrderTicket());} //Тут сообщает корректно - номер ордера

E também me deparei com o fato de que a OnTrade ou aOnTradeTransaction não funciona, experimentei isso:

void OnTradeTransaction()
 {
 Print("status - "); 
 }  
 
MixanM #:

Olá, comecei recentemente a trabalhar com o MT4 e me deparei com o seguinte problema: não há nenhuma função adequada para rastrear uma ordem fechada. Meu algoritmo é simples: quando uma vela nova aparece, eu coloco duas ordens pendentes: uma Sell Stop e uma Bid Stop e preciso seguir a ordem fechada (Sell Stop ou Bid Stop) quando uma delas fecha e coloco uma ordem em vez da fechada. As encomendas são feitas - não há problema, mas não consigo entender como rastrear as fechadas, coloquei o código, mas a mensagem exibe apenas SellSTOP, BAYSTOP não responde:

//+----------------------------------------------------------------------------+
int LastClose()
  {
   int result=-1;
   datetime t=0;
   int i=OrdersHistoryTotal()-1;
   for(int pos=i;pos>=0;pos--)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
        {
         if(OrderSymbol()==_Symbol)
           {
            if(OrderType()==OP_BUY||OrderType()==OP_SELL)
              {
               if(t<OrderCloseTime())
                 {
                  t=OrderCloseTime(); result=OrderType();
                 }
              }
           }
        }
     }
   return(result);
  }
//+----------------------------------------------------------------------------+

MixanM OnTradeTransaction não funciona , tentou isto:

Parece ser para o MT5
 
Olá a todos, amigos.
Aqui vai uma pergunta.
A cópia de acordos sobre este serviço não mudou em tantos anos. A impressão há muito tempo é que os desenvolvedores não estão nada interessados em pensar sobre a conveniência de seus visitantes.
Foi preciso a necessidade de seu próprio projeto.

Eu não sei se é possível ?

1) Eu preciso da copiadora dos negócios, ( conselheiro ) eu não sei qual a carga e como ela é medida, você precisa que ela seja capaz de copiar de uma e distribuir mais de cem contas.
A questão sobre a cópia. Meu objetivo é obter um volume de negócios baseado nas porcentagens de negociação (ou seja, tenho 100 na minha conta; meu seguidor tem 1000 na sua conta; eu abro negócio com 3% do meu depósito e o volume do lote é recalculado por porcentagem do meu negócio; ou seja, meu negócio com 3% é de $3; meu seguidor tem um negócio aberto com 3% = $30; ou seja, eu não sei se é realmente importante ou não).


2) É possível retirar os dados de sua conta? Isto é, primeiro nome, sobrenome, mas o mais importante, a quantia em jogo? Se não for possível retirar todas as informações, o que é possível?

3) Caros programadores, estimem o custo aproximado de tal trabalho, eu não quero ser enganado e quero entender o preço adequado.
Obrigado!
 
Roman Voloshchuk transações de cópia neste serviço não mudaram em tantos anos. A impressão há muito tempo é que os desenvolvedores não estão nada interessados em pensar sobre a conveniência de seus visitantes.
Foi preciso a necessidade de seu próprio projeto.

Eu não sei se é possível ?

1) Eu preciso da copiadora dos negócios, ( conselheiro ) eu não sei qual a carga e como ela é medida, você precisa que ela seja capaz de copiar de uma e distribuir mais de cem contas.
A questão sobre a cópia. Meu objetivo é obter um volume de negócios baseado nas porcentagens de negociação (ou seja, tenho 100 em minha conta; meu seguidor tem 1000 em sua conta; abro negócio com 3% do meu depósito e o volume do lote é recalculado por porcentagem do meu negócio; por esta razão, meu negócio com 3% é de $3 enquanto o seguidor abriu negócio com 3% = $30.


2) É possível retirar os dados de sua conta? Isto é, primeiro nome, sobrenome, mas o mais importante, a quantia em jogo? Se não for possível retirar todas as informações, o que é possível?

3) Caros programadores, estimem o custo aproximado de tal trabalho, eu não quero ser enganado e quero entender o preço adequado.
Obrigado!

Os dados dos assinantes são prejudiciais de se retirar.

Mais uma vez, você tem 50 em sua conta com uma alavancagem de 500 e um assinante tem 5000 com uma alavancagem de 33.

Há um pequeno problema de cálculo aqui. Isto se estivermos falando deste serviço.

Se estamos falando de autocópia, então:

você tem 50 em sua conta com uma alavancagem de 2000 e um assinante 5000 com uma alavancagem de 33.

Você poderá abrir 3 posições com uma pequena alavancagem enquanto o assinante não terá mais dinheiro após a segunda, pois ele estará se expondo à margem.

---

Não é tão simples assim.

 

Tretyakov Rostyslav #:
Это вроде для МТ5С

Obrigado pelo código, mas o seu também retorna apenas ordens de número par (SELLSTOP) por alguma razão, não consigo entender por que, talvez a ordenação esteja errada/ (estou rodando o código no testador - talvez seja esse o problema?)

 
MixanM #:

Obrigado pelo código, mas o seu também retorna apenas ordens de número par (SELLSTOP) por alguma razão, não consigo entender por que, talvez a ordenação esteja errada/ (estou rodando o código no testador - talvez seja esse o problema?)

meu código retorna o tipo do último pedido fechado - "0-Buy" ou "1-Sell".
 
Tretyakov Rostyslav #:
meu código retorna o tipo do último pedido fechado - "0-Buy" ou "1-Sell".

Bem, sim, era isso que eu queria dizer - que só devolve dados para um pedido "selltop". Acrescentei isto ao seu só para verificar visualmente:

...

if(t<OrderCloseTime())

{

t=OrderCloseTime(); resultado=OrderType();

Print("Order TIP :", OrderTicket());

}

....

 
MixanM #:

Bem, sim, era isso que eu queria dizer - que só devolve dados para um pedido "selltop". Acrescentei isto ao seu, apenas para verificá-lo visualmente:

Tudo funciona corretamente


Razão: