Stereosin: Buenos días a todos. La idea es colocar una orden pendiente en la dirección opuesta para cada orden de mercado abierta (es decir, toma de beneficios y stop loss) cuando se activa el stop loss (si se trata de una orden de compra, entonces se envía una orden pendiente). No puedo encontrar ninguna secuencia de sintaxis para escribir un script que borre la orden pendiente cuando la actual se cierre en el take profit? Tal vez haya un guión escrito entre los libres, pero la búsqueda no tiene éxito ( . Me gustaría escribir uno yo mismo para poder tratarlo, pero no puedo entender la secuencia sintáctica. Permítanme explicar otro ejemplo - Quiero un helado - la secuencia de sintaxis - 1) - levantarse del sofá 2) Vestirse 3) Ir a la tienda 4) Comprar un helado. ¿Es posible hacer lo mismo con mi tarea?
cuando se cierre la actual, el número de órdenes de compra disminuirá, o no habrá ninguna (depende del algoritmo), se hace esta comprobación y se eliminan las órdenes pendientes
algo así (en este caso, por el contrario, las órdenes pendientes se eliminan si una compra colocada anteriormente ha cerrado con beneficios):
cuando se cierre la actual, el número de órdenes de compra disminuirá, o no habrá ninguna (depende del algoritmo), se hace esta comprobación y se borran las órdenes pendientes
algo así (en este caso, por el contrario, las órdenes pendientes se eliminan si una compra colocada anteriormente ha cerrado con beneficios):
Si esto sucede - aumento el Stop Loss al tamaño requerido. No establezco el umbral, sino que lo dejo virtual en el programa y abro una orden. Como resultado, sólo se abre una de 15 a 20 órdenes. ¿Qué debo hacer para abrir todas las órdenes?
¡Ayuda, por favor! Quiero abrir una posición de compra, y si el precio sube un 100 pips, mi stop loss será igual a cero con respecto al stop loss anterior.
Encontré una función que define el precio máximo y mínimo para 100 barras y dibuja líneas horizontales (por favor, ayúdame a hacer pasar las primeras 15 barras y sólo entonces comprobar para 100 (¿cómo hago este cambio?) y otro problema con las líneas - dibuja sólo 1 vez - es decir - si vamos otros 100 puntos con nuevos máximos y mínimos - las líneas no se dibujan) alguien sabe por favor escriba - aquí está el código
extern inttern Quant_Bars=100; // Número de barras
Tema leyó por fin la documentación. Puedes encontrar tantas cosas interesantes allí... Por ejemplo, iHighest devuelve el índice del mayor valor encontrado (desplazamiento relativo a la barra actual) del gráfico correspondiente. Y iHigh devuelve el valor del precio máximo de la barra (especificado por el parámetro shift) del gráfico correspondiente. Una vez que comprenda estas dos funciones, podrá resolver fácilmente su problema sin recurrir a funciones que no siempre están escritas por otros.
Chicos, si el indicador dibuja objetos gráficos no estándar, ¿es posible acceder a ellos? El problema es que no se muestran en la lista de objetos (cuando se pulsa el botón All) y la función ObjectsTotal() no los ve. Al intentar acceder a los objetos por su nombre, GetLastError() devuelve el error 4202(función ObjectFind())
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Buenos días a todos. La idea es colocar una orden pendiente en la dirección opuesta para cada orden de mercado abierta (es decir, toma de beneficios y stop loss) cuando se activa el stop loss (si se trata de una orden de compra, entonces se envía una orden pendiente). No puedo encontrar ninguna secuencia de sintaxis para escribir un script que borre la orden pendiente cuando la actual se cierre en el take profit? Tal vez haya un guión escrito entre los libres, pero la búsqueda no tiene éxito ( . Me gustaría escribir uno yo mismo para poder tratarlo, pero no puedo entender la secuencia sintáctica. Permítanme explicar otro ejemplo - Quiero un helado - la secuencia de sintaxis - 1) - levantarse del sofá 2) Vestirse 3) Ir a la tienda 4) Comprar un helado. ¿Es posible hacer lo mismo con mi tarea?
cuando se cierre la actual, el número de órdenes de compra disminuirá, o no habrá ninguna (depende del algoritmo), se hace esta comprobación y se eliminan las órdenes pendientes
algo así (en este caso, por el contrario, las órdenes pendientes se eliminan si una compra colocada anteriormente ha cerrado con beneficios):
¿Entonces esto es correcto?
if (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true;
if (OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;
¿y terminar así?
si (OrderOpenTime()+8100 <=TimeCurrent()) Cls_Buy=true;
cuando se cierre la actual, el número de órdenes de compra disminuirá, o no habrá ninguna (depende del algoritmo), se hace esta comprobación y se borran las órdenes pendientes
algo así (en este caso, por el contrario, las órdenes pendientes se eliminan si una compra colocada anteriormente ha cerrado con beneficios):
Si esto sucede - aumento el Stop Loss al tamaño requerido. No establezco el umbral, sino que lo dejo virtual en el programa y abro una orden. Como resultado, sólo se abre una de 15 a 20 órdenes. ¿Qué debo hacer para abrir todas las órdenes?
RefreshRates();
double bid = MarketInfo(symbol,MODE_BID);double ask = MarketInfo(symbol,MODE_ASK);
double stoplevel = NormalizeDouble(stoplevelTemp * tickTemp,digitsTemp)+tickTemp;
if(digitsTemp == 5 )stoplevel+=(700 * tickTemp);
if(spreadOrdDangBr < stoplevel) //если спред меньше стоплевела - перебиваем
spreadOrdDangBr=stoplevel;
double lotDB = calculationLot(spreadOrdDangBr,0.0025); //расчитываем лот - четверть процента свободных денег
slODB=ask-spreadOrdDangBr;
tpODB= ask+ spreadOrdDangBr;
orderTicketODB=OrderSend(symbol,OP_BUY,lotDB,ask,3,slODB,0,("dangBr" +spreadOrdDangBr));
y como resultado en la terminal
¡Ayuda, por favor! Quiero abrir una posición de compra, y si el precio sube un 100
pips, mi stop loss será igual a cero con respecto al stop loss anterior.
¿Lo estoy haciendo correctamente?
if(Oferta-Precio Abierto()>Punto*100)
{
OrderModify(OrderTicket(),OrderOpenPrice(), 0,TakeProfit,0,);
return(0);
}
Gracias.
Hola a todos) como determinar el precio máximo de una barra seleccionada ( por ejemplo la 100 )
Encontré una función que define el precio máximo y mínimo para 100 barras y dibuja líneas horizontales (por favor, ayúdame a hacer pasar las primeras 15 barras y sólo entonces comprobar para 100 (¿cómo hago este cambio?) y otro problema con las líneas - dibuja sólo 1 vez - es decir - si vamos otros 100 puntos con nuevos máximos y mínimos - las líneas no se dibujan) alguien sabe por favor escriba - aquí está el código
extern inttern Quant_Bars=100; // Número de barras
//--------------------------------------------------------------------
int start() // Función especial start
{
int i; // número de barra
double Minimum=Bid; // Precio mínimo
Máximo=Oferta; // Precio máximo
for(i=0;i<=Quant_Bars-1;i++) // De cero (!) a
{ // ...Quant_Bars-1 (!)
if (Low[i]<Minimum) // Si < conocido
Minimum=Low[i]; // este será el Min
if (Alto[i]> Máximo) // si > conocido
Máximo=Alto[i]; // será el máximo.
}
Alert("Para el último ",Quant_Bars, // Mostrar
"Min= ",Mínimo," Max= ",Máximo);
double linia1=ObjectCreate("highLine",OBJ_HLINE,0,0,Maximum);
double linia2=ObjectCreate("lowLine",OBJ_HLINE,0,0,Minimum);
return(0); //salir start()
}