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

 
In_sider:

Ничего удивительного. Все в рамках развития платформы как интернет-магазина околофорексных товаров и услуг.

Если не программист, плати деньги на "маркете" фриланса.

Жирный минус этой профессии - она для тех, кому до 35. Потом возрастная физиология берет свое и программеры массово переходят в еникейщики или в руководители проектов.

Я сам когда-то покупал квартиры на свои программерские шабашки.


Согласен! Новый MQL4 только доказывает, что трейдеры должны пользоваться услугами программистов, а не самым становится программистами.

 
Y.A.K._:
Ну не до такой степени...


В этом серьмяжная правда жизни и это необходимо учитывать при ее планировании.

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

 
То ли я мозгом слишком юн, то ли Вы слишком стары...
 
Y.A.K._:
То ли я мозгом слишком юн, то ли Вы слишком стары...

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

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

И еще, тренд таков, что личностный фриланс будет обречен в течение ближайших 5 лет.

Мы живем при смене очередного технологического уклада.

А для себя я еще вполне сносно программирую. И на двух иностранных языках читаю (в молодости болтал свободно).

 

Может, кто-то подскажет почему больше не работает эта функция?

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.07.2013                                                     |
//|  Описание : Возвращает цену открытия ближайшей к рынку позиции.            |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double PriceOpenNearPos(string sy="", int op=-1, int mn=-1) {
  double mi, oop=0, p;
  int    i, k=OrdersTotal(), pp=-1;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (mn<0 || OrderMagicNumber()==mn) {
            if (OrderType()==OP_BUY)  mi=MarketInfo(OrderSymbol(), MODE_ASK);
            if (OrderType()==OP_SELL) mi=MarketInfo(OrderSymbol(), MODE_BID);
            p=MarketInfo(OrderSymbol(), MODE_POINT);
            if (pp<0 || pp>MathAbs(OrderOpenPrice()-mi)/p) {
              pp=MathAbs(OrderOpenPrice()-mi)/p;
              oop=OrderOpenPrice();
            }
          }
        }
      }
    }
  }
  return(oop);
}
 
abeiks:

Может, кто-то подскажет почему больше не работает эта функция?


Это как запостить фотку автомобиля и написать: "Не едет, может, кто-то подскажет, почему?"...


Что именно не работает, что в журнал компилятора пишет, также что пишет в журнал терминала, если скомпилировалось без ошибок?

 
evillive:

Это как запостить фотку автомобиля и написать: "Не едет, может, кто-то подскажет, почему?"...


Что именно не работает, что в журнал компилятора пишет, также что пишет в журнал терминала, если скомпилировалось без ошибок?


Я нашел ошибку. KimIV в примерах показывал Message(PriceOpenNearPos(NULL)) и я ставил «NULL». Сейчас уже «NULL» не проскочит, надо ставить «0».
 
abeiks:


Может наоборот? Все скрипты с 0 вместо имени символа неправильно работают и надо 0 править на NULL или Symbol(), проверено на билдах 529-613.
 
evillive:

Может наоборот? Все скрипты с 0 вместо имени символа неправильно работают и надо 0 править на NULL или Symbol(), проверено на билдах 529-613.

Я попробовал так if (sy=="NULL") sy=Symbol(); но не получилось, даже не знаю, почему.
 

Прошу подсказать как и где подправить в NamedPipeServer.mqh и NamedPipeClient.mqh что бы они заработали в новых версиях. При компиляции експерта выдает предупреждение

truncation of constant value NamedPipeServer.mqh 233 55

строчка 233

return (CreateNamedPipeW(strPipeName, GENERIC_READ | PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_NOWAIT, PIPE_UNLIMITED_INSTANCES, 1000, 1000, 0, NULL));

В приложении оба заголовочных файла.
Файлы:
Причина обращения: