Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 817
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Читать можно справку, там всё есть, с примерами.
Возникла идея нарисовать из данных файла индикатор.
Взял пример из учебника. Переделал скрипт под себя:
Строку с «Alert» можно убрать.
По логике нужно получать дату в индикаторе и сравнивать с файлом и при совпадении присваивать значение буферу.
Но, вот думаю, если на каждом баре начинать поиск с начала файла, где данные уже учтены, будет весьма затратно.
Вопрос как в индикаторе фиксировать обработанные строки файла и начинать поиск после них?
Есть большой файл в котором даты в таком виде "20141231". Чтобы преобразовать строку в формат datetime нужны точки "YYYY.MM.DD" между годом, месяцем и числом.
Как можно это сделать?
Спасибо уже разобрался. Конвертировал файл, где изначально разделялось на запятые. Поменял запятые на точки и потом второй столбец добавил, все прогой "uniCSVed".
Теперь буду знать, как программно сделать.
Теперь другая титаническая задача, как индикатор из этих данных нарисовать? Скрипт сделал, все правильно выводит.
Но в индикаторе, чтобы не было тормозов, как-то нужно запоминать строку на которой в прошлой итерации данные были получены.
Спасибо уже разобрался. Конвертировал файл, где изначально разделялось на запятые. Поменял запятые на точки и потом второй столбец добавил, все прогой "uniCSVed".
Теперь буду знать, как программно сделать.
Теперь другая титаническая задача, как индикатор из этих данных нарисовать? Скрипт сделал, все правильно выводит.
Но в индикаторе, чтобы не было тормозов, как-то нужно запоминать строку на которой в прошлой итерации данные были получены.
Наверное это возможно с помощью FileTell(Возвращает текущее положениефайлового указателя соответствующего открытого файла) и FileSeek(Перемещает положение файлового указателя на указанноеколичество байт относительно указанного положения).
Спасибо! Тоже обратил внимание на данные фукнкции. Еще есть FileIsLineEnding. Буду думать дальше, как сделать.
А как определить Тикет_первого_ордера?
Присвой значение функции OrderTicket() переменной. Например : int Ticket= OrderTicket(). Ну и потом используй это значение в OrderSelect.
OrderSelect(Ticket,SELECT_BY_TICKET); .
Можно и по другому. Не будем определять тикет, а просто найдем ордер методом перебора (SELECT_BY_POS).
Получится:
string Symb=Symbol();
for(i=0;i<=OrdersTotal() ;i++)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(OrderSymbol()!=Symb)continue;
if(OrderType()==OP_BUY)
{
break;
}
}
}
if(OrderOpenPrice()+10*Point<=Ask)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
Присвой значение функции OrderTicket() переменной. Например : int Ticket= OrderTicket(). Ну и потом используй это значение в OrderSelect.
OrderSelect(Ticket,SELECT_BY_TICKET); .
Можно и по другому. Не будем определять тикет, а просто найдем ордер методом перебора (SELECT_BY_POS).
Получится:
Раз уж это тема для вопросов новичков, то задам свои...
1. Существует ли программное API для загрузки котировок? В идеале get/post запросом.
2. Если такого для широкого доступа нет, то какие платформы легче всего парсятся и могут предоставлять доступ к котировкам в режиме реального времени раз в секунду.
3. Писать автоматизацию можно на чём угодно, конечно. Но всё таки хотелось бы знать, какие языки и инструменты наиболее удобны и популярны?