[¡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 187
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
Por ejemplo, cuando la línea val1[c] cruza 0,45 hacia arriba, el valor del tiempo se asigna a la variable TimeBegin
¿Cómo se asigna este tiempo a una variable?
Bueno, las flechas están en la barra de apertura.
No estoy seguro de entenderlo. Hay flechas en la barra de apertura, pero dibujadas por la función correspondiente - OrderSend(). Estas flechas no están relacionadas con las flechas dibujadas por OrderModify(), ¿verdad? He entendido que usando OrderModify(), no sólo coloreo las flechas, sino que también cambio el nivel de stop loss, cambiando el valor de la variable SL? Está escrito en la ayuda:
Cambia los parámetros de las posiciones abiertas anteriormente o de las órdenes pendientes.
Esto significa que no sólo cambia el color de la flecha, sino que también "cambia los parámetros de las órdenes abiertas anteriormente". Sugiere que se cambien los topes y se dibujen flechas. Pero no lo hace por alguna razón.
La palabra "sólo" se refería a la flecha, no a lo que hace la función.
стрелки на баре открытия есть, но нарисованные соответствующей функцией - OrderSend(). Эти стрелки же не относятся к стрелкам, рисуемым OrderModify()?
A lo que me refiero, es a que fijas un tope y/o una toma, y así cambian las flechas.
¿Cómo se asigna este tiempo a una variable?
hay tal característica en la colección de Kim
¿Puede ser más específico? ¿Dónde puedo encontrarlo? ¿Dónde puedo encontrar la colección de Kim?
La palabra "sólo" se refería a la flecha, no a lo que hace la función.
Puede utilizar la función para establecer un tope y/o una toma, por lo que sus flechas cambiarán.
El manual de OrderModify() dice:
arrow_color - Color de las flechas de modificación de StopLoss y/o TakeProfit en el gráfico. Si falta este parámetro o su valor es CLR_NONE, las flechas no aparecerán en el gráfico.
Es decir, por lo que he entendido, OrderModify() dibuja palos porque dice "flechas de MODIFICACIÓN", lo que significa que no sólo hay flechas de apertura/cierre creadas por OrderSend, sino también flechas de modificación creadas por OrderModify. Y estas flechas de MODIFICACIÓN sólo pueden faltar si el parámetro está ausente o es igual a CLR_NONE. Pero mi parámetro está presente y es igual a "Verde". He entendido que no hay ningún parámetro especial responsable de la presencia o ausencia de flechas de modificación, se controla por la ausencia o igualdad de su CLR_NONE. Juzgo por analogía con OrderSend en el mismo helper:
arrow_color - color de la flecha de apertura en el gráfico. Si falta el parámetro o su valor es CLR_NONE, la flecha de apertura no se muestra en el gráfico.
Por favor, ayuda con la función isCloseLastPosByStop ().
Inserto en MetaEditor función isCloseLastPosByStop () (pero sólo lo que está escrito en https://www.mql5.com/ru/forum/107476/page21).
Después de una compilación infructuosa obtengo errores:
'(' - definición de función inesperada
't' - variable no definida
't' - variable no definida
'}' - paréntesis desequilibrados
Es esta función, como he comentado en el resto del código.
Hola a todos. Por favor, ayude a combinar las siguientes cosas. El resultado debería ser: dos líneas siguiendo el precio, una 20 pips por debajo de Ask,
el otro es más alto. Además, recibo un pitido si el precio cambia 20 puntos por 1 tick.
Todo funciona bien por separado. Gracias de antemano.
1) La línea está 20 pips por debajo de Ask.
//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int inicio()
{
ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask-20*Point) ;
ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask-20*Point);
return(0);
}
//+------------------------------------------------------------------+
2) Línea por encima de Ask por 20p.
//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int inicio()
{
ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask+20*Point) ;
ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask+20*Point);
return(0);
}
//+------------------------------------------------------------------+
3) Tasa de variación de los precios en el tiempo.
#property show_inputs
extern int int pips=2; //cambiar Ask
extern double Tiempo_=0.1; //c. ~ garrapata
extern bool all_from_view=true; //sólo símbolo actual - false
int, l, p, número_de_caracteres;
string val[], on_screen;
int Preguntar_guardar[];
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
void start(){
number_of_characters=SymbolsList(val, true);//escribir las herramientas y su número en la matriz val llamar a la función SymbolsList
ArrayResize(Ask_save,number of_characters);
if(number of_characters == -1){ Alert("SymbolsList(string &Symbols[], bool Selected) failed"); return;}
if(!all_from_selected){
número_de_caracteres=1;
ArrayResize(Ask_save,number_of_characters);
ArrayResize(val,number of_characters);
val[0]=Símbolo();
}
while(true&&!IsStopped()){ //si se permite y no se detiene el script continuará
Alert("recalcular en "+Time_+" seg;)
for(i=0;i<número_de_caracteres;i++){ //calcular el valor del diferencial para los símbolos del market watch
if((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT))>=pips){
Alert(val[i]+", "+Period()+" cambiado a la baja en "+DoubleToStr((Ask_save[i]-MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)),0)+" pips");
PlaySound("timeout.wav");
}
if((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i])>=pips){
Alert(val[i]+", "+Period()+" cambió hacia arriba en "+DoubleToStr((MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT)-Ask_save[i]),0)+" pips");
PlaySound("email.wav");
}
Ask_save[i]=MarketInfo(val[i],MODE_ASK)/MarketInfo(val[i],MODE_POINT);
}
Sleep(Time_*1000);//Pausa por seg.
}
/*
number_of_characters=SymbolsList(val, true);//escribir las herramientas y su número en la matriz val Llamada a la función SymbolsList
if(number of_characters == -1){ Alert("Error al abrir el archivo en SymbolsList(string &Symbols[], bool Selected)"); return;}
while(true&&!IsStopped()){ //si se permite y no se detiene el script continuará
on_screen="\r\n"; // indent
for(i=0;i<número_de_caracteres;i++)//calcular el valor del spread para los símbolos de la revisión del mercado
on_screen=on_screen+val[i]+" coste del spread = " + DoubleToStr(MarketInfo(val[i],MODE_SPREAD)*MarketInfo(val[i],MODE_TICKVALUE),0)+"\r\n";
Comentario(a_pantalla);//publicar
Alert("recalcular");//señal
Sleep(3000);//Pausa durante 3 segundos.
}
*/
}
void deinit(){Comentar("");}
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
//la función lee todos los instrumentos financieros del Market Watch.
//+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
int SymbolsList(string &Symbols[], bool Selected){
int Offset, SymbolsNumber; string SymbolsFileName;
if(Selected) SymbolsFileName = "symbols.sel"; si no SymbolsFileName = "symbols.raw";
int hFile = FileOpenHistory(SymbolsFileName, FILE_BIN|FILE_READ);
if(hFile < 0) return(-1); if(Selected) { SymbolsNumber = (FileSize(hFile) - 4) / 128; Offset = 116; }
else { SymbolsNumber = FileSize(hFile) / 1936; Offset = 1924; }
ArrayResize(Symbols, SymbolsNumber);
if(Selected) FileSeek(hFile, 4, SEEK_SET);
for(int i = 0; i < SymbolsNumber; i++){Symbols[i] = FileReadString(hFile, 12); FileSeek(hFile, Offset, SEEK_CUR);}
FileClose(hFile);
return(NúmeroDeSímbolos);
}
Hola a todos. Por favor, ayude a combinar las siguientes cosas. El resultado final debería ser: dos líneas siguiendo el precio una por debajo de Ask por 20 pips,....
Esto es una falta de respeto a los que pregunta. Aprenda a publicar correctamente el código -> SRC