Да не, там все просто, постараюсь сегодня дописать. mql4 часть почти готова, надо mql5 часть реализовать. Ограничение на 8 параметров есть.
Размер индикатора наверное будет конским, но летать все должно аки перышко.
Насколько я понимаю, предполагаемое ограничение 8 - из-за числа параметров шаблонов. У меня была немного другая задача - универсализация iCustom и больше 8 параметров - там достаточно всего 2 типов - строка и число (которое подходит подо все кроме строки). Если делать в лоб на шаблоне до 8 параметров, то согласен - все просто.
Stanislav Korotky: У меня была немного другая задача - универсализация iCustom и больше 8 параметров - там достаточно всего 2 типов - строка и число
В mqlparam 3 типа, логично предположить что при разделении на 2 могут быть глюки.
И такое решение геморное, потому что при каждом вызове ручками икастом в рантайме собирать по сути. Как по мне путь в никуда. В чем вы уже наверное убедились )
Andrei Trukhanovich: В mqlparam 3 типа, логично предположить что при разделении на 2 могут быть глюки.
И такое решение геморное, потому что при каждом вызове ручками икастом в рантайме собирать по сути. Как по мне путь в никуда. В чем вы уже наверное убедились )
Согласен, конвертация long в double может терять точность. Но это не суть, можно и на 3 типа все разложить. А проблема ограничения на 8 параметров - капитальная, потому что очень много индюков имеет больше. Поэтому шаблонный вариант был лишь частным решением, и я пытался её решить в общем случае. Куда или никуда путь - не выяснишь, пока не попробуешь;-) Пока МТ не дает возможности.
Поэтому шаблонный вариант был лишь частным решением, и я пытался её решить в общем случае.
В общем случае задача решается только через IndicatorCreate. Я на шаблонный вариант потратил в сумме часа два, ну еще два потрачу чтобы встроенные индикаторы добавить.
И это решение, которое будет работать в 90% случаев, вернее уже работает.
В общем случае задача решается только через IndicatorCreate. Я на шаблонный вариант потратил в сумме часа два, ну еще два потрачу чтобы встроенные индикаторы добавить.
И это решение, которое будет работать в 90% случаев, вернее уже работает.
Спасибо за код. Но проблема шаблонов в том, что эта статическая компиляция:
Комбинатор: Пример? По ходу тоже можно, сложнее и с тем же ограничением в 8 параметров.
Посмотри профиль у Дмитрия. У него в Маркете выложен советник, торгующий по сигналам пользовательских индикаторов. Забавная вещичка. Мне кстати тоже интересна его реализация.
Да не, там все просто, постараюсь сегодня дописать. mql4 часть почти готова, надо mql5 часть реализовать. Ограничение на 8 параметров есть.
Размер индикатора наверное будет конским, но летать все должно аки перышко.
Да не, там все просто, постараюсь сегодня дописать. mql4 часть почти готова, надо mql5 часть реализовать. Ограничение на 8 параметров есть.
Размер индикатора наверное будет конским, но летать все должно аки перышко.
У меня была немного другая задача - универсализация iCustom и больше 8 параметров - там достаточно всего 2 типов - строка и число
И такое решение геморное, потому что при каждом вызове ручками икастом в рантайме собирать по сути. Как по мне путь в никуда. В чем вы уже наверное убедились )
В mqlparam 3 типа, логично предположить что при разделении на 2 могут быть глюки.
И такое решение геморное, потому что при каждом вызове ручками икастом в рантайме собирать по сути. Как по мне путь в никуда. В чем вы уже наверное убедились )
Поэтому шаблонный вариант был лишь частным решением, и я пытался её решить в общем случае.
В общем случае задача решается только через IndicatorCreate. Я на шаблонный вариант потратил в сумме часа два, ну еще два потрачу чтобы встроенные индикаторы добавить.
И это решение, которое будет работать в 90% случаев, вернее уже работает.
В общем случае задача решается только через IndicatorCreate. Я на шаблонный вариант потратил в сумме часа два, ну еще два потрачу чтобы встроенные индикаторы добавить.
И это решение, которое будет работать в 90% случаев, вернее уже работает.
Спасибо за код. Но проблема шаблонов в том, что эта статическая компиляция:
//| TestCustom.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#property strict
#include <iCustom.mqh>
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
//---
void OnStart()
{
ICustom* x = CreateCustom("MACD", Symbol(), Period(), 50, 100, 20); // Здесь мы задаем явный формат вызова индикатора,
// На его основе компилятор генерит нужный вариант iCustom и зашивает его в код.
double v1 = x.Value(1, 1);
delete x;
double v2 = iCustom(Symbol(), Period(), "MACD", 50, 100, 20, 1, 1);
Print("v1 = ", v1, "; v2 = ", v2);
}
//+------------------------------------------------------------------+
Проблема в том, что мы не знаем формат вызываемой iCustom в момент компиляции.
Проблема в том, что мы не знаем формат вызываемой iCustom в момент компиляции.
Пример? По ходу тоже можно, сложнее и с тем же ограничением в 8 параметров.
Мне кстати тоже интересна его реализация.