![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что такое массив физически - набор однотипных переменных расположеных друг за другом с одного адреса - только не спрашивайте больше, если Вы не в курсе как организована память в ЭВМ, то начинать нужно будет с организации адресации - просто считайте, что все ячейки идут подряд - это примерно соотвествует действительности.
У Вас в алгоритме есть еще одна существенная ошибка, которая к счастью легко исправляется - я этого делать не стал - потому как алгоритм не мой. А именно при поиске локальных экстремумов у Вас в расчетах участвует последний бар, нулевой (когда shift=1, тогда shift-1 = 0), а этого быть не должно, поскольку для последнего бара единственно достоверно известная цена - это его открытие, ни хай, ни лоу не известны - то есть они могут меняться. Для того, чтобы это исправить в цикле for(shift=Bars-1;shift>=1;shift--) замените нестрогое неравенство на строгое, то есть на "shift>1", тогда последний бар для которого будет произведен поиск экстремума будет не 1, а 2 и все станет нормально.
В чистом виде Демарка не использую субъективно - не нравится соотношение профит\лосс, хотя торговля по этому индюку, что я выкладывал, профитная - торговал сам и знаю достаточно большое количество народа, которые так и продолжают торговать. ИМХО - его сигналы нужно фильтровать я, например, сейчас пытаюсь добавить трендовый фильтр по Ганну. Вроде все.
Удачи.
Я обязательно проанализирую твой индикатор,но для этого нужно время, как ты сам видишь их вывод решения сильно отличаются, а представленную мною версии я использую.
Удачи.
ObjectCreate("TargetPriceUp"+DoubleToStr(MathMod(shift,1),5), OBJ_HLINE, 0, TimeofMaximum[0][0], TargetPriceUp,TimeofMaximum[1][0], TargetPriceUp);
ObjectSet("TargetPriceUp"+DoubleToStr(MathMod(shift,1),5), OBJPROP_STYLE, STYLE_DOT);
ObjectSet("TargetPriceUp"+DoubleToStr(MathMod(shift,1),5), OBJPROP_COLOR, Blue);
ObjectSet("TargetPriceUp"+DoubleToStr(MathMod(shift,1),5), OBJPROP_WIDTH, 1);
Удачи.
If Close[shift] > TrendPriceUp[2,1] AND Close[shift+1] <= TrendPriceUp[1,1]
AND TrendPriceUp[1,1] >= TrendPriceUp[2,1]
Then {MinPrice = Low[Lowest(MODE_LOW, shiftofMaximum[1,1], shiftofMaximum[1,1] - shift)];
TargetPriceUp = (TrendPriceUp[2,1] - MinPrice) + TrendPriceUp[2,1];
Пока застрял со своими программами - попозже смогу заняться твоим Демарком, если еще будет актуально.
Удачи.
У Демарка мне что-то нравиться, а что-то нет, а что-то я не понимаю почему именно так и какие-то его разработки приходится брать за правило (например формулы расчета ценовых проекторов).
Владислав, кинь ссылку на ветку по Демарку в пауке. Выложенный здесь второй перевод твоего индикатора не прорисовывает ценовой прорыв, наверное где-то опечатка. Выложи, пожалуйста, еще раз здесь твоего Демарка с правильным переводом и так чтобы ценовые проекторы прорисовывались всегда (вне зависимости от прорвана или нет TD-линия).
Я считаю тему Демарка, возможно очень, перспективной, и надеюсь с твоей помощью довести ее до ума.