Форум трейдеров » Торговые роботы, советники, индикаторы » Вопросы программирования
+ Подписаться
Страница 21 из 87 ПерваяПервая ... 1119202122233171 ... ПоследняяПоследняя
  1. 119
    Комментарии
    3
    Темы
    119
    Репутация Pro
     
    В начале пути

    2 Медалей
    Цитата Сообщение от yuripk Посмотреть сообщение
    Передавайте одномерный массив вместо переменной, размер же массива будет равен 1 (?).
    не, не получается. Компилятор ругается либо на стороне модуля вызываемой функции, либо на стороне вызывающей. :(
    Цитата Сообщение от EQU Посмотреть сообщение
    Просто в С все жизненно-важные хидеры подключаются по умолчанию(ручками ли, или через ИДЕ), а в MQL4 надо думать, что подцепить, и, САМОЕ ГЛАВНОЕ, как подцепить..
    На самом деле на C пишут подо всё, например QNX/ARM или Solaris/SPARC. Си очень мощный язык в плане гибкости. А в MQL4... разработчики перестарались кастрируя Си в MQL, ИМХО. Надеюсь в MQL5 будет лучше.

    По реквоту... никогда про него не слышал, но могу предположить, что requote с какой-нибудь возвращаемой ошибкой связан. Ловин ошибку - принимаем решение, не?
  2. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от egg Посмотреть сообщение
    А в MQL4... разработчики перестарались кастрируя Си в MQL, ИМХО. Надеюсь в MQL5 будет лучше.
    Возможно, что и так..;)
    Я если пишу сейчас (редко, правда - ни желания, ни потребностей нет) - пишу проги чисто в своём блокноте (аналог notepad).. ))))
    Пользую только WinAPI..
    Компилю (спасибо Борланд за бесплатно выложенный софт) ресурсы, код..
    И получаю средней сложности продукт (ну, типа, МС Ворд;)) размером в полсотни килобайт..

    редактор MQL - тот же блокнот.. Оч неудобный, правда.. Но отписать позволяет всё..
    А С ли, MQL ли - дальше возможностей операционы не уйти..
  3. 119
    Комментарии
    3
    Темы
    119
    Репутация Pro
     
    В начале пути

    2 Медалей
    Теперь яснее стало )) Под Си имею ввиду сам язык, а не "студию". )) А редактор - главное подсветка конструкций и автопереносы строк ;)
    Сам код не пишу - проверяю чужой.
    Советники нужны для личных нужд избавления от эмоций. :)
  4. 959
    Комментарии
    25
    Темы
    967
    Репутация Pro
     
    В начале пути

    4 Медалей
    Цитата Сообщение от egg Посмотреть сообщение
    не, не получается. Компилятор ругается либо на стороне модуля вызываемой функции, либо на стороне вызывающей. :(
    Возможно следует передавать в переменной, а вернуть в массиве, размер которого предварительно обнулить.
  5. 119
    Комментарии
    3
    Темы
    119
    Репутация Pro
     
    В начале пути

    2 Медалей
    Цитата Сообщение от yuripk Посмотреть сообщение
    Возможно следует передавать в переменной, а вернуть в массиве, размер которого предварительно обнулить.
    не, никак. Пробовал по-разному - не получалось. Но уже выделил свою функцию в отдельный модуль. Также подрисовал две пары функций паковки и распаковки. (Хорошо, что приведение типов нормально работает.) Контроля длинны массива нет.
    PHP код:
    #property library

    #include <seemsThatThereIsNoFlat.mqh>

    void seemsThatThereIsNoFlat(double &parameters[],int k 0)
    {
      
    paramsUnPack(parameters);
      
    /* code */
      
    paramsPack(parameters);

    Хедер модуля с глобальными для модуля переменными.
    PHP код:
    double NEIGH_FACTOR;
    int    CRITERIA;
    int    SEVEN;
    double FLAT_COEFFICIENT;

    bool   signal;
    bool   upper_signal;
    double upper;
    double upstp;
    bool   lower_signal;
    double lower;
    double lwstp;

    void paramsPack(double &params[])
    {
      
    params[0] = signal;
      
    params[1] = upper_signal;
      
    params[2] = upper;
      
    params[3] = upstp;
      
    params[4] = lower_signal;
      
    params[5] = lower;
      
    params[6] = lwstp;
    }

    void paramsUnPack(double &params[])
    {
      
    NEIGH_FACTOR params[7];
      
    CRITERIA params[8];
      
    SEVEN params[9];
      
    FLAT_COEFFICIENT params[10];

    Хедер для основной программы (с противоположными пакующей и распаковывающей) с переменными, хоть и имеющими такие же названия, как в "подмодуле", но глобальными для основного. (Подмодуль их не видит. Часть из них изменяема на тестере - параметры советника. Пытался также шаманить "экстерном" в подмодуле - не получилось.)
    PHP код:
    #import "seemsThatThereIsNoFlat.ex4"
      
    void seemsThatThereIsNoFlat(double &params[]);
    #import

    extern double NEIGH_FACTOR 0.10/* 10 percents */
    extern int    CRITERIA 3;
    extern int    SEVEN 50/* DEFENSIVE PROGRAMMING */
    extern double FLAT_COEFFICIENT 0.75;

    bool   signal;
    bool   upper_signal;
    double upper;
    double upstp;
    bool   lower_signal;
    double lower;
    double lwstp;
    /* ЗДЕСЬ ВНИМАНИЕ! Не надо ошибаться с количеством переменных! */
    double p[11];

    void paramsPackExt(double &params[])
    {
      
    params[7] = NEIGH_FACTOR;
      
    params[8] = CRITERIA;
      
    params[9] = SEVEN;
      
    params[10] = FLAT_COEFFICIENT;
    }

    void paramsUnPackExt(double &params[])
    {
      
    signal params[0];
      
    upper_signal params[1];
      
    upper params[2];
      
    upstp params[3];
      
    lower_signal params[4];
      
    lower params[5];
      
    lwstp params[6];

    И Использование в основном модуле.
    PHP код:
    #include <seemsThatThereIsNoFlatExt.mqh>

    int start()
    {
      
    paramsPackExt(p);
      
    seemsThatThereIsNoFlat(p);
      
    paramsUnPackExt(p);
      if(
    signal) break;
      
    /* an part of code */
      
    return(0);

  6. 119
    Комментарии
    3
    Темы
    119
    Репутация Pro
     
    В начале пути

    2 Медалей
    Так-с, первая (0.02) версия отработалась. Стратегия - поиск флэта. Если флэт обнаружен, то ставим стопы сверху и снизу. Один сработал - удаляем оставшийся. У сработавшего стопа подтягиваем стоп-лосс, если цена движется в нужном направлении. Тейк-профита нет.

    Сейчас передо мной стоит задача научиться распознавать флэты. Речь пока еще не идет о полноценной торговой системе.

    Позиции 0.1 лота. На USDJPY за 9 месяцев думаю, что для начала неплохие результаты. С ходу попробовал на QQQ Nasdaq 100 Index Tracking Stock, на AA Alcoa, на INTC Intel мизерное количество сделок и направлены в слив, на HPQ M5, M15, H1 - сделок мизер. Мизерное количество сделок из-за редкости флэта (в моем понимании) на рынке. Можно увеличить, ослабив критерии для флэта. Но не могу много времени уделить тестированию-оптимизации этой функции.

    Так же сходу оттестировал на EURJPY M15, тоже думаю, что для начала не очень плохо.

    На евро-баксе сделок не было вообще.

    Хотелось бы получить оценку перспективна ли стратёжка?

    (Естественно, не претендую на почет. Просто если вам нравится идея, то возможно стать сообщниками.)

    UPDATE: Потестировал на разных валютных парах - сделок вообще нет. %)
    :thumbsup_002:
      
    Вложения Вложения
  7. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от egg Посмотреть сообщение
    Так-с, первая (0.02) версия отработалась.
    ...
    Платформа, похоже, 4-знаковая, судя по величине стопа в имени файла и символам..

    Если планируешь на конкурс выйти - в БрокоИнвест 5 цифирь после запятой, и 10 в стопе превращается в ничто..
  8. 119
    Комментарии
    3
    Темы
    119
    Репутация Pro
     
    В начале пути

    2 Медалей
    Цитата Сообщение от EQU Посмотреть сообщение
    Если планируешь на конкурс выйти - в БрокоИнвест 5 цифирь после запятой, и 10 в стопе превращается в ничто..
    Спасиб...
    :)
    Броко-Инвестом еще ни разу не пользовался, но у меня уровни легко настраиваемы.
    Вот только с открытием по маркету видимо проблемки будут, но тоже думаю решаемо - открытие и модификацию ордеров тоже в отдельные функции вынес.
  9. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от egg Посмотреть сообщение
    Спасиб...
    :)
    Броко-Инвестом еще ни разу не пользовался, но у меня уровни легко настраиваемы.
    Вот только с открытием по маркету видимо проблемки будут, но тоже думаю решаемо - открытие и модификацию ордеров тоже в отдельные функции вынес.
    Лучше отложенники пользуй - при маркетехе - одна возможность при затребованной цене открыться.. И с закрытием повнимательней - оно на след тик будет..
  10. 119
    Комментарии
    3
    Темы
    119
    Репутация Pro
     
    В начале пути

    2 Медалей
    Цитата Сообщение от EQU Посмотреть сообщение
    И с закрытием повнимательней - оно на след тик будет..
    Это о закрытии и по маркету, и по SL, и по TP? :unsure:

Вверх
РегистрацияX

чтобы писать, читать, комментировать