Logo

Вход

Войти с помощью соц. сетей
Пока нет объявлений.
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
ТОП СООБЩЕНИЙ
17.05.2015, 01:58
Лучший ответ
Сообщение от olegasia Посмотреть сообщение
Все это я пробовал, но мне надо было открывать только один ордер на одном временном участке, когда я выделял по тикету или номеру я не мог определить ордер был открыт в 4 часа или в 8, а по условию в 4 часа я мог открыть лишь один ордер (в случае срабатывания условия).
А если так записать.
MQL код:

int t[7];

for(int i=0; i<7; i++)
{
t[i]=i*4;
}

for(i=0; i<7; i++)
{
if(OrdersTotal()==0 && Hour()==t[i] && Minute()==0)
{
//открываем ордер
}
}

Конечно, это не единственное, может быть и не правильное решение. Но, в этом направлении можно быстрее добиться желаемого. В формулах лучше подставлять не абсолютные значения, а переменные, которые можно оптимизировать.
Сообщение от olegasia Посмотреть сообщение
Что касается тестирования на другой паре, то скорее всего эти параметры не дадут максимальную прибыль, а может и вовсе уйдут в минус, но мне интересна была конкретная валюта.
Даже на конкретной валюте в будущем это не даст никакой гарантии, что будет работать так же. Вы же не можете проверить эту систему на устойчивость. Тест на истории - это оптимизация на одном ее участке и проверка с этими параметрами на другом.
22.08.2015, 13:48
Лучший ответ
Сообщение от olegasia Посмотреть сообщение
Лично я торгую с мая месяца включительно и пока не было убыточного периода, что касается тестирования, то с января все месяцы давали прибыль, но это лишь на бумаге. В 2014 году 3 месяца были в убытке, остальные давали плюс. Для разгона нужна более изощренная стратегия, пока надо завершить ту стратегию, что пишу, а потом можно будет взяться за другую. Видите сколько нужно тестировать и изменять достаточно простую стратегию, чтобы она работала правильно. Напишешь алгоритм, кажется что все учел, а потом появляется деталь, которая не позволяет правильно выполнять условия торговли. Пока написал свою стратегию пару месяцев я ее пересчитывал в ручном режиме, потом пару недель ушло на правильное составление кода, оптимизация и вот торгую в тестовом режиме пока торговля будет идти в рамках расчетного.
Да, уже знаю теперь. Вообще раньше я не сталкивалась с процессом тестирования нового бота (только что написанного). признатся думала что путь этот формален а как оказывается, - очень не простое это дело и нервное))). Правильно нужно алгоритм старый довести до ума, удачи. Хотела ещё спросить какие риски закладываете, общие и на сделку одну? И как я поняла мартин не предусмотрен, да??
27.08.2015, 22:55
Лучший ответ
Сообщение от olegasia Посмотреть сообщение
После того как я написал для себя советник и проверил ее работоспособность я как бы остался не у дел, ведь просто наблюдать как торгует советник и снимать прибыль довольно таки скучное занятие. Вот я и начал искать что то подходящее, брал разные стратегии, писал под них советники, но как то не складывалась логическая цепочка. Тут ж мне понравилось завершенность торговой стратегии, плюс сами механизмы, которые заложены в ней. В общем думаю теперь можно применять различные варианты, а как заменять эти параметры думаю вы уже знаете и труда не составит поэкспериментировать. Думаю фокусов больше советник не будет выдавать, ну а если что, всегда можно будет исправить и так довести его до совершенства.
Да бросьте, он уже совершенства, если не считать доливок он торговал так же как я руками, вернее быстрее, лучше то есть. Я просто на седьмом небе))), жду с нетерпением исправление функции доливок на третий бар, недоразумение такое досадное вдруг произошло(. Но всё равно я уже вижу что моя ТС ожила. Кстати всё что я вложила в неё моя придумка на 100%, мне казалось что ничего в этом нет, и мне приятно очень Ваша высокая оценка её.
31.08.2015, 23:45
Лучший ответ
Сообщение от Dinamo Посмотреть сообщение
Я тоже скальпинг люблю, особенно на новостях.
А мне новости лень смотреть). Что с ними что без, вот есть правила и главное уследить что бы всё так протекало как задумывалось, - вовремя вход и выход, но в ручную теперь - это в прошлом, спасибо большое топик стартеру)!!!
04.09.2015, 20:57
Лучший ответ
Сообщение от Nila Посмотреть сообщение
Но стоп же это не реально, правильно?)
Я как посмотрел там стоп спокойно можно устанавливать и 50, но это нужно проверять экспериментальным путем. Я например смотрю на максимальную просадку и оттуда вывожу свой риск, просто так можно максимально использовать свой депозит. Нужно понимать, что со временем этот депозит теряет силу по ряду причин, а в нашу задачу входит максимально безопасно вызжать из него прибыль.
08.09.2015, 21:39
Лучший ответ
Сообщение от olegasia Посмотреть сообщение
Робо та еще конторка, я в их сторону даже не смотрю, времени жаль терять. Раньше еще был ММСАй, но эта конторка закрылась. Их тоже можно понять, всем хочется богатеть, но ума не хватает правильно вести свой бизнес, вот и прибегают к различным ухищрениям, чтобы обделять своих трейдеров. Но бог с ними, они и того не стоят, чтобы вообще о них что то писать. Ну а насчет советника, то я вот подумываю не сравнивать ли с положением параболика на высшем интервале?
Поверьте для высших интервалов есть у меня другие три вещи, одну я Вам представила на суд, ещё две пусть ожидают своей очереди). Что до бота, - сегодня запустила на реал, все сделки в плюсе закрыты на евро-дол, одна доливка только в -40 центов. Пока на настоящий момент прибыль по закрытым ордерам почти 10%)), плюс в рынке позиция тоже в плюсе, в общем с 0,01 не сходили)). Чуть позже мониторинг будит, пока не разобралась где лучше(.
  • #1 Свернуть

    Мой первый советник

    У меня долго не получалось разработать свой код, но собрав все свое желание я своего добился и теперь предоставляю на всеобщее обозрение первый советник. Пока он дает не плохие результаты в тестере стратегий, в реальной же торговле торгует первый месяц. Я принимаю любые замечания и критику по поводу советника.
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Принцип торговли прост, при пересечении мувинга открываю ордер на покупку или продажу в зависимости от того снизу он пересек или сверху. После написания советник произвел оптимизацию по определенным интервалам времени и в последствии все результаты обобщил. Скачать советник можно по этой ссылке. А вот и сам код:
    MQL код:
    //+------------------------------------------------------------------+
    //| DeleteOrder.mq4 |
    //| Copyright 2015, MetaQuotes Software Corp. |
    //| [url]https://www.mql5.com[/url] |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link "https://www.mql5.com"
    #property version "1.00"
    #property strict
    extern int ma_shift=1;
    extern int depoz=7000;

    //+------------------------------------------------------------------+
    //| Expert initialization function |
    //+------------------------------------------------------------------+
    int OnInit()
    {
    //---

    //---
    return(INIT_SUCCEEDED);
    }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
    {
    //---

    }
    //+------------------------------------------------------------------+
    //| Expert tick function |
    //+------------------------------------------------------------------+
    void OnTick()
    {
    int HH=Hour();
    int ma_period=21;
    int b1=11;
    int b2=6;
    int b3=3;
    if(HH==0)
    {
    ma_period=19;
    b1=12;
    b2=5;
    b3=2;
    }
    if(HH==4)
    {
    ma_period=21;
    b1=12;
    b2=7;
    b3=1;
    }
    if(HH==8)
    {
    ma_period=20;
    b1=11;
    b2=7;
    b3=4;
    }
    if(HH==12)
    {
    ma_period=17;
    b1=12;
    b2=9;
    b3=3;
    }
    if(HH==16)
    {
    ma_period=21;
    b1=12;
    b2=9;
    b3=3;
    }
    if(HH==20)
    {
    ma_period=12;
    b1=11;
    b2=9;
    b3=2;
    }
    double MA1=iMA(NULL,PERIOD_CURRENT,ma_period,ma_shift,MOD E_SMA,PRICE_CLOSE,0);
    double MA=NormalizeDouble(MA1,3);
    int k=0;
    double buy=MA-Low[1];
    double sell=High[1]-MA;
    int per=Period()/60;
    datetime Hh=iTime(NULL,0,0);
    datetime hH=Hh+per*3600;
    int mag=0;
    int Magic=iTime(NULL,0,0)/(3600*per);


    //Перебор открытых и отложенных ордеров.
    if(OrdersTotal()>0)
    {
    for (int tt=0; tt<OrdersTotal();tt++)
    {
    if(OrderSelect(tt, SELECT_BY_POS)==true)
    {
    if(OrderMagicNumber()==Magic)
    {
    mag++;
    break;
    }
    }
    }
    }
    //конец перебора открытых и отложенных ордеров.
    //Условие открытия ордера.
    if(mag==0)
    {
    //часть на покупку
    if(MA>Close[1]&&MA>Open[0]&&buy>0&&buy<=0.6&&Low[0]>=Low[1])
    {
    if(buy<=0.1)
    {
    k=b1;
    }
    if(buy<=0.2&&buy>=0.1)
    {
    k=b2;
    }
    if(buy<=0.6&&buy>=0.2&&buy>=0.1)
    {
    k=b3;
    }
    double Lot1=depoz/(200000*buy);
    double Lot=NormalizeDouble(Lot1,2);
    double SL1=Low[1];
    double SL=NormalizeDouble(SL1,3);
    double TP1=MA+k*(MA-Low[1])+(Ask-Bid);
    double TP=NormalizeDouble(TP1,3);
    double MA2=MA+(Ask-Bid);
    double MA3=NormalizeDouble(MA2,3);
    int orderbuy=OrderSend(Symbol(),OP_BUYSTOP,Lot,MA3,3,S L,TP,NULL,Magic,hH,Green);
    }
    //
    //часть на продажу
    if(MA<Close[1]&&MA<Open[0]&&sell>0&&sell<=0.6&&High[0]<=High[1])
    {
    if(sell<=0.1)
    {
    k=b1;
    }
    if(sell<=0.2&&sell>=0.1)
    {
    k=b2;
    }
    if(sell<=0.6&&sell>=0.2&&sell>=0.1)
    {
    k=b3;
    }
    double Lot1=depoz/(200000*sell);
    double Lot=NormalizeDouble(Lot1,2);
    double SL1=High[1]+(Ask-Bid);
    double SL=NormalizeDouble(SL1,3);
    double TP1=MA-k*(High[1]-MA);
    double TP=NormalizeDouble(TP1,3);
    int orderbuy=OrderSend(Symbol(),OP_SELLSTOP,Lot,MA,3,S L,TP,NULL,Magic,hH,Red);
    }
    //
    }
    //конец условия открытия ордера.
    //удаление отложенного ордера в случае срабатывания условия
    for (int tik=0; tik<OrdersTotal();tik++)
    {
    if(OrderSelect(tik, SELECT_BY_POS)==true)
    {
    int tt=OrderType();
    int tiik=OrderTicket();
    if(tt==4&&Low[0]<Low[1])
    {
    int tk=OrderDelete(tiik,Green);
    }
    if(tt==5&&High[0]>High[1])
    {
    int tk=OrderDelete(tiik,Red);
    }
    }
    }
    //
    }
    //+------------------------------------------------------------------+

    Комментарий

    • #3 Свернуть

      Прежде всего опишу советник. Работает он на четырехчасовом таймфрейме, валютная пара йена евро, в данном случае лот рассчитывается исходя из депозита 7000 рублей. Советник написан исключительно для бонусного депозита. Вся оптимизация сделана в этих условиях и ни на другой паре, ни в другом таймфрейме он не даст никаких результатов. Это не универсальный код, он разработан под конкретные условия. Может это минус, но поставленная мной задача решена в такой трактовке.

      Комментарий

      • #4 Свернуть

        Зачем такие жесткие условия? Вы предлагаете скачать. Но если советник заточен под работу с определенным ДЦ, смысл его скачивать? Опишите условия ДЦ, как открыть бонусный счет и прочее. А то скачаю, а в инсте он не работает и как быть? Просим подробности если можно.
        Время уносит того, того кем я был и вот кем я стал.
        https://forexdengi.com/threads/12443...vli?p=19299551

        Комментарий

        • #5 Свернуть

          Сообщение от olegasia Посмотреть сообщение
          Я принимаю любые замечания и критику по поводу советника.
          Вопросы по коду советника.
          1. Ваш код.

          MQL код:
          [quote="olegasia;12577897"]void OnTick()
          {
          int HH=Hour();
          int ma_period=21;
          int b1=11;
          int b2=6;
          int b3=3;
          if(HH==0)
          {
          ma_period=19;
          b1=12;
          b2=5;
          b3=2;
          }
          if(HH==4)
          {
          ma_period=21;
          b1=12;
          b2=7;
          b3=1;
          }
          if(HH==8)
          {
          ma_period=20;
          b1=11;
          b2=7;
          b3=4;
          }[/quote]

          Вопрос такой. С какой целью каждый час нужно изменять период машки? Имеет ли это какой-то практический смысл или это просто подгонка под историю?
          Распишем значение МАшки на каждый час по логике приведенного кода:
          НН=0, ma_period=19
          НН=1, ma_period=21
          НН=2, ma_period=21
          НН=3, ma_period=21
          НН=4, НН<=8, ma_period=21
          НН=9, ma_period=20
          НН=10, ma_period=21
          Объясните, для чего нужно выделять именно четырехкратные значения НН для изменения периода МА? В остальное время период равен 21.

          2. Разберем этот участок кода.
          MQL код:

          [quote="olegasia;12577897"]int per=Period()/60;
          datetime Hh=iTime(NULL,0,0);
          datetime hH=Hh+per*3600;
          int mag=0;
          int Magic=iTime(NULL,0,0)/(3600*per);[/quote]

          Не ругается ли компилятор на возможную потерю данных при преобразовании вещественного типа переменной в целую? Зачем нужно делить при вычислении магика, если по логике нужно отнять, что бы получить количество секунд в текущем периоде? И еще. Какой смысл подгонять магик к времени открытия ордера или вообще как-то его изменять, если кроме установки ордера он больше нигде не используется? Может быть, лучше сделать его постоянным, задавать в настройках, тогда уж точно советник не спутает свои ордера с чужими?

          3. Не кажется ли Вам, что это противоречивое условие?
          Сообщение от olegasia Посмотреть сообщение
          MQL код:
          if(sell<=0.2&&sell>=0.1)
          Сообщение от olegasia Посмотреть сообщение
          MQL код:
          if(buy<=0.2&&buy>=0.1)
          А здесь явно что-то лишнее?
          Сообщение от olegasia Посмотреть сообщение
          MQL код:
          if(sell<=0.6&&sell>=0.2&&sell>=0.1)
          Сообщение от olegasia Посмотреть сообщение
          MQL код:
          if(buy<=0.6&&buy>=0.2&&buy>=0.1)
          Последний раз редактировалось Gold; 18.05.2015, 17:52. Причина: исправил цитирование

          Комментарий

          • #6 Свернуть

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

            Комментарий

            • #7 Свернуть

              Сообщение от Sanic Посмотреть сообщение
              С какой целью каждый час нужно изменять период машки? Имеет ли это какой-то практический смысл или это просто подгонка под историю?
              Сперва я написал обобщенный код без такой коррекции данных. Потом оптимизировал его при этих условиях и в отдельно на каждом часовом баре. После объединения последнего варианта отношение прибыль убытки получил максимальную. В сущности оптимизация и есть подгонка, тогда зачем ее применяют?
              Сообщение от Sanic Посмотреть сообщение
              Не ругается ли компилятор на возможную потерю данных при преобразовании вещественного типа переменной в целую?
              Ругается, но мне нужно получить число по которому я выделяю отложенные ордера, лучшего ничего придумать не смог, код естественно не профессионально написан, но факт, что работает.
              Сообщение от Sanic Посмотреть сообщение
              Не кажется ли Вам, что это противоречивое условие?
              А эти условия одновременно не срабатывают, посмотрите эти два условия ограничены оператором
              MQL код:
              if(MA>Close[1]&&MA>Open[0]&&buy>0&&buy<=0.6&&Low[0]>=Low[1])
              , т.е если срабатывает это условие, переходим на проверку
              MQL код:
              if(sell<=0.2&&sell>=0.1)
              т.е. показатель sell должен находится между 0,2 и 0,1.

              Комментарий

              • #8 Свернуть

                А в чем у него преимущество перед другими советниками? То что он заточен именно под конкретные условия, а не обобщенный алгоритм?
                Время уносит того, того кем я был и вот кем я стал.
                https://forexdengi.com/threads/12443...vli?p=19299551

                Комментарий

                • #9 Свернуть

                  Сообщение от olegasia Посмотреть сообщение
                  В сущности оптимизация и есть подгонка, тогда зачем ее применяют?
                  Попробуйте прогнать в тестере за другой период исторический котировок с установленными Вами параметрами, тогда поймете, чем оптимизация отличается от подгонки.
                  Сообщение от olegasia Посмотреть сообщение
                  Ругается, но мне нужно получить число по которому я выделяю отложенные ордера, лучшего ничего придумать не смог, код естественно не профессионально написан, но факт, что работает.
                  Будет работать, потому что ему не с чем сравнивать свои ордера. Так будет работать даже если Вы вообще не будете вводить магик. А если хотите с магиком, то выносите его в настройки и задавайте целым числом. Не надо, что бы оно менялось в процессе программы. При сопровождении ордеров советник должен отличать их по этому номеру. Для отличия ордеров между собой существует тикет, который для каждого ордера свой.
                  Сообщение от olegasia Посмотреть сообщение
                  А эти условия одновременно не срабатывают, посмотрите эти два условия ограничены оператором
                  MQL-Код:
                  MQL код:
                  if(MA>Close[1]&&MA>Open[0]&&buy>0&&buy<=0.6&&Low[0]>=Low[1])
                  Все, что расписано в скобках, срабатывает одновременно. На это указывает оператор &&.
                  Сообщение от olegasia Посмотреть сообщение
                  т.е. показатель sell должен находится между 0,2 и 0,1.
                  А в Вашем случае он должен находиться одновременно до 0.1 и выше 0.2

                  Комментарий

                  • #10 Свернуть

                    Сообщение от Sanic Посмотреть сообщение
                    Для отличия ордеров между собой существует тикет, который для каждого ордера свой.
                    Все это я пробовал, но мне надо было открывать только один ордер на одном временном участке, когда я выделял по тикету или номеру я не мог определить ордер был открыт в 4 часа или в 8, а по условию в 4 часа я мог открыть лишь один ордер (в случае срабатывания условия). Что касается тестирования на другой паре, то скорее всего эти параметры не дадут максимальную прибыль, а может и вовсе уйдут в минус, но мне интересна была конкретная валюта.
                    MQL код:
                    if(buy<=0.6&&buy>=0.2&&buy>=0.1)
                    Вы правы тут явно лишняя эта часть &&buy>=0.1, т.е. тут buy должен быть меньше 0,6 , но больше 0,2, Ошибка чисто механическая, просто не подумал, хотя работа кода от этого не исказится. Если buy больше 0,2 , то он само собой будет больше 0,1. Я протестил и результаты совпали.
                    Последний раз редактировалось olegasia; 16.05.2015, 20:00.

                    Комментарий

                    • #11 Свернуть

                      Сообщение от olegasia Посмотреть сообщение
                      Все это я пробовал, но мне надо было открывать только один ордер на одном временном участке, когда я выделял по тикету или номеру я не мог определить ордер был открыт в 4 часа или в 8, а по условию в 4 часа я мог открыть лишь один ордер (в случае срабатывания условия).
                      А если так записать.
                      MQL код:

                      int t[7];

                      for(int i=0; i<7; i++)
                      {
                      t[i]=i*4;
                      }

                      for(i=0; i<7; i++)
                      {
                      if(OrdersTotal()==0 && Hour()==t[i] && Minute()==0)
                      {
                      //открываем ордер
                      }
                      }

                      Конечно, это не единственное, может быть и не правильное решение. Но, в этом направлении можно быстрее добиться желаемого. В формулах лучше подставлять не абсолютные значения, а переменные, которые можно оптимизировать.
                      Сообщение от olegasia Посмотреть сообщение
                      Что касается тестирования на другой паре, то скорее всего эти параметры не дадут максимальную прибыль, а может и вовсе уйдут в минус, но мне интересна была конкретная валюта.
                      Даже на конкретной валюте в будущем это не даст никакой гарантии, что будет работать так же. Вы же не можете проверить эту систему на устойчивость. Тест на истории - это оптимизация на одном ее участке и проверка с этими параметрами на другом.
                      Последний раз редактировалось Gold; 18.05.2015, 17:57.

                      Комментарий

                      • #12 Свернуть

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

                        Комментарий

                        • #13 Свернуть

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

                          Комментарий

                          • #14 Свернуть

                            Сообщение от Sanic Посмотреть сообщение
                            Можно и на одной, только для возможности проведения оптимизации нужно все параметры выносить в настройки.
                            просто советник писал для себя и по началу у меня были выведены наружу, но потом поленился обобщить и изменял код внутри советника. У меня есть пока возможность протестировать с 2014 года по сегодняшний день, больше не позволяет платформа, когда скачал архив, то получилась какая то билибирда, даже на том участке где показывал плюс получался минус, да и данные не совпадали. Что касается оптимизации кусками, это даст следующее: я приблизительно же знаю сколько убыточных месяцев в году, да и двух убыточных месяцев не было с 14 года, вот если результат изменится и произойдет подрят два месяца убытков, то можно оптимизировать и избежать в последствии таких случаев до определенного времени.

                            Комментарий

                            • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
                            • #15 Свернуть

                              Сообщение от olegasia Посмотреть сообщение
                              А вот и сам код:
                              MQL код:
                              int HH=Hour();
                              int ma_period=21;
                              int b1=11;
                              int b2=6;
                              int b3=3;
                              if(HH==0)
                              {
                              ma_period=19;
                              b1=12;
                              b2=5;
                              b3=2;
                              }
                              if(HH==4)
                              {
                              ma_period=21;
                              b1=12;
                              b2=7;
                              b3=1;
                              }
                              if(HH==8)
                              {
                              ma_period=20;
                              b1=11;
                              b2=7;
                              b3=4;
                              }
                              if(HH==12)
                              {
                              ma_period=17;
                              b1=12;
                              b2=9;
                              b3=3;
                              }
                              if(HH==16)
                              {
                              ma_period=21;
                              b1=12;
                              b2=9;
                              b3=3;
                              }
                              if(HH==20)
                              {
                              ma_period=12;
                              b1=11;
                              b2=9;
                              b3=2;
                              }
                              В таких случаях, чтобы не городить кучу if-ов, юзайте switch
                              MQL код:
                              int ma_period, b1, b2, b3;

                              switch(Hour())
                              {
                              case 0: ma_period=19; b1=12; b2=5; b3=2; break;
                              case 4: ma_period=21; b1=12; b2=7; b3=1; break;
                              case 8: ma_period=20; b1=11; b2=7; b3=4; break;
                              case 12: ma_period=17; b1=12; b2=9; b3=3; break;
                              case 16: ma_period=21; b1=12; b2=9; b3=3; break;
                              case 20: ma_period=12; b1=11; b2=9; b3=2; break;
                              default: ma_period=21; b1=11; b2=6; b3=3;
                              }
                              Правила форума | КИСА | Акция «Деньги за посты» | Как вставить картинку?

                              Комментарий

                              X