Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1008
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
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()
}