Aide au codage - page 721

 
Tigra:

Essayez-le maintenant
 
mladen:
Essayez-le maintenant

merci Bro=) Maintenant tout va bien) Mladen, vous ne pouvez pas m'aider avec un indicateur ? Quelques erreurs corrigées ?
 
Tigra:

merci Bro=) Maintenant tout va bien) Mladen, vous ne pouvez pas m'aider avec un indicateur ? Quelques erreurs corrigées ?
Postez-le et nous pourrons vérifier
 
mladen:
Poste-le et nous pourrons vérifier


Dans cet indicateur, il ya quelques problèmes lors de l'utilisation des citations à 4 chiffres. Mais il n'est pas critique, le problème est l'échelle à 4 chiffres au niveau de 100, a essayé de montrer les images, en regardant au bon moment est très fatiguant pour vos yeux (après quelques jours, si comme un fil à changer l'échelle au niveau de 40 - il serait mieux d'être vu histogrammes et coin droit du texte qui indiquerait la valeur actuelle ?

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

Il n'y a aucune raison pour que l'on ne se mette pas d'accord sur le fait qu'il n'y ait pas d'échange d'informations. Но это не критично, самая проблемы это масштабирование на 4 значном до уровня 100, постарался показать на картинках, разглядывать нужный момент весьма напрягает глаза( после нескольких дней, можно ли как нить поменять масштаб доуровня 40 - что бы лучше было видно гистограммы и в правом углу текстом что бы обозначалось текущее значение ? Il n'y a aucune raison de ne pas le faire. Il n'y a aucune raison de ne pas le faire.

Dossiers :
GhosTrend.ex4  38 kb
 
Tigra:


Dans cet indicateur, il ya quelques problèmes lors de l'utilisation des citations à 4 chiffres. Mais il n'est pas critique, le problème est l'échelle à 4 chiffres au niveau de 100, a essayé de montrer les images, en regardant au bon moment est très fatiguant pour vos yeux (après quelques jours, si comme un fil à changer l'échelle au niveau de 40 - il serait mieux d'être vu histogrammes et coin droit du texte qui indiquerait la valeur actuelle ?

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

Il n'y a aucune raison pour que l'on ne se mette pas d'accord sur le fait qu'il n'y ait pas d'échange d'informations. Но это не критично, самая проблемы это масштабирование на 4 значном до уровня 100, постарался показать на картинках, разглядывать нужный момент весьма напрягает глаза( после нескольких дней, можно ли как нить поменять масштаб доуровня 40 - что бы лучше было видно гистограммы и в правом углу текстом что бы обозначалось текущее значение ? Il n'y a aucune raison de ne pas le faire. Il n'y a aucune raison de ne pas le faire.

Désolé, je ne peux pas modifier les fichiers ex4
 
mladen:
Désolé, je ne peux pas modifier les fichiers ex4
Pouvez-vous nous en dire plus sur la façon de décompiler le MQ4 ?

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

Désolé, la décompilation n'est pas quelque chose dont je suis fan (et je ne vois aucune raison au monde pour laquelle quelqu'un devrait décompiler quoi que ce soit)

Et je suis heureux de dire que toute personne qui dit, depuis l'apparition des nouvelles versions de Metatrader 4, que quelque chose peut être décompilé, est tout simplement un menteur (j'ai vu des images "prouvant" que quelque chose peut être décompilé et le crétin a même montré les commentaires de la source originale à l'image sans savoir que les commentaires sont complètement supprimés par n'importe quel compilateur du monde - alors, combien a-t-il appris sur le codage quand il utilisait le décompilateur sur les anciennes versions alors qu'il ne sait pas les choses de base sur la production d'un code exécutable de toute sorte ?)

Si vous pouvez l'utiliser, utilisez-le. Si vous ne pouvez pas, vous ne pouvez pas. Vous l'avez eu gratuitement. Alors, quel est le problème ? Le modifier ? Il y a toujours l'auteur de quelque chose à qui on peut demander de changer quelque chose. Mais si l'auteur voit que quelqu'un veut carrément massacrer ce qu'il a fait et mis à la disposition de tous, alors pourquoi diable posterait-il encore quelque chose ? En prétendant qu'il n'y a pas d'auteur original et en jouant le rôle de celui-ci ? Pour une chose qui est donnée à tous gratuitement ? C'est comme cracher au visage de quelqu'un juste parce qu'il vous a souhaité une bonne journée.

 
mladen:

Désolé, la décompilation n'est pas quelque chose dont je suis fan (et je ne vois aucune raison au monde pour laquelle on devrait décompiler quoi que ce soit).

Et je suis heureux de dire que toute personne qui dit depuis l'apparition des nouvelles builds de metatrader 4 que quelque chose peut être décompilé est tout simplement un menteur (j'ai vu des images "prouvant" que quelque chose peut être décompilé et le crétin a même montré les commentaires de la source originale à l'image sans savoir que les commentaires sont complètement supprimés par n'importe quel compilateur du monde - alors, combien a-t-il appris sur le codage quand il utilisait le décompilateur sur les anciennes builds alors qu'il ne sait pas les choses de base sur la production d'un code exécutable de toute sorte ?)

Si vous pouvez l'utiliser, utilisez-le. Si vous ne pouvez pas, vous ne pouvez pas. Vous l'avez obtenu gratuitement. Alors, quel est le problème ? Le modifier ? Il y a toujours l'auteur de quelque chose à qui on peut demander de changer quelque chose. Mais si l'auteur voit que quelqu'un veut carrément massacrer ce qu'il a fait et mis à la disposition de tous, alors pourquoi diable posterait-il encore quelque chose ? En prétendant qu'il n'y a pas d'auteur original et en jouant le rôle de celui-ci ? Pour une chose qui est donnée à tous gratuitement ? C'est comme cracher au visage de quelqu'un juste parce qu'il vous a souhaité une bonne journée.

Malheureusement je ne sais pas qui est l'auteur, dans ce appliqué ici, l'indicateur se trouve aussi ici dans une branche de la TMA. à partir de votre post j'ai compris qu'il ne pouvait plus fonctionner correctement lors de la décompilation ( 
Eh bien, en général, je comprends si soudainement je vais mq4 de cet indicateur, vous pouvez m'aider ? 
Peut-être quand vous déformez la traduction, j'ai remarqué une certaine agression dans les derniers commentaires, ou tout simplement pensé =) 
Si tout d'un coup il a été, dans ma demande nebylo ni aucune mauvaise intention, juste en lisant le forum a souligné que vous mladen et mrtools -professionnellement dans leur domaine, ce et a décidé de vous contacter. 

Je laisse l'original en russe - pour transférer le cas de déformation : К сожалению я не знаю кто автор, по этому обратился сюда, индикатор тоже нашел здесь в ветке о тма. 
из вашего поста понял что при декомрации он може не правильно работать( Ладно, в общем понимаю, если вдруг меня будет mq4 этого индикатора, вы мне сможете помочь ?

Il n'y a aucune raison de ne pas le faire. Il n'y a aucune raison de ne pas le faire. Il n'y a aucune raison de ne pas le faire, то в моей прось небыло какого умысла плохого, просто читая форум обратил внимание что Вы и mrtools -профессионалы в своей области, по этомуи решил обратиться Вам
 

Bonjour, j'essaie d'éditer un indicateur ema-rsi qui peut montrer une flèche vers le haut ou vers le bas lorsque le croisement de 4 ema se produit et que le rsi est > ou < 50.

Mon problème est que ces flèches ne se rafraîchissent pas à chaque tick une fois qu'elles sont apparues, je dois changer de timeframe si je veux vérifier si les conditions sont toujours bonnes pour montrer la flèche. Pouvez-vous me dire où se situe le problème ? J'ai posté le code.

Merci pour votre aide.

#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
 

bonjour mr mladen :

pouvez-vous ajouter une ligne verticale sur cet indicateur lorsque la tendance change (zero cross)

similaire à cette image :

regardez

Dossiers :