Results 1 to 9 of 9

Thread: Проблема с EA

  1. #1
    У меня есть пользовательский закрытый на основе RSI, он дает более высокое значение RSI с более высокого временного кадра ...
    И я хочу создать базу EA.
    Поэтому в EA я использую iCustom для получения информации из нее ...

    Проблема заключается в следующем:

    - Значение, получаемое от iCustom, неточно

    если я помещаю пользовательскую внутреннюю часть на диаграмму, находясь в визуальном режиме, это даст значение, как я ожидал. Но не в EA это само ...

    Поэтому я решил использовать стандартный RSI (возможно, его мой CI).
    Но получается то же самое ...

    поэтому я использую код, который я использую:
    в EA я поставил это
    ___
    double rsi = iRSI (Symbol (), PERIOD_H4,14, PRICE_CLOSE, getBarShift (PERIOD_H4,0));

    Комментарий (rsi:, rsi);
    ___
    //с функцией

    int getBarShift (int timeframe, int shift) {
    double time = iTime (NULL, 0, shift);
    возврат (iBarShift (NULL, сроки, время));
    }

    И если вы создадите крытый с этим ...
    он должен дать как тот же результат ....

    Кстати, я использую 1-часовую диаграмму для тестирования.

    Но я замечаю, что в комментарии значение меняется на каждом баре (но оно должно меняться каждые 4 бара, как CI)
    но не на indior (он отлично работает) ...

    Похоже, что EA не может точно получить 4-часовое значение RSI ...

    любой намек на это .....

    Спасибо

  2. #2

    Quote Originally Posted by ;
    int getBarShift (int timeframe, int shift) {double time = iTime (NULL, 0, shift); возврат (iBarShift (NULL, сроки, время)); }
    Нет времени, чтобы проверить себя сегодня, но вот что я вижу на первый взгляд ... Даты хранятся как целое число в 4 байта, верно? Вы переменная определяется как double, возможно, вы теряете данные в результате. Попробуйте определить время как дату и посмотреть, что вы получаете.

  3. #3
    Я поставил только это в EA: double rsi = iRSI (NULL, PERIOD_H4, RsiPeriod, PRICE_CLOSE, 0); Комментарий (rsi:, rsi); И только это в одном обычном двойном индексе rsi = iRSI (NULL, PERIOD_H4, RsiPeriod, PRICE_CLOSE, 0); Буфер [0] = rsi; IndiorShortName (rsi); Пользовательский индекс не показывает ничего ... (Нет строки), поэтому мне нужно добавить double rsi = iRSI (NULL, PERIOD_H4, RsiPeriod, PRICE_CLOSE, getBarShift (PERIOD_H4,0)); чтобы иметь возможность просматривать строку (И данные верны). Поэтому я уверен, что есть проблема с EA, когда вы пытаетесь получить доступ к более высокому временному кадру (или я ошибаюсь, и код плохой). . indior делает это работа, но не EA ... Есть какие-либо проблемы с проблемой такого рода проблем? Если это так ... это большая проблема ... многие EA используют более высокую временную рамку ... Так что тестирование будет неверным ...

  4. #4

    Quote Originally Posted by ;
    Нет времени, чтобы проверить себя сегодня, но вот что я вижу на первый взгляд ... Даты хранятся как целое число в 4 байта, верно? Вы переменная определяется как double, возможно, вы теряете данные в результате. Попробуйте определить время как дату и посмотреть, что вы получаете.
    Ваше право, это не должно быть двойным, но datetime, так как iTime возвращает datetime ... Я действительно работал над прошлой ночью :-) Но это ничего не меняет ... Почему? Они оба дают одинаковое значение в любом случае (хорошо или неправильно)! они строятся одинаково ... Я отправлю как EA, так и CI ... Если кто-нибудь может мне помочь ... или скажите мне, если это обычный beaviour для MT4 EA ... Кажется, что EA не делает вернуть значение RSI так же, как пользовательский indior делает ...

  5. #5
    2 Вложение должно быть проверено на 1,5,15 или почасовом графике ... Данные RSI должны дать в любой момент значение свечи 4H. Но это не так ... Мистерий ...
    Пожалуйста, помогите мне ... Ps .: я заметил, что, когда мы доходим до конца графика, мы видим хорошее значение RSI ...
    https://www.forex-russian.com/attach...1140873215.mq4
    https://www.forex-russian.com/attach...1044165411.mq4

  6. #6
    Вложений: 1 Как вы видите, EA показывает мне 60 ... Внутренний показ мне 62, и я знаю, что в помещении показывают хороший результат ...

  7. #7
    Найден ответ. Поскольку RSI использует PRICE_CLOSE, мы не можем использовать текущее значение свечи, потому что закрытие не существует и во время запуска EA оно не дает текущее значение, как это делает live. Я использовал свечу 4H, чтобы получить значение rsi в течение 15 минут, поэтому единственная действительная свеча - 4x4 (15mx4h) 16 или вторая свеча 4H ...

  8. #8
    Здравствуйте, Zeuzere. Если вы счастливы использовать предыдущее значение на панели 4h, вы можете просто использовать: double rsi = iRSI (Symbol (), PERIOD_H4, RsiPeriod, PRICE_CLOSE, 1); и номер rsi должен быть таким же во всех таймфреймах, на которые вы положили свою диаграмму. (В основном я запускаю свой советник на диаграмме 1М, чтобы получить все данные) К сожалению, я не мог помочь вам с текущим значением бара, которое вы хотите увидеть на диаграмме ..... Возможно, вы можете попробовать использовать Refresh () .. ... но не уверен, что это сработает или нет. Надеюсь, это поможет.

  9. #9

    Quote Originally Posted by ;
    Если вы счастливы использовать предыдущее значение на панели 4h
    Нет, это была моя проблема ... В реальном реальном путешествии я должен использовать текущий 4-х бар, но поскольку он не дал бы правильной ценности в советнике при проверке системы, это была моя проблема ... Итак, я должен использовать его по-разному в EA, поэтому я должен использовать Delayed bar, или он даст ложный результат ... И это грустно ... Представьте, сколько людей строят EAs (каждый индекс, который использует близко к вычислению, дает ложный результат). Когда вы тестируете, вы хотите имитировать покупку и продажу базы в своей системе ... В EA у меня нет выбора, чтобы сделать ее небольшим смещением, чтобы иметь хороший результат. Поэтому я должен использовать isTesting (), чтобы знать, если я живу или тестирую и использую double rsi = iRSI (Symbol (), PERIOD_H4, RsiPeriod, PRICE_CLOSE, 0 Offset); Ps .: Каждый, кто создает EA, принимает меры предосторожности, если вы используете близкую ценность ... Есть также Indior, которые используют close, поэтому текущее значение неточно.

Действующие разрешения

  • Вы не можете создавать новые темы
  • Вы не можете размещать ответы
  • Вы не можете использовать вложения
  • Вы не можете редактировать ваши записи
  •  
  • BB-код - Вкл.
  • Смайлики - Вкл.
  • Код [IMG] - Вкл.
  • Код [VIDEO] - Вкл.
  • HTML-код - Выкл.
Веб-сайт использует cookies
Веб-сайт использует cookies, в настоящее время некоторые из них уже установлены. Вы можете ознакомиться с более подробной информацией об использовании нами cookies здесь. Чтобы принять условия использования cookies, пожалуйста, нажмите на кнопку справа. Если вы продолжаете пользоваться веб-сайтом, вы по умолчанию принимаете условия использования cookies.