[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 493

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

Да.

 
merkulov.artem:
Добрый вечер! Вопрос, если я использую советник. ДЦ сможет просмотреть алгоритм его работы и как он ведет обсчет значений (индикаторы, анализ исторических данных) т.е. полностью код советника? Или ДЦ получает только инфу по командам: открытию, модификации и закрытию позиций?
Нет, ДЦ не может вникнуть в процесс работы советника. Сервер ДЦ только получает команды с вашего МТ (купить, продать и т.д.).
 
ребята!!!!!! где можно скачать простой советник МА при пересечении 2х линии по последним данным? большенство работают по средней линии которые взяты из истории котировок. и желательно такой же индикатор 
 
bikrus13:
ребята!!!!!! где можно скачать простой советник МА при пересечении 2х линии по последним данным? большенство работают по средней линии которые взяты из истории котировок. и желательно такой же индикатор 
Что значит "по последним данным"? Последние данные - это какие.  не из истории, а из будущего что-ли)? Уточните. Просто интересно - впервые такое "слышу".
 
kakin:
Что значит "по последним данным"? Последние данные - это какие.? Уточните. Просто интересно - впервые такое "слышу".

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

Скажите, можно на демо щету в нужный момент запретить советнику сообщения принтов? Может даже убрав его с графика. Я так понимаю, эта функция полностью его не остановит, лиш доследующего тика, или же остановит? BreakPoint();

void BreakPoint(){//if (!IsVisualMode()) return(0);
keybd_event(19,0,0,0);
Sleep(10);
keybd_event(19,0,2,0);}                    
 
Видимо конечно не остановит, но можно ли вообще в нужный момент убрать робота с графика программно?
 
bikrus13:

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

 Сейчас я изучаю как написать один советник в плане понимания исходного кода, т.к. советник написан очень качественно.

 Но один момент странный там.

void FindOrders()
{
// - 1 - == Инициализация переменных перед поиском ======================================
   int total = OrdersTotal() - 1;
   g_type = -1;                                    // На текущий момент у нас нет позиций
// - 1 - == Окончание блока =============================================================
 
// - 2 - == Непосредственно поиск =======================================================
   for (int i = total; i >= 0; i--)                // Используется весь список ордеров
      if (OrderSelect(i, SELECT_BY_POS))           // Убедимся, что ордер выбран
         if (MathFloor(OrderMagicNumber()) == i_magicNumber &&// Ордер открыт
             OrderSymbol() == Symbol())            // ..экспертом, который прикреплен к..
         {                                         // ..текущей паре
            g_ticket = OrderTicket();              // Запишем данные ордера
            g_type = OrderType();
         } 
// - 2 - == Окончание блока =============================================================
}

 Почему количесво всех ордеров присваивается OrdersTotal() - 1, а не просто OrdersTotal()?

 Ведь, если всего ордеров 0, то значение total будет -1, а не 0

 
hoz:

 Сейчас я изучаю как написать один советник в плане понимания исходного кода, т.к. советник написан очень качественно.

 Но один момент странный там.

 Почему количесво всех ордеров присваивается OrdersTotal() - 1, а не просто OrdersTotal()?

 Ведь, если всего ордеров 0, то значение total будет -1, а не 0

Посмотрите где потом используется total. Скорей всего потом идёт цикл перебора ордеров for (i=0; i<=total; i++).