Помощь в кодировании - страница 721

 
Tigra:

Попробуйте прямо сейчас
 
mladen:
Попробуйте сейчас

спасибо тебе Бро=) Теперь все отлично) Младен, ты не можешь помочь мне с одним индикатором? Какие-то ошибки исправили?
 
Tigra:

спасибо тебе Бро=) Теперь все отлично) Младен, ты не можешь помочь мне с одним индикатором? Некоторые ошибки исправлены?
Опубликуйте его и тогда мы сможем проверить
 
mladen:
Опубликуйте его, и тогда мы сможем проверить


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

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

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

Файлы:
GhosTrend.ex4  38 kb
 
Tigra:


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

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

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

Извините, я не могу изменять файлы ex4
 
mladen:
Извините, я не могу изменять файлы ex4
Можете подкинуть еще идейку как декомпилировать mq4?

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

Извините, декомпиляция - это не то, что я люблю (и я не вижу ни одной причины в мире, почему кто-то должен что-то декомпилировать).

И я рад сказать, что любой, кто говорит с момента появления новых билдов metatrader 4, что что-то можно декомпилировать, просто лжет (я видел картинки, "доказывающие", что что-то можно декомпилировать, и придурок даже показывал комментарии к исходному коду на картинке, не зная, что комментарии полностью удаляются любым компилятором в мире - так сколько же он узнал о кодировании, когда использовал декомпилятор на старых билдах, когда он не знает элементарных вещей о создании исполняемого кода любого рода?)

Если вы можете использовать его, используйте его. Если не можете - не используйте. Вы получили его бесплатно. Так в чем же проблема? В изменении? Всегда есть автор чего-либо, которого можно попросить что-то изменить. Но если автор видит, что кто-то хочет откровенно изгадить то, что он/она сделал и сделал доступным для всех, то какого черта ему снова что-то публиковать? Притворяться, что оригинального автора не существует, и играть его роль? Для вещи, которая дается всем бесплатно? Это все равно, что плюнуть кому-то в лицо только потому, что он пожелал вам хорошего дня.

 
mladen:

Извините, декомпиляция - это не то, что я люблю (и я не вижу ни одной причины в мире, почему кто-то должен что-то декомпилировать).

И я рад сказать, что любой, кто говорит с момента появления новых билдов metatrader 4, что что-то можно декомпилировать, просто врет (я видел картинки, "доказывающие", что что-то можно декомпилировать, и дебил даже показывал комментарии к исходникам на картинке, не зная, что комментарии полностью удаляются любым компилятором в мире - так сколько же он узнал о кодировании, когда использовал декомпилятор на старых билдах, когда он не знает элементарных вещей о создании исполняемого кода любого рода?)

Если вы можете использовать это, используйте это. Если вы не можете, то не можете. Вы получили его бесплатно. Так в чем же проблема? В изменении? Всегда есть автор чего-либо, которого можно попросить что-то изменить. Но если автор видит, что кто-то хочет откровенно изгадить то, что он/она сделал и сделал доступным для всех, то какого черта ему снова что-то публиковать? Притворяться, что оригинального автора не существует, и играть его роль? Для вещи, которая дается всем бесплатно? Это все равно, что плюнуть кому-то в лицо только потому, что он пожелал вам хорошего дня.

К сожалению я не знаю кто автор, в данном применеии здесь, индикатор тоже есть здесь в ветке ТМА. из вашего поста я понял что он перестал корректно работать при декомпиляции ( 
Ну в общем я так понимаю если вдруг у меня будет mq4 этого индикатора, вы сможете мне помочь? 
Возможно при искажении перевода я заметил некую агрессию в последних комментариях, или просто подумал =) 
Если вдруг такое было, то в моей просьбе небыло ни какого плохого умысла, просто почитав форум обратил внимание, что вы mladen и mrtools -профессионалы в своей области, по этому и решил обратиться к вам. 

Оставляю оригинал на русском - для передачи случая искажения : К сожалению я не знаю кто автор, по этому обратился сюда, индикатор тоже нашел здесь в ветке о тма. 
Из вашего поста я понял, что при декомлиляции он может уже не правильно работать( Ладно, в общем понимаю, если вдруг у меня будет mq4 этого индикатора, вы мне сможете помочь?

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

Привет ребята, я пытаюсь отредактировать индикатор ema-rsi, который может показывать стрелку вверх или вниз, когда происходит пересечение 4 ema и rsi > или < 50.

Моя проблема в том, что эти стрелки не обновляются для каждого тика после их появления, мне нужно менять таймфрейм, если я хочу проверить, все ли условия все еще хороши для показа стрелки. Подскажите, пожалуйста, в чем проблема? Я выкладываю код.

Спасибо

#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
 

здравствуйте, господин Младен:

не могли бы вы добавить вертикальную линию на этом индикаторе при смене тренда (нулевой крест).

как на этой картинке:

смотрите

Файлы:
Причина обращения: