[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 314

 
Hay 6 tipos de escala de tiempo en Metatrader. ¿Existe una función que devuelva el número de escala?
 
silhouette:
Hay 6 tipos de escala de tiempo en Metatrader. ¿Existe una función que devuelva el número de escala?

Period() - ver aquí y aquí
 

Hola! El indicador dibuja flechas cuando las curvas se cruzan, he transferido esta señal a través de iCustom al EA. Pero las posiciones se abren al alza o a la baja.

Dependiendo de la comprobación de la señal: al principio tanto en la compra como en la venta era db/ub == 0 abresólo operaciones largas, después de la señal se convirtió en db!=1 y ub!=0 abre sólo posiciones cortas

Pongo db!=0 y ub!=!0 las operaciones no se abren en absoluto. Honestamente, no sé qué hacer, cavó el indicador, el Asesor de Expertos, pero las razones de "malestar" no puedo encontrar.

Aconsejen, por favor.

// ----- буферы индикатора

double   ArrowDownBuffer[];
double   ArrowUpBuffer[];

//------ получение сигнала в советнике


double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх
 
 
 bool BuySignal=false;
 bool SellSignal=false;
 
//-----------------------------------------------------------------------------------+
//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }
   
 
drknn:

Period() - ver aquí y aquí

No, me refiero a la lupa (+, -) - escala en una escala horizontal.
 
silhouette:

No, me refiero a la lupa (+, -) - escala en una escala horizontal.

No, no en MQL4
 
skyjet:

Hola! El indicador dibuja flechas cuando las curvas se cruzan, he transferido esta señal a través de iCustom al EA. Pero las posiciones se abren al alza o a la baja.

Dependiendo de la comprobación de la señal: al principio tanto en la compra como en la venta era db/ub == 0 abresólo operaciones largas, después de la señal se convirtió en db!=1 y ub!=0 abre sólo posiciones cortas

Pongo db!=0 y ub!=!0 las operaciones no se abren en absoluto. Honestamente, no sé qué hacer, cavó el indicador, el Asesor de Expertos, pero las razones de "malestar" no puedo encontrar.

Por favor, aconséjeme, por favor.


Un control bastante extraño

//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }

¿Si(db!=1)? entonces se trata de una señal corta. ¿Y si en este caso la db contiene cero? Después de todo, la desigualdad se hará realidad y también será una señal?

¿Cómo se puede aconsejar si nadie sabe lo que tiene en su código? Y la parte que has citado - es sólo la inicialización de las variables con valores indicadores. Pues mira, la flecha hacia arriba está dibujada. En idea, el buffer del indicador "flecha arriba" debería contener el precio de la flecha, pero el otro (el buffer "flecha abajo") debería estar vacío en esta vela (por idea). Pero cuál es su realidad, sólo Dios lo sabe...

 
drknn:


Un control bastante extraño

¿(db!=1)? entonces es una señal corta. ¿Y si la base de datos contiene cero? Después de todo, la desigualdad se hará realidad y también será una señal?

¿Cómo se puede aconsejar si nadie sabe lo que tiene en su código? Y la parte que has citado - es sólo la inicialización de las variables con valores indicadores. Pues mira, la flecha hacia arriba está dibujada. En idea, el buffer del indicador "flecha arriba" debería contener el precio de la flecha, pero el otro (el buffer "flecha abajo") debería estar vacío en esta vela (por idea). Pero cuál es su realidad - sólo Dios lo sabe...

Sí, el indicador tiene 2 flechas de precio de las que estoy tratando de obtener una señal. Pero en vano, porque no importa la combinación que intente, o bien sólo se abren posiciones largas o

o sólo posiciones cortas abiertas, o nada en absoluto. El indicador sólo tiene 2 variables externas que son topes de precios de flechas.

No puedo entender cómo es posible abrir operaciones en una dirección pero no en dos.

if( bs==1 && bs!=EMPTY_VALUE )
 {
  BuySignal=true;
 }
if( ss==1 && ss!=EMPTY_VALUE )
 {
  SellSignal=true;
 }
 
double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх

if( ub!=0 && bs!=EMPTY_VALUE ) //стрелка вверх не равна нулю или пустому значению (то есть,она существует)
 {
  BuySignal=true;
 }
if( db!=0 && ss!=EMPTY_VALUE )//стрелка вниз не равна нулю или пустому значению (то есть,она существует)
 {
  SellSignal=true;
 }
¿Has probado esto?
 
granit77:
¿Lo has probado así?

Sí, esta es una de las opciones cuando no se abren operaciones. Tengo una pregunta si el orden en que se introducen los precios de las flechas en los topes de flechas afecta a iCustom. Quiero decir que si el indicador primero

detecta primero un movimiento descendente y luego uno ascendente?

 
skyjet:

Sí, esta es una de las opciones cuando no se abren operaciones. Tengo una pregunta si el orden en que se introducen los precios de las flechas en los topes de flechas afecta a iCustom. Quiero decir que si el indicador primero

detecta un movimiento descendente y luego uno ascendente?

El indicador no detecta ningún movimiento. Sólo pone flechas. Puedes ver su valor en la ventana de datos. Estos valores deben estar en el iCustom. Aquí no hay otros trucos. No entiendo la pregunta sobre la orden.

1. Inserte la línea
Comment(" ub= ", ub," db= ", db); 
2. Ejecutar el indicador en visual paso a paso (Pausa>>F12). Fíjate bien en los valores de los comentarios cuando aparezca la flecha.
3. El indicador puede sobrescribirse, es decir, poner flechas no en la primera barra, sino en las siguientes (hacia atrás). Descártalo entonces.
Razón de la queja: