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

 
GSB:

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


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

У меня давно это всё написано.

Вы меня не понимаете. Ещё ДО озвучивания той проблемы было так, что они зависели от сортировки в терминале. Я вам говорю, что лучше перестраховаться на случай - а вдруг опять так станет неожиданно. Ведь тогда же тоже стало "неожиданно", и люди в полной уверенности говорили об этом. После проверки оказалось, что "упс... уже поменялось". Как бы сейчас ни было - я застрахован от следующего "упс" насколько это возможно предвидеть (хотя конечно же всего не предугадаешь)

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

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

ЗЫ. Модератором стать - не посты наколотить, а доверие заслужить, опыт и справедливость.

 
artmedia70:

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


это выглядит странным.. зачем писать разные реализации одного и того же по разному ?!
 
keekkenen:

это выглядит странным.. зачем писать разные реализации одного и того же по разному ?!

А что странно?

В кач-ве примера. Если в тестере пропустить проверку:

if(OrderSymbol()!=symbol) continue;

Что-нибудь изменится?

Если убрать обработку задержек, реквот, проскальзываний, обрыва связи и всего необходимого только для реала в торговых функциях, что-нибудь изменится?

Скажу что изменится - логика не нарушится, а скорость обработки данных повысится.

Это важно именно для оптимизации - при огромном количестве проходов ой как скажется на скорости. Да и для одиночного теста по-приятнее когда шустрее бежит тест, нет?

 
VOLDEMAR:

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

запускаю советника на визуализации посмотреть открытие сделок история идет тоесть график рисуется сделки не открывает а в журнале тэстера постоянно пишет 19:09:07 2013.10.01 00:00 Tester: 0 symbol not found по всем валютам
 
saniok-e:

запускаю советника на визуализации посмотреть открытие сделок история идет тоесть график рисуется сделки не открывает а в журнале тэстера постоянно пишет 19:09:07 2013.10.01 00:00 Tester: 0 symbol not found по всем валютам

Так вам же уже сказали, что символа с названием "0" нету. Вы на каком символе запускаете тест? Предположу стандартно - на "EURUSD", а почему в торговом приказе пишете 0 ? (замените хотя бы на NULL)

Без кода советника гадать тут никто не будет.

 
artmedia70:

Так вам же уже сказали, что символа с названием "0" нету. Вы на каком символе запускаете тест? Предположу стандартно - на "EURUSD", а почему в торговом приказе пишете 0 ? (замените хотя бы на NULL)

Без кода советника гадать тут никто не будет.



вроде начал разбираться одни работают советники другие нет работают те советники данные которых берутся с тех же тф а у меня получается что тэстирую на м15 а данные берутся и с м1 и м5 и м15 и н1 поэтому и пишет так что символ не найден а до обновления терминала все было хорошо тот же самый советник хорошо тэстился и работал просто сейчас индикаторы не могут взять данные почему то с других таймфрэймов получается так
 
artmedia70:

Так вам же уже сказали, что символа с названием "0" нету. Вы на каком символе запускаете тест? Предположу стандартно - на "EURUSD", а почему в торговом приказе пишете 0 ? (замените хотя бы на NULL)

Без кода советника гадать тут никто не будет.



все уже разобрался с этими нововведениями блин
 
Будет ли, планируется ли мультивалютный тестер в МТ4? Я так понимаю сейчас с новым билдом этот очень нужный функционал так и не появился.
 
GSB:

OrdersTotal()-1 это последний ордер помещенный в историю, у него самое позднее временя открытия, от сортировки не зависит.


На форуме по MQL5 разработчики сообщали, что в историях "никакая упорядоченность не гарантируется". Реально встречавшиеся мне исторические списки там были упорядочены по тикетам. Думается, и здесь так же. В случае синхронизации времени на сервере с астрономическим со сдвигом на 2 секунды назад - что будет с упорядоченностью по времени? Тикеты при сдвиге времени назад продолжают наращиваться. Однако и в их последовательность, думается, можно влезть специальными средствами, также как в первичные ключи в базах данных.

ЗЫ. Для ясности лучше бы говорить об упорядоченности не по "времени", а по "штампу времени"

 
SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE_PROFIT) и SymbolInfoDouble(_SYMBOL_TRADE_TICK_VALUE_LOSS) выдают нули. На них не рассчитывать?
Причина обращения: