Да! Может! И ищо как! 99% нагрузки на сервет. ДЦ не просто забанет, да ищо и штраф на гругленькую саму випишет!
Шучу!
Такой нагрузки от такого кода они даже не заметят! ;-)
Бл.... Зачем ж так пугать?
Спасибо.
Price("Ask") потому что пока крутится цикл (т.е. пока нет открытых позиций), может прийти уже множество тиков, и просто Ask будет неактуальной и тогда-то он может достать сервер.
Функция Price("Ask") берет цену из файла, в который записывает цену другой советник, работающий паралельно в другом окне на том же фин. инструменте, но уже без зацикливаний.
OrderTicket() и OrderLots() во второй части определены, просто я опустил этот фрагмент кода т.к. интересовал только OrdersTotal() - откуда он берет инфу о кол-ве ордеров: с сервера, тем самым как-то нагружая его или из терминала MT, не касаясь сервера ДЦ.
Функция Price("Ask") берет цену из файла, в который записывает цену другой советник, работающий паралельно в другом окне на том же фин. инструменте, но уже без зацикливаний.
Как раз об этом и говорил. В данном случае большая вероятность нарваться на грабли, легче перед функцией OrderSend() поставить RefreshRates().
Функция Price("Ask") берет цену из файла, в который записывает цену другой советник, работающий паралельно в другом окне на том же фин. инструменте, но уже без зацикливаний.
Удивительный наворот. Чем RefreshRates(); не угодил?
Кстати, нахожу совершенно бессмысленной команду Sleep(333); сразу после попытки открыть/закрыть ордер. Притормаживать работу эксперта рекомендуется только после определенных неудачных попыток открыть/закрыть ордер.
Как часто Sygnal выдает сигнал действовать?
Если честно, про RefreshRates() я просто не знал, СПАСИБО ЗА ДЕЛЬНЫЙ СОВЕТ.
А без Sleep(333) советник сильно грузит проц т.к. while (OrdersTotal() < 1) может выполняться очень долго, т.е. Sygnal может долго не выдавать сигнал действовать. Без Sleep(333) один запущеный советник грузит проц на 100%, а с ним 20-30 таких советников работают одновременно совершенно свободно.
Если честно, про RefreshRates() я просто не знал, СПАСИБО ЗА ДЕЛЬНЫЙ СОВЕТ.
А без Sleep(333) советник сильно грузит проц т.к. while (OrdersTotal() < 1) может выполняться очень долго, т.е. Sygnal может долго не выдавать сигнал действовать. Без Sleep(333) один запущеный советник грузит проц на 100%, а с ним 20-30 таких советников работают одновременно совершенно свободно.
Понятно. Я не пользуюсь зацикливанием, т.к. нахожу непродуктивным делать рассчеты и/или проверки раз за разом при том факте, что на терминал не пришло ни одного тика, т.е. ихсодные данные остаются неизменными. Также не нахожу особого смысла проводить расчеты каждый тик. Но если уж так прется, то вешаю советник на пару, которая "тикает" чаще всех - это для меня отменный компромис. Зацикленная программа дает мало выгод при огромном количестве потенциальных проблем и постоянной заботе о решении этих проблем. Просто закапываешься в этом геморе вместо того, чтобы уделять время чему-то идейному.
Понятно. Я не пользуюсь зацикливанием, т.к. нахожу непродуктивным делать рассчеты и/или проверки раз за разом при том факте, что на терминал не пришло ни одного тика, т.е. ихсодные данные остаются неизменными. Также не нахожу особого смысла проводить расчеты каждый тик. Но если уж так прется, то вешаю советник на пару, которая "тикает" чаще всех - это для меня отменный компромис. Зацикленная программа дает мало выгод при огромном количестве потенциальных проблем и постоянной заботе о решении этих проблем. Просто закапываешься в этом геморе вместо того, чтобы уделять время чему-то идейному.
Все верно в том случае если твоя стратегия затрагивает один фин. инструмент. А мне необходимо отслеживать движения не только на конкретной паре, поэтому пока она не "тикает" исходные данные могут измениться.
Все верно в том случае если твоя стратегия затрагивает один фин. инструмент. А мне необходимо отслеживать движения не только на конкретной паре, поэтому пока она не "тикает" исходные данные могут измениться.
Совершенно верно, именно когда надо следить за всеми парами, я вешаю советника, к примеру, на GBPJPY, которая тикает чаще всех. Это совсем маленький компромис, т.к. я понимаю, что тикая чаще всех, GBPJPY всё-таки может пропустить тик-два на какой-то другой паре, но мне даже было лень исследовать частоту таких пропусков, т.к. советники ни разу не проявили раздражающим меня образом - пропуская изменения в цене на других парах. Предлагаю подумать над этим - скорее всего самая частотикающая пара изменит свою цену между тиками других пар, нежели наоборот.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Я новичок в программировании mql4. Знаю, что ДЦ может "забанить" советника, который сильно нагружает их сервер. Хотелось бы узнать может ли такой код советника нагрузить сервер ДЦ? Заранее спасибо.
int start()
{
.........................
.........................
while (OrdersTotal() < 1)
{
if (Sygnal == "Buy")
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Price("Ask"),20,0,0,"",16384,0,CLR_NONE);
}
Sleep(333);
}
while (OrdersTotal() > 0)
{
if (Sygnal == "Close")
{
OrderClose(OrderTicket(),OrderLots(),Price("Bid"),20,CLR_NONE);
Sleep(333);
}
return(0);
}