[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 828
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
No exactamente - para una orden Stop, el precio de apertura podría ser, por ejemplo en el caso de la compra,
máximo de un fractal anterior (=PrecioAbierto) + Spread
(siempre que el Ask sea inferior al fractal en el nivel Stop_Level o más). Es decir, la orden no está puesta en el Ask, sino en alguna condición "externa".
Pero más bien me gustaría saber sobre la contabilización del Spread en el TakeProfit y el StopLoss:
- En el caso de Buy:
OrderSend(Symbol (), OP_BUYSTOP, Lots, OpenPrice+Spread, Slippage, OpenPrice-StopLoss, OpenPrice+TakeProfit+Spread, ...)
- Vender:
- ¿Es correcto o me estoy perdiendo algo?
Y la diferencia entre Asc y Bid es el diferencial... Así es como lo hacemos...
¿Tengo que pulsar "responder" para escribir un mensaje? ¿Cómo puedo añadir un mensaje a un hilo sin pulsar "responder"?
En la parte inferior de la ventana del editor y el botón "Añadir comentario"
Leo y trato de entender, pero me encuentro con abreviaturas y palabras incomprensibles. TK, TF, flotsam, etc.
¿Existe algo parecido a un diccionario de abreviaturas básicas, palabras poco entendidas?
Un hombre sabio dijo una vez: "¡Da una definición precisa a cada palabra y librarás a la humanidad de la mitad de sus conceptos erróneos!"
A los precios actuales, no es una orden pendiente, así que:
Comprar:
Vender:
Para las órdenes pendientes - depende del programador, en qué precios se mantiene la cuenta.
En cualquier caso, StopLoss y TakeProfit se cuentan a partir de un precio, y OpenPrice difiere de él (el precio) por un spread.
Hola, soy nuevo en MQL4 y en la programación en general, así que tengo esta pregunta:
Escribí un código que a una hora determinada, digamos 21.15, cierra todas las posiciones abiertas de 0 a 3 en la lista:
if((TimeHour(TimeCurrent()) == MyHour)&&(TimeMinute(TimeCurrent())== MyMinute))
{
for(int j=0;j<4;j++)
{
if((OrderSelect(j,SELECT_BY_POS,MODE_TRADES)==true))
{
Print("Order:",OrderTicket());
OrderClose(OrderTicket(),MyLots,Bid,5,color3);
}
else
Print("OrderSelect() vernul oshibku - ",GetLastError());
}
En el probador sucede lo siguiente: las órdenes 0 y 1 se cierran a la hora especificada, y las órdenes 2 y 3 se cierran a la misma hora, pero un día después.
También escribí una sección de código que modifica el stop loss para todas las órdenes 0 a 3 de la lista:
if(Diff2 <= 0.0012)
{
int pos1;
int total = OrdersTotal();
for(pos1=0; pos<total; pos1++)
{
if(OrderSelect(pos1,SELECT_BY_POS,MODE_TRADES)==true)
{
Print("Order1:",OrderTicket());
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),Ask-Point*TakeProfit,0,color3);
}
else
Print("OrderSelect() vernul oshibku - ",GetLastError());
}
}
En el probador, sucede lo siguiente: en la pestaña "Resultado", el probador escribe todas las órdenes, luego se cuelga y el
"OrderSelect() vernul oshibku - 0".
Por favor, indíqueme qué es lo que está mal aquí o cuál puede ser la razón de este comportamiento.
chief2000:
Sólo quiero aclarar una cuestión: se trata de la apertura de una orden de Stop....Muchas gracias a todos.
>>Escribió un código que cierra todas las posiciones abiertas de 0 a 3 en la lista a una hora determinada, digamos 21.15:
>>En el probador ocurre lo siguiente: las órdenes 0 y 1 se cierran a la hora especificada, y las órdenes 2 y 3 se cierran a la misma hora, pero 24 horas después.
OrderClose() cierra sólo las órdenes abiertas. OrderDelete() se utiliza para eliminar órdenes pendientes. Las otras dos órdenes deben estar pendientes. ¿Después de un día se abren y se cierran OrderClose()?
>>La sección de código que modifica un stop loss para todas las órdenes de 0 a 3 también está escrita
for(pos1=0; pos<total; pos1++)
Для "pos1" в условии цикла пропустил единицу:
for(pos1=0; pos1<total; pos1++)