[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 326
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
Comience con la definición del problema.
- Utilice el script para detectar la presencia de una línea en el gráfico.
- Si la línea existe, imprime su precio inicial y final en las variables; imprime los números de barra (o la hora) en las variables.
- Realiza los cálculos necesarios con el script.
- Imprimir los resultados en la pantalla (o en un documento de texto o en el Diario del Asesor Experto)
Si no consigues resolver estos 4 problemas de inmediato, empieza por aprender el idioma.
¡Darknn! ¡Gracias! ¡¡Investigaré!!
No es ningún secreto. Hay mucho escrito al respecto. No importa qué herramienta se haya utilizado para crear la historia. Se trata de actualizar el gráfico para que el Asesor Experto trabaje en él.
Esto puede hacerse mediante WinAPI. Se ha descrito aquí muchas veces. He escrito una biblioteca. Lo he publicado aquí.
Contiene funciones para controlar la actualización autónoma del gráfico. No requiere ningún guión ni experto. Pero no es para todos. También hay funciones disponibles para todos para actualizar el gráfico desde un Asesor Experto, un script o un indicador. Es más difícil utilizarlos. Porque tienes que pensar cuál de tus programas va a actualizar el gráfico. Los ejemplos están en el script de prueba.
Ayuda a un empollón. Sólo para repasar la esencia de la pregunta.
Tengo dos puntos en el gráfico, el punto 2 -el más cercano a la barra cero- y el t.1 -el más alejado de la barra cero en el historial-. Trato de trazar una línea de tendencia a partir de estos dos puntos,
extendiendo un segmento entre estos puntos por N (variable int RayLong) intervalos por delante. El código es el siguiente:
El problema es que el punto de cálculo es flotante en la fecha. El precio está bien. La fecha, en cambio, es fina o flotante. La impresión muestra que esto ocurre cuando la fecha de liquidación no está en el calendario: fines de semana o días festivos. Por favor, sugiera una solución al problema.¿Por casualidad tienes una solución preparada para "extraer" la última línea del archivo de registro para mostrarla en los comentarios?
Ayuda a un empollón. Sólo para repasar la esencia de la pregunta.
Tengo dos puntos en el gráfico, el punto 2 -el más cercano a la barra cero- y el t.1 -el más alejado de la barra cero en el historial-. Trato de trazar una línea de tendencia a partir de estos dos puntos,
extendiendo un segmento entre estos puntos por N (variable int RayLong) intervalos por delante. El código es el siguiente:
El problema es que el punto de cálculo es flotante en la fecha. Todo está bien con el precio. La fecha, en cambio, es fina o flotante. Con la ayuda de la impresora, esto ocurre cuando la fecha de liquidación no está en el calendario, es decir, los fines de semana o los días festivos. Por favor, aconséjeme cómo resolver este problema.No entiendo el problema. Si se dibuja por precio y barras En el gráfico no hay barras de fin de semana y de no fin de semana. Así que la tendencia y debe continuar a las próximas barras correspondientes a las fechas de los días de negociación.
¿O es diferente para ti?
Podría decirme si el array se llenará con tikets de órdenes pendientes en el siguiente código:
int tiket[];
int SetFunk()
{
for (i=0; i<=k-1; i++)
{
ticket [i] =OrderSend(Symbol() , OP_BUYSTOP ,0.01*Lots,Ask+Step*i*Point,3,Bid-S_Loss*Point,0,",10000,0,Green);
ticket[i+k]=OrderSend(Symbol(),OP_SELLSTOP,0.01*Lots,Bid-Step*i*Point,3,Ask+S_Loss*Point,0,"",10000,0,Green);
}
}
?????
se devuelven nulos al intentar imprimir()
Podría decirme si el array se llenará con tikets de órdenes pendientes en el siguiente código:
int tiket[];
int SetFunk()
{
for (i=0; i<=k-1; i++)
{
ticket [i] =OrderSend(Symbol() , OP_BUYSTOP ,0.01*Lots,Ask+Step*i*Point,3,Bid-S_Loss*Point,0,",10000,0,Green);
ticket[i+k]=OrderSend(Symbol(),OP_SELLSTOP,0.01*Lots,Bid-Step*i*Point,3,Ask+S_Loss*Point,0,"",10000,0,Green);
}
}
?????
se devuelven nulos al intentar imprimir()
Hola.
Tengo un EA.
¿Cómo puedo conseguir que muestre los niveles de media móvil que se muestran en la imagen?
Ahora mismo sólo muestra ceros.
//+------------------------------------------------------------------+//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int inicio()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),13,30,8,MODE_SMA,PRICE_CLOSE,0)-0.0015,0),Red,10,20,0,20);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),13,30,8,MODE_SMA,PRICE_CLOSE,0),0),Red,10,50,0,20);
//----
return(0);
}
//+------------------------------------------------------------------+
void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
ObjectSetText(nm, tx, fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}
Hola.
Tengo un EA.
¿Cómo puedo conseguir que muestre los niveles de media móvil que se muestran en la imagen?
Ahora mismo sólo muestra ceros.
//+------------------------------------------------------------------+//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int inicio()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),13,30,8,MODE_SMA,PRICE_CLOSE,0)-0.0015,0),Red,10,20,0,20);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),13,30,8,MODE_SMA,PRICE_CLOSE,0),0),Red,10,50,0,20);
//----
return(0);
}
//+------------------------------------------------------------------+
void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
ObjectSetText(nm, tx, fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}
double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)
Todavía no he oído hablar del plazo 13