[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 803

 
Andrei01:
Existe alguma maneira de descobrir os limites de preço na escala vertical do gráfico para calcular a escala (não o preço do instrumento, ele está em F8)?

Janela duplaPreçoMin( int index=0)
double WindowPriceMax( int index=0)
 
Top2n:
Olá, estou dirigindo o Expert Advisor no Strategy Tester, mas ele não está abrindo uma posição. Na revista diz EURUSD,M5: OrderSend error 131. Não sei quantas vezes vi esta EA aberta e ela não abriu mais uma posição. Favor informar se alguém teve tais problemas. Obrigado de antemão


Talvez você não tenha o lote normalizado, tente trazê-lo de volta ao normal, usando:
duplo NormalizeDuplo( valor duplo, dígitos int)
 
zhuki:
Você provavelmente não tem um lote normalizado, normalize-o com ele:
duplo NormalizeDuplo( valor duplo, dígitos int)
Na verdade, se a memória me serve corretamente, ele tem uma função pronta para a normalização de lotes...
Levando em conta todas as limitações DT possíveis...
Exceto se ele não estiver usando... então - Ouch... :)
 
zhuki:

Janela duplaPreçoMin( int index=0)
double WindowPriceMax( int index=0)
Obrigado. Há alguma maneira de mudar isso programmaticamente?
 

Olá, pessoal do fórum.

Meus avós me disseram que é dia de lua-de-mel. Boas festas para todos.

E eu com meu... O Drknn diz que é possível processar leituras indicadoras.

É possível somar A / D para um determinado período e a mesma quantidade OBV, e depois dividi-los entre si (OBV no numerador)

O denominador é A/D + coeficiente com saída para os ajustes.

Zero no meio, as bordas estão flutuando.

Sum-NO TOTAL. Cada movimento por valor absoluto.

E eu lhe darei uma reversão sobre o judeu

 
Konichiua para todos! Como faço para que minha EA abra três pedidos com diferentes aquisições e apenas uma vez em um castiçal em condição de compra ou venda. Arigato com antecedência!
 
Maniac:
Konichiua para todos! Como faço para que minha EA abra três pedidos com diferentes aquisições e apenas uma vez em um castiçal em condição de compra ou venda. Arigato com antecedência!
Como faço para 3 Enviar pedidos com Take Points diferentes ou loopar esta função até 3 (por ou enquanto), a cada iteração um Take Point diferente
 
sanyooooook:
Faça um pedido 3 Envie com Take Points diferentes ou loop esta função até 3 (por ou enquanto), a cada iteração Take diferente


Faça 3 pedidos com pontos diferentes - abra o primeiro pedido três vezes :(

loop esta função para 3(por ou enquanto), cada iteração tem um take diferente - abre um monte de primeiras ordens :(

Se não for difícil mostrar como fazer isso?

 
Maniac:


Faça um envio de 3 pedidos com alvos diferentes - abra o primeiro pedido três vezes :(

loop esta função para 3(por ou enquanto), cada iteração tem um take diferente - abre um monte de primeiras ordens :(

Se não for muito complicado, você pode me mostrar como fazer isso?

Você mantém a contagem das ordens abertas?
 
sanyooooook:
As ordens abertas são contadas?
extern double TakeProfit = 35;
extern double StopLoss   = 25;
extern double Lots       = 0.1;

int NumberOfBarOpenLastPos(string sym="", int tf=0, int op=-1, int mn=-1) {
  datetime oot;
  int      i, k=OrdersTotal();
 
  if (sym=="") sym=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sym) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (oot<OrderOpenTime()) oot=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sym, tf, oot, True));
}
int NumberOfBarCloseLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) {
  datetime t;
  int      i, k=OrdersHistoryTotal();

  if (sy=="" || sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) t=OrderCloseTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sy, tf, t, True));
}
int start()
  {
   
   int ticket;
   if(Bars<100)
     {
      Print("bars less than 100");
      return(0);  
     }
   if(TakeProfit<10)
     {
      Print("TakeProfit less than 10");
      return(0);
     }
   if ((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
     {
      
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }
      
      if(Bid>High[1])
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"test",16384,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
           }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
        }
     
      if(Bid<Low[1])
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"test",16384,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError()); 
         return(0);  
        }
      return(0);
     }

  }


Aqui está o código de um EA. Você precisa fazer isso:

1) ele abriu não um, mas três negócios ao mesmo tempo com paradas de 25 e aquisições de 15, 35, 50

2) depois que a segunda ordem foi fechada no take (35), a última posição (no take 50) foi passada para o nível de breakeven