Советники: Мультивалютный советник на основе кластерного индикатора. Модификации второй версии. - страница 4

 

Поигрался с настройками индикаторов и вот какую картинку получить удалось.

Почти одновременное пересечение линий на обоих, а местами ccfp даже опережает


ВО КАК!!!!

 

Теперь доходчиво, пасибо :)

 

что означают эти строки во вкладке Эксперты

Symbol name for MarketInfo function must be a string

Symbol name for OrderSend function must be a string

где косяк и как исправить?

 

Господа, В НОМЕРАХ ВАЛЮТ ОШИБКИ НЕТ!

Индексы намеренно увеличены на еденицу. Т.е. начинаются не с нуля а именно с еденицы. Посмотрите внимательно на циклы заполнения массивов данными индикаторов.

for (cnt=0;cnt<7;cnt++)
{
cc [cnt,0]=iCustom(NULL,0,"CC",cnt,1);
cc [cnt,1]=cnt+1;
cc_old [cnt,0]=iCustom(NULL,0,"CC",cnt,2);
cc_old [cnt,1]=cnt+1;
}

Для CCFp аналогично.

Т.е. после заполнения - соответствия номеров валют получаются такие:

1-USD, 2-EUR, 3- GPB, 4-CHF, 5-JPY,6-AUD,7-CAD,8-NZD.

Это сделано намеренно. Для контроля заполнения. Т.к. если по какой либо причине индикатор не отдаст свое значение - в массиве по дефолту и так будет стоять 0. Поэтому, чтобы проконтролировать правильность заполнения - номера валют вводятся не с 0 а с 1.

Поэтому - как говориться "верните все в зад":) Иначе у вас будет открываться совсем не то, что нужно... 

 
evbut:

что означают эти строки во вкладке Эксперты

Symbol name for MarketInfo function must be a string

Symbol name for OrderSend function must be a string

где косяк и как исправить?


  Если изменяли индексы валют с "якобы ошибкой" - верните как было, и это исчезнет. Советник в "исправленном" варианте будет вести себя непредсказуемо. Даже затрудняюсь сказать почему у вас происходит ошибка несоотвествия типов. 99% это именно из за такого "исправления". В оригинале таких ошибок быть не должно и не наблюдалось ни разу.

 

Стейт оригинальной "немодифицированной" версии. с 25.01 по текущий момент.

Н1, трал 15, стоп-50.

Еще хочу добавить. Данный вариант советника мной больше дорабатыватся не будет. Принимайте AS IS, или дорабатывайте сами на свое усмотрение.

Только хочу предостеречь - прежде чем править якобы найденные "ошибки" - внимательней вникайте в код. Неразумно было бы утверждать, что там их не может быть в принципе. Возможно они и есть. Однако уж не такие элементарные ошибки логики, как якобы "ошибка" с номерами валют:)

ЗЫ: Я сейчас работаю над созданием новой версии, с введением дополнительной фильтрации и достаточно сильно измененной логикой сигналов. Когда будет готов - и потестю несколько дней - выложу.

 
lexandros:

Стейт оригинальной "немодифицированной" версии. с 25.01 по текущий момент.


Это какой именно?

 
evbut:
lexandros:

Стейт оригинальной "немодифицированной" версии. с 25.01 по текущий момент.


Это какой именно?


  Вот этой

 

ждем новых решений, уважаемый Lexandros. Поддержка с нашей стороны

 
lexandros:

Господа, В НОМЕРАХ ВАЛЮТ ОШИБКИ НЕТ!

Индексы намеренно увеличены на еденицу. Т.е. начинаются не с нуля а именно с еденицы. Посмотрите внимательно на циклы заполнения массивов данными индикаторов.

for (cnt=0;cnt<7;cnt++)
{
cc [cnt,0]=iCustom(NULL,0,"CC",cnt,1);
cc [cnt,1]=cnt+1;
cc_old [cnt,0]=iCustom(NULL,0,"CC",cnt,2);
cc_old [cnt,1]=cnt+1;
}

Для CCFp аналогично.

Т.е. после заполнения - соответствия номеров валют получаются такие:

1-USD, 2-EUR, 3- GPB, 4-CHF, 5-JPY,6-AUD,7-CAD,8-NZD.

Это сделано намеренно. Для контроля заполнения. Т.к. если по какой либо причине индикатор не отдаст свое значение - в массиве по дефолту и так будет стоять 0. Поэтому, чтобы проконтролировать правильность заполнения - номера валют вводятся не с 0 а с 1.

Поэтому - как говориться "верните все в зад":) Иначе у вас будет открываться совсем не то, что нужно... 


Да, приношу свои извинения автору.

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

Причина обращения: