КОГДА ПОЯВИТСЯ ОТЛАДЧИК В МЕТАЕДИТОРЕ??? - страница 4

 

Если не сложно, хоть методологически алгоритм - попробуем.


Можно сделать связку из двух терминалов, на одном аккаунте советник висит и выдает сигналы, а на втором зацикленный скрипт считывает эти сигналы из файла.
 

Денег не беру и мне не предлагать.
Могу выслать свои стейтменты за 7 лет и того же буду требовать от другой стороны.


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

При чем здесь "отрисовывать" ?
Эксперт срабатывает по приходу тика и висит на определенном т/ф. Если тики приходят но на данный график не подаются, то как может эксперт работать, если функция start() не запускается.


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


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

Советский человек может обойти любую трудность. Кроме одной: если брокер по тем или иным причинам окажется неплатежеспособен. Поэтому если опыт Владислава - это проблемы терминала МТ4, - то это одно, а если это проблемы брокера, - то совсем другое. И этим его опыт и ценен, для меня в частности.
 

Если тики приходят но не подаются на определенный тф то это чисто клиентская проблема и сервер с его настройками групп здесь ни при чем...


Вы в этом точно уверены ? Я сомневаюсь и уверен, что обоснованно.


Уверен на все 100%


Хотелось бы услышать более обоснованное утверждение. Вы ведь не разработчик ? А они к сожалению молчат.
Моя уверенность основывается на сравнении - в этот момент рабтало 4-ре одинаково нагруженных терминала (то есть советники на всех одинаковые с одинаковыми настройками), версии терминалов одинаковые - все 195 и только на одном из трех реальных счетов (четвертый демо) не было поступления тиков и только в тех т\ф, где этот советник работал. Я успел снести и советника и терминал переставлял, перезапускал, но ситуация восстановилась по этому счету только через несколько часов, хотя тот же самый терминал при переходе к другому счету срабатывал без проблем. Это я уже так экспериментировал.
Если есть возможность обосновать Вашу уверенность буду только рад.


Методологически... :) всего два пункта:
1. Разумному человеку не гоже начинать свой пост словами "Вы действительно понимаете о чем пишете ?"

Здесь неправ, сорри.

2. Используйте зацикленный эксперт а еще лучше скрипт в комбинации с MarketInfo() и будет вам счастье... Даже при неприходе тиков :)

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

С уважением, Владислав.
Удачи и попутных трендов.
 

Если не сложно, хоть методологически алгоритм - попробуем.


Можно сделать связку из двух терминалов, на одном аккаунте советник висит и выдает сигналы, а на втором зацикленный скрипт считывает эти сигналы из файла.


Это выглядит более реализуемым, правда может упереться в доступ к торговым функциям из скриптов. Хотя думаю, самое правильное сменить ДЦ, что я и сделал.

С уважением, Владислав.
Удачи и попутных трендов.
 
Если правильно понял - зацикленный эксперт - это работа эксперта после первого запуска функции старт через приостановку, без выхода. А разве терминал не прекращает работу зациклившихся экспертов через некоторое время ? Сдается мне, что эту возможность опять ввели, могу ошибаться, проверю. По поводу скрипта - попробую, но думаю из него не доступны торговые функции, как и из индикаторов, а как достать функцию старт эксперта из скрипта ? тоже пока не ясно.

С уважением, Владислав.
Удачи и попутных трендов.



Лучше использовать скрипт... Торговые функции из него точно доступны... Зачем доставать функцию старт? Логика работы скрипта точно такая же как и эксперта за исключением того что самому нужно планировать нагрузку на процессор...
 
Хотелось бы услышать более обоснованное утверждение. Вы ведь не разработчик ? А они к сожалению молчат.
Моя уверенность основывается на сравнении - в этот момент рабтало 4-ре одинаково нагруженных терминала (то есть советники на всех одинаковые с одинаковыми настройками), версии терминалов одинаковые - все 195 и только на одном из трех реальных счетов (четвертый демо) не было поступления тиков и только в тех т\ф, где этот советник работал. Я успел снести и советника и терминал переставлял, перезапускал, но ситуация восстановилась по этому счету только через несколько часов, хотя тот же самый терминал при переходе к другому счету срабатывал без проблем. Это я уже так экспериментировал.
Если есть возможность обосновать Вашу уверенность буду только рад.


Однозначно определить глюк ли это терминала связанный с советником или запрет вывода котировок на определенный тф можно при помощи такого теста: открываем в проблемном терминале еще одно окно с проблемной валютой и тем же самым тф... Получается что оба окна одинаковые но на одном есть эксперт а на другом нет...
Ждем возобновления глюка и все сразу станет понятным...
Думаю поднимать вопрос об отключении подачи котировок в ОПРЕДЕЛЕННОЕ окно терминала никто не будет :)
 


Лучше использовать скрипт... Торговые функции из него точно доступны... Зачем доставать функцию старт? Логика работы скрипта точно такая же как и эксперта за исключением того что самому нужно планировать нагрузку на процессор...


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

С уважением, Владислав.
Удачи и попутных трендов.
 
Теоретически, любой советник легким движением руки превращется в скрипт с помощью двух скобок. Вот пример торговли из скрипта:
//+------------------------------------------------------------------+
//|                                                       Revers.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                             http://www.metaquotes.ru/forum/6749/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.ru/forum/6749/"

extern int Slippage=3;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int SymbolOrders;         // количество ордеров по данному символу
   int cnt;                  // счетчик ордеров (обходчик)
   int buyOrders,sellOrders; // количество ордеров в рынке (отложенные не считаем)
   double buyLots,sellLots;  // общий объем открытых ордеров в покупку и продажу
   double reversLot;         // объем разворотного ордера
   int intLots;              // вспомогательная переменная
   int ticket;               // тикет разворотного ордера
      
   if (!IsDemo()) // защита от случайного запуска на реальном счете
      {
      Alert("Работа на реале запрещена!!!");
      return; // завершение работы скрипта
      }
   
   if (OrdersTotal()==0)
      {
      Alert("Ордера не найдены");
      return; // завершение работы скрипта
      }
   
   for(cnt=OrdersTotal()-1;cnt>=0;cnt--) // пройдемся по ордерам
      {
      if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) // если ордер выбран
         {
         if (OrderSymbol()!=Symbol()) continue; // если выбранный ордер не по нашему символу
                                                // - переходим к следующему ордеру  
         if (OrderType()==OP_BUY) 
            {
            buyOrders++;                  // увеличим счетчик ордеров в Buy
            buyLots=buyLots+OrderLots();  // увеличим объем ордеров в Buy
            }
         if (OrderType()==OP_SELL) 
            {
            sellOrders++; // увеличим счетчик ордеров в Sell
            sellLots=sellLots+OrderLots();  // увеличим объем ордеров в Sell
            }
         }
      }

   // Ордера сосчитаны, теперь нужно проверить - есть ли ордера в рынке.
   if (buyOrders+sellOrders==0) 
      {
      Alert("Рыночных ордеров по символу ",Symbol()," найдено");
      return; // завершение работы скрипта
      }      

   // Дошли до этого места - значит ордера все-таки есть
   if (buyOrders*sellOrders!=0) // мы работаем только либо с ордерами Buy либо Sell, но не с обоими
      {
      Alert("Имеем по символу ",Symbol()," ",buyOrders," ордеров в покупку и ",sellOrders,
         "ордеров в продажу. Работа прекращена");
      return; // завершение работы скрипта
      }
      
   // Дошли до этого места - значит имеем ордера только одного типа  
   if(buyOrders>0)
      {
      intLots=2*10*buyOrders; // целое двойное количество лотов      
      reversLot=NormalizeDouble(intLots/10,1); // получили объем разворотного ордера
      RefreshRates();
      ticket=OrderSend(Symbol(),OP_SELL,reversLot,Bid,Slippage,0,0,"revers order",0,0,Red);
      if (ticket<0)
         {
         Alert("Не удалось открыть ордер SELL ",Symbol()," ",reversLot," at ",Bid,"  Ошибка ",GetLastError());
         }
      }

   if(sellOrders>0)
      {
      intLots=2*10*sellOrders; // целое двойное количество лотов      
      reversLot=NormalizeDouble(intLots/10,1); // получили объем разворотного ордера
      RefreshRates();
      ticket=OrderSend(Symbol(),OP_BUY,reversLot,Ask,Slippage,0,0,"revers order",0,0,Blue);
      if (ticket<0)
         {
         Alert("Не удалось открыть ордер SELL ",Symbol()," ",reversLot," at ",Ask,"  Ошибка ",GetLastError());
         }
      }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Однозначно определить глюк ли это терминала связанный с советником или запрет вывода котировок на определенный тф можно при помощи такого теста: открываем в проблемном терминале еще одно окно с проблемной валютой и тем же самым тф... Получается что оба окна одинаковые но на одном есть эксперт а на другом нет...
Ждем возобновления глюка и все сразу станет понятным...
Думаю поднимать вопрос об отключении подачи котировок в ОПРЕДЕЛЕННОЕ окно терминала никто не будет :)

Это первое, что было сделано - я же говорю снял скрины, снимал и перезавешивал экспертов, и сам терминал. Снял и еще по одной паре для сравнения. Ни в одно окно данной пары данного т\ф поступления котировок не было, даже после того как я снял экспертов и презапустил терминал (и даже после переустановки). Зато при переходе на другой номер счета - нет проблем все работает. Потому я так вопрос и сформулировал. Все восстановилось через некоторое время (после того как я увел часть депозита - может восстановилось и раньше, но после, примерно, полутора часов мороки я тормознул торговлю и решил вывести средства от лишних рисков подальше и постоянно за терминалом уже не следил). На остальных терминалах все до сих пор нормально работает.

С уважением, Владислав.
Удачи и попутных трендов.
Причина обращения: