[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 296

 
forexnew:

Cómo retratar:

/

¿en cadena?

Por ejemplo:

string path=TerminalPath()+"/logs/"+tekTime+".log";

da un error, y si se elimina la barra "/"

string path=TerminalPath()+"logs "+tekTime+".log";

- ningún error.




Lea aquí y aquí.

 
ZZZEROXXX:

¿tal vez ver qué más devuelve IsTradeAllowed()?

¿Podría ayudarme, por favor? Estoy tratando de construir una tendencia por dos puntos, vinculados a las barras por N barras por delante del último punto. Es decir, entrante - tiempo-precio del primer y segundo punto, y N expresado en número de barras por delante (haz de la casilla = falso). Si el segundo punto, supongamos, se encuentra en la barra 1 de la barra 0 actual, y tengo que sacar de él 10 barras adelante, ¿cómo puedo calcular el tiempo y el precio de la barra del futuro?

Esto también funciona, si por casualidad se encuentra con un hilo de comercio ocupado por accidente mientras compila su EA. Estoy buscando una manera de mostrar en los comentarios de EA los mensajes de los registros sobre las solicitudes . Parece que prácticamente no hay mucha gente que se haya planteado tal tarea.
 
PapaYozh:


Lea aquí y aquí.

Gracias.
 

¿No pueden ayudar los estimados gurús?

pvm117 20.10.2011 18:26

¡Buenas tardes!

Como primera experiencia he decidido implementar el siguiente algoritmo: puedo esperar un movimiento brusco del mercado hacia arriba o hacia abajo en algún momento después de que las líneas de Bollinger converjan en un corredor estrecho. En mi Asesor Experto, analizo el estado de las líneas de Bollinger y cuando se están acercando mucho(pips Delta), ponemos una orden de venta pendiente en la dirección inferior (a pasoOpen pips por debajo de la línea inferior), con la esperanza de que el mercado vaya de repente en esa dirección. Si el mercado va en otra dirección, simplemente eliminamos esta orden.

extern double Delta=800.0;              // Ширина канала, которую мы считаем достаточно узкой чтобы ожидать скоро серьезного движения в одну из сторон
extern double StepOpen=150.0;           // Отступ от линии Боллинджера  для открытия отложенного ордера
extern double TP=350.0;                 // Take Profit
extern double SL=400.0;                 // Stop Loss

int start()
  {
   double T1=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0);  // верхняя линия Боллинджера
   double T2=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0); // нижняя линия Боллинджера
   if ((Ask>T1+StepOpen*Point)&&OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true) OrderDelete(0); // если рынок пошел вверх – то удаляем отложенный ордер
   if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true) return(0); // если есть ранее открытый ордер – прекращаем выполнение текущей итерации советника
   if (T1-T2<Delta*Point) {               // если линии Боллинджера сблизились ближе чем на Delta пунктов начинаем операцию открытия ордера
      double PriceOpen=NormalizeDouble(T2-StepOpen*Point,5);  // вычисляем цену открытия
      double StopLoss=NormalizeDouble(T2-StepOpen*Point+SL*Point,5); // вычисляем StopLoss
      double TakeProfit=NormalizeDouble(T2-StepOpen*Point-TP*Point,5); // вычисляем TakeProfit
      OrderSend(Symbol(),OP_SELL,0.1,PriceOpen,5,StopLoss,TakeProfit,0,0,0,Green); //  открываем ордер на продажу
            }
   return(0);
  }
El algoritmo funciona de manera inestable, a veces abre dos órdenes en un corto período de tiempo, constantemente da errores OrderSend Error 130 y OrderSend Error 138, y la eliminación de las órdenes abiertas en caso de que el mercado se mueva en otra dirección no funciona en absoluto.

Por favor, aconséjenos. Gracias.

 
pvm117:

¿No pueden ayudar los estimados gurús?

pvm117 20.10.2011 18:26

¡Buenas tardes!

Como primera experiencia he decidido implementar el siguiente algoritmo: puedo esperar un movimiento brusco del mercado hacia arriba o hacia abajo en algún momento después de que las líneas de Bollinger converjan en un corredor estrecho. En mi Asesor Experto, analizo el estado de las líneas de Bollinger y cuando se están acercando mucho(pips Delta) , ponemos una orden de venta pendiente en la dirección inferior (a pasoOpen pips por debajo de la línea inferior), con la esperanza de que el mercado vaya de repente en esa dirección. Si el mercado va en otra dirección, simplemente eliminamos esta orden.

El algoritmo funciona de forma inestable, a veces abre dos órdenes en intervalos cortos, da constantemente errores OrderSend Error 130 y OrderSend Error 138, y la eliminación de las órdenes abiertas en caso de que el mercado se mueva en la otra dirección no funciona en absoluto.

Por favor, aconséjenos. Gracias.

OrderSend(Symbol(),OP_SELL,0.1,PriceOpen,5,StopLoss,TakeProfit,0,0,0,Green); //  открываем ордер на продажу

Nose trata de una orden pendiente, sino de una orden de mercado .

en consecuencia, su precio de apertura debe ser diferente y no puede ser eliminado (OrderDelete), sino sólo cerrado

 

¡Saludos a todos los conocedores y lectores experimentados de este hilo! Y a cualquiera que pueda ayudarme=)

¿Cuál es la forma más fácil y "correcta" de conseguir la periodicidad? Es decir, para simplificar, quiero realizar automáticamente alguna acción cada 15 minutos.

En mi caso, es guardar un archivo en el disco con algunas estadísticas. Ahora tengo un script que hace lo que quiero, y son literalmente 20 líneas de código. Entonces, ¿cómo consigo que esas 20 líneas se repitan a intervalos? Según tengo entendido, no hay temporizadores en MQL... ¿Necesito usar un EA que haga algún tipo de comprobación cada tick?

Espero su ayuda y consejos)

 
Hola, ¿podéis decirme si hay alguna otra forma de configurar el timeframe de un EA multidivisa que no sea en el indicador a través de M_30 H_1, D_1 y demás?
 
skyjet:
Hola, ¿podéis decirme si hay alguna otra forma de configurar el timeframe de un EA multidivisa que no sea en el indicador a través de M_30 H_1, D_1 y demás?

¿Cuál es el problema?
 

Hola.

Aquí hay una pregunta: ¿aconsejar cómo utilizar la línea amarilla como una previsión de impulso y la línea blanca como una previsión de OsM en una larga tendencia alcista del marco superior?

Es difícil determinar la amplitud entre los picos de las ondas, así que aconseja dónde cavar a continuación ;)


 
Sancho77:

Seleccione la primera, de entre las posiciones abiertas.

Lo necesita todo para comprobar la distancia en pips entre la primera posición abierta y la última posición abierta entre las posiciones abiertas.

Sólo una rápida reescritura, ¿tal vez ayude? No lo he comprobado...

double PriceOpenFirstPos(string sy="", int op=-1, int mn=-1) {
   datetime t=TimeCurrent();
   double   r=0;
   int      i, k=OrdersTotal();

   if (sy=="0") sy=Symbol();
   for (i=0; i<k; i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol()==sy || sy=="") {
            if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
               if (op<0 || OrderType()==op) {
                  if (mn<0 || OrderMagicNumber()==mn) {
                     if (OrderOpenTime()<t) {
                        t=OrderOpenTime();
                        r=OrderOpenPrice();
                        }
                     }
                  }
               }
            }
         }
      }
   return(r);
}

Inténtalo de esta manera...