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

 
BillionerClub:

Как преобразовать положение мыши во время, но без бросания?

Ну хоть какое-то событие должно-же быть. Может перемещение мыши подойдёт?
 
Alexey Viktorov:
Ну хоть какое-то событие должно-же быть. Может перемещение мыши подойдёт?

Нет, просто считывание координат и преобразование во время свечи.

 
Alexey Viktorov:
Ну хоть какое-то событие должно-же быть. Может перемещение мыши подойдёт?

Да спасибо, Вы правы, это же тоже самое. Хотя конечно человек сначала перемешает мышь, а потом уже жмет на горячую клавишу. 

 
Прикольно получилось, оказывается нельзя, использовать функции кастомных событии в скриптах. Теперь придется запускать индикатор и уже через него, запускать работу скрипта. В принципе какая разница если не используется драг анд дроп, а горячие клавиши.
 
BillionerClub:
Прикольно получилось, оказывается нельзя, использовать функции кастомных событии в скриптах. Теперь придется запускать индикатор и уже через него, запускать работу скрипта. В принципе какая разница если не используется драг анд дроп, а горячие клавиши.

Наверное надо было в документации написать более конкретно, что OnChartEvent в скриптах не работает, но такая строка в документации есть

Функция может вызываться в экспертах и индикаторах, должна иметь тип void и 4 параметра:

И кастомные события тут не при делах.

 
BillionerClub:

Как преобразовать, положение мыши, во время, но без бросания?

Одни пишут вовсе без знаков препинания, другие тыкают куда ни попадя... Думают, что раз они вопрос задают, то все просто обязаны знать о чём идёт речь...

Вы в школе учились? Трудно было? Думаете здесь Вам будет легко? Может быть, лучше обратно в школу?

 
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? Может на слишком длинный ТП хотите очень мало профита получить?
Причина обращения: