Ajuda na codificação - página 721

 
Tigra:

Experimente agora
 
mladen:
Experimente agora

obrigado Bro=) Agora está tudo bem) Mladen, você não pode me ajudar com um indicador? Alguns erros corrigidos?
 
Tigra:

obrigado Bro=) Agora está tudo bem) Mladen, você não pode me ajudar com um indicador? Alguns erros corrigidos?
Afixá-lo e depois podemos verificar
 
mladen:
Afixá-lo e depois podemos verificar


Neste indicador, há alguns problemas ao utilizar as citações de 4 dígitos. Mas não é crítico, o problema é a escala de 4 dígitos para o nível de 100, tentou mostrar as figuras, olhando para o momento certo está muito cansando seus olhos (depois de alguns dias, seja como um fio para mudar a escala para o nível de 40 - seria melhor ser visto histogramas e canto direito do texto que indicariam o valor atual?

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

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

Arquivos anexados:
GhosTrend.ex4  38 kb
 
Tigra:


Neste indicador, há alguns problemas ao utilizar as citações de 4 dígitos. Mas não é crítico, o problema é a escala de 4 dígitos para o nível de 100, tentou mostrar as figuras, olhando para o momento certo está muito cansando seus olhos (depois de alguns dias, seja como um fio para mudar a escala para o nível de 40 - seria melhor ser visto histogramas e canto direito do texto que indicariam o valor atual?

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

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

Desculpe, não posso alterar arquivos ex4
 
mladen:
Desculpe, não posso alterar os arquivos do ex4
Você pode pensar mais sobre a descompilação do mq4?

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

Desculpe, a descompilação não é algo de que eu seja fã (e não vejo nenhuma razão no mundo para que alguém descompile alguma coisa).

E tenho o prazer de dizer que qualquer pessoa que desde as novas construções do metatrader 4 apareceu que algo pode ser descompilado está simplesmente mentindo (já vi fotos "provando" que algo pode ser descompilado e o idiota até mesmo mostrou comentários originais na foto sem saber que os comentários são completamente removidos por qualquer compilador do mundo - então, quanto ele aprendeu sobre codificação quando estava usando o descompilador em construções mais antigas quando ele não sabe as coisas básicas sobre produzir um código executável de qualquer tipo?)

Se você pode usá-lo, use-o. Se você não pode, não pode. Você o tem de graça. Então, qual é o problema? Mudá-lo? Há sempre o autor de algo que pode ser pedido para mudar alguma coisa. Mas, se o autor vê que alguém quer claramente matar o que ele fez e colocou à disposição de todos, então por que diabos ele colocaria qualquer coisa novamente? Fingindo que não há um autor original e desempenhando o papel dele? Por uma coisa que é dada a todos de graça? É como cuspir em um rosto de alguém só porque ele desejou um bom dia

 
mladen:

Desculpe, descompilar não é algo de que eu seja fã (e não vejo nenhuma razão no mundo para que alguém descompile alguma coisa).

E tenho o prazer de dizer que qualquer pessoa que desde as novas construções do metatrader 4 apareceu que algo pode ser descompilado está simplesmente mentindo (já vi fotos "provando" que algo pode ser descompilado e o idiota até mesmo mostrou comentários originais na foto sem saber que os comentários são completamente removidos por qualquer compilador do mundo - então, quanto ele aprendeu sobre codificação quando estava usando o descompilador em construções mais antigas quando ele não sabe as coisas básicas sobre produzir um código executável de qualquer tipo?)

Se você pode usá-lo, use-o. Se você não pode, não pode. Você o tem de graça. Então, qual é o problema? Mudá-lo? Há sempre o autor de algo que pode ser pedido para mudar alguma coisa. Mas, se o autor vê que alguém quer claramente matar o que ele fez e colocou à disposição de todos, então por que diabos ele colocaria qualquer coisa novamente? Fingindo que não há um autor original e desempenhando o papel dele? Por uma coisa que é dada a todos de graça? É como cuspir em um rosto de alguém só porque ele desejou um bom dia

Infelizmente eu não sei quem é o autor, neste aplicado aqui, o indicador também é encontrado aqui em um ramo do TMA. de seu posto eu percebi que ele não podia mais trabalhar corretamente quando descompilado ( 
Bem, em geral, eu entendo que se de repente eu tiver um mq4 deste indicador, você pode me ajudar? 
Talvez quando você distorce a tradução eu notei uma certa agressão nos últimos comentários, ou apenas pensei =) 
Se de repente foi, em meu pedido nebylo nem qualquer má intenção, apenas ao ler o fórum, você indicou que você mladen e mrtools -professionalmente no campo deles, isto e decidiu entrar em contato com você. 

Deixo o original em russo - para transferir o caso de distorção :К сожалению я не знаю кто кто автор, по этому индикатор сюда, о тоже здесь нашел здесь в ветке о обратился. 
из вашего поста я правильно понял что при декомлиляции общем он может уже работать (Ладно, в меня понимаю, если вдруг у будет будет будет mq4 этого индикатора, вы мне сможете помочь?

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

Oi pessoal, estou tentando editar um indicador ema-rsi que pode mostrar uma seta para cima ou para baixo quando 4 ema cross acontece e rsi é > ou < 50.

Meu problema é que essas setas não atualizam para cada tique uma vez que apareceram, preciso mudar o tempo se quiser verificar se as condições ainda estão boas para mostrar a seta. Você pode me dizer onde está o problema? Eu afixo o código.

Obrigado.

#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
 

olá sr. mladen:

você poderia adicionar uma linha vertical neste indicador quando a tendência mudar (zero cross)

semelhante a esta imagem:

respeito

Arquivos anexados: