AntFX 6,474 Share Posted October 4, 2016 В чем ошибка? Все зависит от структуры индикаторных буферов конкретного индикатора Quote 1 Link to post Share on other sites
al_sokol 0 Share Posted October 4, 2016 спасибо за ответ... Правильно ли я понял, что работу такого индикатора в работе торгового робота уже нельзя использовать? Quote Link to post Share on other sites
AntFX 6,474 Share Posted October 4, 2016 (edited) Вам нужно открыть "Окно данных" в МТ4 и посмотреть нужные номера индикаторных буферов. А вообще в том, что касается использования конкретных пользовательских индикаторов, лучше всего спрашивать совета у их автора. Edited October 4, 2016 by AntFX Quote 1 Link to post Share on other sites
ZeleBoba 662 Share Posted October 6, 2016 (edited) Подскажите пожалуйста, как из советника загрузить на график отдельный индикатор или может быть активировать ранее сохраненный шаблон? Вопрос снят. нашел: ChartApplyTemplate Edited October 6, 2016 by ZeleBoba Quote Лучше маленький профит, чем большие рога. Link to post Share on other sites
42569dugsy 0 Share Posted October 9, 2016 (edited) Доброго дня всем кто подскажет с функцией допустим если цена находится по времени где "1" то минимальная цена должна браться зеленая, а если цена будет находится где "2" то минимальная цена должна браться красная Edited October 9, 2016 by 42569dugsy Quote Link to post Share on other sites
ToB. CyxoB 324 Share Posted October 9, 2016 (edited) Доброго дня всем кто подскажет с функцией допустим если цена находится по времени где "1" то минимальная цена должна браться зеленая, а если цена будет находится где "2" то минимальная цена должна браться красная Распиши в деталях почему когда 1, цена берется там, а когда 2 - тут? другими словами, почему нельзя наоборот - тут когда цена 2, и там когда цена 2 Edited October 9, 2016 by ToB. CyxoB Quote Link to post Share on other sites
42569dugsy 0 Share Posted October 9, 2016 Распиши в деталях почему когда 1, цена берется там, а когда 2 - тут? другими словами, почему нельзя наоборот - тут когда цена 2, и там когда цена 2 ну допустим есть есть функция void GetMinPrice() { for (int i=0; i<BarCount; i++) { mp =iLow(Symbol(), PERIOD_CURRENT,i); if(mp < minprice) minprice = mp; } return; } которая находит минимальную цену за определенное количество баров, мне нужно что бы он оставлял предыдущую минимальную цену если появилась новая минимальная цена Quote Link to post Share on other sites
ToB. CyxoB 324 Share Posted October 9, 2016 ну допустим есть есть функция void GetMinPrice() { for (int i=0; i<BarCount; i++) { mp =iLow(Symbol(), PERIOD_CURRENT,i); if(mp < minprice) minprice = mp; } return; } которая находит минимальную цену за определенное количество баров, мне нужно что бы он оставлял предыдущую минимальную цену если появилась новая минимальная цена N-баров фиксировано? Quote Link to post Share on other sites
42569dugsy 0 Share Posted October 9, 2016 (edited) N-баров фиксировано? BarCount отвечает за количество баров выставляется в ручную Edited October 9, 2016 by 42569dugsy Quote Link to post Share on other sites
ToB. CyxoB 324 Share Posted October 9, 2016 BarCount отвечает за количество баров выставляется в ручную BarCount - фиксировано? Quote Link to post Share on other sites
ToB. CyxoB 324 Share Posted October 9, 2016 у тебя там кажется включен зиг-заг? Можно запоминать минимумы и сравнивать с ценой Quote Link to post Share on other sites
42569dugsy 0 Share Posted October 9, 2016 BarCount - фиксировано блин не понимаю, ну допустим либо равно 10 или 100 в процессе не меняется Quote Link to post Share on other sites
42569dugsy 0 Share Posted October 9, 2016 у тебя там кажется включен зиг-заг? Можно запоминать минимумы и сравнивать с ценой нет зиг-заг я не включаю Quote Link to post Share on other sites
42569dugsy 0 Share Posted October 9, 2016 сейчас кинул на график в принципе похоже Quote Link to post Share on other sites
ToB. CyxoB 324 Share Posted October 9, 2016 блин не понимаю, ну допустим либо равно 10 или 100 в процессе не меняется если 10, то крас и зелен это два минимума, а если 100 то одни - красный. А зеленого не будет. и в нужных точках, сколько баров пройдет? 10 или 100? Если 10, то там есть еще один минимум...оранжевый... сложная задачка Quote Link to post Share on other sites
42569dugsy 0 Share Posted October 9, 2016 (edited) если 10, то крас и зелен это два минимума, а если 100 то одни - красный. А зеленого не будет. и в нужных точках, сколько баров пройдет? 10 или 100? Если 10, то там есть еще один минимум...оранжевый... сложная задачка11111.png это от какой цены отталкиваться от "1" или "2" если от "1" то мне нужно чтобы в расчет бралась зеленая если от "2" то красная Edited October 9, 2016 by 42569dugsy Quote Link to post Share on other sites
ToB. CyxoB 324 Share Posted October 9, 2016 это от какой цены отталкиваться от "1" или "2" я запутался. Объясни себе математически (и мне заодно) почему крас, син и зеленый являются МИНИМУМАМИ? Quote Link to post Share on other sites
42569dugsy 0 Share Posted October 9, 2016 (edited) я запутался. Объясни себе математически (и мне заодно) почему крас, син и зеленый являются МИНИМУМАМИ? ну допусти цена идет находится в точке "1" синего минимума еще нет, вот мне нужно что бы он рассматривал не красный минимум а зеленый мне нужна наименьшая цена Edited October 9, 2016 by 42569dugsy Quote Link to post Share on other sites
ToB. CyxoB 324 Share Posted October 9, 2016 ну допусти цена идет находится в точке "1" синего минимума еще нет, вот мне нужно что бы он рассматривал не красный минимум а зеленый это я же просил математически а у тебя всего 1 цифра, и та в кавычках Quote Link to post Share on other sites
WEALTHCRAFT 1,050 Share Posted October 20, 2016 не программист, но вдруг . тока не смейтесь что если поменять for(int i=OrdersTotal()-1; i>=0; i--) на for(int i=0;i<OrdersTotal();i++) Первый вариант требует меньше операций, второй надежней. Quote Link to post Share on other sites
WEALTHCRAFT 1,050 Share Posted October 20, 2016 (edited) ну допусти цена идет находится в точке "1" синего минимума еще нет, вот мне нужно что бы он рассматривал не красный минимум а зеленый мне нужна наименьшая цена Условие не совсем точное. между красным и зеленым лоу на самом деле может быть много других зеленых лоу, а между красным и синим много других красных. Edited October 20, 2016 by WEALTHCRAFT Quote Link to post Share on other sites
WEALTHCRAFT 1,050 Share Posted October 20, 2016 (edited) Такое работает норм: В одном файле class a { private: a *a1; public: a(); ~a(); }; А такое выдает ошибку: В двух файлах файл a.mqh #include <...\b.mqh>; class a { private: b *b1; public: a(); ~a(); }; файл b.mqh #include <...\a.mqh>; class b { private: a *a1; public: b(); ~b(); };если компилирую из b.mqh, то выдает 'b' - declaration without type a.mqh [строка ячейка], т.е ошибка в файле a.mqhа если из a.mqh, то 'a' - declaration without type b.mqh [строка ячейка], т.е ошибка в файле b.mqh Как сделать так, чтобы каждый из двух классов "a" и "b" мог иметь в качестве параметра ссылку на член другого класса ? Зачем это нужно: Есть класс "индюки", у него есть параметры, это другие классы: "машка", "эндрюс", "плинтус" и т.д. Требуется чтобы эти машки и эндрюсы могли при необходимости запускать не только свои методы.. Запихивать все в один класс не очень удобно. Похоже, что проблема с include. Неправильно компилируется при перекрестных ссылках. Может есть какой-то вариант условия, чтобы норм скомпилировалось, типа инклуд однажды? Edited October 20, 2016 by WEALTHCRAFT Quote Link to post Share on other sites
AntFX 6,474 Share Posted October 20, 2016 (edited) Как сделать так, чтобы каждый из двух классов "a" и "b" мог иметь в качестве параметра ссылку на член другого класса ? Надо их наследовать от одного общего класса "предка", который содержит ссылку на самого себя. class a{ protected: a *a1; public: a(); ~a(); }; class b: public a{ public: b(); ~b(); }; class c: public a{ public: c(); ~c(); }; Но тебе, видимо, нужно не это, тебе нужно методы, которые будут общими, реализовать в классе-родителе "a" без всяких ссылок на самого себя. Либо вообще как свободные функции в библиотеке... Требуется чтобы эти машки и эндрюсы могли при необходимости запускать не только свои методы.. Edited October 20, 2016 by AntFX Quote 1 Link to post Share on other sites
WEALTHCRAFT 1,050 Share Posted October 20, 2016 (edited) Но тебе, видимо, нужно не это, тебе нужно методы, которые будут общими, реализовать в классе-родителе "a" без всяких ссылок на самого себя. Либо вообще как свободные функции в библиотеке... Сейчас все ставлю в одном классе. может быть можно как-то #define, #undef, #ifdef, #else, #endif использовать, чтобы перекрестные ссылки норм компилировались? Edited October 20, 2016 by WEALTHCRAFT Quote Link to post Share on other sites
AntFX 6,474 Share Posted October 20, 2016 (edited) может быть можно как-то #define, #undef, #ifdef, #else, #endif использовать, чтобы перекрестные ссылки норм компилировались? Директива #include включается на момент её появления в файле. Это просто включение одного куска кода в другой на месте этой директивы, и ничего более. Если она объявлена до объявления класса а в твоем примере, то класс b объявляется раньше класса a и поэтому он ему неизвестен. Ну и наоборот. А использовать не объявленные ранее типы в коде нельзя. В твоем случае нужно, скорее всего, так или иначе использовать наследование, сделать общий базовый класс "Индикатор" и от него наследовать все остальные. Edited October 20, 2016 by AntFX Quote 1 Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.