[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 647
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
de la derecha.
He dibujado el código de abajo. ¿Puede alguien decirme cuál es el problema, el fragmento que he puesto en negrita?
El problema es que el indicador dibuja el historial hacia atrás inmediatamente y no lo reinicia después de cambiar los parámetros.
#property indicador_separar_ventana
#property indicator_buffers 1
#property indicator_color1 LimeGreen
doble AUD;
extern int PerAvr=5,Delta=1;
doble Idx[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0,Idx);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización del indicador Custor |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+
int inicio()
{
int barras_contadas=IndicadorContado();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=Barras contadas;
for(int i=limit; i>=0; i--)
{
AUD=(iMA("AUDUSD",0,PerAvr ,0,MODE_LWMA ,PRICE_CLOSE,i)-iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+De lta)*100/iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+De lta);
//if (Curency =="AUDUSD")
Idx[i] = AUD;
}
//----
//----
return(0);
}
//+------------------------------------------------------------------+
Buenas tardes, miembros del foro. He encontrado un código interesante para construir una línea de tendencia. He decidido jugar un poco con él.
Por alguna razón me acordé de una anécdota: en una familia de un programador, un hijo se acerca a su padre y le pregunta por qué el sol sale por el este y se pone por el oeste.
Papá, sin apartar los ojos de su ordenador, ¿realmente amanece en el este? -Sí. ¿Y se pone en el oeste? - Sí. Entonces, ¿qué, todos los días? - Sí. Bueno, no toques nada si está funcionando.
Por alguna razón me acordé de una anécdota: en una familia de un programador, un hijo se acerca a su padre y le pregunta por qué el sol sale por el este y se pone por el oeste.
Papá, sin apartar los ojos de su ordenador, ¿realmente amanece en el este? -Sí. ¿Y se pone en el oeste? - Sí. Entonces, ¿qué, todos los días? - Sí. Bueno, no tienes que tocar nada si está funcionando.
Hola usuarios del foro, he encontrado un código interesante para dibujar la línea de tendencia.
Lo curioso es que has cambiado el código según tus principios y quieres que una brigada de eruditos encuentre fallos.
es posible que todo funcione pero que se obtengan los datos que no se muestran en el precio actual sino en algún lugar de la parte inferior del gráfico - creo que es el separatetwinds
SZS buena suerte
¿Sabes lo que es gracioso? Has cambiado el código según tus principios y quieres que una brigada de eruditos encuentre los fallos
es posible que todo funcione pero que se obtengan los datos que no se muestran en el precio actual sino en algún lugar de la parte inferior del gráfico - creo que es el separatetwinds
SZS buena suerte
No puedo ver lo que sucederá con este código - aparentemente este método de cálculo no funcionará para el interés((.
Inmediatamente, por alguna razón, recuerdo un chiste: el hijo de un programador se acerca a su padre y le pregunta por qué el sol sale por el este y se pone por el oeste.
Papá, sin apartar los ojos de su ordenador, ¿realmente amanece en el este? -Sí. ¿Y se pone en el oeste? - Sí. Entonces, ¿qué, todos los días? - Sí. Bueno, no tienes que tocar nada si está funcionando.
Gracias. Supongo que la única diferencia es que el EA se lanza cada vez que entra un nuevo tick, mientras que el script tiene que lanzarse en bucle infinito para mantenerlo en funcionamiento?
No necesariamente. Todo depende de la finalidad del guión. Si el propósito del guión es para una única ejecución (que es la gran mayoría), no hay necesidad de inventar bucles interminables. La necesidad de calcular la cantidad de dinero que se va a involucrar en el mercado cuando se abre una posición con un lote preestablecido puede servir como ejemplo de este tipo de guión único. Dado que el precio del punto en el lote mínimo es diferente para los distintos instrumentos, es más fácil abrir el instrumento requerido, aplicarle el script, introducir el lote previsto en la ventana de parámetros y ver cuánto dinero se bloqueará si se abre la operación.
Esto es sólo un ejemplo. La finalidad de los guiones puede ser diferente.
No veo cómo funcionará este código - aparentemente este método de cálculo de porcentaje no funcionará((.
Inmediatamente, por alguna razón, recuerdo una anécdota: un hijo de una familia de programadores se acerca a su padre y le pregunta ¿por qué el sol sale por el este y se pone por el oeste?
Papá, sin apartar los ojos de su ordenador, ¿realmente amanece en el este? -Sí. ¿Y se pone en el oeste? - Sí. Entonces, ¿qué, todos los días? - Sí. Bueno, no tienes que tocar nada si está funcionando.
Es un indicador bastante sencillo. No veo cómo los porcentajes son mejores que los pips, pero da igual.
Sin embargo, has cometido algunos errores :)
1.
Para calcular correctamente el porcentaje hay que añadir paréntesis.
2.
El problema es que el indicador dibuja el historial hacia atrás inmediatamente y no lo reinicia después de cambiar los parámetros.
Lo más interesante es que despertó el interés deportivo y se sentó durante media hora en su indicador.
¿Por qué no se calculó la historia?
La respuesta es que has añadido una operación de división.
No se ha tenido en cuenta el hecho de que la función iMA("AUDUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE ,i+Delta) devuelve 0 al principio del historial. Y te han "echado" con el error 4013 (ERR_ZERO_DIVIDE) al intentar dividir por 0, comprueba el registro.
Puede añadir una comprobación más en el bucle FOR.
Y todo estará bien. A continuación, mi variante.
#property indicator_color1 Blanco
¿Es posible cambiar este parámetro mediante programación en el módulo start()?
¿Es posible cambiar el color de la memoria intermedia a medida que avanza el programa?
#property indicator_color1 Blanco
¿Es posible cambiar este parámetro mediante programación en el módulo start()?
¿Es posible cambiar el color de la memoria intermedia a medida que avanza el programa?
No lo creo. ¿Y por qué debería ser así?