Кто-нибудь может, пожалйста, может подсказать? - страница 2

 
Korey писал (а) >>

Обработка тренд-линий с именем:

https://www.mql5.com/ru/code/8087

А как это потом вызвать в советнике?

 
SK. писал (а) >>

Наиболее эффективный вариант - потратить немного времени и чуть глубже разобраться в подробностях mql-программирования.

Посмотрите здесь https://book.mql4.com/ru/samples/icustom

и здесь https://book.mql4.com/ru/samples/shared.

Думаю, что Вам нужно обратить внимание на два момента - понятие буфер и сущность iCustom().

(смотрите на iCustom как на простую функцию - задаёшь ей параметры, она и возвращает значение; а поскольку буферов у неё может быть много, то она возвратит значение того буфера и на том баре, что указано в вызове)

Вы уже знакомы с языком в целом, поэтому, скорее всего, Вам понадобится не более 2 часов.

Если однажды уловить основную идею, то вё остальное будет легко и просто.

Я этим обязательно воспользуюсь!!!  Вы по всей видимости очень добрый человек.

Но постоянно хочется сделать быстрее и увидеть какие будут результаты от идей.

 
liza писал (а) >>

А как это потом вызвать в советнике?

Полу-автоматически: накладывать на линию уровня графический ордер советника. Можно тренироваться в любое время в Тестере Стратегий.

Автоматически - найти несколько рабочих вариантов торговли по сильным уовням, т.е. изобрести алгоритм ТС, и далее - реализовать в советнике.
Кстати GTerminal содержит в себе все п/п которые нужны для автоматизации по этому индиккатору..

 
Korey писал (а) >>

Обработка тренд-линий с именем:

https://www.mql5.com/en/code/mt4/

 
liza писал (а) >>

Теперь правильно

'GTerminal_V5 Graphic orders and indicators'

 
А все-таки кто-то может подсказать как из советника увидеть объект?
 
liza писал (а) >>
А все-таки кто-то может подсказать как из советника увидеть объект?

Даже если вы это и сделаете, это будет работать невероятно медленно, вплоть до того, что невозможно будет тестировать (и тестировать можно будет только в визуальном режиме). Разберитесь с устройством индикатора и либо перенесите его в советник, заодно убрав из него все ненужное, или сделайте буфер для значений линий. Еще потребуется рассчитывать значения линий на последнем баре...

Можно так попробовать: в советнике в цикле перебирать все линии, проверять толщину, и получать значение GetValueByShift(). Может получиться, но только в визуальном режиме будет работать и очень медленно.

 
liza писал (а) >>
А все-таки кто-то может подсказать как из советника увидеть объект?

Вы исходите из того, что это можно просто взять и показать.

Подобно этому некоторые думают, что космонавт управляет кораблём держась за штурвал и выглядывая в окошко иллюминатора..:)

На самом деле это больше похоже на математику, чем на движение.

Чтобы понять как из советника увидеть объект необходимо познакомиться со свойствами объектов, познакомиться со способами получения значений параметров объектов и средствами их изменения. Потом написать самостоятельно небольшую программу для опробования как всё это работает.

После этого можно говорить о понимании методов программирования управления объектами.

Начинать лучше всего со знакомства с материалами, кот. я давал в последнем сообщении.

 
Korey писал (а) >>

Обработка тренд-линий с именем:

https://www.mql5.com/ru/code/8087

А как присвоить их значения переменным к тому же их несколько одинаковых?

Я имела ввиду этот кусок:

for (i=Bars-1;i>=0;i--)
  if (ObjectFind(StringConcatenate("Level_",IndicatorNumber,"_",i))!=-1)
   
  if(ObjectGet(ObjectName(i),OBJPROP_WIDTH)==5)Comment("Нашли линию толщиной 5");

 

Вместо коммента вставляем то что нужно, например

for (i=Bars-1;i>=0;i--)
  if (ObjectFind(StringConcatenate("Level_",IndicatorNumber,"_",i))!=-1)
   
  if(ObjectGet(ObjectName(i),OBJPROP_WIDTH)==5)
  {
  //Comment("Нашли линию толщиной 5");
  if(ObjectGet(ObjectName(i),OBJPROP_WIDTH)==5)
  	{
	double r=ObjectGetValueByShift(ObjectName(i),0);
	  Comment("Нашли линию толщиной 5, цена на нулевом баре=", r);
	}
  }


Более точное значение линии можно взять так:
'Функции ObjectGetValue_ByCurrent .....Delta_ByCurrent .....Delta_ByTimeShift .....Delta_PerBar'