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

Статистика
Мини-чат
Поиск
Наш опрос
Используете ли вы роботов ?
1. Вручную веселее
2. Да, на реале
3. Пока только на демо
4. Не могу освоить
5. А что это ?
Всего ответов: 3
Друзья сайта
  • Форумы Альпари
  • Пятница, 10.05.2024, 18:39
    Приветствую Вас Гость | RSS
    Главная | Регистрация | Вход
    Строки-Блоки - Страница 2 - Форум
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 2 из 2
    • «
    • 1
    • 2
    Форум » Техника анализа рынка » Советники на базе МТ-4 » Строки-Блоки
    Строки-Блоки
    DikonsДата: Среда, 22.10.2014, 20:13 | Сообщение # 21
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    Вывод сообщения в окошке, если в опциях робота некорректные настройки
    (в данном случае - проверка на разрешение торговать в одну из сторон:
    к примеру в опциях есть две настройки:
    Buys = false;  ( запрещено покупать)
    Sells = true;   ( разрешено продавать)
    если обе выставлены false - вывести в окошко сообщение об этом и вернуть управление терминалу)


    if(!Buys && !Sells)  {MessageBox("В настройках робота опции:"
                +"\nBuys = false  и Sells = false"
                +"\n\n - хотя бы одна из этих опций должна быть true"
                +"\n (если обе опции true - робот будет работать в обе стороны одновременно)"
                +"\n\n ",name,MB_OK|MB_ICONSTOP);
                               return 0;}


    параметр name предъопределён заранее в шапке робота строкой, к примеру :
    string name = "Робот Лесенка - 001";
    и будет выведен в заголовке окошка.
     
    DikonsДата: Пятница, 21.11.2014, 01:20 | Сообщение # 22
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- проверяем - это свежий старт, или уже был цикл...
         double Prof, HisLot;
         int Tip;
         for(int d=0; d<OrdersHistoryTotal( ) ;d++)
        {
          OrderSelect(d, SELECT_BY_POS, MODE_HISTORY);
          if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
                 Prof  = OrderProfit();   // прибыль/просадка последнего ордера
                 HisLot= OrderLots();     // лот последнего ордера
           }
        }
        if(HisLot>HisMaxLot)HisMaxLot=HisLot;
       if (Prof<0 && ULots>0) // если Prof<0  => был убыток => увеличиваем лот...
          {
             if(ULots<2)Lot = HisLot+MinLot;
             if(ULots>1)Lot = HisLot+HisLot;
          }
     
    DikonsДата: Воскресенье, 13.03.2016, 19:22 | Сообщение # 23
    *******
    Группа: Администраторы
    Сообщений: 332
    Репутация: 2
    Статус: Отключен
    //---- Ищем максимумы и минимумы азиатской сессии (первых 8 свечей Н1 в сутках)

      int h=TimeHour(TimeCurrent());  // сначала узнаем текущий терминальный час (0...23)
        double Maxi=iHigh(NULL,PERIOD_H1, iHighest(NULL,PERIOD_H1,MODE_HIGH,8,h-7));
        double Mini=iLow(NULL,PERIOD_H1,iLowest(NULL,PERIOD_H1,MODE_LOW,8,h-7));

    Блок работает корректно на любом периоде графика.
    К примеру, если на графике включен период М15, или Н4, или D1... - блок всё равно высчитает экстримумы 8 свечей Н1 от начала суток.
     
    Форум » Техника анализа рынка » Советники на базе МТ-4 » Строки-Блоки
    • Страница 2 из 2
    • «
    • 1
    • 2
    Поиск:

    © Dikons 14.07.2011