Библиотеки: Input_Struct - страница 9

 
hini #:

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

Если у вас одинаковое имя (и функционал) для разных ТС, то подключайте этот input через один и тот же mqh.

У меня в боевой ТС для задействования всех входных параметров используется около десятка соответствующих mqh. Это очень удобно!

 
fxsaber #:

Если у вас одинаковое имя (и функционал) для разных ТС, то подключайте этот input через один и тот же mqh.

У меня в боевой ТС для задействования всех входных параметров используется около десятка соответствующих mqh. Это очень удобно!

Стратегии имеют одинаковые функции, но содержание различается.

//--- input parameters
namespace name_of_space { 
  #define name_of_space_AAA aaa
  input string            title_ea_options = "=== EA Options1 ==="; //strategy1
  input double            initialLot = 0.01; //strategy1 Lot
  struct A {
    int aa;
  };
}
namespace name_of_space2 { 
  #define name_of_space2_AAA aaa
  input string            title_ea_options = "=== EA Options2 ==="; //strategy2
  input double            initialLot = 0.02; //strategy2 Lot
  struct A {
    int aa;
  };
}
int name_of_space2_AAA;
name_of_space2::A a;

int OnInit() {
  Print(name_of_space::initialLot);
  Print(name_of_space2::initialLot);
  Print(aaa);
  
  return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason) {

}
void OnTick() {

}


 
hini #:

Стратегии имеют одинаковые функции, но содержание различается.

Очевидно, что у нас различные виденья сценариев применения данной библиотеки.

Мне нужно, чтобы можно было элементарно создавать новые ТС для Тестера и добавлять их в портфель ТС боевого советника.


Это обозначает, что я должен изменять только тот код, который отличает одну ТС от другой. Все остальное должно оставаться нетронутым, но при этом сохранять работоспособность.

Это основная причина, почему была написана данная библиотека.

 
Библиотека обновлена под изменения MQL5_b5200+.
Новая версия платформы MetaTrader 5 build 5200: расширение OpenBLAS и усиление контроля в MQL5 - Версия MetaTrader 5 расширила поддержку библиотеки линейной алгебры OpenBLAS.
Новая версия платформы MetaTrader 5 build 5200: расширение OpenBLAS и усиление контроля в MQL5 - Версия MetaTrader 5 расширила поддержку библиотеки линейной алгебры OpenBLAS.
  • 2025.07.31
  • www.mql5.com
SylvesterEquationTriangular решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц верхнетреугольные. SylvesterEquationTriangularBlocked решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц верхнетреугольные матрицы
 

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

Библиотеки: Input_Struct

fxsaber, 2025.02.23 07:19

Я бы очень хотел иметь возможность создавать комментарии к input-переменным. Но, к сожалению, это невозможно.

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

#property script_show_inputs

#define iInput01 Amount
#define dInput01 Koef
#include <fxsaber\Input_Struct\Input_Struct.mqh> // https://www.mql5.com/ru/code/47932

// Задали инпут-переменные.
MACROS_INPUTS(int, Amount, 1, "Amount Name");
MACROS_INPUTS(double, Koef, 2, "Koef Name");

void OnStart()
{
  Print(inInputsAll); // Все input-переменные в одной строке.
}

 
fxsaber #:

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

Очень хорошо
 
fxsaber #:

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

Готово.