Escreverei um conselheiro sem custos - página 167

 
Yuriy Bykov #:

Não, é uma forma diferente de escrever o número 10000000000, então você não precisa escrevê-lo dessa forma

double minOpenPriceBuy = 10000000000;

...

Entendi. e até um certo ponto.
 
Yuriy Bykov #:

Não, é uma forma diferente de escrever o número 10000000000, então você não precisa escrevê-lo dessa forma

double minOpenPriceBuy = 10000000000;

...

Muito obrigado, é bom ser inteligente! Se você não se importa, já que estou testando a estratégia, posso compartilhar nuances ou idéias, onde talvez algo precise ser acrescentado ou afinado, SE VOCÊ estiver interessado. Aqui ou pessoalmente...
 
Perguntas deste tipo devem ser postadas neste tópico - há mais oportunidades para editar o texto das mensagens no fórum do que em mensagens privadas. E mais pessoas serão capazes de responder.
 
Yuriy Bykov #:
Perguntas como essa são melhores para escrever neste tópico - há mais oportunidades para editar o texto das mensagens no fórum do que em mensagens privadas. E mais pessoas terão a oportunidade de responder.

Se for possível fazer o seguinte neste EA: - o EA comercializa, ele tem lucro e sempre tem um atual menos. Assim que o atual menos for inferior ao lucro, por exemplo, na seguinte proporção: 150% de lucro, 100% menos (ou digamos, claramente o lucro obtido 300 moeda do depósito, e a moeda menos atual 200 moeda do depósito), então tudo é fechado (todas as ordens e negociações). É claro que o conjunto de negócios precisa de tempo para fechar todo o conjunto, provavelmente é um minuto, portanto, até que tudo não esteja fechado, é claro, nada de novo não deve abrir. Para estar do lado seguro, depois de fechar todos os negócios pendentes e atuais, deixe a EA ficar de pé por mais um minuto e não abra nada. Então começa a próxima "corrida". Começa a pergunta, a partir de que quantidade de lucro contar esta relação 1:1,5 (a propósito, esta relação deveria ser variável nos ajustes), o que fecharia tudo? - Não sei, parece-me que QUANDO conseguimos tal proporção, podemos agir. Como isso é para você?

 

Aqui está um exemplo de código que pode fechar todos os pedidos abertos pela EA.

Função TryCloseAll() tenta fechar todas as ordens, mas para ser seguro, ele deve ser usado em um loop, que será executado até retornar True.

Um exemplo de tal laço está na função OnDeinit() chamada quando a EA é removida do gráfico.

//+------------------------------------------------------------------+
//| Закрыть все рыночные и отложенные ордера                         |
//| на текущем символе с нужными магическими номерами                |
//+------------------------------------------------------------------+
bool TryCloseAll() {
   bool res = true;
   for(int i = OrdersTotal(); i >= 0; i--) {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if(OrderSymbol() != Symbol()) {
            continue;
         }
         int magic = OrderMagicNumber();
         if((magic == MagicBuy || magic == MagicSell)) {
            int type = OrderType();
            int ticket = OrderTicket();
            if((type > 1)) {
               Print("Close pending order #", ticket);
               res &= OrderDelete(ticket);
               if(!res) {
                  Print ("Error closing pending order ", ticket, ": ", GetLastError());
               }
            } else {
               double price = (type == OP_BUY ? Bid : Ask);
               Print("Close market order #", ticket);
               res &= OrderClose(ticket, OrderLots(), price, 1000);
               if(!res) {
                  Print ("Error closing pending order ", ticket, ": ", GetLastError());
               }
            }
         }
      }
   }

   return res;
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
   bool res = false;
   Print("Start closing all orders");
   while(!res && !IsStopped()) {
      res = TryCloseAll();
   }
}
//+------------------------------------------------------------------+

Aqui está um martelo, e você pode decidir por si mesmo onde e quando martelar pregos com ele )

Arquivos anexados:
Pending.mq4  13 kb
 
Yuriy Bykov #:

Aqui está um exemplo de código que pode fechar todos os pedidos abertos pela EA.

Função TryCloseAll() tenta fechar todas as ordens, mas para ser seguro, ele deve ser usado em um loop, que será executado até retornar True.

Um exemplo de tal laço está na função OnDeinit() chamada quando a EA é removida do gráfico.

Aqui você tem um martelo, decida por si mesmo onde e quando martelar).

Obrigado

 

Olá a todos, ajudem-me a escrever um robô forex para mt5. já que não posso pagar pelo serviço no mql5 por causa da proibição de sanções. a remuneração escreverá para o cartão.

 
Tipo . Precisa de um programador que promova e venda um indutor MQL 5. não desenha. Funciona em todos os pares . Porcentagem de recompensa das vendas Porcentagem de vendas do indyuk.
 
Roman251117 #:
Tipo . Precisa de um programador que promova e venda um MQL 5. não desenha. Funciona em todos os pares . Porcentagem de recompensa de vendas e juros sobre a venda de um indyuk.

Um programador de programas - um programador.

Um vendedor vende; um promotor promove.

 
Anton Yakovlev:
Se você tem uma boa estratégia e está disposto a compartilhá-la, eu posso escrever um assessor.
Ei, Anton, você pode me ajudar a tornar minha EA On Balance Volume Divergence mais consistentemente lucrativa? Talvez mudar algumas coisas no código ou adicionar algumas características e torná-lo melhor, por favor. o código está funcionando plenamente, mas não estou satisfeito com os resultados que estou obtendo com ele.