Ошибки, баги, вопросы - страница 3153

[Удален]  

Хочу сделать раскрывающийся список валютных пар и инструментов (свои пары) в окне настроек входных параметров советника. Как это можно сделать?

Второй вопрос: как корректнее будет запись...

Так:

double stop = SymbolInfoDouble(_Symbol, SYMBOL_ASK) - NormalizeDouble(100*_Point, _Digits);

или так:

double stop = NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_ASK) - 100*_Point, _Digits);

???

Третий вопрос. Можно ли нормализовывать цены 2-3 раза подряд? Не скажется на работе?

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

 
Wizard #:

Хочу сделать раскрывающийся список валютных пар и инструментов (свои пары) в окне настроек входных параметров советника. Как это можно сделать?

Второй вопрос: как корректнее будет запись...

Так:

или так:

???

Третий вопрос. Можно ли нормализовывать цены 2-3 раза подряд? Не скажется на работе?

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

Эту конструкцию NormalizeDouble нужно по возможности избегать, она тяжёлая для обработки.

[Удален]  
Vitaly Muzichenko #:

Эту конструкцию NormalizeDouble нужно по возможности избегать, она тяжёлая для обработки.

Понял. А если я не хочу использовать функцию NormalizePrice класса CSymbolInfo (стараюсь избегать библиотек, если можно), есть альтернатива?

Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
  • www.mql5.com
CSymbolInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Wizard #:

Понял. А если я не хочу использовать функцию NormalizePrice класса CSymbolInfo (стараюсь избегать библиотек, если можно), есть альтернатива?

Применяйте её только по надобности, а не каждом чихе.

 
Wizard #:

Хочу сделать раскрывающийся список валютных пар и инструментов (свои пары) в окне настроек входных параметров советника. Как это можно сделать?

//+------------------------------------------------------------------+
//|                                                    InputList.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

//------------------------------------
enum ENUM_SYMBOL 
{
   EURUSD, 
   GBPUSD, 
   JPYUSD
};

//------------------------------------
input ENUM_SYMBOL EnumSymbol = EURUSD;  //Выбери символ

//------------------------------------
void OpenChart(ENUM_SYMBOL symbol) 
{
   switch(symbol)
   {
      case EURUSD: ChartSetSymbolPeriod(0, "EURUSD", PERIOD_CURRENT); break;
      case GBPUSD: ChartSetSymbolPeriod(0, "GBPUSD", PERIOD_CURRENT); break;
      case JPYUSD: ChartSetSymbolPeriod(0, "JPYUSD", PERIOD_CURRENT); break;   
      default: return;
   }
}

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   OpenChart(EnumSymbol);

   //ChartSetSymbolPeriod() выполняется асинхронно
   //Поэтому тут придумываем ожидание, на прогрузку истории
   //Sleep() тут просто для примера
   Sleep(5000);

   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{

}
Wizard #:

как корректнее будет запись...

double stop = NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_ASK) - 100*_Point, _Digits);
[Удален]  
Vitaly Muzichenko #:

Применяйте её только по надобности, а не каждом чихе.

Хорошо, благодарю за совет.

[Удален]  
Roman #:

Благодарю от всей души! Полезная вещь, чтобы не вводить каждый раз название инструмента) Значит и enum, и switch, и case должны быть, все вместе. 

 

Товарищи модераторы, пожалуйста, переместите посты в раздел  "Вопросы от начинающих"

Это раздел об ошибках, багах и их решению.

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

Есть ли способ узнать, какая последняя версия .NET поддерживается MetaEditor (импорт C# DLL)?

Какие планы по его обновлению?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Как сообщить об ошибке в МТ5?

бот , 2022.02.09 12:54

Я хотел бы узнать общий процесс сообщения об ошибке в MT5.


Я создал DLL dotnet6.0 C#. MetaEditor может найти функции DLL, и код компилируется нормально, но MT5 не находит необходимые функции внутри DLL.

Обратите внимание, что эта проблема не возникает с очень старой версией C# DLL.

Как сообщить об этом в службу поддержки MT5?

Спасибо