Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 178

 
tara:

No sé qué dirán los compañeros, pero a mí me parece bien. Dibuja las flechas, pero no los objetos.
A mí me parece lo mismo. Las flechas pueden dibujarse como parte del buffer del indicador, mientras que los objetos se crean mediante ObjectCreate()
 
pu6ka:
A mí me parece lo mismo. Las flechas se pueden dibujar como parte del buffer del indicador, y los objetos se crean mediante ObjectCreate()


No voy a discutir.
 
tara:

No sé qué dirán los compañeros, pero a mí me parece bien. Dibuja flechas, pero no objetos.

Me doy cuenta de que he hecho una pregunta tonta, entonces ¿cómo dibuja el indicador las flechas a través de los topes, y cómo las interpreto como señales de trading?
 

bistreevseh:

Me doy cuenta de que he hecho una pregunta tonta, entonces, ¿cómo dibuja el indicador las flechas a través de los topes y cómo las interpreto como señales de trading?
lo más probable es que cuando no hay señal el valor del buffer del indicador sea EMPTY_VALUE

cómo captar una señal - aquí están las ideas y la aplicación


 
bool Stochastic () {
double Sig_Buy = zoneBUY; 
double Sig_Sell = zoneSELL;
bool Exit_UrBuy = TRUE;
bool Exit_UrSell = TRUE;
double sM0,sM1,sS0, sS1;
bool Bar_BuyCross = FALSE;
bool Bar_SellCross = FALSE;
int bar_b, bar_s;


   sM0  = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,1);
   sM1  = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,2);
   sS0 = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,1);
   sS0 = iStochastic(NULL,timeframe,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,2);


bool CrossBuy = (sS0<Sig_Buy && sM0<Sig_Buy && sM1<sS1 && sM0>=sS0);
bool CrossSell = (sS0>Sig_Sell && sM0>Sig_Sell && sM1>sS1 && sM0<=sS0);

if (UseExitUr) {
if (sM0 >Sig_Buy && sM1 <= Sig_Buy) Exit_UrBuy = TRUE;
else Exit_UrBuy = FALSE;
if (sM0 <Sig_Sell && sM1 >= Sig_Sell) Exit_UrSell = TRUE;
else Exit_UrSell = FALSE;
}

if (CrossBuy) { TimeCrossB =  iOpen( NULL, 0, 1); }

  for (int cnt = 1 ; cnt < Finder ; cnt++) {
bar_b = iBarShift(NULL, 0, TimeCrossB, cnt); 
if (bar_b > 0) Bar_BuyCross = TRUE; 
}

if (Bar_BuyCross && Exit_UrBuy) {
     Li_24 = TRUE;
     TimeCrossB = -1;
 }

if (CrossSell) {TimeCrossS = iOpen( NULL, 0, 1);}

for (int cnm = 1 ; cnm < Finder ; cnm++) {
bar_s = iBarShift(NULL, 0, TimeCrossS, cnm); 
if (bar_s > 0) Bar_SellCross = TRUE; 
}


if (Bar_SellCross && Exit_UrSell) {
    TimeCrossS = -1;
    Li_28 = TRUE;
   }

   return(false);
}

Estimados profesionales, por favor ayúdenme con esta idea. Quiero captar una señal del estocástico cuando salga de la zona de sobrecompra (sobreventa), si sus líneas cruzan estas zonas. También quiero que este cruce no esté más allá de un determinado número de barras - el parámetro Finder. Pero no puedo aplicarlo. Si tienes unos ojos frescos, por favor, mira dónde hay errores.

Nota: Parámetros:

Li_28 = TRUE; и Li_24 = TRUE; 

búho lee como bueno para abrir órdenes

 
dr.Vasgenich:

Mire el código con ojos nuevos y vea dónde están los errores.

Siento no ser un profesional, pero un código de este tamaño sin un solo comentario

1) prolonga el tiempo necesario para analizar y buscar el error;

2) le disuade de analizar y buscar el error.

 

Amigos, entiendo que para muchos esto será trivial y sencillo, pero podrían ayudarme a escribir un EA en el que aparezca señal sonora cuando el histograma MAKD cruce el "0" en H4 y D1. Eso es todo.

Tal vez ya tenía esas preguntas, lo siento en ese caso. Pero necesito mucho el código ...

 
CAYANNE:

Amigos, entiendo que para muchos esto será trivial y sencillo, pero podrían ayudarme a escribir un EA en el que aparezca señal sonora cuando el histograma MAKD cruce el "0" en H4 y D1. Eso es todo.

Quizás ya tenía esas preguntas, lo siento en ese caso. Pero necesito mucho el código ...


Es así.
 

¿Me pueden decir cómo implementar la prohibición de instalar un segundo indicador del mismo tipo en una ventana, si ya hay uno instalado allí?

Me gustaría hacerlo directamente en el código del indicador, pero no sé cómo hacerlo.

Lo único que se me ocurre es la comprobación del indicador en init(), pero init() se llama después de instalar el indicador...

 

¡Por favor, ayuda!

 OrderClose( OrderTicket(), 0.1, NormalizeDouble(Bid,2), 1 );  
      Alert("Маємо помилку ",GetLastError());

¡Error 0 y la orden no se cierra! ¿Qué ocurre?