Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Crea dos matrices. Una por número de billete, la segunda por precio. A continuación, ordene la matriz por precio, moviendo los números de los billetes al mismo tiempo (sin romper la conexión). Entonces, en un extremo de la matriz estará el precio más bajo y en el otro el más alto. Ahora tenemos que cambiar una de las órdenes extremas.
>> Gracias.
Prácticamente aún no he trabajado con arrays.
Supongamos, por ejemplo, que tengo 10 órdenes de BUYSTOP. Yo establezco los precios de su instalación:
A continuación, establezco una matriz de precios de configuración, siendo la orden 1 el precio más cercano al precio actual.
int ArrayCents = { precio1,precio2,precio3,precio4,precio5,precio6,precio7,precio8,precio9,precio10 }
Y cómo crear un array por ticket no me queda claro. ¿Dónde puedo conseguir los billetes de pedido?
¿Qué es algo como esto?
No he comprobado el código.Al parecer, la función funciona así:
MiniMaxOrderPrice(string lSymbol="", int lMagic=-1, int lOP=-1, int reversi=0)
Parámetros:
lSymbol= - nombre del símbolo ("" - cualquier símbolo, NULL - el símbolo actual)
lOP=-1 - operación (-1 - cualquier orden, en nuestro caso -OP_BUYSTOP )
lMagic=-1 - MagicNumber (-1 - cualquier mago)
//---------------------------------------------------------------------------------------------
Pero qué significa "int reversi=0" - ¡no me queda muy claro!
La función se ha copiado normalmente:
0 - precio más bajo
1 - el más grande ?
//-------------------------------------------------------------------
Y también, -¿por qué exactamente tomamos el stoploss como precio?
¿Y por qué no podemos cambiar el precio de apertura?
OP_BUYSTOP - porque se trata de órdenes pendientes (y no de posiciones), y sólo el resultado final del evento es cambiar el precio de apertura (activación) de una orden específica.
Al parecer, la función funciona así:
MiniMaxOrderPrice(string lSymbol="", int lMagic=-1, int lOP=-1, int reversi=0)
Parámetros:
lSymbol= - nombre del instrumento (" - cualquier símbolo, NULL - símbolo actual)
lOP=-1-operación (-1 - cualquier orden, en nuestro caso -OP_BUYSTOP )
lMagic=-1 - MagicNumber (-1 - cualquier magik)
//---------------------------------------------------------------------------------------------
Pero qué significa "int reversi=0" - ¡no me queda muy claro!
La función se ha copiado normalmente:
0 - el precio más bajo
1 - el más grande ?
//-------------------------------------------------------------------
Y también, -¿por qué exactamente tomamos el stoploss como precio?
¿Y por qué no podemos cambiar el precio de apertura?
OP_BUYSTOP - son órdenes pendientes (y no posiciones) lo que significa que al final tenemos que cambiar el precio de apertura de la orden elegida.
Así que coge el precio que necesites. El precio abierto de las órdenes pendientes. Sólo lo hice como ejemplo.
Creo que es más fácil crear un array bidimensional y ordenar por la primera dimensión. Y ahí, como corresponde, puedes poner lo que necesitas. En su caso, el precio.
Creo que es más fácil crear un array bidimensional y ordenar por la primera dimensión. Y ahí, como corresponde, puedes poner lo que necesitas. En su caso es el precio.
Así que coge el precio que quieras. En el caso de los colgantes, toma el precio de apertura. Sólo lo hice como ejemplo.
Supongamos que tengo 10 órdenes de bystop establecidas. No están ordenados, pero están separados por el tiempo.
Necesito eliminar la orden que está más alejada del precio actual.
¿Es esta la forma correcta de encontrar este orden? -
//******************************
p.d.
He insertado una función en el comentario.
Comentario( MiniMaxOrderPrice(NULL, -1, OP_BUYSTOP, 1 );
Pero sigue devolviendo "-1". Aunque hay de 5 a 10 órdenes en el gráfico.
hay un error en alguna parte...
Tengo, digamos, 10 pedidos de bystop realizados. No están colocados en orden, sino que están separados por el tiempo.
Necesito eliminar la orden que está más alejada del precio actual.
¿Es esta la forma correcta de encontrar este orden? -
//******************************
p.d.
He puesto la función en el comentario.
Comentario( MiniMaxOrderPrice(NULL, -1, OP_BUYSTOP, 1 ));
Pero la función devuelve constantemente "-1". Aunque hay de 5 a 10 órdenes en el gráfico.
Hay un error en alguna parte...
Comment( MiniMaxOrderPrice("", -1, OP_BUYSTOP, 1 )); // cualquier símbolo
Comment( MiniMaxOrderPrice(Symbol(), -1, OP_BUYSTOP, 1 )); // símbolo actual
¡BIEN! Gracias, Vinin.
La función parece funcionar. Lo investigaré más a fondo.