[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 803

 
Andrei01:
¿Hay alguna manera de conocer los límites de precio en la escala vertical del gráfico para calcular la escala (no el precio del instrumento, que se encuentra por F8)?

double PrecioVentanaMin( int index=0)
doble WindowPriceMax( int index=0)
 
Top2n:
Hola, estoy ejecutando el Asesor Experto en el Probador de Estrategias pero no está abriendo una posición. En la revista dice EURUSD,M5: OrderSend error 131. No sé cuántas veces he visto abrir este EA y ya no abrió una posición. Por favor, avisen si alguien ha tenido estos problemas. Gracias de antemano


Tal vez no tengas el lote normalizado, intenta normalizarlo utilizando:
double NormalizeDouble( valor doble, dígitos int)
 
zhuki:
Probablemente no tengas un lote normalizado, normalízalo con:
double NormalizeDouble( valor doble, dígitos int)
En realidad, si la memoria no me falla, tiene una función preparada para la normalización de lotes...
Teniendo en cuenta todas las posibles limitaciones del DT...
Excepto si no lo usa... entonces - Ouch... :)
 
zhuki:

double PrecioVentanaMin( int index=0)
doble WindowPriceMax( int index=0)
Gracias. ¿Hay alguna forma de cambiar esto de forma programada?
 

Hola gente del foro.

Mis abuelos me dijeron que era el día de la luna de miel. Felices vacaciones a todos.

Y yo con mi... Drknn dice que es posible procesar las lecturas de los indicadores.

¿Es posible sumar A / D para un período determinado y la misma cantidad OBV, y luego dividirlos entre sí (OBV en el numerador)

El denominador es A/D + coeficiente con salida a los ajustes.

Cero en el centro, los bordes son flotantes.

Suma-NO TOTAL. Cada movimiento por valor absoluto.

Y te daré una inversión en el judío

 
¡Konichiua a todos! Cómo hago para que mi EA abra tres órdenes con diferentes tomas de posesión y sólo una vez en una vela en condición de compra o venta. ¡Arigato de antemano!
 
Maniac:
¡Konichiua a todos! Cómo hago para que mi EA abra tres órdenes con diferentes tomas de posesión y sólo una vez en una vela en condición de compra o venta. ¡Arigato de antemano!
¿Cómo puedo hacer 3 órdenes de envío con diferentes objetivos o hacer un bucle de esta función hasta 3 (for o while), en cada iteración un TP diferente
 
sanyooooook:
Hacer un envío de 3 órdenes con diferentes objetivos o hacer un bucle de esta función hasta 3 (for o while), en cada iteración diferente objetivo


Hacer 3 pedidos de envío con diferentes puntos - abre el primer pedido tres veces :(

bucle de esta función a 3(for o while), cada iteración tiene una toma diferente - abre un montón de primeras órdenes :(

¿Si no es difícil mostrar cómo hacerlo?

 
Maniac:


Hacer un envío de 3 órdenes con diferentes objetivos - abre la primera orden tres veces :(

bucle de esta función a 3(for o while), cada iteración tiene una toma diferente - abre un montón de primeras órdenes :(

Si no es muy complicado, ¿puede mostrarme cómo hacerlo?

¿Llevan la cuenta de los pedidos abiertos?
 
sanyooooook:
¿Se cuentan las órdenes abiertas?
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);
     }

  }


Aquí está el código de un EA. Es necesario:

1) abrió no una, sino tres operaciones a la vez con topes de 25 y tomas de 15, 35, 50

2) tras el cierre de la segunda orden en la toma (35), la última posición (en la toma 50) pasó al nivel de equilibrio