Техника на Форекс
Вход на сайт

Статистика
Мини-чат
Поиск
Наш опрос
Разделить Илана на буйного и сольного ?
1. Мне фиолетово, и так всё работает, как надо
2. Желательно
3. Да, это уменьшит ресурсы
Всего ответов: 1
Друзья сайта
  • Форумы Альпари
  • Четверг, 09.05.2024, 15:50
    Приветствую Вас Гость | RSS
    Главная | Регистрация | Вход
    Строки-Блоки - Форум
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 2
    • 1
    • 2
    • »
    Форум » Техника анализа рынка » Советники на базе МТ-4 » Строки-Блоки
    Строки-Блоки
    DikonsДата: Вторник, 15.11.2011, 21:22 | Сообщение # 1
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    Сюда будем сливать коды готовых строк и блоков
    для роботов (и индюков).
     
    DikonsДата: Вторник, 15.11.2011, 21:31 | Сообщение # 2
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    Строки, начинающиеся с // - необязательные комментарии и терминалом игнорируются.

    // шапка робота
    //+------------------------------------------------------------------+
    //| Имя_Робота.mq4 |
    //| © 2011 автор |
    //| http://www.avtor.ru |
    //+------------------------------------------------------------------+
    #property copyright "© 2011 автор"
    #property link "http://www.avtor.ru"

    #define MAGICMA 123456789 // "опознавательный" номер ордеров робота
     
    DikonsДата: Вторник, 15.11.2011, 21:35 | Сообщение # 3
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    // задать параметры МА (скользящей средней)...

    //... имя и период МА
    extern int ma0_period = 69;

    //... смещение вперёд на кол-во свечей
    int ma0_shift = 0;

    // ... метод вычисления
    // 0-MODE_SMA (Simple); 1-MODE_EMA (Exponential);2-MODE_SMMA (Smoothed); 3-MODE_LWMA (Linear);
    int ma0_method = 3;

    // ... по ценам
    // 0-CLOSE, 1-OPEN, 2-HIGH, 3-LOW, 4-MEDIAN, 5-TYPICAL, 6-WEIGHTED
    int ma0_price = 3;
     
    DikonsДата: Воскресенье, 20.11.2011, 00:27 | Сообщение # 4
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Блок проверки на открытые ордера и свободные средства для торговли

    extern double Lots=0.1;
    ...
    ...
    if(OrdersTotal()<1)
    {
    if(AccountFreeMargin()<(1000*Lots))
    {
    Print("У вас недостаточно денег. Свободные средства = ", AccountFreeMargin());
    return(0);
    }
    }
     
    DikonsДата: Воскресенье, 20.11.2011, 01:27 | Сообщение # 5
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Ускоряем робота, если для работы нужны не все тики

    if(Minute()<5) return; // робот будет работать только в каждые 5-ь минут

    или

    if(Volume[0]>1) return; // будет работать на первом тике нового бара текущего периода
     
    DikonsДата: Воскресенье, 20.11.2011, 01:30 | Сообщение # 6
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Проверка на достаточное количество баров в истории
    //---  Блок полезен для тестирования роботов, а также и для их работы, если в них заложен алгоритм,
    //---    требующий большого числа данных истории, например МА с периодом 200 и более...
     
    DikonsДата: Воскресенье, 20.11.2011, 01:31 | Сообщение # 7
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Установка стоп-уровня в пунктах от текущей цены и открытие ордера (вверх или вниз)

    extern int SU= 28;
    ...
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-SU*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
    ...
    OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+SU*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
     
    DikonsДата: Среда, 21.12.2011, 15:55 | Сообщение # 8
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Автоопределение оптимального лота
    //--- лот увеличивается на величину StartLot при увеличении депозита на заданное число Krat

     
    DikonsДата: Суббота, 24.12.2011, 15:00 | Сообщение # 9
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Блок определения ордеров конкретного робота
    //...
     
    DikonsДата: Понедельник, 26.12.2011, 19:14 | Сообщение # 10
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Функция удаления своих ордеров

     
    DikonsДата: Воскресенье, 04.03.2012, 18:46 | Сообщение # 11
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Ждать ли роботу новый цикл ?
    //---   (к примеру, пересечение двух МА)

     
    DikonsДата: Воскресенье, 04.03.2012, 20:42 | Сообщение # 12
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Звуки на ордерах:
     
    DikonsДата: Воскресенье, 04.03.2012, 23:16 | Сообщение # 13
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Закрытие ордера с использованием счётчика - на случай если сервер его не закрыл с первого раза:
     
    DikonsДата: Воскресенье, 04.03.2012, 23:35 | Сообщение # 14
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Ищем максимумы и минимумы последних 8 свечей

    double Maxi=High[iHighest(NULL,0,MODE_HIGH,8,1)];
    double Mini=Low[iLowest(NULL,0,MODE_LOW,8,1)];
     
    DikonsДата: Четверг, 04.04.2013, 19:30 | Сообщение # 15
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Стандартный трал:

     
    DikonsДата: Воскресенье, 07.04.2013, 11:02 | Сообщение # 16
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Автокоррекция величины Point под значность ДЦ и множитель для индикаторов:

    double PointX, PN;
    if(Digits==5 || Digits==3) { PointX = Point * 10; PN=100000;}
    else {PointX = Point; PN=10000;
    }
     
    DikonsДата: Воскресенье, 07.04.2013, 11:07 | Сообщение # 17
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Определение макс и мин цены предыдущего дня, и 50% между ними:

    double Max, Min, Par;
    Max=iHigh(NULL,PERIOD_D1,1);
    Min=iLow(NULL,PERIOD_D1,1);
    Par=(Max-Min)/2+Min;


    //---- выводим построчно на экран:

    Comment("Макс преддня = ",Max,
    "\nМин преддня = ",Min,
    "\nПаритет = ",Par);
     
    DikonsДата: Четверг, 09.05.2013, 23:11 | Сообщение # 18
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    Торговые операции (типы ордеров):
    Константа    Значение   Описание


    OP_BUY          0        Покупка
    OP_SELL         1        Продажа
    OP_BUYLIMIT     2        Отложенный ордер BUY LIMIT
    OP_SELLLIMIT    3        Отложенный ордер SELL LIMIT
    OP_BUYSTOP      4        Отложенный ордер BUY STOP
    OP_SELLSTOP     5        Отложенный ордер SELL STOP
     
    DikonsДата: Воскресенье, 09.06.2013, 22:00 | Сообщение # 19
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Проверим триггеры в настройках робота, может они все отключены пользователем:

       if (!Север && !Юг && !Триггеры && !Свечи && !AC && !DF && !Период_MA && !Период_CCI && !Период_RSI)
          {
             Alert ("Ошибка: в настройках робота отключены все триггеры ! Должен быть включен хотя бы один."); return;
          }
     
    DikonsДата: Понедельник, 10.06.2013, 00:37 | Сообщение # 20
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    Математические функции:


    //--- убрать ударный минус  (абсолютное значение числа)
    Print MathAbs(-8);
    //--- результат:  8



     
    Форум » Техника анализа рынка » Советники на базе МТ-4 » Строки-Блоки
    • Страница 1 из 2
    • 1
    • 2
    • »
    Поиск:

    © Dikons 14.07.2011