Ошибка Моланиса Кто-нибудь? - страница 2

 
JDeel:

deVries, дело в том, что EA Builders существует не просто так. И причина в том, что программирование MQL4 и особенно MQL5 не так просто, как кажется.

"На этом форуме было несколько тем, где требовалось исправить код, который был сделан EABuilder".

Правда. И тонны топиков по той же причине, но без использования EA Builder!

Разница в том, что человек, который не использовал какой-либо EA Builder, имеет небольшое представление, поэтому может быть в состоянии научиться чему-то, когда ему помогают ... что касается того, что кодирование легко, ну, если вы не можете справиться с чем-то простым, как кодирование, тогда у вас нет шансов в торговле, это в 1000 раз сложнее.
 

JDeel:

....... Дело в том, что EA Builders существует не просто так.

.

Тогда он должен делать свою работу хорошо, если вы можете использовать его по той причине, по которой он сделан.

До сих пор вы не доказали мне, что Если вы думаете, что это помощь, то вы ошибаетесь, когда этот продукт не делает свою работу хорошо

.

Поэтому я снова прошу вас. Докажите нам, что вы можете правильно закодировать советника с помощью вашего инструмента.

Стандартный образец MACD - это хороший советник для тестирования, но внутри этого советника есть достаточно причин, почему вы не можете использовать стандартный советник на реальном счете.

но вы уже сделали несколько советников с ним ..... один из них для меня также достаточно хорош для проверки того, насколько хорош ваш инструмент.

Я думаю, что самая большая проблема, с которой вы всегда будете сталкиваться, используя инструменты для создания советников, это то, что вы не знаете или никогда не научитесь читать и изменять код...

Если вы дадите нам полный .mq4 код советника, созданного с помощью вашего лучшего инструмента, и докажете нам, что он правильно кодирует, тогда вы сможете дать такой совет для этого инструмента.

До сих пор я не видел, чтобы вы это делали... или кто-то другой...

 

Сборщики кода - это те, кто старается делать вещи тем способом, который кажется самым простым, а не тем, который кажется самым лучшим, потому что обычно лучший способ требует больше усилий.

 

RaptorUK

:

Разница в том, что человек, который не использовал какой-либо EA Builder, имеет небольшое представление, поэтому может быть в состоянии научиться чему-то, когда ему помогут... что касается того, что кодировать легко, ну, если вы не можете справиться с чем-то простым, как кодирование, то у вас нет шансов в торговле, это в 1000 раз сложнее.


SDC
:

Создатели кода - это те, кто пытается сделать все так, как проще всего, а не так, как лучше, потому что обычно лучший способ требует больше усилий.


А, значит... компьютеры лучше всего справляются с торговлей, и поэтому без человека можно обойтись.

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

Но если серьезно, я считаю, что в моем первоначальном сообщении уже признана ценность программистов-людей. Я просто обновляю 5-минутную самопровозглашенную тираду 2010 года своим недавним опытом. До сих пор я видел много обобщений о EA builder и ни одного опыта пользователя SB. Я бы просто сказал, если вы не можете модифицировать код SB по своему вкусу, тогда не используйте его.

Если вас действительно интересует пример MACD, вы можете получить бесплатную пробную версию SB, а затем найти на сайте примеры советников (MACD-EA2.mol). Мне пришлось добавить расширение mol при выполнении команды Save Target As. В общем, следуйте приведенным инструкциям. Вы получите ex4 для тестирования, но не получите mq4 без покупки Pro-версии. Тем не менее, я еще не видел функционального ex4 с дефектным mq4 от SB. У меня есть MACD-EA2.mq4 (у меня Pro версия), но я не уверен, как действует авторское право, потому что я не создавал этот советник (это их пример советника). Если вы просто хотите протестировать любой mq4 советник, я прилагаю простой советник с 3 EMA, который я тестировал на функциональность в свое время. Он вызывает пользовательский indi, который также прилагается. А теперь я действительно должен остановиться или потребовать зарплату от компании.

 

EA (с инди):

Файлы:
3_emas_ea.mq4  89 kb
 
Инди:
Файлы:
 

Почему бы нам не начать программировать на ассемблере? Мы можем управлять всем на самом низком доступном уровне (после машинного кода). Да, это потребует больше усилий для изучения, но мы обязательно получим такой маленький и супер оптимизированный код! Это просто потрясающе, вы не находите, люди?

deVries, Molanis - не мой инструмент, и я никогда не создавал советников с его помощью. Но я вижу, что вы не являетесь поклонником EA Builders, и я могу посоветовать вам никогда не пытаться работать с ними. Просто используйте MQL4/MQL5, это не запрещено. Есть люди, которым больше всего нравится розовый цвет, и люди, которым больше всего нравится голубой цвет. Так было всегда и так будет и впредь.

 
Мне нравится смешивать розовый и голубой, чтобы получить фиолетовый.
 

Ichi_Cloud_EA.mql4 без особого порядка

  1. внешний Is_micro_account вместо вычисления его через Market_info
  2. Использование micro_account и NormalizeDouble предполагает, что lotStep равен 0.1 0r 0.01. Никакие другие значения, определенные брокером, не допускаются.
  3. внешние пятизначные цифры вместо вычисления. Только тест на 3 или 5 позволяет стандартные пары, пары типа jpy. Торговля металлами FAIL. Почему тест для недействительных настроек.
  4. глобальный PipMultiplier никогда не сбрасывается обратно при изменении графика.
  5. Многие внешние bools не могут быть проверены стратегией.
  6. Нет причин использовать два магических числа
  7. Будет торговать только в часы между TradingStartTime и TradingEndTime. Нет возможности установить время больше полуночи (например, начало 2000, конец 0600, т.е. только для сиднейской сессии).
  8. Использует PreviousBarCount==Bars. Бары ненадежны (максимум баров на графике) Объем ненадежен (вы можете пропустить тики), всегда используйте время.
  9. использует iClose(Symbol(),0,1) вместо более простого и быстрого Close[1].
  10. в Init Slippage = Slippage*PipMultiplier; означает КАЖДЫЙ РАЗ при смене графика (пары или таймфрейма) Slippage увеличивается на 3 , 30, 300, 3000!!!
  11. magiccond и другие bool используют if (condition) boolVar = true; else boolVar = false; когда он мог бы использовать более простой boolVar = condition;
  12. Никогда не кэширует значения, если (iClose() <> iCustom()) точно такие же вызовы iClose и iCustom вызываются 4+ раз.
  13. Подсчитывает при закрытии. вызывает функцию дважды. Подсчет вверх означает, что он пропустит каждый второй ордер. Вызов функции дважды означает, что она пропустит 4 или более открытых ордеров. Всегда считайте вниз.
  14. "M-ERROR : Expiration has to be at least 1 minute." только что было сообщение о том, что период истечения должен быть больше 10 минут!
  15. Для отложенного ордера вызывает Normaliszedouble(price, Digits), который не будет работать, если ticksize != Point
    double NormalizePrice(double p, string pair=""){
        // https://forum.mql4.com/43064#515262 zzuegg reports for non-currency DE30:
        // MarketInfo(chart.symbol,MODE_TICKSIZE) returns 0.5
        // MarketInfo(chart.symbol,MODE_DIGITS) return 1
        // Point = 0.1
        // Prices to open must be a multiple of ticksize
        if (pair == "") pair = Symbol();
        double ts = MarketInfo(pair, MODE_TICKSIZE)
        return( MathRound(p/ts) * ts );
    }
    double NormalizeLots(double lots, string pair=""){
        if (pair == "") pair = Symbol();
        double  lotStep     = MarketInfo(pair, MODE_LOTSTEP),
                minLot      = MarketInfo(pair, MODE_MINLOT);
        lots            = MathRound(lots/ls) * ls;
        if (lots < minLot) lots = 0;    // or minLot
        return(lots);
    }
    

 
Спасибо за вашу диагностику, WHRoeder. Некоторые из этих ограничений были бы очевидны для пользователя при просмотре торговой диаграммы в SB. Например, в SB ордера не могут быть закрыты путем подсчета (#13). Вариантами могут быть закрытие всех лонгов, закрытие всех шортов, SL, TP и/или TS. Выражаю благодарность RaptorUK за размещение его кода на Always count down в качестве исправления этой проблемы для моих будущих советников. Да, я также прочитал ваше соответствующее обсуждение. Очевидно, что другие проблемы, которые вы обнаружили, никогда не затрагивали мой советник просто из-за моего стиля торговли. Например, в моих стратегиях не используются отложенные ордера, поэтому #15 никогда не возникал. По аналогичным причинам проблемы с № 1 по № 7 также никогда не возникали. Тем не менее, другие, такие как #10, должны были повлиять на мой советник в какой-то момент, поэтому их очень полезно знать.