Не надо путать переменную string x; и строковый символ "x"
Конкретную задачу я не понял. Соответственно конкретного ответа нет.
Может лучше подумать над перегрузкой функций?
Ситуация такая, что мне нужно создать универсальную функцию function_xy, в которой бы основная программа понимала бы, что имя строковой переменной object_xy меняется в зависимости от передаваемых параметров(..., ..., string x, string y). Иначе, далее по коду в функции function_xy() мне придется вручную прописывать имя переменной object_xy. Например,
void function_xy(..., ..., string x="EURUSD", string y="GBPUSD")
{
...
string object_xy=...//то есть здесь программа должна понимать, что это переменная object_EURUSDGBPUSD
...
}
Иначе, создавая несколько графических объектов в данной функции function_xy() придется вручную прописывать параметры графических функций
void function_xy(..., ...,...)
{
...
string object_EURUSDGBPUSD=...//то есть здесь программа должна понимать, что это переменная object_EURUSDGBPUSD
...
ObjectCreate(object_EURUSDGBPUSD,...,...)
ObjectSet(object_EURUSDGBPUSD,...,...)
ObjectSetText(object_EURUSDGBPUSD,...,...)
...
}
void function_wz(..., ...,...)
{
...
string object_USDCHFUSDJPY=...//то есть здесь программа должна понимать, что это переменная object_EURUSDGBPUSD
...
ObjectCreate(object_USDCHFUSDJPY,...,...)
ObjectSet(object_USDCHFUSDJPY,...,...)
ObjectSetText(object_USDCHFUSDJPY,...,...)
...
}
таких функций до 2х сотен, можно ли как-то сократить и решить эту проблему? Надеюсь, что выразил свою мысль.
Ситуация такая, что мне нужно создать универсальную функцию function_xy, в которой бы основная программа понимала бы, что имя строковой переменной object_xy меняется в зависимости от передаваемых параметров(..., ..., string x, string y). Иначе, далее по коду в функции function_xy() мне придется вручную прописывать имя переменной object_xy. Например,
Иначе, создавая несколько графических объектов в данной функции function_xy() придется вручную прописывать параметры графических функций
таких функций до 2х сотен, можно ли как-то сократить и решить эту проблему? Надеюсь, что выразил свою мысль.
Нужно всего лишь написать кусок кода, который в зависимости от X и Y будет формировать имя объекта, например брать его из массива например так: n=10*x+y. Тогда при x=0 и y=0..9 будут выбираться первые 10 элементов, а при x=1 и y=0..9 будут выбираться следующие 10 элементов
DOCTORGAD: Есть код открытия одиночной сделки со проверками ошибок? Именно для реала, а не для теста... Можно как функцией, просто тупик какой-то :(
Что толку проверять ошибки - на них надо реагировать!!! Как?? Print("Ошибка - ...") - это годится только во время отладки. Да и то удобнее Alert(). На ошибку надо реагировать паузой = задержкой. Где-то была статься об этом. Но где? Если кто видел - напомните!!!
Ситуация такая, что мне нужно создать универсальную функцию function_xy, в которой бы основная программа понимала бы, что имя строковой переменной object_xy меняется в зависимости от передаваемых параметров(..., ..., string x, string y). Иначе, далее по коду в функции function_xy() мне придется вручную прописывать имя переменной object_xy. Например,
Иначе, создавая несколько графических объектов в данной функции function_xy() придется вручную прописывать параметры графических функций
таких функций до 2х сотен, можно ли как-то сократить и решить эту проблему? Надеюсь, что выразил свою мысль.
//+------------------------------------------------------------------+voidOnStart()
{
function_xy();
}
//+------------------------------------------------------------------+x1 x2 x3void function_xy(string x="EURUSD",string y="GBPUSD")
{
string object_xy;
string c = "object_EURUSDGBPUSD";
//Для начала, склеим переданные в функцию строковые переменные
object_xy=StringConcatenate("object_",x,y);
Alert("object_xy = ",object_xy);
// Cравниваемif(StringCompare(c,object_xy)==0)
{
Alert(" Ура получилось ))))))))");
Alert("object_EURUSDGBPUSD == object_xy");
}
//то есть здесь программа должна понимать, что это переменная object_EURUSDGBPUSD
}
//+------------------------------------------------------------------+
Две недели придумываю скрипт, который по ценам в массиве будет проверять есть ли сейчас такой ордер....
Сейчас запнулся на поиске по массиву. Почему-то выдаёт не то, что ожидается.
Всё правильно он выдаёт:
ArrayBsearch
Возвращаемое значение
Возвращает индекс первого найденного элемента. Если искомое значение не найдено, то возвращает индекс ближайшего меньшего по значению из элементов, между которыми расположено искомое значение.
у тебя цены ордеров (порядок по времени выставления) певый 11,00000 второй 22,00000 третий 0,98020 четвёртый 0,98004 пятый 33,00000
соответственно 1, 2 и 5 находит правильно, а для 2 и 3 ближайшее меньшее значение...
Не надо путать переменную string x; и строковый символ "x"
Конкретную задачу я не понял. Соответственно конкретного ответа нет.
Может лучше подумать над перегрузкой функций?Ситуация такая, что мне нужно создать универсальную функцию function_xy, в которой бы основная программа понимала бы, что имя строковой переменной object_xy меняется в зависимости от передаваемых параметров(..., ..., string x, string y). Иначе, далее по коду в функции function_xy() мне придется вручную прописывать имя переменной object_xy.
Например,
Иначе, создавая несколько графических объектов в данной функции function_xy() придется вручную прописывать параметры графических функций
таких функций до 2х сотен, можно ли как-то сократить и решить эту проблему?
Надеюсь, что выразил свою мысль.
Ситуация такая, что мне нужно создать универсальную функцию function_xy, в которой бы основная программа понимала бы, что имя строковой переменной object_xy меняется в зависимости от передаваемых параметров(..., ..., string x, string y). Иначе, далее по коду в функции function_xy() мне придется вручную прописывать имя переменной object_xy.
Например,
Иначе, создавая несколько графических объектов в данной функции function_xy() придется вручную прописывать параметры графических функций
таких функций до 2х сотен, можно ли как-то сократить и решить эту проблему?
Надеюсь, что выразил свою мысль.
Нужно всего лишь написать кусок кода, который в зависимости от X и Y будет формировать имя объекта, например брать его из массива например так: n=10*x+y. Тогда при x=0 и y=0..9 будут выбираться первые 10 элементов, а при x=1 и y=0..9 будут выбираться следующие 10 элементов
Что толку проверять ошибки - на них надо реагировать!!! Как?? Print("Ошибка - ...") - это годится только во время отладки. Да и то удобнее Alert(). На ошибку надо реагировать паузой = задержкой. Где-то была статься об этом. Но где? Если кто видел - напомните!!!
Ситуация такая, что мне нужно создать универсальную функцию function_xy, в которой бы основная программа понимала бы, что имя строковой переменной object_xy меняется в зависимости от передаваемых параметров(..., ..., string x, string y). Иначе, далее по коду в функции function_xy() мне придется вручную прописывать имя переменной object_xy.
Например,
Иначе, создавая несколько графических объектов в данной функции function_xy() придется вручную прописывать параметры графических функций
таких функций до 2х сотен, можно ли как-то сократить и решить эту проблему?
Надеюсь, что выразил свою мысль.
Если правильно я вас понял,
то как то так.
Это декомпил? Срочно уберите! Здесь это запрещено!!! Забанят ...
Здравствуйте, скобка пьёт с меня кровь не могу сделать ей пару(сразу выдаёт кучу ошибок) . Скобка в первой строке.
Вам предупреждение за публикацию декомпилированного кода.
Извините, больше не буду...
Спасибо)
Чтобы не переписывать, может быть можно трендовые линии наложить на те отрезки что >=100 пп.
Подскажите, как задать координаты для точек трендовой линии, чтобы построить её от впадины до вершины zigzag -a.
Здравствуйте!
Две недели придумываю скрипт, который по ценам в массиве будет проверять есть ли сейчас такой ордер....
Сейчас запнулся на поиске по массиву. Почему-то выдаёт не то, что ожидается.
выдаёт не то...
ордера:
Здравствуйте!
Две недели придумываю скрипт, который по ценам в массиве будет проверять есть ли сейчас такой ордер....
Сейчас запнулся на поиске по массиву. Почему-то выдаёт не то, что ожидается.
Всё правильно он выдаёт:
ArrayBsearch
Возвращаемое значение
Возвращает индекс первого найденного элемента. Если искомое значение не найдено, то возвращает индекс ближайшего меньшего по значению из элементов, между которыми расположено искомое значение.
у тебя цены ордеров (порядок по времени выставления)
певый 11,00000
второй 22,00000
третий 0,98020
четвёртый 0,98004
пятый 33,00000
соответственно 1, 2 и 5 находит правильно, а для 2 и 3 ближайшее меньшее значение...