Y gracias, me has recordado un viejo sistema que solía funcionar en los beneficios. Tengo que tomar nota en mi tiempo libre y probarlo en el mercado actual.
jarikn: Hola a todos. Soy nuevo en la programación.
Escribí un simple Asesor Experto y ahora necesito agregarle la siguiente condición.
Si una orden de compra activa un stop loss, entonces abrimos una orden de venta.
Por favor, ayuda con este código
Más opciones:
1. Al abrir la compra, coloque la orden SellStop al nivel del stop loss de la orden de compra. Entonces su deseo será cumplido por el servidor. Pero en situaciones excepcionalmente raras pero precisas y no :-)
2. No poner Stop Loss en absoluto, y poner SellStop de doble volumen. Esto también será procesado por el servidor rápidamente. Al final del día o cuando se agota el margen, es necesario ejecutar algún UnLock, que cierra mutuamente las órdenes opuestas (CloseBy).
Sin embargo, hay otro matiz: las órdenes de stop (y los stop loss, también) pueden no funcionar. Y esto es bastante frecuente. Es decir, en un robot de "combate", todavía tenemos que comprobarlo dos veces.
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
Escribe que no se puede inicializar una entidad wchar_t con un valor const char*
Si no lo entiendes, desgraciadamente, no tienes los conocimientos básicos del idioma. Es demasiado pronto para escribir una dll, especialmente para un lenguaje tan específico como mql. Empieza por lo básico.
No sé qué le aconsejan hacer. Nunca habrá un buen momento para este momento de aprendizaje de las bibliotecas, ya sea ahora o nunca.
2. no poner un stop loss en absoluto, sino poner un SellStop de doble volumen. Esto también será manejado por el servidor y rápidamente. Al final del día o cuando se agota el margen, es necesario ejecutar algún UnLock, que cierra mutuamente las órdenes opuestas (CloseBy).
Deberíamos tener más cuidado con CloseBy ya que no todas las compañías de corretaje soportan esta característica.
No soy programador, así que no puedo resolver la pregunta más sencilla: cómo vincular la barra de cero a la hora, minutos :00, horas 00:,01:,02: etc. ¿Puede alguien darme una pista?
Creativ: No soy programador, así que no puedo resolver la pregunta más sencilla: cómo vincular la barra de cero a la hora, minutos :00, horas 00:,01:,02: etc. ¿Puede alguien sugerirlo?
Hola a todos. Chicos, por favor, ayuda. Soy nuevo en la programación. Cómo lograr esto en el código MQL4. Por ejemplo, pulsaré el botón A y aparecerá un cursor <Screenshot_2> en un gráfico como este. En el Dibujar Rectángulo <Captura de pantalla_1> no hay tecla de acceso directo.Cómo conseguir esta función.
chicos, ayudadme con el Asesor Experto, por favor. estoy harto de.... Parece que no puedo arreglarlo, sólo tiene errores.
Esta es la conclusión.
Funciona en el indicador de feria Tma.
1) Tan pronto como el precio esté por encima de la línea superior - se abre la orden de venta, el precio está por debajo de la línea inferior - se abre la orden de compra.
Lo hice todo, pero el punto es,
2) Tan pronto como he activado un stop loss se abre la misma orden ¿Cómo puedo solucionar este error?
3) ¡La orden no se cierra cuando el precio cruza la línea opuesta! Parece que funciona, pero no lo hace. Se cierra en el stop loss o en el take profit.
También me gustaría añadir una condición: si un Stop Loss se ha disparado para comprar, abrir una orden de venta. Creo que puedo manejarlo yo mismo. Sólo ayúdame a arreglar estos errores.
No sé qué hacer con él. Creo que debería hacerlo yo mismo).
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
Esta función no vincula la barra a la hora. Quiero Bar[0]=:00(minutos) o 01:00, 02:00 ...de cada día. Así, sólo cuando llegue un momento determinado, se calculará el algoritmo. El resto del tiempo el indicador descansa en mí.
Gracias. Lo investigaré.
Y gracias, me has recordado un viejo sistema que solía funcionar en los beneficios. Tengo que tomar nota en mi tiempo libre y probarlo en el mercado actual.
Hola a todos. Soy nuevo en la programación.
Más opciones:
1. Al abrir la compra, coloque la orden SellStop al nivel del stop loss de la orden de compra. Entonces su deseo será cumplido por el servidor. Pero en situaciones excepcionalmente raras pero precisas y no :-)
2. No poner Stop Loss en absoluto, y poner SellStop de doble volumen. Esto también será procesado por el servidor rápidamente. Al final del día o cuando se agota el margen, es necesario ejecutar algún UnLock, que cierra mutuamente las órdenes opuestas (CloseBy).
Sin embargo, hay otro matiz: las órdenes de stop (y los stop loss, también) pueden no funcionar. Y esto es bastante frecuente.Es decir, en un robot de "combate", todavía tenemos que comprobarlo dos veces.
Escribe que no se puede inicializar una entidad wchar_t con un valor const char*
Si no lo entiendes, desgraciadamente, no tienes los conocimientos básicos del idioma. Es demasiado pronto para escribir una dll, especialmente para un lenguaje tan específico como mql. Empieza por lo básico.
No sé qué le aconsejan hacer. Nunca habrá un buen momento para este momento de aprendizaje de las bibliotecas, ya sea ahora o nunca.
2. no poner un stop loss en absoluto, sino poner un SellStop de doble volumen. Esto también será manejado por el servidor y rápidamente. Al final del día o cuando se agota el margen, es necesario ejecutar algún UnLock, que cierra mutuamente las órdenes opuestas (CloseBy).
Deberíamos tener más cuidado con CloseBy ya que no todas las compañías de corretaje soportan esta característica.
No soy programador, así que no puedo resolver la pregunta más sencilla: cómo vincular la barra de cero a la hora, minutos :00, horas 00:,01:,02: etc. ¿Puede alguien sugerirlo?
Hay una función para esto.
iTime(символ,таймфрейм, номер бара)Devuelve la hora del bar.
Hola a todos. Chicos, por favor, ayuda. Soy nuevo en la programación.
Cómo lograr esto en el código MQL4.
Por ejemplo, pulsaré el botón A y aparecerá un cursor <Screenshot_2> en un gráfico como este.
En el Dibujar Rectángulo <Captura de pantalla_1> no hay tecla de acceso directo.Cómo conseguir esta función.
Captura de pantalla_1
Captura de pantalla_2.
Gracias.
Por favor, ayuda con el cambio de compra a venta, ¡sólo estoy aprendiendo!
void OnTick()
{
MAprice=iMA(Symbol(),0,MAperiod,MAshift,MODE_SMA,PRICE_CLOSE,1);
if(CountBuy() + CountSell() == 0 && Ask > MAprice)
{
if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)
Print("¡Fallo al abrir una orden de compra!");
if(CountBuy()>=1)
{
precio = FindLastBuyPrice();
if((precio - Ask) >= paso*Punto)
{
if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)
Print("¡Fallo en la apertura de una orden de compra!)
}
}
if(CountBuy() + CountSell() == 0 && Bid < MAprice)
{
if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)
Print("¡Fallo en la apertura de la orden de venta!)
}
}
if(CountSell()>=1)
{
precio = FindLastSellPrice();
si((precio -Oferta) >= paso*Punto)
{
if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)
Print("¡Fallo en la apertura de la orden de venta!");
}
}
double op = CalculateProfit();
si(op>=beneficio)
{
CloseAll();
}
}
//+------------------------------------------------------------------+
void CloseAll()
o ¿dónde aprender?
Hay una función para esto.
Devuelve la hora del bar.