[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 69

 
Notter:

Buenas tardes,

También en una cuenta real, hay muchos errores al ejecutar las órdenes comerciales. Por ejemplo, hoy:

2013.01.10 13:46:09 '15082': comprar 0.15 EURUSD a 1.30844 sl: 1.30758 tp: 0.00000
2013.01.10 13:46:10 '15082': la solicitud ha sido aceptada por el servidor
2013.01.10 13:46:10 '15082': recotización 1.30843 / 1.30858 para compra abierta 0.15 EURUSD a 1.30844 sl: 1.30758 t p: 0.00000
2013.01.10 13:46:11 '15082': orden instantánea comprar 0.15 EURUSD a 1.30869 sl: 1.30785 tp: 0.00000
2013.01.10 13:46:11 '15082': la solicitud ha sido aceptada por el servidor
2013.01.10 13:46:11 '15082': solicitud en proceso
2013.01.10 13:46:13 '15082': la orden fue abierta : #12941470 comprar 0.15 EURUSD a 1.30869 sl: 1.30785 tp: 0.00000

Es decir, desde la señal para abrir la posición, tardó 4 segundos en ejecutarse. Y como sospecho - esto no es el límite.

La razón de este retraso es que la orden fue recotizada en 15 puntos.

¿Cómo lo combato? No me importan los 15 pips. Quiero abrir una orden por mercado y no importa que el precio cambie en un segundo. Como resultado, abrí al alza en 1,30869, mientras que debería haber abierto en 1,30858. Este problema puede llegar a ser crítico para la rentabilidad/pérdidas del Asesor Experto si no puede abrir en la señal y espera a que la corrección comience.

Gracias.



Le recomiendo encarecidamente que cambie de empresa de corretaje. ¿Puede enviarme el nombre de esta empresa de corretaje como mensaje personal?
 
tara:

El tamaño del "fuck off" se establece mediante un parámetro de orden llamado "deslizamiento". En tu caso era 0, por lo que una desviación de 1 punto en la cotización resultó en una recotización.


Como si no hubiera un 1 pt ahí... no lo inventes.
 

Heroix

No sé mucho sobre las empresas de corretaje, tengo un contrato con Finam, opero por módem y no sé a qué empresa de corretaje van mis órdenes... No sé a qué empresa de corretaje van mis pedidos... Todavía no tengo ni idea de eso.

No sé cuáles son mis diferenciales. No tengo ni idea de qué tipo de diferenciales estoy tratando. Dado que el spread es flotante en el eu, puede ser inferior a 15 pips, aunque es poco probable. Estoy pensando en unos 30 pips.

Tan pronto como me puse en condiciones de cerrar la orden, mi terminal se congeló con un mensaje

2013.01.10 14:47:45 TradeContext: error de ping
2013.01.10 14:48:50 '15082': ping fallado

Después de varios intentos de reinicio de sesión el pedido se ha cerrado :)

En general, diría que el comercio es divertido, está automatizado, tengo que corregir errores todo el tiempo :)

 

¡Buenas tardes a todos!

Amigos, por favor, aconsejen cómo resolver el problema en el siguiente código:

       double sSup=Sup-(Udal*Point);                           // Sup - это уровень поддержки, Udal - расстояние от него
       zapS=0;
       for(int iS=0; iS<=OrdersTotal(); iS++)                  // перебор открытых ордеров
         {
          if(OrderSelect(iS,SELECT_BY_POS,MODE_TRADES)==true)  // выбор рыночного ордера
            {
             if(OrderSymbol()!=Symb) continue;                 // только нужный инструмент
             if(OrderType()>1) continue;                       // только рыночные
             sPO=OrderOpenPrice();                             // его цена
             sellTip=OrderType();                              // его тип
             if(sPO==sSup && sellTip==1) zapS=1;               // если цена открытого ордера совпадает с sSup и уровень является Sell, то поднять флаг
            }
         }
El problema está en la línea if(sPO==sup && sellTip==1) zapS=1; (o para ser precisos, en el fragmento sPO==sup ) . El siguiente problema: por ejemplo si sPO=1,3100 y sSup=1,3100 la bandera sigue siendo igual a 0 (el valor 1,3100 se imprime en ambos valores a través de Print ) . ¿En qué me estoy equivocando? ¿Por qué zapS no se convierte en 1?
 
WindSW:

¡Buenas tardes a todos!

Amigos, por favor, aconsejen cómo resolver el problema en el siguiente código:

El problema está en la líneaif(sPO==sup && sellTip==1) zapS=1; (o para ser precisos, en el fragmento sPO==sup ) . El siguiente problema: por ejemplo si sPO=1,3100 y sSup=1,3100 la bandera sigue siendo igual a 0 (el valor 1,3100 se imprime en ambos valores a través de Print) . ¿En qué me estoy equivocando? ¿Por qué zapS no se convierte en 1?


https://www.mql5.com/ru/articles/1561
 
ilunga:

https://www.mql5.com/ru/articles/1561
Gracias. Intentaré arreglarlo
 
WindSW:

¡Buenas tardes a todos!

Amigos, por favor, aconsejen cómo resolver el problema en el siguiente código:

El problema está en la líneaif(sPO==sup && sellTip==1) zapS=1; (o para ser precisos, en el fragmento sPO==sup ) . El siguiente problema: por ejemplo si sPO=1,3100 y sSup=1,3100 la bandera sigue siendo igual a 0 (el valor 1,3100 se imprime en ambos valores a través de Print) . ¿En qué me estoy equivocando? ¿Por qué zapS no se convierte en 1?

Comprueba aquí...
 

Hola a todos, no puedo entender lo que está mal con varios EAs trabajando al mismo tiempo, sólo una orden se abre, el resto de ellos ignoran las señales, por favor, aconsejar lo que está mal?Órdenes - función que determina el número de órdenes en el mago

total=Total de pedidos();

if(total >=-1 && total == Orders(symbol,operation,magic))

 
dimarik0000:

Hola a todos, no puedo entender lo que está mal con varios EAs trabajando al mismo tiempo, sólo una orden se abre, el resto de ellos ignoran las señales, por favor, aconsejar lo que está mal?Órdenes - función que determina el número de órdenes en el mago

total=Total de pedidos();

if(total >=-1 && total == Orders(symbol,operation,magic))


¡¿Qué es esta loca condición?! :)

Escribe este operador en ruso y trataré de corregir la cadena.

 
hoz:
Tuve la idea de utilizar patrones de acción de precios bien conocidos llamadosDBLHC yDBHLC.




Condiciones para su formación:

DBLHC (Bull Setup)- barras con mínimos idénticos y cierres más altos.
Dos (pueden ser tres o más) barras consecutivas con los mismos mínimos, siendo el precio de cierre de la última superior al máximo de la anterior. La diferencia en los mínimos de las barras adyacentes no puede superar los 3 pips. Cuantas más barras componen el montaje, más fuerte es la señal que genera.

DBHLC (Bearish Setup)- barras con máximos iguales y cierres inferiores.
Dos (tres o más) barras consecutivas con los mismos máximos con el precio de cierre de la última inferior al mínimo de la anterior. La diferencia de los máximos de las barras adyacentes no debe superar los 3 puntos. Cuantas más barras componen el montaje, más fuerte es la señal que genera.

Tomemos, por ejemplo, elDBLHC (Bullish Setup)

El precio de apertura de la barra actual debe estar cerca del mínimo de la barra anterior. Es fácil de escribir. Pero nos interesa el caso de que haya más de una barra con el mismo mínimo o casi el mismo mínimo, por ejemplo, 5. ¿Cómo debemos trabajar en ese caso? ¿Cómo especificar esta condición para que se tenga en cuenta no sólo la barra anterior sino también las barras situadas antes en el historial?

Supongo que deberíamos recorrer las barras desde el pasado hasta el presente:

Entonces deberíamos establecer de alguna manera la condición de que si el mínimo de la siguiente barra es también igual al mínimo de la(s) anterior(es), entonces... entonces comparamos... ¿Cómo ponerlo en práctica?

Aquí tienes un consejo:

NormalizarDoble(Bajo[i]-Bajo[i+1],Dígitos)<=3*Punto --- diferencia entre barras adyacentes. Si no se cumple la condición -> Return(False); (Devuelve false)

Return(False) después de pasar el bucle

Podemos hacerlo de otra manera:

Si la condición NormalizarDoble(Bajo[i]-Bajo[i+1],Dígitos)<=3*Punto es verdadera, aumenta el contador de barras adyacentes (inicialmente igual a cero) en 1,

si la condición es falsa, devolvemos el valor del contador de la barra adyacente.

Cuanto mayor sea el número devuelto por la función, más fuerte será el conjunto. Si se devuelve cero, la configuración no está presente.