Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
ТОП СООБЩЕНИЙ
31.07.2017, 17:05
Лучший ответ
Выплачено: 182669 RUB
Сообщение от АнтонР85 Посмотреть сообщение
Я конечно может чего то не понимаю, а для чего нужно проверять предыдущую свечу?
Для того чтоб зафиксировать именно факт пересечения, а не выше/ниже.

Сообщение от АнтонР85 Посмотреть сообщение
Да и у человека странные параметры индикаторов. Одни нули.
Ничего странного... Просто он использует параметры индикатора по умолчанию.
31.07.2017, 17:17
Лучший ответ
Выплачено: 24049 RUB
Сообщение от ir0407 Посмотреть сообщение
Для того чтоб зафиксировать именно факт пересечения, а не выше/ниже.
Да все верно, я вспомнил что когда то я делал такой же советник, только там я использовал флаг изменения состояния(сверху вниз пересекла одна другую и и наоборот).
Сообщение от ir0407 Посмотреть сообщение
Ничего странного... Просто он использует параметры индикатора по умолчанию.
А вот этого я не знал.
17.03.2018, 09:56
Лучший ответ
Выплачено: 62740 RUB
Сообщение от АнтонР85 Посмотреть сообщение
Да все верно, я вспомнил что когда то я делал такой же советник, только там я использовал флаг изменения состояния(сверху вниз пересекла одна другую и и наоборот
Привет. Не поможешь решить одну проблему. У меня просто опыта "0" в этих делах. Суть в том что, нужно в имеющийся советник добавить одну функцию, которая при наборе сетки, увеличивала шаг между ордерами. Реально такое вообще сделать или нет? Советник СВБ 4.1.
17.03.2018, 11:13
Лучший ответ
Выплачено: 24049 RUB
Сообщение от Shuriq77 Посмотреть сообщение
Привет. Не поможешь решить одну проблему. У меня просто опыта "0" в этих делах. Суть в том что, нужно в имеющийся советник добавить одну функцию, которая при наборе сетки, увеличивала шаг между ордерами. Реально такое вообще сделать или нет? Советник СВБ 4.1.
Привет! Все что можно сделать руками(и не только), можно закодить. Попробуйте обратится в эту тему Помогите исправить советник или индикатор если у вас есть исходник и он не "декомпил", то возможно там вам кто то сможет помочь. Я могу помочь вам только каким либо советом в плане программирования, так как не модификацией уже готовых, не написанием новых советников я не занимаюсь.
31.07.2017, 16:51
Лучший ответ
Выплачено: 29906 RUB
Сообщение от Evgen35 Посмотреть сообщение
Добрый день!
Подскажите пожалуйста или покажите где уже есть такое.
Есть две MA8 и MA5 в отдельном окне (в подвале), как сделать так чтобы при пересечении закрывался SELL и открывался BUY, в обратном случае - закрывался BUY и открывался SELL.
Вот начал писать такой код, но что-то у меня не выходит. (делал по аналогии других индикаторов)
Для начала... ты же сам сказал "при пересечении", а проверяешь ты что?
MQL код:
if (MA2 > MA1)

MQL код:
if (MA2 < MA1)

это не пересечение, при пересечении нужно проверять ещё и предыдущую свечу!
31.07.2017, 17:03
Лучший ответ
Выплачено: 24049 RUB
Сообщение от Viktor1987 Посмотреть сообщение
при пересечении нужно проверять ещё и предыдущую свечу!
Я конечно может чего то не понимаю, а для чего нужно проверять предыдущую свечу? Да и у человека странные параметры индикаторов. Одни нули.
MQL код:

double MA1 = iCustom(NULL, 0, "Moving Average", 0, 0);
double MA2 = iCustom(NULL, 0, "Moving Average", 0, 0);
  • #1 Свернуть

    MA8 + MA5 в подвале, как написать советника?

    Добрый день!
    Подскажите пожалуйста или покажите где уже есть такое.
    Есть две MA8 и MA5 в отдельном окне (в подвале), как сделать так чтобы при пересечении закрывался SELL и открывался BUY, в обратном случае - закрывался BUY и открывался SELL.
    Вот начал писать такой код, но что-то у меня не выходит. (делал по аналогии других индикаторов)


    MQL код:
    //--------------------------------------------------------------------
    // Signal.mq4
    //--------------------------------------------------------------------
    //extern int Period_MA1=8;
    //extern int Period_MA2=5;
    //--------------------------------------------------------------------
    int start()
    {
    double MA1 = iCustom(NULL, 0, "Moving Average", 0, 0);
    double MA2 = iCustom(NULL, 0, "Moving Average", 0, 0);


    Comment("MA1 = " + DoubleToString(MA1) + "\n" +
    "MA2 = " + DoubleToString(MA2));



    //--------------------------------------------------------------------



    //--------------------------------------------------------------------
    if (MA2 > MA1) //
    {


    //-----------------код закрывает БАЙ ордера--------------------
    int cnt = OrdersTotal();
    for (int i=cnt-1; i>=0; i--) {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
    if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 2);
    //if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 2);
    }
    //-----------------код закрывает БАЙ ордера--------------------




    if(OrdersTotal() == 0) // если нет открытых ордеров то открывать ордер на покупку
    {
    OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, Ask-500*Point, Ask+500*Point); // первым указывается ЛОСЬ, вторым ПРОФИТ
    }
    else
    Print("BUY - ORDER NE USTANOVLEN!!!");
    }





    //--------------------------------------------------------------------
    if (MA2 < MA1) //
    {


    //-----------------код закрывает СЕЛЛ ордера--------------------
    int cnt = OrdersTotal();
    for (int i=cnt-1; i>=0; i--) {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
    if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 2);
    }
    //-----------------код закрывает СЕЛЛ ордера--------------------



    if(OrdersTotal() == 0) // если нет открытых ордеров то открывать ордер на продажу
    {
    OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, Bid+500*Point, Bid-500*Point); // первым указывается ЛОСЬ, вторым ПРОФИТ
    }
    else
    Print("SELL - ORDER NE USTANOVLEN!!!");
    }
    //--------------------------------------------------------------------
    return(0);
    } // Выход из start()
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Сообщение от Evgen35 Посмотреть сообщение
    Добрый день!
    Подскажите пожалуйста или покажите где уже есть такое.
    Есть две MA8 и MA5 в отдельном окне (в подвале), как сделать так чтобы при пересечении закрывался SELL и открывался BUY, в обратном случае - закрывался BUY и открывался SELL.
    Вот начал писать такой код, но что-то у меня не выходит. (делал по аналогии других индикаторов)
    Для начала... ты же сам сказал "при пересечении", а проверяешь ты что?
    MQL код:
    if (MA2 > MA1)

    MQL код:
    if (MA2 < MA1)

    это не пересечение, при пересечении нужно проверять ещё и предыдущую свечу!
    "Правила рынка" (с)

    Комментарий

    • #3 Свернуть

      Сообщение от Viktor1987 Посмотреть сообщение
      при пересечении нужно проверять ещё и предыдущую свечу!
      Я конечно может чего то не понимаю, а для чего нужно проверять предыдущую свечу? Да и у человека странные параметры индикаторов. Одни нули.
      MQL код:

      double MA1 = iCustom(NULL, 0, "Moving Average", 0, 0);
      double MA2 = iCustom(NULL, 0, "Moving Average", 0, 0);

      Комментарий

      • #4 Свернуть

        Сообщение от АнтонР85 Посмотреть сообщение
        Я конечно может чего то не понимаю, а для чего нужно проверять предыдущую свечу?
        Для того чтоб зафиксировать именно факт пересечения, а не выше/ниже.

        Сообщение от АнтонР85 Посмотреть сообщение
        Да и у человека странные параметры индикаторов. Одни нули.
        Ничего странного... Просто он использует параметры индикатора по умолчанию.

        Комментарий

        • #5 Свернуть

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

          Комментарий

          • #6 Свернуть

            Сообщение от АнтонР85 Посмотреть сообщение
            Да все верно, я вспомнил что когда то я делал такой же советник, только там я использовал флаг изменения состояния(сверху вниз пересекла одна другую и и наоборот
            Привет. Не поможешь решить одну проблему. У меня просто опыта "0" в этих делах. Суть в том что, нужно в имеющийся советник добавить одну функцию, которая при наборе сетки, увеличивала шаг между ордерами. Реально такое вообще сделать или нет? Советник СВБ 4.1.

            Комментарий

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

              Сообщение от Shuriq77 Посмотреть сообщение
              Привет. Не поможешь решить одну проблему. У меня просто опыта "0" в этих делах. Суть в том что, нужно в имеющийся советник добавить одну функцию, которая при наборе сетки, увеличивала шаг между ордерами. Реально такое вообще сделать или нет? Советник СВБ 4.1.
              Привет! Все что можно сделать руками(и не только), можно закодить. Попробуйте обратится в эту тему Помогите исправить советник или индикатор если у вас есть исходник и он не "декомпил", то возможно там вам кто то сможет помочь. Я могу помочь вам только каким либо советом в плане программирования, так как не модификацией уже готовых, не написанием новых советников я не занимаюсь.

              Комментарий

              working...
              X