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

 
Bobs:

Как изначально упорядочен список ордеров при использовании перебора: for(int i=0;i<OrdersTotal();i++)

т.е. под номером i=0 находится какой ордер:

- с меньшим номером тикета;

- с меньшим временем открытия;

- это зависит от столбца по которому ордера отсортированы в терминале. ???

Здесь были изменения по сравнению с .509 ?

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

Напишите скрипт в несколько строк и все будет понятно, например, последний ордер, точнее последняя закрытая позиция (отложенники пропускаем) по символу

bool LastOrderTime(int &oot, int &oсt)
{     
   int ot,oht=OrdersHistoryTotal();
   if (oht<1) return(0);
   for(int j=oht-1; j>=0; j--)
   {
      if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))
      {
         ot=OrderType()+1; if ( OrderSymbol()!=Symbol() || ot>2) continue;
         // last closed position for chart symbol
         oot=OrderOpenTime();
         oct=OrderCloseTime();
//Print("Last Closed ",OrderSymbol(),"  Ticket #",OrderTicket()," OpenTime ",TimeToStr(oot,TIME_DATE|TIME_MINUTES|TIME_SECONDS)," CloseTime ",TimeToStr(oct,TIME_DATE|TIME_MINUTES|TIME_SECONDS));         
         return(1);
      }
   }
   return(0);
}  
 
Pyro:
Вы логику не проследили. Обьясню, почему баг. Есть пункт меню "новое окно". Оно открывает новое окно с тем же документом. В 4-м редакторе курсоры были развязаны и в этоих новых окнах была логика. При синхронно двигающихся курсорах новые окна просто теряют смысл. Зачем вам 2 одинаковых окна с синхронным курсором? Так что это - баг. Не такой страшный, возможно, но баг.

Баг - это непредусмотренное поведение. Когда результат оказывается отличным от ожиданий разработчика.

Но в данном случае - я думаю, что разработчики вовсе не ожидали, что кто-то будет использовать разное положение курсоров в одном документе, но разных окнах. Лично я - вобще никогда не использую команду "новое окно", просто открываю файл, а прочие окна у меня открываются при обращении к определению переменных (через Alt+G).

На мой взгляд, ваше предложение (разное состояние курсоров в разных окнах одного документа) - имеет смысл. И вы верно сделали, что написали заявку в Сервисдеск. Но, боюсь, сейчас у разработчиков голова кругом идет от кучи других, гораздо более важных задач - у меня, скажем, уже неделю в сервисдеске висит заявка по багу, при котором в некоторых случаях функция инициализации советника прерывается - жду, пока отреагируют.




 

ME 5.00.904

Скрипт:

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

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

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


PS. При открытии файла.csv, кстати, имеем разделитель по умолчанию ';' (точка с запятой).
хотя в справке указан '\t' (табулятор),
а ПРАВИЛЬНО должен быть ',' (- comma delimited values — текстовый файл с запятыми в качестве разделителей))

Это, так, попутно вспомнилось.

 
AlexeyVik:

Ну так сказано было что пользуется этим в блокноте...

Или хочешь сказать что редактор МЕ хуже блокнота?



единственное преимущество МЕ перед notepad++ это наличие дебагера, убрать дебагер и notepad++ имеет больше преимуществ перед МЕ..
 
GSB:

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

Напишите скрипт в несколько строк и все будет понятно, например, последний ордер, точнее последняя закрытая позиция (отложенники пропускаем) по символу

Я бы поостерёгся на вашем месте делать такие категоричные утверждения.

Когда-то было так, что история зависила от сортировки. Потом поменяли на такую, о которой пишите вы. Как думаете будет работать код в будущем, сделанный с учётом ваших рекомендаций, если вдруг опять порядок сортировки поменяется?

Искать нужно конкретно последний по времени, а не по его расположению где-то там... Хоть это и дольше, но зато надёжно. Нет зависимости от порядка сортировки, который в любой момент может поменяться.

Нужно быть немного дальновиднее, и предусматривать всякие возможные в будущем каки/бяки...

 
keekkenen:

единственное преимущество МЕ перед notepad++ это наличие дебагера, убрать дебагер и notepad++ имеет больше преимуществ перед МЕ..
Разница в том, что блокнот - это блокнот, а notepad++ это совершенно другое приложение.
 
AlexeyVik:
Разница в том, что блокнот - это блокнот, а notepad++ это совершенно другое приложение.


нечего к словам придираться.. это не добавляет достоинств МЕ
 
Что такое IsTradeAllowed2() и с чем её есть? Автозамена в МЕ предлагает такое наряду с привычной IsTradeAllowed().
 
evillive:
Что такое IsTradeAllowed2() и с чем её есть? Автозамена в МЕ предлагает такое наряду с привычной IsTradeAllowed().

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


Да всем плевать на вашу инициализацию и мои окна. Тут маркет еще не отстроили как надо:) Неужели не ясно..

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