Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1124

 
Alexey Viktorov:

Ну так вот-же строка

Просто вместо формулы ставьте число и ...

Так и делаю, но возвращает ноль. Эта функция в индикаторе "A_D1", её значение заношу в буфер, после вызываю индикатор из скрипта, вывожу значение на принт

  Lot= iCustom(NULL,0,"A_D1",0,1);
  Print("Lot ",DoubleToStr(Lot,2));

Если функция в индикаторе со строкой 

RiskMony = floor(FreeMargin*risk/100);

то принтит некое число 0.07, но если

RiskMony =1.5;//

то принтит 0.00

 

Всем спасибо и кто помогал и кто с критикой, всем добра.  Добавил в индикатор через CHARTEVENT_CLICK весь скрипт, как функцию. Все получилось, удобство в разы и скорость.


#include <Keys.mqh>
CKeys ckeys;

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- нажатие кнопки на клавиатуре 
   if(id==CHARTEVENT_CLICK)
     {

      if(ckeys.KeyCtrlState())
        {
        Запустить();        
        }

     }

  }



 
macleta:

Так и делаю, но возвращает ноль. Эта функция в индикаторе "A_D1", её значение заношу в буфер, после вызываю индикатор из скрипта, вывожу значение на принт

Если функция в индикаторе со строкой 

то принтит некое число 0.07, но если

то принтит 0.00

Int вроде идет на бинарное округление, обрезание, и не совместим другими типами данных, без потерь.

 
macleta:

Так и делаю, но возвращает ноль. Эта функция в индикаторе "A_D1", её значение заношу в буфер, после вызываю индикатор из скрипта, вывожу значение на принт

Если функция в индикаторе со строкой 

то принтит некое число 0.07, но если

то принтит 0.00

А если не 1.5 поставить, а 15 или 20? Может на слишком длинный ТП хотите очень мало профита получить?
 
такой вопрос если мой советник стоит на графике к примеру фунтбакс и я хочу что бы он видел горизонтальную линию с графика евробакса такая фишка получается ни катит ?
 
Aleksandr Egorov:
такой вопрос если мой советник стоит на графике к примеру фунтбакс и я хочу что бы он видел горизонтальную линию с графика евробакса такая фишка получается ни катит ?

Обратите внимание на первый параметр функции

string  ObjectName( 
   long  chart_id,           // идентификатор графика 
   int   pos,                // номер в списке объектов 
   int   sub_window=-1,      // номер окна 
   int   type=-1             // тип объекта 
   );

он присутствует во всех функциях работы с графическими объектами.

Используя правильный идентификатор без затруднений получаете свойства объекта с любого графика.

Документация по MQL5: Графические объекты / ObjectName
Документация по MQL5: Графические объекты / ObjectName
  • www.mql5.com
Функция использует синхронный вызов – это означает, что функция дожидается выполнения всех команд, которые были помещены в очередь графика перед её вызовом, и поэтому данная функция может быть затратной по времени. Нужно иметь это обстоятельство в виду...
 
ну long это м5 и тд 0 текущий график, а стринг сумбол как? нужно что бы на фунте с графика евро може чето не понимаю
 
Aleksandr Egorov:
ну long это м5 и тд 0 текущий график, а стринг сумбол как? нужно что бы на фунте с графика евро може чето не понимаю

Нет, никаких таймреймов - нужен идентификатор графика: ChartID

ОДин из вариантов: на графике на котором нанесена линия запустить скрипт, который распечатает ChartID, дальше уже можно обращаться к свойству линии из другого графика. Например, если это горизонтальная линия, то через  ObjectGetDouble

 
Vladimir Karputov:

Нет, никаких таймреймов - нужен идентификатор графика: ChartID

ОДин из вариантов: на графике на котором нанесена линия запустить скрипт, который распечатает ChartID, дальше уже можно обращаться к свойству линии из другого графика. Например, если это горизонтальная линия, то через  ObjectGetDoublспасибо

спасибо

 
Aleksandr Egorov:

спасибо

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