[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 335

 
Ctmcn:


В исходнике "простого эксперта" такой такой функции нет. Где ее прописать, в таком случае, в моем варианте - моих знаний не хватает:

P.S. Есть только в блоке открытия ордеров (8).

У Вас здесь ошибка, получаете 4 раза одно и тоже.

   double b4plusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double nowplusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double b4minusdi=iCustom(NULL,0,"ADX Crossing",A,B);
   double nowminusdi=iCustom(NULL,0,"ADX Crossing",A,B);
 

Подскажите пожалуйста, есть функция рисования лейбла:

void RightText(int tWindow, string tName, string tText, int tCorner, int tX, int tY, int tFontsize, color tColor)
{
ObjectCreate ("tName",OBJ_LABEL, 0,0,0);              // Создание объекта
ObjectSetText("tName",tText);
ObjectSet    ("tName",OBJPROP_CORNER, tCorner);       // Привязка к углу
ObjectSet    ("tName",OBJPROP_XDISTANCE, tX);         // Отступ по горизонтали 
ObjectSet    ("tName",OBJPROP_YDISTANCE, tY);         // Отступ по вертикали
ObjectSet    ("tName",OBJPROP_COLOR,tColor);          // Цвет обьекта
ObjectSet    ("tName",OBJPROP_BACK, true);            // Background 
ObjectSet    ("tName",OBJPROP_FONTSIZE, tFontsize);   // Fontsize
}         

При вызове функции два раза подряд (хочу нарисовать две надписи в разных местах), остается только последняя:

RightText(0,"righttest1","надпись1", 1, 50, 25, 24, Red); 
RightText(0,"righttest2","надпись2, 2, 50, 25, 24, Red); 

 
Pyro:

Подскажите пожалуйста, есть функция рисования лейбла:

При вызове функции два раза подряд (хочу нарисовать две надписи в разных местах), остается только последняя:

ObjectCreate ("tName",OBJ_LABEL, 0,0,0);              // Создание объекта

Создаете объект с именем "tName", а вам надо с именем, который передается в переменной tName

 
Функция получает значение (имя) переменной tName при вызове. В данном случае tName принимает имена
righttest1
righttest2
 
Pyro:
Функция получает значение (имя) переменной tName при вызове. В данном случае tName принимает имена
н согласитесь, что имена переменных в кавычки "tName" не берутся :))))
 
sergeev:
н согласитесь, что имена переменных в кавычки "tName" не берутся :))))

Воистину! Спасибо, помогло!

А можно еще вопрос?

Можно ли считать значение пункта "buy/sell" в установках эксперта? (чтобы программа работала по-разному в зависимости от этой установки).
 
Pyro:

Подскажите пожалуйста, есть функция рисования лейбла:

При вызове функции два раза подряд (хочу нарисовать две надписи в разных местах), остается только последняя:

void RightText(int tWindow, string tName, string tText, int tCorner, int tX, int tY, int tFontsize, color tColor)
{
ObjectCreate (tName,OBJ_LABEL, 0,0,0);              // Создание объекта
ObjectSetText(tName,tText);
ObjectSet    (tName,OBJPROP_CORNER, tCorner);       // Привязка к углу
ObjectSet    (tName,OBJPROP_XDISTANCE, tX);         // Отступ по горизонтали 
ObjectSet    (tName,OBJPROP_YDISTANCE, tY);         // Отступ по вертикали
ObjectSet    (tName,OBJPROP_COLOR,tColor);          // Цвет обьекта
ObjectSet    (tName,OBJPROP_BACK, true);            // Background 
ObjectSet    (tName,OBJPROP_FONTSIZE, tFontsize);   // Fontsize
}         

вот так попробуй и будет все окей
 

todem


Спасибо, разобрался:)

 
346206:

Какая-то ерунда. Не могу присоединить Zig-Zag к графику. Кто-нибудь подскажет в чем проблема?

попробуйте его откомпилировать
 

Столкнулся со следующей проблемой. Написал простенького эксперта. Запускаю его в тестере стратегий. Прогоняю только март 2011 г получаю 21 ордер. Прогоняю его за период с апреля 2010 по март 2011 включительно, получаю только 5 ордеров.

Понимаю, что прогон за больший период времени, должен дать либо больше, либо равно 21 ордер. Но у меня получилось меньше.

Почему такое может происходить? И как эту проблему устранить? Подскажите, плиз.