приключения новичка - страница 8

 
niko:

Привет, CB,


Я думаю, что Тим сейчас в отпуске, так как я не получал от него никаких известий в течение нескольких дней. Поэтому я продолжаю работать с вашим кодом, так как он поможет мне торговать (так как сейчас я торгую стратегией вручную, а это значит просыпаться рано утром и т.д.). Я изменил весь код, как вы просили, но по какой-то причине он по-прежнему возвращает ошибку (на этот раз из-за "==", очень странно).


Еще одна вещь - я заметил, что функция start не закрыта. Поэтому я добавил "}" после первой функции в начале (), если этого не сделать, код выдает ошибку с последующей строкой функции fnGenerateSignal() (мол, определение функции для этого неожиданно).


Спасибо, как всегда. С нетерпением жду ваших комментариев/поправок!

Ник

Привет, Ник.

В блоке start() у вас целый набор ненужных завитушек. Поэтому вы можете удалить как первый {, так и последний }.

Вам не хватает условного оператора if в блоке fnGenerateSignal(), поэтому в том виде, в котором он написан, он всегда будет возвращать "OP_BUY".

Не вижу проблем с ==. Какую именно ошибку вы получаете?

CB.

 
cloudbreaker:

Привет, Ник.

У вас есть целый набор завитушек, которые не нужны в блоке start(). Поэтому вы можете удалить как первый {, так и последний }.

Вам не хватает условного оператора if в блоке fnGenerateSignal(), поэтому в том виде, в котором он написан, он всегда будет возвращать "OP_BUY".

Не вижу проблем с ==. Какую именно ошибку вы получаете?

CB.

Привет, CB, спасибо, что пришли на помощь.

Я добавил условный оператор if, который вы выделили.

Ошибка == гласит: "=="-различные типы в сравнении, и она выделяет следующую строку

if ((OrderSymbol() == Symbol()) && (OrderType() == sSignal))


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

 

Я изменил 'OP_BUY' на 1, OP_SELL на -1, чтобы преодолеть ошибку несовместимых типов (это означало изменение fnGenerateSignal). При компиляции он не выдает никаких ошибок.


Однако когда я запускаю его в тестере стратегий, он по-прежнему выполняет несколько ордеров на покупку и продажу один за другим (а должен быть только 1 ордер в одном направлении). Есть какие-нибудь мысли?

Файлы:
 

Попробуйте и посмотрите, что получится.

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

- Если это все еще не работает, тогда начните вставлять операторы Print(), чтобы мы могли видеть, что делают различные переменные в ключевых точках.


CB

Файлы:
 
niko wrote >>

Я изменил 'OP_BUY' на 1, OP_SELL на -1, чтобы преодолеть ошибку несовместимых типов (это означало изменение fnGenerateSignal). При компиляции он не выдает никаких ошибок.

Однако когда я запускаю его в тестере стратегий, он по-прежнему выполняет несколько ордеров на покупку и продажу один за другим (а должен быть только 1 ордер в одном направлении). Есть какие-нибудь мысли?

Привет, Нико,

Добро пожаловать из Турции.

Как дела?

С уважением,

Huckleberry

 

Привет, Ник.


Извини, я не знал, что ты вернулся из отпуска.


Рад, что вы отлично провели время в Турции.

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


Следующей задачей является компиляция и отладка. Затем вы можете начать тестирование. Не помешает также привести в порядок комментарии в коде.


С уважением,

Тим
Файлы:
 
TSWilson:

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


CB

 
Привет, ребята, похоже, вся команда снова в строю! Спасибо, Тим. Я продолжу работу с твоим кодом, и когда у меня будет возможность, я продолжу работу с CB's.
 
niko:
Привет, ребята, похоже, вся команда снова в строю! Спасибо, Тим. Я продолжу работу с вашим кодом, и когда у меня будет возможность, я продолжу работу с кодом CB.

Могу ли я попросить вас подтвердить кое-что о вашей стратегии.

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


CB

 
cloudbreaker wrote >>

Могу ли я попросить вас подтвердить кое-что о вашей стратегии.

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

CB

Привет, CB, Идеальным вариантом является советник с несколькими парами - это то, что мы с Тимом пытаемся создать. Однако однопарный советник также очень желателен, поскольку он учит меня кодировать. Ваши стили кодирования отличаются, и для меня это отличное упражнение - увидеть, как одна и та же/подобная идея может быть закодирована по-разному. Кроме того, я думал, что если мы сначала закончим одиночный советник, то я смогу использовать его для ручной торговли, но похоже, что оба кода будут закончены одновременно.