Помогите скомпилировать

 

Привет, помогите скомпилировать файл. Код полностью готов, но что то не то...


#property copyright "Copyright © M_B_K 2017" 

#property indicator_chart_window 

//--— input parameters 
extern int sidFontSize = 80; 
extern string sidFontName = "Impact"; 
extern string NoteRedGreenBlue = "Red/Green/Blue each 0..255"; 
extern int sidRed = 30; 
extern int sidGreen = 30; 
extern int sidBlue = 30; 
extern int sidXPos = 30; 
extern int sidYPos = 150; 

extern bool tagDisplayText = true; 
extern string tagText = "ReadYourText"; 
extern int tagFontSize = 20; 
extern string tagFontName = "Impact"; 
extern int tagRed = 60; 
extern int tagGreen = 30; 
extern int tagBlue = 60; 
extern int tagXPos = 0; 
extern int tagYPos = 550; 

//--— data 
string SID = "Symbol"; 
int sidRGB = 0; 
string TAG = "Tag"; 
int tagRGB = 0; 
string tf; 

//+------------------------------------------------------------------+ 
//| expert initialization function | 
//+------------------------------------------------------------------+ 
int init() 
{ 
//--— 

switch(Period()) 
{ 
case PERIOD_D1: 
tf="D1"; 
break; 
case PERIOD_H1: 
tf="H1"; 
break; 
case PERIOD_H4: 
tf="H4"; 
break; 
case PERIOD_M1: 
tf="M1"; 
break; 
case PERIOD_M15: 
tf="M15"; 
break; 
case PERIOD_M30: 
tf="M30"; 
break; 
case PERIOD_M5: 
tf="M5"; 
break; 
case PERIOD_MN1: 
tf="MN1"; 
break; 
case PERIOD_W1: 
tf="w1"; 
break; 
default: 
tf="Unknown"; 
break; 
} 

if(tagRed > 255 || tagGreen > 255 || tagBlue > 255 || sidRed > 255 || sidGreen > 255 || sidBlue > 255) 
{ 
Alert("Watermark Red/Green/Blue components must each be in range 0..255"); 
} 

tagRGB = (tagBlue « 16); 
tagRGB |= (tagGreen « 8); 
tagRGB |= tagRed; 

sidRGB = (sidBlue « 16); 
sidRGB |= (sidGreen « 8); 
sidRGB |= sidRed; 

//--— 
return(0); 
} 

//+------------------------------------------------------------------+ 
//| expert deinitialization function | 
//+------------------------------------------------------------------+ 
int deinit() 
{ 
//--— 

ObjectDelete(SID); 
ObjectDelete(TAG); 

//--— 
return(0); 
} 

//+------------------------------------------------------------------+ 
//| expert start function | 
//+------------------------------------------------------------------+ 
int start() 
{ 
double chartHi, chartLo; 
double range; 
static double prevRange; 

chartHi = WindowPriceMax(0); 
chartLo = WindowPriceMin(0); 
range = chartHi - chartLo; 

// need only draw the watermark if the chart range has changed 
if(prevRange != range) 
{ 
deinit(); 
prevRange = range; 

watermark(SID, tf + " " + Symbol(), sidFontSize, sidFontName, sidRGB, sidXPos, sidYPos); 
if(tagDisplayText && StringLen(tagText) > 0) 
{ 
watermark(TAG, tagText, tagFontSize, tagFontName, tagRGB, tagXPos, tagYPos); 
} 
} 
return(0); 
} 

void watermark(string obj, string text, int fontSize, string fontName, color colour, int xPos, int yPos) 
{ 
ObjectCreate(obj, OBJ_LABEL, 0, 0, 0); 
ObjectSetText(obj, text, fontSize, fontName, colour); 
ObjectSet(obj, OBJPROP_CORNER, 0); 
ObjectSet(obj, OBJPROP_XDISTANCE, xPos); 
ObjectSet(obj, OBJPROP_YDISTANCE, yPos); 
ObjectSet(obj, OBJPROP_BACK, true); 
}
 
dkd1193:   Привет, помогите скомпилировать файл. Код полностью готов, но что то не то..

обработайте код стилизатором и замените знак «  (Компилятор спрашивает: где Вы его взяли?) на знак сдвига <<    Код стал правильнее

 
STARIJ:

обработайте код стилизатором и замените знак «  (Компилятор спрашивает: где Вы его взяли?) на знак сдвига <<    Код стал правильнее


Сделал всё, как Вы написали, но всё равно выдаёт ошибки.

p.s. этот код для МТ4, а нужен для МТ5. Я в этом совсем не разбираюсь, возможно нужно что то изменить в самом коде.. поэтому обратился сюда с просьбой о помощи. Если Вас не затруднит, помогите пожалуйста с этим, буду премного благодарен =)

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © M_B_K 2017" 

#property indicator_chart_window 

//--— input parameters 
extern int sidFontSize=80;
extern string sidFontName="Impact";
extern string NoteRedGreenBlue="Red/Green/Blue each 0..255";
extern int sidRed=30;
extern int sidGreen= 30;
extern int sidBlue = 30;
extern int sidXPos = 30;
extern int sidYPos = 150;

extern bool tagDisplayText=true;
extern string tagText="ReadYourText";
extern int tagFontSize=20;
extern string tagFontName="Impact";
extern int tagRed=60;
extern int tagGreen= 30;
extern int tagBlue = 60;
extern int tagXPos = 0;
extern int tagYPos = 550;

//--— data 
string SID = "Symbol";
int sidRGB = 0;
string TAG = "Tag";
int tagRGB = 0;
string tf;
//+------------------------------------------------------------------+ 
//| expert initialization function | 
//+------------------------------------------------------------------+ 
int init()
  {
//--— 

   switch(Period())
     {
      case PERIOD_D1:
         tf="D1";
         break;
      case PERIOD_H1:
         tf="H1";
         break;
      case PERIOD_H4:
         tf="H4";
         break;
      case PERIOD_M1:
         tf="M1";
         break;
      case PERIOD_M15:
         tf="M15";
         break;
      case PERIOD_M30:
         tf="M30";
         break;
      case PERIOD_M5:
         tf="M5";
         break;
      case PERIOD_MN1:
         tf="MN1";
         break;
      case PERIOD_W1:
         tf="w1";
         break;
      default:
         tf="Unknown";
         break;
     }

   if(tagRed>255 || tagGreen>255 || tagBlue>255 || sidRed>255 || sidGreen>255 || sidBlue>255)
     {
      Alert("Watermark Red/Green/Blue components must each be in range 0..255");
     }

   tagRGB=(tagBlue<<16);
   tagRGB |= (tagGreen << 8);
   tagRGB |= tagRed;

   sidRGB=(sidBlue<<16);
   sidRGB |= (sidGreen << 8);
   sidRGB |= sidRed;

//--— 
   return(0);
  }
//+------------------------------------------------------------------+ 
//| expert deinitialization function | 
//+------------------------------------------------------------------+ 
int deinit()
  {
//--— 

   ObjectDelete(SID);
   ObjectDelete(TAG);

//--— 
   return(0);
  }
//+------------------------------------------------------------------+ 
//| expert start function | 
//+------------------------------------------------------------------+ 
int start()
  {
   double chartHi,chartLo;
   double range;
   static double prevRange;

   chartHi = WindowPriceMax(0);
   chartLo = WindowPriceMin(0);
   range=chartHi-chartLo;

// need only draw the watermark if the chart range has changed 
   if(prevRange!=range)
     {
      deinit();
      prevRange=range;

      watermark(SID,tf+" "+Symbol(),sidFontSize,sidFontName,sidRGB,sidXPos,sidYPos);
      if(tagDisplayText && StringLen(tagText)>0)
        {
         watermark(TAG,tagText,tagFontSize,tagFontName,tagRGB,tagXPos,tagYPos);
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void watermark(string obj,string text,int fontSize,string fontName,color colour,int xPos,int yPos)
  {
   ObjectCreate(obj,OBJ_LABEL,0,0,0);
   ObjectSetText(obj,text,fontSize,fontName,colour);
   ObjectSet(obj,OBJPROP_CORNER,0);
   ObjectSet(obj,OBJPROP_XDISTANCE,xPos);
   ObjectSet(obj,OBJPROP_YDISTANCE,yPos);
   ObjectSet(obj,OBJPROP_BACK,true);
  }
//+------------------------------------------------------------------+
 
dkd1193:

Сделал всё, как Вы написали, но всё равно выдаёт ошибки.

p.s. этот код для МТ4, а нужен для МТ5. Я в этом совсем не разбираюсь, возможно нужно что то изменить в самом коде.. поэтому обратился сюда с просьбой о помощи. Если Вас не затруднит, помогите пожалуйста с этим, буду премного благодарен =)

Какие именно ошибки выдает? У меня всё компилируется.
 
Mihail Matkovskij:
Какие именно ошибки выдает? У меня всё компилируется.

такие. 
Не могли бы Вы пожалуйста сам код скинуть или файл.. Если хотите, можете там свои данные оставить (пиар =) )

Файлы:
Image_12.png  24 kb
 
dkd1193:

такие. 
Не могли бы Вы пожалуйста сам код скинуть или файл.. Если хотите, можете там свои данные оставить (пиар =) )


Вы компилируете индикатор по МТ5. А написан код для МТ4. Измените расширение файла на mq4 и скомпилируйте под МТ4. Для работы в МТ5 тут многое придется изменить.

 
Ihor Herasko:
Ihor Herasko:

Вы компилируете индикатор по МТ5. А написан код для МТ4. Измените расширение файла на mq4 и скомпилируйте под МТ4. Для работы в МТ5 тут многое придется изменить.


ну так я же изначально просил, что бы на МТ5 перезаписать его.. На МТ4 у меня всё есть.
 
dkd1193:   ну так я же изначально просил, что бы на МТ5 перезаписать его.. На МТ4 у меня всё есть.

Там написано - нужна функция OnCalculate.  Замените start на это имя, прочитайте про нее по ссылке - там параметры нужны

 
STARIJ:

Там написано - нужна функция OnCalculate.  Замените start на это имя, прочитайте про нее по ссылке - там параметры нужны


Спасибо, я прочел, поставил вместо "int start()" - "int OnStart()"; и еще множество вариаций перепробовал... (почему текст изменил цвет? О_о)

я ноль в программных кодах, поэтому обратился с помощью сюда, что мне помогу преобразовать код из МТ4 в код МТ5. что бы просто взять, скопировать-вставить, поблагодарить от всей души человека, который помог в этом и начать пользоваться этим индикатором..... 

 
dkd1193:  Спасибо, я прочел, поставил вместо "int start()" - "int OnStart()"; и еще множество вариаций перепробовал... (почему текст изменил цвет? О_о)

я ноль в программных кодах, поэтому обратился с помощью сюда, что мне помогу преобразовать код из МТ4 в код МТ5. что бы просто взять, скопировать-вставить, поблагодарить от всей души человека, который помог в этом и начать пользоваться этим индикатором..... 

расскажите, какая польза от индикатора. Смотрел в МТ4 - мало впечатлил. Как он увеличивает профит или хоть настроение? все бросятся Вам помогать

 
STARIJ:

расскажите, какая польза от индикатора. Смотрел в МТ4 - мало впечатлил. Как он увеличивает профит или хоть настроение? все бросятся Вам помогать


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

Причина обращения: