Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 96

 
RickD:

Ты не совсем понял. Я открываю файл в режиме read only исключительно для поиска. Блокнот или другой редактор. Проще всего через Total Commander по F3.

F3 - открыл. Ctrl-F - нашел. Esc - закрыл.

Т.е. 3 преимущества - быстрое открытие файла, открытие второй копии и режим защиты от изменений контента.

ТС я тоже пользуюсь и в этом случае с тобой согласен, проще открыть по F3 и поискать там чем открывать в МЕ так-же искать и не найдя нужного закрывать. А если ещё и не в этом МТ нужный файл, то это похоже на хронический геморой. И никакой разницы нет открывать МЕ или notepad++

Всё. Тема исчерпана, я понял так как было сказано.

 
artmedia70:

Вы не понимаете о чём вам толкуют? РАНЬШЕ сортировка была зависима от сортировки в терминале. Приходилось искать последний ордер точно и однозначно по времени. Вы уверены, что через неделю опять что-либо не поменяется? Я - нет. Поэтому мой советник, и советники моих заказчиков, даже если что-либо опять поменяется в порядке сортировки ордеров, как работали, так и продолжат - даже не заметят. А ваш - сольёт в худшем случае, в лучшем - станет работать не с тем ордером, с каким ожидаете вы, так как он уже НЕ будет последним в списке как вы предполагаете.

В этом вся разница. Я предлагаю железный, но медленный способ поиска именно последнего ордера однозначно по времени, вы же предлагаете опираться на сортировку, которая возможно может и поменяться. Это то же самое по надёжности, что и считывать комментарии ордеров и строить на этом логику. Нет никаких гарантий, что ДЦ туда не впишет собственную информацию... и ... приехали.


Вы не устали? половина форума - это Ваши комментарии по большей части не конструктивных. Больше 4тыс постов, даже у модераторов меньше.

По сути - ордера всегда располагались в порядке возрастания тикетов и никогда не зависели от сортировки в терминале. Нет торговых платформ с "плавающей" сортировкой таблиц действующих и исполненных ордеров, это не логично ни с точки зрения программирования самого терминала ни с алгоритма получения информации из этих таблиц. Таблицы ордеров находятся на сервере и потому всегда в однозначном порядке. Полемику по данному вопросу предлагаю закрыть, выбор каждый сделает сам.

 
GSB:

Вы не устали? половина форума - это Ваши комментарии по большей части не конструктивных. Больше 4тыс постов, даже у модераторов меньше.

По сути - ордера всегда располагались в порядке возрастания тикетов и никогда не зависели от сортировки в терминале. Нет торговых платформ с "плавающей" сортировкой таблиц действующих и исполненных ордеров, это не логично ни с точки зрения программирования самого терминала ни с алгоритма получения информации из этих таблиц. Полемику по данному вопросу предлагаю закрыть, выбор каждый сделает сам

Посты говорят об активности. Большая их часть - конструктивная помощь новичкам. А вы чем помогли?

Действительно. Оставайтесь при своих. Ваше право писать так, чтобы "если что-то вдруг", то переписывать...

ЗЫ. Поищите старые темы - найдёте обсуждения насчёт сортировки. (Например тут обсуждение построено на отголосках той проблемы, о которой я вам пытался сказать; и нет вероятности, что оно вдруг не повторится когда-нибудь) Вопрос закрываем.

 
artmedia70:

Посты говорят об активности. Большая их часть - конструктивная помощь новичкам. А вы чем помогли?

Действительно. Оставайтесь при своих. Ваше право писать так, чтобы "если что-то вдруг", то переписывать...

ЗЫ. Поищите старые темы - найдёте обсуждения насчёт сортировки. (Например тут обсуждение построено на отголосках той проблемы, о которой я вам пытался сказать; и нет вероятности, что оно вдруг не повторится когда-нибудь) Вопрос закрываем.


Посмотрел, вот там такой же модератор, коим и Вы скоро станите по количеству постов, и вводит парней в заблуждение (помощь новичкам :-| ), а потом все и пришли, в том числе и он сам, к выводу о котором я писал в предыдущих постах. Ордера располагаются на сервере брокера и в терминале их "зеркало". Их можно сортировать по любой графе от этого ответ с сервера на запрос не изменится. Расположение ордеров всегда систематизировано по возрастанию снизу вверх.


Переходите в тему что указали, напишите Ваши вариант поиска трех последних ордеров (позиций) по всем парам с выводом на печать и фиксаций времени поиска. И там обсудим ваш код и главное результат. Ок?

 
prorab:

ME 5.00.904

Скрипт:

FileWrite(handle, ..., DoubleToString(Close[i], Digits), ...);

- в этом операторе не работает функция DoubleToString(), как будто ее нет.

Может из-за того, что Скрипт?
В советнике похожий оператор пишет в файл тики (время, Bid, Ask), там с DoubleToString() все нормально,
хотя файл.ex4 скомпилирован в феврале и вполне может быть МЕ еще старой сборки.

Да нет, работает всё:

#property strict

void OnStart()
{
        int fh = FileOpen("temp.csv", FILE_WRITE, ',');

        for(int i = 0; i < 5; i++)
        {
                FileWrite(fh, Symbol(), DoubleToString(Close[i], 2));
        }

        FileClose(fh);
}

Вот результат. Специально вместо "Digits" поставил двойку, чтобы было видно усечение.

EURUSD,1.39
EURUSD,1.39
EURUSD,1.39
EURUSD,1.39
EURUSD,1.39
 
обновился терминал версия 600 не могу про тэстировать советника пишет 19:09:07 2013.10.01 00:00 Tester: 0 symbol not found
 
в чем причина может быть?
 
saniok-e:
в чем причина может быть?

Нет символа или нет истории котироваок
 
VOLDEMAR:

Нет символа или нет истории котироваок

или символ обозначен, как 0, а не NULL
 
Spy:

Да нет, работает всё:

Вот результат. Специально вместо "Digits" поставил двойку, чтобы было видно усечение.

Действительно работает
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
        int fh = FileOpen("temp.csv", FILE_CSV|FILE_WRITE, ',');

        for(int i = 0; i < 5; i++)
        {
			FileWrite(fh, DoubleToString(Open[i], Digits), DoubleToString(High[i], Digits), 
				DoubleToString(Low[i], Digits), DoubleToString(Close[i], Digits), Volume[i]);
        }

        FileClose(fh);
        PlaySound("Blip.wav");
  }
Мистика, какая то...
1.38748,1.38786,1.38658,1.38700,2385
1.38528,1.38800,1.38524,1.38746,9891
1.38781,1.39148,1.38518,1.38526,13206
1.38590,1.38831,1.38556,1.38779,6054
1.38589,1.38606,1.38551,1.38590,2247

Спасибо!

PS. Понял! Открывалось то в Excel, а там незначащие нули отбрасываются.

Причина обращения: