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
Ayuda con el indicador
Quiero mantenerlo como está, pero rehacerlo a dos buffers
#property indicador_separar_ventana
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
#propiedad indicador_máximo 1.4
#property indicator_level1 0
#propiedad indicador_mínimo -1.2
//------- Parámetros del indicador externo -------------------------------
extern int CCI_Period_0 = 14; // Periodo del CCI para el marco temporal actual
extern int Nivel_0 = 100; // Nivel de CCI para la TF actual
extern int TF_1 = 60; // Número de minutos en la primera franja de tiempo
extern int CCI_Period_1 = 14; // Periodo CCI para la primera TF
extern int Nivel_1 = 100; // Nivel CCI para la primera TF
extern int TF_2 = 240; // Número de minutos del segundo TF
extern int CCI_Period_2 = 14; // Periodo del CCI para la segunda TF
extern int Nivel_2 = 100; // Nivel de CCI para la segunda TF
extern int NumberOfBars = 10000; //Número de barras(0-todas)
//------- Buffer de indicadores ------------------------------------------
doble buf0[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
void init()
{
IndicadorDígitos(1);
SetIndexBuffer(0,buf0);
SetIndexLabel(0, "i-3CCI-h");
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
SetIndexEmptyValue(0,0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización de indicadores personalizada |
//+------------------------------------------------------------------+
void deinit()
{
Comentario(");
}
//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+
void start()
{
doble cci0,cci1,cci2;
int nb1,nb2;
int InicioDeBucle,sh;
if(NumberOfBars==0) LoopBegin=Bars-1;
else LoopBegin=NúmeroDeBarras-1;
LoopBegin=MathMin(Bars-1,LoopBegin);
for(sh=LoopBegin; sh>=0; sh--)
{
nb1=iBarShift(NULL, TF_1, Time[sh], False);
nb2=iBarShift(NULL, TF_2, Time[sh], False);
cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);
cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);
cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);
if(cci0>Nivel_0 && cci1>Nivel_1 && cci2>Nivel_2) buf0[sh]=1;
if(cci0<-Nivel_0 && cci1<-Nivel_1 && cci2<-Nivel_2) buf0[sh]=-1;
}
}
//+------------------------------------------------------------------+
intentándolo yo mismo, sin suerte todavía.
lo intenté de esta manera
#property indicador_separar_ventana
#property indicator_buffers 2
#property indicator_color1 Verde
#property indicator_color2 Rojo
#propiedad indicador_máximo 1.4
#property indicator_level1 0
#propiedad indicador_mínimo -1.2
//------- Parámetros del indicador externo -------------------------------
extern int CCI_Period_0 = 14; // Periodo del CCI para el marco temporal actual
extern int Nivel_0 = 100; // Nivel de CCI para la TF actual
extern int TF_1 = 60; // Número de minutos en la primera franja de tiempo
extern int CCI_Period_1 = 14; // Periodo CCI para la primera TF
extern int Nivel_1 = 100; // Nivel CCI para la primera TF
extern int TF_2 = 240; // Número de minutos del segundo TF
extern int CCI_Period_2 = 14; // Periodo del CCI para la segunda TF
extern int Nivel_2 = 100; // Nivel de CCI para la segunda TF
extern int NumberOfBars = 10000; //Número de barras(0-todas)
//------- Buffer de indicadores ------------------------------------------
doble ExtBuffer1[];
doble ExtBuffer2[];
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
void init()
{
SetIndexBuffer(0,ExtBuffer1);
SetIndexStyle(0,DRAW_HISTOGRAM,0,2);
//----
SetIndexBuffer(1, ExtBuffer2);
SetIndexStyle(1,DRAW_HISTOGRAM,0,2);
}
//+------------------------------------------------------------------+
//| Función de desinicialización de indicadores personalizada |
//+------------------------------------------------------------------+
void deinit()
{
Comentario(");
}
//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+
void start()
{
doble cci0,cci1,cci2;
int nb1,nb2;
int InicioDeBucle,sh;
if(NumberOfBars==0) LoopBegin=Bars-1;
else LoopBegin=NúmeroDeBarras-1;
LoopBegin=MathMin(Bars-1,LoopBegin);
for(sh=LoopBegin; sh>=0; sh--)
for(st=LoopBegin; st<0; st--)
{
nb1=iBarShift(NULL, TF_1, Time[sh], False);
nb2=iBarShift(NULL, TF_2, Time[st], False);
cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);
cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);
cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);
if(cci0>Nivel_0 && cci1>Nivel_1 && cci2>Nivel_2) buf1[sh]=1;
if(cci0<-Nivel_0 && cci1<-Nivel_1 && cci2<-Nivel_2) buf2[st]=-1;
el error es
al final necesitamos dos topes, uno por encima de cero y otro por debajo.
¡¡¡Querido koziabrrr ! !! Has creado tu propio tema. Hay más temas. ¿Y si alguien empieza a buscar un tema? Y hay muchos temas, es difícil de encontrar. Para facilitar el tema por tema. El tema superior es para ayudar a los novatos. Ahí es donde debería ir tu pregunta. ¡¡¡Creado tema borrar, y allí escribir teniendo en cuenta mis comentarios!!! Entonces usted también escribió en este hilo - bueno, esto es megalomanía, opinión exagerada del valor de su persona
Para llamar la atención, hay que explicar la tarea. 1. 1. Qué aspecto tiene el indicador = captura de pantalla. 2. Qué hace el indicador, cuál es su utilidad (se mostrarán puntos de entrada, tendencia, plano, ...). 3) ¿Por qué necesitamos dos topes? ¿Qué es más útil para ello (muestra mejor la tendencia, el plano, los puntos de entrada)? Es entonces cuando todo el mundo se apresurará a refinarlo!!!! .... Será bueno para ellos y para ti. Deberíamos ser amigos, compartir
Aquí hay una repetición. Parece mostrar una tendencia. Pero es una trampa.
En media hora sabremos que deberíamos haber vendido...
Y que es el momento de comprar - es silencioso...
o MAinColor de algún tipo
Aquí hay una repetición. Parece mostrar una tendencia. Pero es una trampa.
Sabremos en media hora que deberíamos haber vendido...
Y que es el momento de comprar - es silencioso...
Sí, se ve mejor, gracias por el rediseño. Pero sigo sin entender cómo)))
Lo estoy intentando, pero no consigo reunirlo todo. Está bien cuando conoces el tema, pero cuando no lo conoces, cada cosa es un día.
Lo estoy intentando, pero no consigo reunirlo todo. Está bien cuando conoces el tema, pero cuando no lo conoces, cada cosa es un día.
... Y cada día es una experiencia inestimable que sólo se consigue con el propio trabajo, no con una decisión en un foro.
¡Esto es Sí!
¡¡¡¡STARIJ: Gracias por su ayuda!!!!
Se ha resuelto el problema)))
Hola Yuri.
Descripción del indicador: cuando se parte de 3 velas que se mantienen en el mismo nivel o casi en el mismo nivel, envía una alerta al correo electrónico y transmite un sonido. También mostraba el instrumento y el marco temporal en la pantalla hasta que lo cancelé. Mira los archivos adjuntos por favor, hay ejemplos