[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 155
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
en la definición de una tendencia?
En un cambio de tendencia durante un periodo de tiempo... Véase https://www.mql5.com/ru/forum/131277/page148 y https://www.mql5.com/ru/forum/131277/page149
¿Pueden decirme por qué OrderSelect devuelve TRUE aunque el pedido con este ticket no exista (está borrado)?
en un cambio de tendencia en un tramo de tiempo...
Por favor, dígame si la función Tp y Slossa funciona aquí
if (total > 0) AveragePrice = NormalizeDouble(AveragePrice / Count, Digits);
if (NewOrdersPlaced) {
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (OrderType() == OP_BUY) {
PriceTarget = AveragePrice + TakeProfit * Point;
BuyTarget = PriceTarget;
Stopper = AveragePrice - Stoploss * Point;
flag = TRUE;
}
}
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (OrderType() == OP_SELL) {
PriceTarget = AveragePrice - TakeProfit * Point;
SellTarget = PriceTarget;
Stopper = AveragePrice + Stoploss * Point;
flag = TRUE;
me ha compilado bien
Lo siento, el Indicador funciona - así es como estaba originalmente, y el error está en el archivo tcht - no compila.
¿Puedo usar init para hacer cálculos para el buffer del indicador?
Quería recalcular en init todas las barras excepto la barra cero y en inicio la barra cero - no cuenta...
¿Pueden decirme por qué OrderSelect devuelve TRUE aunque no haya ningún pedido con ese ticket (ha sido eliminado)?
¿Has leído bien la referencia de la función?
Volvamos a leerlo:
---------------------------------------------------------------------------------------------------------------------------------------------------------------
El parámetro pool se ignora si la orden se selecciona por el número de ticket. El número de ticket es un identificador único para el pedido. Para determinar de qué lista se selecciona una orden, debemos analizar su hora de cierre. Si la hora de cierre de la orden es 0, entonces la orden está abierta o pendiente y se toma de la lista de posiciones abiertas del terminal. Una posición abierta puede distinguirse de una orden pendiente por su tipo. Si la hora de cierre no es igual a 0, entonces la orden está cerrada o pendiente y ha sido seleccionada del historial del terminal. La distinción entre una orden cerrada y una orden pendiente eliminada también puede hacerse por tipo de orden.
SELECT_BY_POS - el parámetro índice contiene el número de índice de la posición en la lista,
SELECT_BY_TICKET - el parámetro índice contiene el número de billete.
MODE_TRADES (por defecto) - la orden se selecciona entre las órdenes abiertas y pendientes,
MODE_HISTORY - la orden se selecciona entre las órdenes cerradas y borradas.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Este:
El parámetro pool se ignora si la orden se selecciona por el número de ticket. El número de billete es el identificador único del pedido. Para determinar de qué lista se selecciona una orden, hay que analizar su hora de cierre. Si la hora de cierre de la orden es 0, entonces la orden está abierta o pendiente y se toma dela lista de posiciones abiertas del terminal.
¿Qué haces?
He mostrado en rojo el parámetro pool, que se ignora cuando se elige por ticket y se toma una orden de cualquier lista (abierta o cerrada) de posiciones del terminal. Por eso devuelve la verdad. Al fin y al cabo, ese ticket existe y se selecciona un pedido, pero de la lista de pedidos cerrados...
Deberíamos hacerlo así:
... o:
... ...o:
Creo que lo he explicado muy bien... :)
artmedia70
Gracias por una respuesta tan detallada y completa. Realmente lo más claro posible :) ¡¡¡THX!!!
artmedia70
Gracias por una respuesta tan detallada. Lo más claro posible :) ¡¡¡THX!!!
:) Gracias. De nada.
Me gustaría advertir sobre algunas "insidias" de la selección de puestos abiertos por su billete. La cuestión es que al final de un día de negociación, cuando una posición se traslada al día siguiente, la empresa de corretaje vuelve a abrir la orden. Es decir, se cierra la posición actual y se abre otra con el mismo volumen, pero con una nueva entrada que incluye el canje. Por lo tanto, su Asesor Experto debe hacer un seguimiento de las órdenes reabiertas y tener en cuenta sus nuevos tickers, de lo contrario todo "fluirá" - la orden con el antiguo ticker aparecerá en la lista de órdenes cerradas, y usted no podrá abrir una posición existente trasladada al nuevo día de negociación utilizando el antiguo ticker. Las posiciones parcialmente cerradas correrán la misma suerte: también se les asignará un nuevo billete.
Por lo tanto, mantenga su propio registro estricto de todas las órdenes de EA y haga un seguimiento de todos esos cambios "insidiosos" en el tiempo.
Me gustaría advertir sobre una cierta "insidia" de la selección de puestos abiertos por su billete. La cuestión es que al final del día de negociación, cuando una posición se transfiere al día siguiente, el CC vuelve a abrir la orden.
No sé si esto es cierto para algunas empresas de corretaje, pero la mayoría de ellas no hacen esta mierda.
¿No es una norma de "buena educación" considerar también este comportamiento del DC? Después de todo... Sí, no importa... Sólo intento tener en cuenta todo, bueno... o lo que tengo en cuenta.
La precaución vale por dos, ¿eh? ;)