Ayuda a la codificación - página 721

 
Tigra:

Pruébalo ahora
 
mladen:
Pruebe ahora

gracias Bro=) Ahora todo está bien) Mladen, no me puede ayudar con un indicador? Algunos errores corregidos?
 
Tigra:

gracias Bro=) Ahora todo está bien) Mladen, no me puede ayudar con un indicador? Algunos errores corregidos?
Publicarlo y luego podemos comprobar
 
mladen:
Publícalo y así podremos comprobarlo


En este indicador, hay algunos problemas cuando se utilizan las cotizaciones de 4 dígitos. Pero no es crítico, el problema es la escala a 4 dígitos al nivel de 100, trató de mostrar las imágenes, mirando en el momento adecuado es muy forzar la vista (después de unos días, ya sea como un hilo para cambiar la escala al nivel de 40 - sería mejor ser visto histogramas y esquina derecha del texto que indicaría el valor actual?

Оставлю оригинальный текст на русском, тк возможны искажения при переводе(

У этого индикатора есть некоторые проблемы при использовании 4 значных котировок. Но это не критично, самая проблемы это масштабирование на 4 значном до уровня 100, постарался показать на картинках, разглядывать нужный момент весьма напрягает глаза( после нескольких дней, можно ли как нить поменять масштаб до уровня 40 - что бы лучше было видно гистограммы и в правом углу текстом что бы обозначалось текущее значение? Еще не могу понять почему появляються черные гистограммы поверх при увеличении (

Archivos adjuntos:
GhosTrend.ex4  38 kb
 
Tigra:


En este indicador, hay algunos problemas cuando se utilizan las cotizaciones de 4 dígitos. Pero no es crítico, el problema es la escala a 4 dígitos al nivel de 100, trató de mostrar las imágenes, mirando en el momento adecuado es muy forzar la vista (después de unos días, ya sea como un hilo para cambiar la escala al nivel de 40 - sería mejor ser visto histogramas y esquina derecha del texto que indicaría el valor actual?

Оставлю оригинальный текст на русском, тк возможны искажения при переводе(

У этого индикатора есть некоторые проблемы при использовании 4 значных котировок. Но это не критично, самая проблемы это масштабирование на 4 значном до уровня 100, постарался показать на картинках, разглядывать нужный момент весьма напрягает глаза( после нескольких дней, можно ли как нить поменять масштаб до уровня 40 - что бы лучше было видно гистограммы и в правом углу текстом что бы обозначалось текущее значение? Еще не могу понять почему появляються черные гистограммы поверх при увеличении (

Lo siento, no puedo cambiar los archivos ex4
 
mladen:
Lo siento, no puedo cambiar los archivos ex4
Puedes lanzar más pensamiento como para descompilar mq4?

Можешь подкинуть мысль как еще декомпилировать в mq4?
 
Tigra:

Lo siento, descompilar no es algo de lo que sea fanático (y no veo ninguna razón en el mundo por la que alguien deba descompilar algo)

Y me alegra decir que cualquiera que diga desde que aparecieron las nuevas builds de metatrader 4 que algo puede ser descompilado, simplemente miente (he visto fotos "probando" que algo puede ser descompilado y el imbécil incluso mostraba los comentarios originales de la fuente en la foto sin saber que los comentarios son completamente eliminados por cualquier compilador en el mundo - así que, ¿cuánto aprendió sobre codificación cuando usaba el descompilador en las builds más antiguas cuando no sabe las cosas básicas sobre la producción de un código ejecutable de cualquier tipo?)

Si puedes usarlo úsalo. Si no puedes, no puedes. Lo tienes gratis. Entonces, ¿cuál es el problema? ¿Cambiarlo? Siempre está el autor de algo al que se le puede pedir que cambie algo. Pero si el autor ve que alguien quiere hacer una carnicería de lo que hizo y puso a disposición de todos, entonces ¿por qué demonios volvería a publicar algo? ¿Pretendiendo que no haya un autor original y jugando el papel de éste? ¿Por una cosa que se da a todos gratuitamente? Es como escupir a alguien en la cara sólo porque te deseó un buen día

 
mladen:

Lo siento, descompilar no es algo de lo que sea fanático (y no veo ninguna razón en el mundo por la que alguien deba descompilar algo)

Y me alegra decir que cualquiera que diga desde que aparecieron las nuevas builds de metatrader 4 que algo se puede descompilar, simplemente miente (he visto fotos que "prueban" que algo se puede descompilar y el imbécil incluso mostraba los comentarios de la fuente original en la foto sin saber que los comentarios son eliminados completamente por cualquier compilador en el mundo - así que, ¿cuánto aprendió de codificación cuando usaba el descompilador en builds anteriores cuando no sabe las cosas básicas sobre la producción de un código ejecutable de cualquier tipo?)

Si puedes usarlo úsalo. Si no puedes no puedes. Lo tienes gratis. Entonces, ¿cuál es el problema? ¿Cambiarlo? Siempre está el autor de algo al que se le puede pedir que cambie algo. Pero si el autor ve que alguien quiere hacer una carnicería de lo que hizo y puso a disposición de todos, entonces ¿por qué demonios volvería a publicar algo? ¿Pretendiendo que no haya un autor original y jugando el papel de éste? ¿Para una cosa que se da a todos de forma gratuita? Es como escupir a alguien en la cara sólo porque te deseó un buen día

Por desgracia no sé quién es el autor, en este aplicado aquí, el indicador también se encuentra aquí en una rama de TMA. de su puesto me di cuenta de que ya no podía trabajar correctamente cuando la descompilación ( 
Bueno, en general, entiendo que si de repente me mq4 de este indicador, me puede ayudar? 
Tal vez cuando se distorsiona la traducción me di cuenta de una cierta agresión en los últimos comentarios, o simplemente pensó =) 
Si de repente fue, en mi solicitud nebylo ni ninguna mala intención, simplemente leyendo el foro señaló que mladen y mrtools -profesionalmente en su campo, esto y decidió ponerse en contacto con usted. 

Dejo el original en ruso - para transferir el caso de distorsión : К сожалению я не знаю кто автор, по этому обратился сюда, индикатор тоже нашел здесь в ветке о тма. 
из вашего поста я понял что при декомлиляции он может уже не правильно работать( Ладно, в общем понимаю, если вдруг у меня будет mq4 этого индикатора, вы мне сможете помочь?

Возможно при искажении перевода я заметил некую агрессию в последнем коментарии, или просто показалось =) Если вдруг она была, то в моей просьбе небыло ни какого умысла плохого, просто читая форум обратил внимание что Вы и mrtools -професионалы в своей области, по этому и решил обратиться к Вам
 

Hola chicos estoy tratando de editar un indicador ema-rsi que puede mostrar una flecha hacia arriba o hacia abajo cuando 4 ema cruz ocurre y rsi es > o < 50.

Mi problema es que estas flechas no se actualizan por cada tick una vez que aparecen, tengo que cambiar el marco de tiempo si quiero comprobar si las condiciones siguen siendo buenas para mostrar la flecha. ¿Me pueden decir dónde está el problema? He publicado el código.

Gracias

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red

#property indicator_width1 4
#property indicator_width2 4

double CrossUp[];
double CrossDown[];
extern int FasterEMA1     = 6;
extern int SlowerEMA1     = 12;
extern int FasterEMA2     = 7;
extern int SlowerEMA2     = 14;
extern int RSInowPeriod   = 6;
extern int barsBack       = 2000;
extern bool AlertsMessage = true;
extern bool AlertsSound   = true;
extern bool debug         = false;
extern double K           = 1.0 ;

bool EMACrossedUp = false;
bool RSICrossedUp = false;
bool EMACrossedDown = false;
bool RSICrossedDown = false;
int SignalLabeled = 0; // 0: initial state; 1: up; 2: down.
int upalert=false,downalert=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 241);
   SetIndexBuffer(0, CrossUp);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 242);
   SetIndexBuffer(1, CrossDown);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int limit, i, counter;
   double fasterEMA1now, slowerEMA1now, fasterEMA1previous, slowerEMA1previous, fasterEMA2now, slowerEMA2now, fasterEMA2previous, slowerEMA2previous;
   double RSInow;
   double Range, AvgRange;

   int counted_bars=IndicatorCounted();
//---- check for possible errors
   if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;

   limit=MathMin(Bars-counted_bars,barsBack);
  
   for(i = limit; i>=0; i--) {
      
      counter=i;
      Range=0;
      AvgRange=0;
      for (counter=i ;counter<=i+9;counter++)
      {
        AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
      }
      Range=AvgRange/10;

      fasterEMA1now = iMA(NULL, 0, FasterEMA1, 0, MODE_EMA, PRICE_CLOSE, i);
      fasterEMA1previous = iMA(NULL, 0, FasterEMA1, 0, MODE_EMA, PRICE_CLOSE, i+1);
      
      fasterEMA2now = iMA(NULL, 0, FasterEMA2, 0, MODE_EMA, PRICE_CLOSE, i);
      fasterEMA2previous = iMA(NULL, 0, FasterEMA2, 0, MODE_EMA, PRICE_CLOSE, i+1);
      
      slowerEMA1now = iMA(NULL, 0, SlowerEMA1, 0, MODE_EMA, PRICE_CLOSE, i);
      slowerEMA1previous = iMA(NULL, 0, SlowerEMA1, 0, MODE_EMA, PRICE_CLOSE, i+1);
      
      slowerEMA2now = iMA(NULL, 0, SlowerEMA2, 0, MODE_EMA, PRICE_CLOSE, i);
      slowerEMA2previous = iMA(NULL, 0, SlowerEMA2, 0, MODE_EMA, PRICE_CLOSE, i+1);
      
      RSInow=iRSI(NULL,0,RSInowPeriod,PRICE_CLOSE,i);
      
      if (RSInow > 50) {
         if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" RSI UP ");
         RSICrossedUp = true;
         RSICrossedDown = false;
      }
      
      if (RSInow < 50) {
         if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" RSI DOWN ");
         RSICrossedUp = false;
         RSICrossedDown = true;
      }
      
      if ((fasterEMA1now >= slowerEMA1now) && (fasterEMA1previous < slowerEMA1previous) && (fasterEMA2now >= slowerEMA2now) && (fasterEMA2previous < slowerEMA2previous) ) {
         if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" EMA UP ");
         EMACrossedUp = true;
         EMACrossedDown = false;
      }

      if ((fasterEMA1now <= slowerEMA1now) && (fasterEMA1previous > slowerEMA1previous) && (fasterEMA2now <= slowerEMA2now) && (fasterEMA2previous > slowerEMA2previous)) {
         if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" EMA DOWN ");
         EMACrossedUp = false;
         EMACrossedDown = true;
      }

      if ((EMACrossedUp == true) && (RSICrossedUp == true) && (SignalLabeled != 1)) {
         CrossUp[i] = Low[i] - K*Range;
         if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" SIGNAL UP ");
         if(i<=2 && AlertsMessage && !upalert)
           {
            Alert (Symbol()," ",Period(),"M  BUY SIGNAL ");
            //SendMail("EMA Cross Up on "+Symbol(),"");
            upalert=true;
            downalert=false;
           }          
         if(i<=2 && AlertsSound && !upalert)
           {
            PlaySound("alert.wav");
            upalert=true;
            downalert=false;
           }
         SignalLabeled = 1;
      }

      else if ((EMACrossedDown == true) && (RSICrossedDown == true) && (SignalLabeled != 2)) {
         CrossDown[i] = High[i] + K*Range;
         if (debug)Print(TimeToStr(Time[i],TIME_DATE)+TimeToStr(Time[i],TIME_SECONDS)+" SIGNAL DOWN ");
         if(i<=2 && AlertsMessage && !downalert)
           {
            Alert (Symbol()," ",Period(),"M  SELL SIGNAL ");
            //SendMail("EMA Cross Down on "+Symbol(),"");
            downalert=true;
            upalert=false;
           }
         if(i<=2 && AlertsSound && !downalert)
           {
            PlaySound("alert.wav");
            downalert=true;
            upalert=false;
           }
         SignalLabeled = 2;
      }
   }
   return(0);
}
//end
 

hola señor mladen:

¿podría añadir una línea vertical en este indicador cuando el cambio de tendencia (cruce de cero)

similar esta imagen:

respecto a

Archivos adjuntos:
Razón de la queja: