Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1247

 
Maxim Kuznetsov:

вы же знаете, что для такого https://www.mql5.com/ru/job

а тут - если сами начали делать, но что-то не вышло или не понятно

Там минималка 30, я готов разобраться, и готов отблагодарить кто предоставит решение.

Извиняюсь, ухожу  https://www.mql5.com/ru/forum/347770/page6#comment_18190964
 

Где находятся методы,  что это такое и как н ми работать???

input ENUM_MA_METHOD Method=MODE_SMA;

Label1Buffer[i] = iMA(NULL,0,SMA1,0,Method,PRICE_CLOSE,i - SMA1/2);

Не могу найти описание этого чуда!

 
neverness:

Где находятся методы,  что это такое и как н ми работать???

input ENUM_MA_METHOD Method=MODE_SMA;

Label1Buffer[i] = iMA(NULL,0,SMA1,0,Method,PRICE_CLOSE,i - SMA1/2);

Не могу найти описание этого чуда!

Поставьте курсор в редакторе на надпись ENUM_MA_METHOD и нажмите F1, и "... О сколько нам открытий чудных Готовят просвещенья дух ..."
 
Artyom Trishkin:
Поставьте курсор в редакторе на надпись ENUM_MA_METHOD и нажмите F1, и "... О сколько нам открытий чудных Готовят просвещенья дух ..."

И че??? Выдает 

how to get help in windows 10

Зачем мне хелп 10-й винды?

Как создать пользовательский МЕТОД в MQL???

 
neverness:

И че??? Выдает 

how to get help in windows 10

Зачем мне хелп 10-й винды?

А перевести это сообщение? Даже без переводчика видно, что вопрос не по справке виндовс10, а "как хотите получить справку в виндовс10 ?"

Выходит, что у вас не настроено чем открывать файлы справки.

Догадываться нет времени.

Но у всех остальных, при нажатии F1 на функцию, перечисление, и т.п. в MetaEditor, открывается справка MQL по той теме, на которой стоит курсор в коде.

 

Здравствуйте @Artyom Trishkin ,

У меня вопрос. Надеюсь, ты мне поможешь.

Я хочу знать, как я могу рассчитать маржу уже открытых позиций.

У меня это: https://www.mql5.com/en/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_double

Где написано примерно так:

SYMBOL_CALC_MODE_FOREX

Режим форекс - расчет прибыли и маржи для форекс

Маржа: Лоты *   Contract_Size   /   Кредитное плечо   *   Margin_Rate

 

Прибыль: (close_price - open_price) * Contract_Size * Лоты


Но я не знаю, какие значения поставить и как получить значения поля, которые отображаются в панели инструментов.

В панели инструментов он отображается для всех валют, но я хочу получить значение для символов отдельно.

Вы можете помочь мне, пожалуйста?

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как правило...
 
jaffer wilson:

Здравствуйте @Artyom Trishkin ,

У меня вопрос. Надеюсь, ты мне поможешь.

Я хочу знать, как я могу рассчитать маржу уже открытых позиций.

У меня это: https://www.mql5.com/en/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_double

Где написано примерно так:

SYMBOL_CALC_MODE_FOREX

Режим форекс - расчет прибыли и маржи для форекс

Маржа: Лоты *   Contract_Size   /   Кредитное плечо   *   Margin_Rate

 

Прибыль: (close_price - open_price) * Contract_Size * Лоты


Но я не знаю, какие значения поставить и как получить значения поля, которые отображаются в панели инструментов.

В панели инструментов он отображается для всех валют, но я хочу получить значение для символов отдельно.

Вы можете помочь мне, пожалуйста?

Передайте в функцию сивол позиции, тип и лот.  Функция вернет маржу.

double  SymbolMargin(string aSymbol, ENUM_ORDER_TYPE aType = ORDER_TYPE_BUY, double aLot = 1.0)
  {

   double margin = 0;

   MqlTick m_tick;
   if(SymbolInfoTick(aSymbol , m_tick))
     {
      if(m_tick.ask != 0.0)
         if(OrderCalcMargin(aType, aSymbol , aLot, m_tick.ask, margin))
            return (margin * aLot);
      if(m_tick.bid != 0.0)
         if(OrderCalcMargin(aType, aSymbol , aLot, m_tick.bid, margin))
            return (margin * aLot);
     }

   return -1;
  }


 
Artyom Trishkin:

А перевести это сообщение? Даже без переводчика видно, что вопрос не по справке виндовс10, а "как хотите получить справку в виндовс10 ?"

Выходит, что у вас не настроено чем открывать файлы справки.

Догадываться нет времени.

Но у всех остальных, при нажатии F1 на функцию, перечисление, и т.п. в MetaEditor, открывается справка MQL по той теме, на которой стоит курсор в коде.

Справку MQL я могу и так открыть, без всяких F1.

И она у меня и без того открыта. Поэтому Ваше "шаловливое детское умничество", цвета детской неожиданности, неуместно.

В справке я не могу найти  ответ на простой вопрос:

Как создать пользовательский МЕТОД в MQL???

Или это в MQL невозможно???

 
neverness:

Справку MQL я могу и так открыть, без всяких F1.

И она у меня и без того открыта. Поэтому Ваше "шаловливое детское умничество", цвета детской неожиданности, неуместно.

В справке я не могу найти  ответ на простой вопрос:

Как создать пользовательский МЕТОД в MQL???

Или это в MQL невозможно???

Подумал, и решил, что сутки на чтение книжек о правилах хорошего тона Вам не помешает. Хамство никогда не красило человека.

Метод - это функция. Методами обычно называют функции класса. Т.е., метод класса - есть ничто иное как обычная функция. Но метод класса принадлежит лишь своему классу, и может быть доступен как извне, так и только внутри самого класса, либо в его наследниках. Доступность метода определяется его спецификатором - в какой области класса объявлен метод, такой доступ и будет применён к методу (public - публичный метод, protected - защищённый, private - приватный, скрытый, virtual - виртуальный).

Но вопрос-то изначальный у вас был по константе ENUM_MA_METHOD, а не по методам.

Правильно составленный вопрос - половина ответа (который вы так и не получили - вы ведь предпочитаете хамить).

 
Vladimir Pastushak :

Передайте в функцию сивол позиции, тип и лот.  Функция вернет маржу.



@ Артём Тришкин @ Владимир Пастушак

Не работает в моем случае. Я не прошу новой должности. Я знаю, что он рассчитывает и возвращает маржу для одного типа торговли. Но это бесполезно, если сделка уже открыта, и я хочу знать маржу, потребляемую одной сделкой определенного символа.

Не могли бы вы мне помочь пожалуйста? Если вы не поняли мою ситуацию, дайте мне знать.

Простое объяснение сценария:

Вы видите это поле в ToolBox:

Это маржа для символов: AUDJPY, EURUSD и EURTRY.

Я знаю, что могу получить это значение с помощью AccountInfoDouble (ACCOUNT_MARGIN). Но я не могу получить значение конкретного символа. Например, я хочу знать, сколько маржи потребляет EURUSD. Что я не могу выполнить ни одну функцию. Следовательно, я хочу знать, как я могу это вычислить.

Я надеюсь, что этого объяснения достаточно, чтобы обрести смысл.

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