Hilfe bei der Codierung - Seite 721

 
Tigra:

Probieren Sie es jetzt aus
 
mladen:
Probiere es jetzt aus

danke Bro=) Jetzt ist alles in Ordnung) Mladen, kannst du mir nicht mit einem Indikator helfen? Einige Fehler korrigiert?
 
Tigra:

danke Bro=) Jetzt ist alles in Ordnung) Mladen, kannst du mir nicht mit einem Indikator helfen? Einige Fehler korrigiert?
Poste ihn und dann können wir das überprüfen
 
mladen:
Poste es und dann können wir es überprüfen


In diesem Indikator gibt es einige Probleme bei der Verwendung der 4-stelligen Zitate. Aber es ist nicht kritisch, das Problem ist die Skala auf 4 Ziffer auf das Niveau von 100, versucht, die Bilder zu zeigen, Blick auf die richtige Zeit ist sehr anstrengend Ihre Augen (nach ein paar Tagen, ob als ein Thread, um die Skala auf das Niveau von 40 zu ändern - es wäre besser zu sehen, Histogramme und rechte Ecke des Textes, die den aktuellen Wert anzeigen würde?

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

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

Dateien:
GhosTrend.ex4  38 kb
 
Tigra:


In diesem Indikator gibt es einige Probleme bei der Verwendung der 4-stelligen Zitate. Aber es ist nicht kritisch, das Problem ist die Skala auf 4 Ziffer auf das Niveau von 100, versucht, die Bilder zu zeigen, Blick auf die richtige Zeit ist sehr anstrengend Ihre Augen (nach ein paar Tagen, ob als ein Thread, um die Skala auf das Niveau von 40 zu ändern - es wäre besser zu sehen, Histogramme und rechte Ecke des Textes, die den aktuellen Wert anzeigen würde?

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

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

Tut mir leid, ich kann ex4-Dateien nicht ändern
 
mladen:
Tut mir leid, ich kann ex4-Dateien nicht ändern
Können Sie mehr Gedanken wie zu dekompilieren mq4 werfen?

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

Sorry, Dekompilieren ist nichts, wovon ich ein Fan bin (und ich sehe keinen Grund auf der Welt, warum jemand etwas dekompilieren sollte)

Und ich freue mich, sagen zu können, dass jeder, der seit dem Erscheinen der neuen Metatrader 4-Builds behauptet, dass etwas dekompiliert werden kann, einfach lügt (ich habe Bilder gesehen, die "beweisen", dass etwas dekompiliert werden kann, und der Idiot hat sogar die Original-Quellkommentare auf dem Bild gezeigt, ohne zu wissen, dass die Kommentare von jedem Compiler auf der Welt vollständig entfernt werden - wie viel hat er also über das Programmieren gelernt, als er den Decompiler für ältere Builds verwendet hat, wenn er nicht einmal die grundlegenden Dinge über die Erstellung eines ausführbaren Codes weiß).

Wenn Sie es benutzen können, benutzen Sie es. Wenn Sie es nicht können, können Sie es nicht. Sie haben es umsonst bekommen. Was ist also das Problem? Es zu ändern? Es gibt immer einen Autor von etwas, der gebeten werden kann, etwas zu ändern. Aber wenn der Autor sieht, dass jemand das, was er/sie geschaffen und allen zur Verfügung gestellt hat, einfach ausschlachten will, warum zum Teufel sollte er dann noch einmal etwas veröffentlichen? Indem er so tut, als gäbe es keinen ursprünglichen Autor und die Rolle des Autors spielt? Für eine Sache, die allen kostenlos zur Verfügung gestellt wird? Das ist, als würde man jemandem ins Gesicht spucken, nur weil er einem einen schönen Tag gewünscht hat.

 
mladen:

Tut mir leid, ich bin kein Fan des Dekompilierens (und ich sehe keinen Grund auf der Welt, warum jemand etwas dekompilieren sollte).

Und ich freue mich, sagen zu können, dass jeder, der seit dem Erscheinen der neuen Metatrader 4-Builds behauptet, dass etwas dekompiliert werden kann, einfach lügt (ich habe Bilder gesehen, die "beweisen", dass etwas dekompiliert werden kann, und der Idiot hat sogar Original-Quellkommentare auf dem Bild gezeigt, ohne zu wissen, dass die Kommentare von jedem Compiler auf der Welt vollständig entfernt werden - also, wie viel hat er über Codierung gelernt, als er Decompiler auf älteren Builds verwendet hat, wenn er die grundlegenden Dinge über die Herstellung eines ausführbaren Codes jeglicher Art nicht weiß?)

Wenn Sie es verwenden können, verwenden Sie es. Wenn Sie es nicht können, können Sie es nicht. Sie haben es umsonst bekommen. Was ist also das Problem? Es zu ändern? Es gibt immer den Autor von etwas, der gebeten werden kann, etwas zu ändern. Aber wenn der Autor sieht, dass jemand das, was er/sie geschaffen und allen zur Verfügung gestellt hat, einfach ausschlachten will, warum zum Teufel sollte er dann noch einmal etwas veröffentlichen? Indem er so tut, als gäbe es keinen ursprünglichen Autor und die Rolle des Autors spielt? Für eine Sache, die allen kostenlos zur Verfügung gestellt wird? Das ist, als würde man jemandem ins Gesicht spucken, nur weil er einem einen schönen Tag gewünscht hat.

Leider weiß ich nicht, wer der Autor ist, der sich hier beworben hat, der Indikator findet sich auch hier in einem Zweig von TMA. aus Deinem Beitrag habe ich erkannt, dass er bei der Dekompilierung nicht mehr richtig funktionieren konnte ( 
Nun, im Allgemeinen, ich verstehe, wenn plötzlich werde ich mq4 dieses Indikators, können Sie mir helfen? 
Vielleicht, wenn Sie die Übersetzung verzerren bemerkte ich eine gewisse Aggression in den letzten Kommentaren, oder einfach nur gedacht =) 
Wenn ganz plötzlich war es, in meinem Antrag nebylo noch keine böse Absicht, nur durch das Lesen des Forums darauf hingewiesen, dass Sie mladen und mrtools -professionaly in ihrem Bereich, diese und beschlossen, Sie zu kontaktieren. 

Ich lasse das Original auf Russisch - den Fall der Verzerrung zu übertragen : К сожалению я не знаю кто автор, по этому обратился сюда, индикатор тоже нашел здесь в ветке о тма. 
из вашего поста я понял что при декомлиляции он может уже не правильно работать( Ладно, в общем понимаю, если вдруг у меня будет mq4 этого индикатора, вы мне сможете помочь?

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

Hallo Leute, ich versuche, einen ema-rsi-Indikator zu bearbeiten, der einen Pfeil nach oben oder unten zeigen kann, wenn 4 ema Kreuz passiert und rsi ist > oder < 50.

Mein Problem ist, dass theese Pfeile nicht für jeden Tick aktualisieren, sobald sie erschienen, muss ich Timeframe ändern, wenn ich überprüfen möchte, ob Bedingungen noch gut sind, um Pfeil zu zeigen. Können Sie mir sagen, wo ist das Problem? Ich poste den Code.

Ich danke Ihnen

#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
 

Hallo Herr mladen:

könnten Sie diesem Indikator eine vertikale Linie hinzufügen, wenn sich der Trend ändert (Nulldurchgang)

ähnlich diesem Bild:

siehe

Dateien:
Grund der Beschwerde: