Через iCustom прописываю индикатор и столкнулся с проблемой, в индикаторе есть текстовое меню с выбором, открывается и там несколько пунктов прописано, ну я думаю понятно)
Так вот, как мне его прописать у себя в меню?
extern int HIT = 0; не катит, перестает отображаться, оставляю без параметров отображается.
может через ENUM , там какой выбрать, или может что еще?
Заранее спасибо.
Вы все параметры в iCustom(,,,,,,,) прописали в правильной последовательности?
Всем доброго дня. Пытаюсь собрать данные при открытии ордеров . хочу при открытии ордера записать в файл значение индикатора адх на свечах 1,2,3.
Делаю для этого следующее. Открыл каталог данных, перешёл в папку тестер, в этой папке в папку файлс и там создал файл с именем «ZNA4_ADX.csv». далее в подключаемом файле библиотеки с расширением .mqh начал ваять функцию. Ниже закомментированный код функции.
void writing_adx_screen1_to_file(int i_param) // ФУНКЦИЯ ЗАПИСИ ДАННЫХ В ФАЙЛ
{ //---НАЧАЛО ФУНКЦИИ ЗАПИСИ В ФАЙЛ ЗНАЧЕНИЯ АДХ ПО ПЕРВОМУ ЭКРАНУЭКРАНУ-----------------------------------------------------------------------+//-НАЧАЛО ПОЛУЧЕНИЯ ХЕНДЕЛА ОТКРЫВАЕМОГО ФАЙЛА------------------------------------------------------------------------------+int hendel= FileOpen("ZNA4_ADX.csv",FILE_WRITE,';');
//-КОНЕЦ ПОЛУЧЕНИЯ ХЕНДЕЛА ОТКРЫВАЕМОГО ФАЙЛА------------------------------------------------------------------------------+//---НАЧАЛО ПОЛУЧЕНИЯ ЗНАЧЕНИЯ ОСНОВНОЙ ЛИНИИ АДХ------------------------------------------------------------------------+double adx1= iADX(Symbol(),//СИМВОЛ НА КОТОРОМ УСТАНОВЛЕН СОВЕТНИК
PeriodForWork_screen1,// ТАЙМ ФРЕЙМ ПЕРВОГО ЭКРАНА
period_adx_zapici_v_fail, //ПЕРИОД АДХ ДЛЯ ЗАПИСИ В ФАЙЛ
Price_adx_dl9_zapici, // ЦЕНА РАСЧЁТА ЛИНИЙ АДХ ДЛЯ ЗАПИСИ В ФАЙЛ
MODE_MAIN // ПОЛУЧЕНИЕ ЗНАЧЕНИЯ ОСНОВНОЙ ЛИНИИ АДХ
,1);
//---АДХ_СВЕЧА 2 НАЧАЛО------------------------------------------------------------------------------------------+double adx2= iADX(Symbol(),//СИМВОЛ НА КОТОРОМ УСТАНОВЛЕН СОВЕТНИК
PeriodForWork_screen1,// ТАЙМ ФРЕЙМ ПЕРВОГО ЭКРАНА
period_adx_zapici_v_fail, //ПЕРИОД АДХ ДЛЯ ЗАПИСИ В ФАЙЛ
Price_adx_dl9_zapici, // ЦЕНА РАСЧЁТА ЛИНИЙ АДХ ДЛЯ ЗАПИСИ В ФАЙЛ
MODE_MAIN // ПОЛУЧЕНИЕ ЗНАЧЕНИЯ ОСНОВНОЙ ЛИНИИ АДХ
,2);
//---АДХ_СВЕЧА 2 КОНЕЦ---------------------------------------------------------------------------------------------+//---АДХ_СВЕЧА 3 НАЧАЛО------------------------------------------------------------------------------------------+double adx3= iADX(Symbol(),//СИМВОЛ НА КОТОРОМ УСТАНОВЛЕН СОВЕТНИК
PeriodForWork_screen1,// ТАЙМ ФРЕЙМ ПЕРВОГО ЭКРАНА
period_adx_zapici_v_fail, //ПЕРИОД АДХ ДЛЯ ЗАПИСИ В ФАЙЛ
Price_adx_dl9_zapici, // ЦЕНА РАСЧЁТА ЛИНИЙ АДХ ДЛЯ ЗАПИСИ В ФАЙЛ
MODE_MAIN // ПОЛУЧЕНИЕ ЗНАЧЕНИЯ ОСНОВНОЙ ЛИНИИ АДХ
,3);
//---АДХ_СВЕЧА 3 КОНЕЦ----------------------------------------------------------------------------------------+//--КОНЕЦ ПОЛУЧЕНИЯ ЗНАЧЕНИЯ ОСНОВНОЙ ЛИНИИ//------------------------------------------------------------------------------+if(hendel>0)
FileWrite(hendel,"ордер "+(string)i_param+" "+(string)adx1,(string)adx2,(string)adx3); // ЗАПИСЫВАЮ ДАННЫЕ В ФАЙЛ:)FileClose(hendel);
}//---КОНЕЦ ФУНКЦИИ ЗАПИСИ В ФАЙЛ ЗНАЧЕНИЯ АДХ ПО ПЕРВОМУ ЭКРАНУ----------------------------------------------------------------+
Хочу чтобы данные записались примерно как на скрине ниже.
То есть красный цвет текста это шапка которую я напишу вручную. А строка 2 это уже то что мне надо чтобы записалось с помощью функции. То есть 1 номер ордера при тесте. И пошли три значения adx. Далее при открытии второго ордера в тесте нужна следующая строка где номер ордера станет 2 и значения adxзапишутся для трёх свечей перед открытием этого ордера и так далее сколько ордеров в тесте выйдет…
Саму функцию в коде советника я вызываю как показано в куске кода ниже.
//---КОНЕЦ БАЙ ТРЕНДА СИГНАЛ АО------------------------------------------------------------------------------------------+if(f_end_trend_buy_ao_market_order() && count_orders_market_buy == 0 && count_orders_market_sell == 0)
{// НАЧАЛО ЕСЛИ ЕСТЬ СИГНАЛ ОКОНЧАНИЯ БАЙ ТРЕНДА ДИВЕРЕГЕНЦИЯ АОif(OrderSend(Symbol(),OP_SELL,lot,Bid,slippages,Bid+sl , Bid-tp ,Coment, Magik_number)) Print("ОТКРЫВАЕМ ОРДЕР СЕЛЛ ПО СИГНАЛУ ОКОНЧАНИЯ ТРНЕДА- ДИВЕРЕГЕНЦИЯ АО"); // ОТКРКЫВВАЕМ СЕЛ ОРДЕР
writing_adx_screen1_to_file(i_nomer_ordera);// ВЫЗОВ ФУНКЦИ ЗАПИСИ ДАННЫХ В ФАЙЛif (GetLastError()==141){Alert("ОШИБКА № "+string(GetLastError())+"УДАЛЯЕМ ЭКСПЕРТА С ГРАФИКА"); ExpertRemove();}// ПРОВЕРКА ОТ ДОЛБАНИЯ СЕРВЕРА И БАНА СЧЁТА
} // КОНЕЦ ЕСЛИ ЕСТЬ СИГНАЛ ОКОНЧАНИЯ БАЙ ТРЕНДА ДИВЕРЕГЕНЦИЯ АО//-------------------------------------------------------------------------------------------------+
Тест идёт без ошибок- но в файле я получил вот такой результат (СКРИН НИЖЕ).
Получилась одна строка с первым ордером и тремя значениями, но в тесте было 189 открытых ордеров. Что я и где забыл увеличить переменную для подсчёта количества ордеров и как сделать так чтобы последующие после первого ордера данные записались во 2,3-189 строках? Большая просьба не надо меня отправлять на код бейс и прочие весёлые места- мне сложно читать текст, а чужой код практически не возможно. Поэтому подскажите понятным образом что надо добавить и куда чтобы я смог получить данные в нужном мне виде? P/S если не сложно выделите цветом момент с добавлением …
Всем доброго дня. Пытаюсь собрать данные при открытии ордеров . хочу при открытии ордера записать в файл значение индикатора адх на свечах 1,2,3.
Делаю для этого следующее. Открыл каталог данных, перешёл в папку тестер, в этой папке в папку файлс и там создал файл с именем «ZNA4_ADX.csv». далее в подключаемом файле библиотеки с расширением .mqh начал ваять функцию. Ниже закомментированный код функции.
Хочу чтобы данные записались примерно как на скрине ниже.
То есть красный цвет текста это шапка которую я напишу вручную. А строка 2 это уже то что мне надо чтобы записалось с помощью функции. То есть 1 номер ордера при тесте. И пошли три значения adx. Далее при открытии второго ордера в тесте нужна следующая строка где номер ордера станет 2 и значения adxзапишутся для трёх свечей перед открытием этого ордера и так далее сколько ордеров в тесте выйдет…
Саму функцию в коде советника я вызываю как показано в куске кода ниже.
Тест идёт без ошибок- но в файле я получил вот такой результат (СКРИН НИЖЕ).
Получилась одна строка с первым ордером и тремя значениями, но в тесте было 189 открытых ордеров. Что я и где забыл увеличить переменную для подсчёта количества ордеров и как сделать так чтобы последующие после первого ордера данные записались во 2,3-189 строках? Большая просьба не надо меня отправлять на код бейс и прочие весёлые места- мне сложно читать текст, а чужой код практически не возможно. Поэтому подскажите понятным образом что надо добавить и куда чтобы я смог получить данные в нужном мне виде? P/S если не сложно выделите цветом момент с добавлением …
Если файл открывается только с одним флагом FILE_WRITE, то всё что было в файле удаляется. Чтобы сохранить в файле имеющиеся данные надо открывать файл для чтения и записи.
Затем не забывайте перемещать указатель в конец файла.
Если файл открывается только с одним флагом FILE_WRITE, то всё что было в файле удаляется. Чтобы сохранить в файле имеющиеся данные надо открывать файл для чтения и записи.
Затем не забывайте перемещать указатель в конец файла.
Алексей, большое спасибо что подсказали в какую сторону "копать" ошибку- Поока получилось сделать построчную запись- осталось всё это дело причесать в употребимый для анализа вид)))
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
А можно попроще)))
Это мне где взять?
У индикатора код закрытый, как мне узнать имя этого перечисления?
И какой тип переменной мне нужен?
Просто я умею через iCustom индикаторы объединять, а дальше не судьба.)))
Если не сложно можно попроще)))
ENUM_BASE_CORNER попробовал, все равно некажет.А можно попроще)))
Это мне где взять?
У индикатора код закрытый, как мне узнать имя этого перечисления?
И какой тип переменной мне нужен?
Просто я умею через iCustom индикаторы объединять, а дальше не судьба.)))
Если не сложно можно попроще)))
ENUM_BASE_CORNER попробовал, все равно некажет.Вот пример.
Первый вариант это использование штатного перечисления ENUM_BASE_CORNER
Второй вариант — использование пользовательского перечисления enum
Затем в iCustom там где это надо, поставить переменную base или my_base в зависимости от того, какой вариант выберете.
Здравствуйте.
Подскажите,а то голову сломал.
Через iCustom прописываю индикатор и столкнулся с проблемой, в индикаторе есть текстовое меню с выбором, открывается и там несколько пунктов прописано, ну я думаю понятно)
Так вот, как мне его прописать у себя в меню?
extern int HIT = 0; не катит, перестает отображаться, оставляю без параметров отображается.
может через ENUM , там какой выбрать, или может что еще?
Заранее спасибо.
Вы все параметры в iCustom(,,,,,,,) прописали в правильной последовательности?
Всем доброго дня. Пытаюсь собрать данные при открытии ордеров . хочу при открытии ордера записать в файл значение индикатора адх на свечах 1,2,3.
Делаю для этого следующее. Открыл каталог данных, перешёл в папку тестер, в этой папке в папку файлс и там создал файл с именем «ZNA4_ADX.csv». далее в подключаемом файле библиотеки с расширением .mqh начал ваять функцию. Ниже закомментированный код функции.
Хочу чтобы данные записались примерно как на скрине ниже.
То есть красный цвет текста это шапка которую я напишу вручную. А строка 2 это уже то что мне надо чтобы записалось с помощью функции. То есть 1 номер ордера при тесте. И пошли три значения adx. Далее при открытии второго ордера в тесте нужна следующая строка где номер ордера станет 2 и значения adx запишутся для трёх свечей перед открытием этого ордера и так далее сколько ордеров в тесте выйдет…
Саму функцию в коде советника я вызываю как показано в куске кода ниже.
Тест идёт без ошибок- но в файле я получил вот такой результат (СКРИН НИЖЕ).
Получилась одна строка с первым ордером и тремя значениями, но в тесте было 189 открытых ордеров. Что я и где забыл увеличить переменную для подсчёта количества ордеров и как сделать так чтобы последующие после первого ордера данные записались во 2,3-189 строках? Большая просьба не надо меня отправлять на код бейс и прочие весёлые места- мне сложно читать текст, а чужой код практически не возможно. Поэтому подскажите понятным образом что надо добавить и куда чтобы я смог получить данные в нужном мне виде? P/S если не сложно выделите цветом момент с добавлением …
Всем доброго дня. Пытаюсь собрать данные при открытии ордеров . хочу при открытии ордера записать в файл значение индикатора адх на свечах 1,2,3.
Делаю для этого следующее. Открыл каталог данных, перешёл в папку тестер, в этой папке в папку файлс и там создал файл с именем «ZNA4_ADX.csv». далее в подключаемом файле библиотеки с расширением .mqh начал ваять функцию. Ниже закомментированный код функции.
Хочу чтобы данные записались примерно как на скрине ниже.
То есть красный цвет текста это шапка которую я напишу вручную. А строка 2 это уже то что мне надо чтобы записалось с помощью функции. То есть 1 номер ордера при тесте. И пошли три значения adx. Далее при открытии второго ордера в тесте нужна следующая строка где номер ордера станет 2 и значения adx запишутся для трёх свечей перед открытием этого ордера и так далее сколько ордеров в тесте выйдет…
Саму функцию в коде советника я вызываю как показано в куске кода ниже.
Тест идёт без ошибок- но в файле я получил вот такой результат (СКРИН НИЖЕ).
Получилась одна строка с первым ордером и тремя значениями, но в тесте было 189 открытых ордеров. Что я и где забыл увеличить переменную для подсчёта количества ордеров и как сделать так чтобы последующие после первого ордера данные записались во 2,3-189 строках? Большая просьба не надо меня отправлять на код бейс и прочие весёлые места- мне сложно читать текст, а чужой код практически не возможно. Поэтому подскажите понятным образом что надо добавить и куда чтобы я смог получить данные в нужном мне виде? P/S если не сложно выделите цветом момент с добавлением …
Если файл открывается только с одним флагом FILE_WRITE, то всё что было в файле удаляется. Чтобы сохранить в файле имеющиеся данные надо открывать файл для чтения и записи.
Затем не забывайте перемещать указатель в конец файла.
Если файл открывается только с одним флагом FILE_WRITE, то всё что было в файле удаляется. Чтобы сохранить в файле имеющиеся данные надо открывать файл для чтения и записи.
Затем не забывайте перемещать указатель в конец файла.
Значения массива находятся в ячейках оперативной памяти, которые следуют друг за другом. От максимальной длины незанятых ячеек может зависеть.
Здравствуйте, подскажите это обьявление двумерного массива? За ранее спасибо!
Нет, это инициализация уже объявленного.