[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 718
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Читаете файл построчно и каждый раз присваиваете значения своим переменным. Когда файл закончится, переменные будут иметь последние значения.
Как это реализовать?
Не могу понять что использовать
Как это реализовать?
Не могу понять что использовать
Очень много уже написано-перенаписано об этом, попробуйте так https://www.mql5.com/ru/forum/118349
И снова доброй ночи! Не так давно начал писать мультивалютный советник, который находясь на одной валюте открывает ордера и на других и столкнулся с проблеммой, в реализации трейлинга.
Выдрал ближайший трал из эксперта и начал мудрить, но ничего не получается. Вот код:
а вот чего понять мне не удаеться. Поскольку советник - мультик, он открывает ордера по валютам не предсказуемо и бывает так, что в один и тот же момент на нескольких валютах.
В коде трейлинга идет подсчет открытых ордеров for (int i=0; i<OrdersTotal(); i++) ну и дальше идет выборка ордера OrderSelect и тд, я понимаю что для каждого открытого ордера по определенной паре для изменений требуется получение данных bid, ask ну и тд. вот тут то и загводка, а как же функции узнавать какие данные с какой валюты загружать и как он будет ордер выбирать для изменений? У меня в голове только один вариант, самый плохой написать трайлинг для каждой валюты ) . подскажите что можно сделать. я так понимаю это не только трейлинга касается это так же равнозначно и для функции закрытия ордера.
И снова доброй ночи! Не так давно начал писать мультивалютный советник, который находясь на одной валюте открывает ордера и на других и столкнулся с проблеммой, в реализации трейлинга.
Выдрал ближайший трал из эксперта и начал мудрить, но ничего не получается. Вот код:
а вот чего понять мне не удаеться. Поскольку советник - мультик, он открывает ордера по валютам не предсказуемо и бывает так, что в один и тот же момент на нескольких валютах.
В коде трейлинга идет подсчет открытых ордеров for (int i=0; i<OrdersTotal(); i++) ну и дальше идет выборка ордера OrderSelect и тд, я понимаю что для каждого открытого ордера по определенной паре для изменений требуется получение данных bid, ask ну и тд. вот тут то и загводка, а как же функции узнавать какие данные с какой валюты загружать и как он будет ордер выбирать для изменений? У меня в голове только один вариант, самый плохой написать трайлинг для каждой валюты ) . подскажите что можно сделать. я так понимаю это не только трейлинга касается это так же равнозначно и для функции закрытия ордера.
Infinity:
что то несовсем понял технологию, как это будет работать
Очень много уже написано-перенаписано об этом, попробуйте так https://www.mql5.com/ru/forum/118349
int a1;
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';');FileWrite(handle,a1);
FileClose(handle);
В файле a1=5;
Непонимание в азах.Прошу объяснить - дописав предложенное
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';');здесь присваивается a1 значение 5
FileClose(handle);
очень надо
а объявляться с присвоением ей значения:
int ask = MarketInfo(sy, MODE_ASK), bid=MarketInfo(sy, MODE_BID), open, stop, level;
Соответственно
нужно уже записывать иначе, например:
Либо создать ещё одну переменную, например PriceBid и записывать
и уже далее в коде вместо Bid использовать PriceBid...
Просмотрите весь свой код и, где необходимо, используйте получения значений переменных для конкретного символа.
А символ этот вы будете передавать в функцию трала при её вызове:
или
Так понятней?
Присваивайте значения переменным в коде трала исходя из данных по переданной в функцию паре. Вам нужно доделать код трала... Например переменная Bid должна не просто объявляться,
а объявляться с присвоением ей значения:
Соответственно
нужно уже записывать иначе, например:
Либо создать ещё одну переменную, например PriceBid и записывать
и уже далее в коде вместо Bid использовать PriceBid...
Просмотрите весь свой код и, где необходимо, используйте получения значений переменных для конкретного символа.
А символ этот вы будете передавать в функцию трала при её вызове:
или
Так понятней?
так понятно даже очень. только одного не могу понять, какую валютную пару мне передавать в какой момент. откуда взять информацию о том, что открыто к примеру 4 ордера по таким-то парам, и что именно эти пары следует передавать.
Незнаю, правильно я делаю или нет,.. вообщем ....
но почемуто в итоге получаю ошибку EURUSD,: zero divide - эта ошибка видимо говорит что гдето в переменной 0, наверное при операции типа деления. Я вообще правильно пытаюсь реализовать ?
int a1;
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';');FileWrite(handle,a1);
FileClose(handle);
В файле a1=5;
Непонимание в азах.Прошу объяснить - дописав предложенное
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';');здесь присваивается a1 значение 5
FileClose(handle);
очень надо
Итак, по порядку.
Если нужны только последние данные, зачем тогда сохранять предыдущие? ("до запись" происходит при комбинации режимов FILE_READ|FILE_WRITE).
Поэтому логичнее использовать режим FILE_CSV|FILE_WRITE в нем предыдущие записи удаляются перед записью новых данных.
Начинаем запись 4-х переменных в файл.
Главное запомнить порядок записи переменных, так как в этом же порядке мы будем их считывать.
Начинаем считывать данные в переменные из файла.
С помощью функции FileReadNumber() считываем последовательно цифру за цифрой, в том порядке, в котором записали.
Собственно вот и все, ничего сложного :)
так понятно даже очень. только одного не могу понять, какую валютную пару мне передавать в какой момент. откуда взять информацию о том, что открыто к примеру 4 ордера по таким-то парам, и что именно эти пары следует передавать.
Незнаю, правильно я делаю или нет,.. вообщем ....
но почемуто в итоге получаю ошибку EURUSD,: zero divide - эта ошибка видимо говорит что гдето в переменной 0, наверное при операции типа деления. Я вообще правильно пытаюсь реализовать ?