Limitando EA a 2 ordens abertas por par
Results 1 to 7 of 7

Thread: Limitando EA a 2 ordens abertas por par

  1. #1
    Olá,

    O título descreve onde estou procurando: Eu tenho um EA em execução em diferentes pares de moedas com o MagicNumber individual. Por exemplo, eu o executo em 3 moedas diferentes e tenho total como OrdersTotal definido (por exemplo, 6).
    Então, eu tenho max. 6 corrida aberta total, o pior caso: todos os 6 são do mesmo par.

    Situação atual:
    ordens int externas = 6;
    int total = OrdersTotal ();
    if (totallt; ordens)
    .... a rotina começa e funciona bem.

    Agora eu quero ajustar para ter MaxTrades por par de moedas (por exemplo, 2) limitado também. Então, eu terei o total (6) e max. por par (2).
    O que eu preciso adicionar?
    (Eu fiz a pergunta do simulador em um tópico diferente, no qual eu realmente recebi suporte, mas não foi resolvido e mudei os requisitos aqui - portanto, o novo thread - apenas no caso de alguém perguntar).

    Agradeço antecipadamente.

  2. #2

    Olá, O título descreve onde estou procurando: Eu tenho um EA em execução em diferentes pares de moedas com o MagicNumber individual. Por exemplo, eu o executo em 3 moedas diferentes e tenho \ total \ como OrdersTotal definido (por exemplo, 6). Então, eu tenho max. 6 total em execução, \ pior caso \: todos os 6 são do mesmo par. Situação atual: extern int orders = 6; int total = OrdersTotal (); if (totallt; orders) .... a rotina começa e funciona bem. Agora eu quero ajustar para ter MaxTrades por par de moedas (por exemplo, 2) limitado também. Então, eu terei o total (6) e ...
    Faça um loop pelos pedidos abertos, conte os pedidos abertos que correspondem ao Symbol () em que o EA está sendo executado, marcando o OrderSymbol () e o OrderMagicNumber (), se você usá-lo. . . então você saberá quantos já estão abertos para o EA, se for maior que 1, não abra outro Pedido.

  3. #3
    Sim, obrigado RaptorUK, isso soa absolutamente razoável. Ao ter o número de OrderSymbol () disponível, ele será comparado com o MaxTrades (que é o máximo de pedidos abertos por par) e contra o total de pedidos abertos, certo? Eu não uso OrderMagicNumber () - Eu só tenho um MagicNumber atribuído a cada par (isso faz sentido?). Apenas o meu código está no primeiro estágio de iniciantes e eu preciso perguntar a alguém se eleela pode escrever essa sub-rotina?

  4. #4

    Sim, obrigado, isso soa absolutamente razoável. Ao ter o número de OrderSymbol () disponível, ele será comparado com \ MaxTrades \ (que é o máximo de pedidos abertos por par) e contra as ordens \ total \ open, certo? Eu não uso OrderMagicNumber () - Eu só tenho um MagicNumber atribuído a cada par (isso faz sentido?). Apenas o meu código está no primeiro estágio de iniciantes e eu preciso perguntar a alguém se eleela pode escrever essa sub-rotina?
    Você aprenderá fazendo. . . mas se você quiser codificado para você vá aqui:
    http://www.mql5.com/en/job

  5. #5

    {quote} Faça um loop pelos pedidos abertos, conte os pedidos abertos que correspondem ao símbolo () em que o EA está sendo executado, marcando o OrderSymbol () e o OrderMagicNumber (), se você usá-lo. . . então você saberá quantos já estão abertos para o EA, se for maior que 1, não abra outro Pedido.
    Como faço para percorrer as ordens? Você se importaria de oferecer um código inserido. Porque, sinceramente falando, eu tenho tentado resolver isso sem fim

  6. #6
    algo como int opened_orders = 0; Símbolo de corda = .......;/coloque aqui o símbolo de tour para (int i = 0; ilt; OrdersTotal (); i ) {se (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) OrderSymbol () == símbolo) {open_orders ; }} if (opened_orders lt; MaxTradesPerPair) {//faz caso ...}

  7. #7
    você conseguiu RaptorUK fora de seu ninho no fórum de codificação MQL (RaptorUK, eu aprendo muito de suas respostas lá, saudação
    ) mas primeiro tente o google, você obterá respostas mais do que o que você está perguntando, porque se você fizer isso, eu acredito que você nem precisa fazer essa simples pergunta aqui desculpe pelo meu inglês

Permissões de Publicação

  • Não pode publicar novos tópicos
  • Não pode publicar respostas
  • Não pode publicar anexos
  • Não pode editar as suas publicações
  •  
  • Código BB está Ativo
  • Smilies estão Ativos
  • Código [IMG] está Ativo
  • Código [VIDEO] está Ativo
  • Código HTML está Desligado
O site da tradingintuitivo utiliza cookies
O site da tradingintuitivo utiliza cookies, alguns já foram definidos. Pode ler sobre a nossa utilização de cookies aqui. Por favor, clique no botão à direita para aceitar os nossos cookies. Se continuar a usar o site da tradingintuitivo, vamos supor que aceita os nossos cookies.