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

 

Очень нравится этот индикатор, но он немного перерисовывается, нужна помощь в исправлении этого, пожалуйста

Смог использовать этот индикатор для получения этого результата (https://www.forexfactory.com/siglot/199244), торгуя им вручную (довольно напряженно) с моей системой, которой я готов поделиться, как только смогу автоматизировать этот индикатор в системе без его перерисовки.


//+------------------------------------------------------------------+
//|                                                  Entry Point.mq4 |
//|                                                                  |
//|                                                                  |
//| Volatility quality index originaly developed by                  |
//| Thomas Stridsman (August 2002 Active Trader Magazine)            |
//|                                                                  |
//| Price pre-smoothing and filter added by raff1410                 |
//+------------------------------------------------------------------+
#property copyright "mladen"
#property link      "mladenfx@gmail.com"

#property indicator_separate_window
#property indicator_minimum 0.0
#property indicator_maximum 100.0
#property indicator_buffers 5
#property indicator_color1 CLR_NONE
#property indicator_color2 CLR_NONE
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_color5 CLR_NONE

extern int KPeriod = 21;
extern int DPeriod = 12;
extern int Slowing = 3;
extern int method = 0;
extern int price = 0;
extern string WPR = "";
extern int ExtWPRPeriod = 14;
extern double ZoneHighPer = 70.0;
extern double ZoneLowPer = 30.0;
extern bool Modeone = TRUE;
extern bool PlaySoundBuy = FALSE;
extern bool PlaySoundSell = FALSE;
int Grima = 0;
extern string FileSoundBuy = "analyze buy";
extern string FileSoundSell = "analyze sell";
double stasi[];
double Regio[];
double Ray[];
double Dalio[];
double Mekno[];
int Tekno = 0;
int Dupon = 0;
int Travel = 0;
int DTra = 0;
int AsTra = 0;
int xTra = 0;

int init() {

   IndicatorBuffers(5);
   SetIndexStyle(0, DRAW_LINE, EMPTY, 0);
   SetIndexBuffer(0, stasi);
   SetIndexStyle(1, DRAW_LINE, EMPTY, 0);
   SetIndexBuffer(1, Regio);
   SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, 5);
   SetIndexArrow(2, 244);
   SetIndexBuffer(2, Ray);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, 5);
   SetIndexBuffer(3, Dalio);
   SetIndexArrow(3, 244);
   SetIndexStyle(4, DRAW_LINE, EMPTY, 0);
   SetIndexBuffer(4, Mekno);
   Tekno = KPeriod + Slowing;
   Dupon = Tekno + DPeriod;
   SetIndexDrawBegin(0, Tekno);
   SetIndexDrawBegin(1, Dupon);
   SetIndexDrawBegin(4, ExtWPRPeriod);
   SetIndexEmptyValue(2, 0);
   SetIndexEmptyValue(3, 0);
   return (0);
}

int start() {
   double priceField;
   double highCal;
   double lowCal;
   double moov;
   double morz;
   double ore;
   double larzo;
   int shaft;
   int indiCount = IndicatorCounted();
   if (Bars <= Dupon) return (0);
   if (indiCount < 1) {
      for (int iterat0 = 1; iterat0 <= Tekno; iterat0++) stasi[Bars - iterat0] = 0;
      for (iterat0 = 1; iterat0 <= Dupon; iterat0++) Regio[Bars - iterat0] = 0;
   }
   if (indiCount > 0) indiCount--;
   int iterat1 = Bars - indiCount;
   for (iterat0 = 0; iterat0 < iterat1; iterat0++) {
      stasi[iterat0] = iStochastic(NULL, 0, KPeriod, DPeriod, Slowing, method, priceField, MODE_MAIN, iterat0);
      Regio[iterat0] = iStochastic(NULL, 0, 21, DPeriod, Slowing, method, priceField, MODE_SIGNAL, iterat0);
   }
   iterat0 = Bars - ExtWPRPeriod - 1;
   if (indiCount > ExtWPRPeriod) iterat0 = Bars - indiCount - 1;
   while (iterat0 >= 0) {
      highCal = High[iHighest(NULL, 0, MODE_HIGH, ExtWPRPeriod, iterat0)];
      lowCal = Low[iLowest(NULL, 0, MODE_LOW, ExtWPRPeriod, iterat0)];
      if (!Bhat(highCal - lowCal, 0.0)) Mekno[iterat0] = (highCal - Close[iterat0]) / (-0.01) / (highCal - lowCal) + 100.0;
      iterat0--;
   }
   if (indiCount > 0) indiCount--;
   iterat1 = Bars - indiCount;
   for (iterat0 = iterat1 - 1; iterat0 >= 0; iterat0--) {
      moov = Regio[iterat0];
      morz = Regio[iterat0 + 1];
      ore = stasi[iterat0];
      larzo = stasi[iterat0 + 1];
      if (ore > moov && larzo < morz && larzo < ZoneLowPer && morz < ZoneLowPer) {
         Ray[iterat0] = 100;
         shaft = iBarShift(NULL, 0, DTra);
         if (Modeone && shaft != iterat0 && xTra == 1) Ray[shaft] = 0;
         DTra = Time[iterat0];
         xTra = 1;
      } else Ray[iterat0] = 0;
      if (ore < moov && larzo > morz && larzo > ZoneHighPer && morz > ZoneHighPer) {
         Dalio[iterat0] = 100;
         shaft = iBarShift(NULL, 0, AsTra);
         if (Modeone && shaft != iterat0 && xTra == -1) Dalio[shaft] = 0;
         AsTra = Time[iterat0];
         xTra = -1;
      } else Dalio[iterat0] = 0;
   }
   if (PlaySoundBuy && Ray[Grima] > 0.0) {
      if (Travel != Time[Grima]) PlaySound(FileSoundBuy);
      Travel = Time[Grima];
   }
   if (PlaySoundSell && Dalio[Grima] > 0.0) {
      if (Travel != Time[Grima]) PlaySound(FileSoundSell);
      Travel = Time[Grima];
   }
   return (0);
}

bool Bhat(double Atat0, double Atat1) {
   bool Modenine = NormalizeDouble(Atat0 - Atat1, 8) == 0.0;
   return (Modenine);
}
 
Mayowa Daniel Sonaike:


Не публикуйте двойные/тройные/четверные сообщения!

Я удалил ваши дублирующие сообщения.

 

Здравствуйте. Может ли кто-нибудь помочь мне выставить ордера на покупку и продажу, когда на графике появляются стрелки? Я использую стрелки из индикатора WADDAH atr explosion. Любая помощь была бы очень кстати. Спасибо

<файл ex4 удален>

 
Здравствуйте, не могли бы вы помочь мне. как я могу добавить дизайн на мой шаблон графика и показать это, как на картинке, прикрепленной, и как я могу добавить порог, как остановить торговлю, когда определенная сумма достигнута или баланс счета достигнут до x суммы.
Файлы:
Capture.JPG  128 kb
 
Eustorgio Trentino:
Здравствуйте, не могли бы вы мне помочь. как я могу добавить дизайн на мой шаблон графика и показать это как на прикрепленном изображении, и как я могу добавить порог, как остановить торговлю, когда определенная сумма достигнута или баланс счета достигнут x суммы.

Не делайте двойные/тройные посты!!!

Я удалил ваши дубликаты.

 
Ребята, нужна помощь, можно ли сделать бэктест предыдущего года, например, с января 2020 по декабрь 2020? Потому что я использую MT4, и когда я делаю бэктест предыдущего года, он не работает.
 
Eustorgio Trentino:
Ребята, нужна помощь, можно ли сделать бэктест предыдущего года, например с января 2020 по декабрь 2020? Потому что я использую MT4 и когда я делаю бэктест предыдущего года, он не работает.

Если у вас достаточно исторических данных для символа, то, конечно, можно.

 
Привет , Привет всем как дела ... Надеюсь у вас хорошее здоровье в эти трудные времена

Есть возможность добавить опцию JMA Jurik moving average?

Я благодарю хороший программист с добрым сердцем может помочь мне, не прося вознаграждения в ответ ... Я благодарю вас заранее , ... приветствую всех ... Спасибо

... приветствия
Файлы:
 
Спасибо всем за эти примеры.
 
хорошо