Другими словами: мне лень разбираться со своим кодированием, т.к. оно безошибочное, а вот платформа бракованная (выполняет мой код с ошибками). Мало того, Вы своё время цените, а "более опытных" нет: пусть они найдут все мои ошибки - им же всё равно делать нечего!
===
Вы же хотите на рынке денег заработать (иначе зачем разрабатывать торговые стратегии), а вдруг не получится? Кто тогда будет виноват - рынок?
===
Не обижайтесь, но Вам нужно самому во всём разобраться. Удачи!
Доброго времени суток всем форумчанам!
Я решил попробовать написать для себя советника, как можно проще, но в то же время максимально настраиваемого. Написал, протестил, работает вроде, но много ложных сигналов, даже после оптимизации параметров точки входа не идеально расположены, как видно на скриншоте.
С теми же точно параметрами и практически по тому же исходнику написал и индикатор, для торговли там, где советники не разрешают, вот тут-то и обнаружилось сильное несоответствие в сигналах индикатора и советника, на скриншоте это хорошо видно, иногда советник торгует совсем не там где подает знак индикатор, хотя настройки точно те же ;(
Дикость какая-то, подбираю параметры индикатора чтобы сигналы на торговлю красивые были, ввожу эти параметры в тестер стратегий и фигушки, торгует совсем не там где сигналы на экране, да ещё и сливает на раз... Ну и наоборот параметры полученные после оптимизации вписываю в настройки индикатора, с тем же "успехом" :(
Прошу более опытных протестить и у себя в связке эти два исходника и дать совет, что надо тут изменить, чтобы при одинаковых настройках и сигналы на вход соответствовали. Понятно что алгоритм сырой и не выдерживает никакой критики по производительности, но меня интересует именно чтобы они одинаковые сигналы подавалию
Для корректной работы надо переделать логику индикатора, да и советника тоже.
Для корректной работы надо переделать логику индикатора, да и советника тоже.
Оччень ценный ответ, как в том анекдоте про сломанную машину :)))
Переделывал, и в соответстии с учебником, и по своему разумению, результат всё тот же. Начинаю подозревать что это всё-таки платформа или ДЦ...
Другими словами: мне лень разбираться со своим кодированием, т.к. оно безошибочное, а вот платформа бракованная (выполняет мой код с ошибками). Мало того, Вы своё время цените, а "более опытных" нет: пусть они найдут все мои ошибки - им же всё равно делать нечего!
===
Вы же хотите на рынке денег заработать (иначе зачем разрабатывать торговые стратегии), а вдруг не получится? Кто тогда будет виноват - рынок?
===
Не обижайтесь, но Вам нужно самому во всём разобраться. Удачи!
пришел, обосрал, ушел, называется... На этом советнике вряд ли заработаешь, я программированию на МQL4 учусь, но пока учебник в этом вопросе не помогает, там только общие сведения
Оччень ценный ответ, как в том анекдоте про сломанную машину :)))
Переделывал, и в соответстии с учебником, и по своему разумению, результат всё тот же. Начинаю подозревать что это всё-таки платформа или ДЦ...
Начинайте подозревать собственную некомпетентность. Эти коды работать не должны.
Скажите, а Вы как понимаете Вот эти куски кода ?
double force0 = iForce(NULL,0,fp,MODE_SMA,PRICE_CLOSE,0); double cci = iCCI(NULL,0,ccip,PRICE_CLOSE,0); // это из индиатора for (shift = loopbegin; shift >= 0 ;shift--) { double force0 = iForce(NULL,0,fp,MODE_SMA,PRICE_CLOSE,shift); double force1 = iForce(NULL,0,fp,MODE_SMA,PRICE_CLOSE,shift+1); double cci = iCCI(NULL,0,ccip,PRICE_CLOSE,shift);
Поясняйте прямо в этой ветке.. Это конечно, если хотите разобраться почему эти коды работать не должны...
Есть подозрения, что документацию Вы обошли пристальным вниманием. Но тут ничего сложного - сейчас разберетесь сами.
Начинайте подозревать собственную некомпетентность. Эти коды работать не должны.
Скажите, а Вы как понимаете Вот эти куски кода ?
Поясняйте прямо в этой ветке.. Это конечно, если хотите разобраться почему эти коды работать не должны...
Есть подозрения, что документацию Вы обошли пристальным вниманием. Но тут ничего сложного - сейчас разберетесь сами.
ЭТО коды из разных файлов, почему-то Вы их обьединили в один исходник и говорите что они работать не будут. Конечно в таком виде не будут :)))
Индикатор как раз работает нормально с переборкой вызываемых индикаторов Форс, Демаркер и Коммодити в цикле, проверял, а вот советник далеко не всегда торгует по сигналам индикатора, хотя совпадения бывают, 1:5 примерно.
В советнике поначалу тоже вызов индикаторов в цикл вписал, но разницы в работе по сравнению с нынешним кодом не заметил.
....
Я не буду касаться ошибок в советнике и индикаторе, но могу посоветовать как избежать "несоответствия". Попробуйте использовать в советнике функцию iCustom (об использовании можно прочитать в справке) для обращения к вашему индикатору, вместо индикаторных рассчетов в самом советнике.
Хотя возможно, что индикатор слегка перерисовывается, логику организации в нем рассчетов я так до конца и не понял, тогда несоответствие может сохраниться.
Figar0:
Я не буду касаться ошибок в советнике и индикаторе, но могу посоветовать как избежать "несоответствия". Попробуйте использовать в советнике функцию iCustom (об использовании можно прочитать в справке) для обращения к вашему индикатору, вместо индикаторных рассчетов в самом советнике.
Хотя возможно, что индикатор слегка перерисовывается, логику организации в нем рассчетов я так до конца и не понял, тогда несоответствие может сохраниться.
Вот именно над вызовом iCustom я щас и работаю, но по скудной справке не совсем понятно как это осуществить, там параметров кучу передать надо, а компилер сразу ошибки выдает.
Пишу
double order = iCustom(NULL,0,"iCCIforce","fp","dmp","dm1","dm2","ccip","cci1","cci2",2,0); компилер ругается на отсутствие нужных скобок...
А если пишу double order = iCustom(NULL,0,"iCCIforce",fp,dmp,dm1,dm2,ccip,cci1,cci2,2,0); так он кроме скобок ещё и на параметры ругается...
Вы пробывали вызов индикатора в эксперте через iCustom?
Как мне кажется (я не настаиваю, что я прав-могу ошибиться так как особо не вникал)-у вас в индикаторе стоят условия (которых нет в советнике), попробуйте вызов индикатора через iCustom в советнике (просто сравните будет по нему открывать или нет). Но не особо программер-поэтому сильно на меня внимания не обращайте
int shift=0, prevbars=0, loopbegin=0;
if (Bars < prevbars ) first = true;
if (Bars-prevbars>1) first = true;
prevbars = Bars;
if (first)
{
// loopbegin prevent couning of counted bars exclude current
loopbegin = Bars-1;
if (loopbegin < 0) return(0); // not enough bars for counting
first = False;
}
loopbegin = loopbegin+1;
// current bar is to be recounted too
for (shift = loopbegin; shift >= 0 ;shift--)
{
}
Вот именно над вызовом иКустом я щас и работаю, но по скудной справке не совсем понятно как это осуществить, там параметров кучу передать надо, а компилер сразу ошибки выдает.
Что вам конкретно не ясно в iCustom? Опишите более доходчиво.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго времени суток всем форумчанам!
Я решил попробовать написать для себя советника, как можно проще, но в то же время максимально настраиваемого. Написал, протестил, работает вроде, но много ложных сигналов, даже после оптимизации параметров точки входа не идеально расположены, как видно на скриншоте.
С теми же точно параметрами и практически по тому же исходнику написал и индикатор, для торговли там, где советники не разрешают, вот тут-то и обнаружилось сильное несоответствие в сигналах индикатора и советника, на скриншоте это хорошо видно, иногда советник торгует совсем не там где подает знак индикатор, хотя настройки точно те же ;(
Дикость какая-то, подбираю параметры индикатора чтобы сигналы на торговлю красивые были, ввожу эти параметры в тестер стратегий и фигушки, торгует совсем не там где сигналы на экране, да ещё и сливает на раз... Ну и наоборот параметры полученные после оптимизации вписываю в настройки индикатора, с тем же "успехом" :(
Прошу более опытных протестить и у себя в связке эти два исходника и дать совет, что надо тут изменить, чтобы при одинаковых настройках и сигналы на вход соответствовали. Понятно что алгоритм сырой и не выдерживает никакой критики по производительности, но меня интересует именно чтобы они одинаковые сигналы подавалию