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

 
xant:

Sí, he hecho lo que has escrito. Y no compila.

Obviamente, he hecho algo mal, pero qué es exactamente lo que no entiendo. Podrías ir paso a paso.

Por si acaso, muéstrame mis funciones que has convertido en tus variables. Y muéstrame el registro con los errores de compilación.
 
rigonich:

La primera orden tiene un precio abierto de 1,2900 y un TP de 1,300. La segunda orden tiene un precio abierto de1,2800 y un TP de 1,290. Son parámetros diferentes. El primero esBAY, el segundo esBAY_STOP. También son parámetros diferentes.
Pero lo has entendido, ¿no?
 
lottamer:


Te equivocas porque simplemente no entiendes el punto. Y lo hace, y todo funciona perfectamente, como lo necesito. Tal vez se podría simplificar el código, pero ahora es demasiado gordo... Sólo tengo que terminar todo el EA y ya mirar el REST de la idea de comercio que contiene....

No me interesa programar por programar...


Creo que eso es exactamente lo que tienes: programar por programar. tu función no hace más que sobrecargar la CPU.

Empecé a programar después de cinco años de estudiar el mercado, desarrollar y probar varias estrategias, cuando me di cuenta de que la estrategia de negociación (exitosa) desarrollada por mí y probada manualmente 20 veces en la historia, en primer lugar, no tiene análogos, que se pueden encontrar en kodobase, y en segundo lugar, incluso con los ajustes cerca de los límites de las capacidades técnicas, establece las demandas que son imposibles para los seres humanos, y puede ser fácilmente cumplida incluso por el equipo más débil (por ejemplo, permanecer con su equipo durante una semana o más).

 
yosuf:
Pero supongo que lo has entendido...


Sólo tiene que colocar una orden pendiente con los parámetros que desee.

P.D. En el EA... justo después de la apertura de la orden.

 
rigonich:


Sólo tiene que colocar una orden pendiente con los parámetros que desee.

P.D. En el EA... justo después de abrir la orden.

¿Cuál es el código?
 
yosuf:
¿Cuál es el código?


int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0,arrow_color=CLR_NONE)
Función básica utilizada para abrir una posición o establecer una orden pendiente.
Devuelve el número de billete asignado a la orden por el servidor de comercio o -1 en caso de fallo. Para obtener más información sobre el error, llame a GetLastError().
Notas.
Cuando se abre una orden de mercado (OP_SELL u OP_BUY), sólo se pueden utilizar como precio de apertura los últimos precios Bid (para vender) o Ask (para comprar). Si la operación se realiza para un instrumento financiero, diferente del actual, entonces para obtener las últimas cotizaciones de este instrumento, se debe utilizar la función MarketInfo() con el parámetro MODE_BID o MODE_ASK. No puede utilizar un precio estimado o no normalizado. Si el precio de apertura solicitado no estaba en el flujo de precios o el precio solicitado no está normalizado según el número de decimales, se generará el error 129 (ERR_INVALID_PRICE). Si el precio de apertura solicitado está muy desfasado, se generará un error 138 (ERR_REQUOTE) independientemente del valor del parámetro de deslizamiento. Si el precio solicitado está desfasado pero todavía está presente en el flujo de precios, la posición se abrirá al precio actual y sólo si el precio actual está dentro del rango de precio+deslizamiento.

Los precios StopLoss y TakeProfit no deben colocarse demasiado cerca del mercado. La distancia mínima del stop en pips puede obtenerse utilizando la función MarketInfo() con el parámetro MODE_STOPLEVEL. El error 130 (ERR_INVALID_STOPS) se genera en caso de paradas erróneas o no normalizadas.

Al colocar una orden pendiente, el precio de apertura no puede estar demasiado cerca del mercado. La distancia mínima del precio pendiente del precio actual del mercado en puntos también puede obtenerse utilizando la función MarketInfo() con el parámetro MODE_STOPLEVEL. Si el precio de apertura de la orden pendiente es incorrecto, se generará el error 130 (ERR_INVALID_STOPS).

En algunos servidores comerciales se puede establecer una prohibición de vencimiento de órdenes pendientes. En este caso se generará un error 147 (ERR_TRADE_EXPIRATION_DENIED) al intentar establecer un valor distinto de cero en el parámetro de caducidad.

En algunos servidores comerciales se puede establecer un límite en el número total de órdenes abiertas y pendientes. Si se supera este límite, no se abrirá una nueva posición (no se establecerá ninguna orden pendiente) y el servidor de operaciones devolverá el error 148 (ERR_TRADE_TOO_MANY_ORDERS).
Parámetros:
símbolo - Nombre del instrumento financiero con el que se ejecuta la operación.
cmd - Operación comercial. Puede ser cualquiera de los valores comerciales.
volumen - Cantidad de lotes.
precio - Precio de apertura.
deslizamiento - Máximo deslizamiento de precios permitido para las órdenes de mercado (órdenes de compra o venta).
stoploss - El precio de cierre de una posición cuando se alcanza la pérdida (0 si no hay pérdida).
Aprovechar el beneficio - El precio de cierre de una posición cuando se alcanza el nivel de rentabilidad (0 si no hay nivel de rentabilidad).
comentario - Ordene el texto de los comentarios. La última parte del comentario puede ser modificada por el servidor de comercio.
magia - Número mágico de la orden. Puede utilizarse como identificador definido por el usuario.
caducidad - Hora de caducidad de la orden pendiente.
color_flecha - Color de la flecha de apertura en el gráfico. Si falta el parámetro o su valor es CLR_NONE, la flecha de apertura no se muestra en el gráfico.
Ejemplo:
 int ticket; if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25) { ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-25*Point,Ask+25*Point, "My order #"+counter,16384,0,Green); if(ticket<0) { Print("OrderSend failed with error #",GetLastError()); return(0); }
 
lottamer:

y a pesar de que su código dio 24 errores en el compilador!!! todavía gracias incluso por la ayuda descuidada.... por la idea... (ahora funciona - aunque básicamente intenté hacerlo pero la puntuación falló)


No he intentado compilarlo, ¡sólo he puesto los paréntesis! De lo contrario, no funcionarían en absoluto. He mostrado cómo deben ser. El resto de la lógica aún no está clara. Recuerdo que, al poner cada bandera siguiente, usted ,,preguntaba si era lo contrario de la condición anterior, mientras comprobaba si la bandera era verdadera...

De hecho, mi primer comentario te instaba a reconsiderar lo que habías escrito, comprobando la referencia.

 
¡¡¡¡algún consejo para el novato!!!! el asesor está desactivado en el terminal pero el stoploss se activa ¿es posible?
 
tolik73:
¡¡¡¡algún consejo para el novato!!!! el asesor está desactivado en el terminal pero el stoploss se activa ¿es posible?

Por supuesto que sí.
 
tolik73:
¡¡¡¡algún consejo para el novato!!!! el asesor está desactivado en el terminal pero el stoploss se activa ¿es posible?

No es posible, es una obligación. El Stop Loss está en el servidor y no depende del funcionamiento de su terminal, a diferencia del trailing stop.
Razón de la queja: