Бэктестинг/оптимизация - страница 62

 

Вот он. Он использует ваш файл предустановок.

Какие именно настройки вы оптимизируете????

Файлы:
 
stace:
Вот он. Он использует ваш файл предустановок. Какие именно параметры вы оптимизируете????

Ниже я приложил оптимизируемые переменные только для длинных сделок.

30% прибыли (6 месяцев!!!) при риске всего 5% - это совсем не плохо.

Файлы:
long_opti.set  6 kb
 
GeorgeL:
Я приложил оптимизируемые переменные для длинных сделок только ниже 30% прибыли (6 месяцев!!!) при риске всего 5% - это совсем неплохо.

Для меня это очень маленькая сумма.

Спасибо, я тоже буду оптимизировать.

 
stace:
Для меня это очень мало. Спасибо, я тоже буду оптимизировать.

Оптимизируйте для вашего текущего брокера, это может быть намного лучше.

Какие советники вы используете на своем текущем счете?

 
GeorgeL:
Оптимизируйте для вашего текущего брокера, это может быть намного лучше. Какие советники вы используете на своем текущем счете?

Я обычно использую ea, основанные на мартингейле.

В моей статистике это стохастик + adx + atr и последний - мартингейл.

 
leeb:
Один из вариантов - иметь одну версию, работающую на IBFX и в свойствах советника разрешить только длинные сделки, а другую копию советника, работающую на другом брокере или IBFX и разрешающую только короткие сделки - боль, я знаю, но эти новые правила NFA просто таковы...

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

//------------------------------------------------------------------//

int HM_ALL = 2; // Максимальное количество открытых сделок

int Trade = 1; //

//------------------------------------------------------------------//

extern bool Trd_Up_X = true; // Разрешить торговлю вверх

int HM_Up_X = 1; // Сколько покупок разрешить открытыми

//------------------------------------------------------------------//

extern double tpx = 50;

extern double slx = 50;

extern int px = 10;

extern int x1 = 0;

extern int x2 = 0;

extern int x3 = 0;

extern int x4 = 0;

int tx = 0;

//------------------------------------------------------------------//

extern bool Trd_Dn_Y = true; // Разрешить торговлю DN

int HM_Dn_Y = 1; // Сколько продаж разрешить открытыми

//------------------------------------------------------------------//

extern double tpy = 50;

extern double sly = 50;

extern int py = 10;

extern int y1 = 0;

extern int y2 = 0;

extern int y3 = 0;

extern int y4 = 0;

int ty = 0;

//------------------------------------------------------------------//

Вы можете либо изменить максимальное количество открытых сделок на 1, либо контролировать, в каком направлении вы хотите торговать.

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

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

 

Исправьте код для работы с 5-значными брокерами

dreamfab:
Первая позиция сегодня утром (GMT +1), и у меня есть вопрос:

Я пытался изменить код для работы с 5-значными брокерами, но он не работает...

gdPointFactor = 1;

if (MarketInfo(Symbol(), MODE_DIGITS) == 2 || MarketInfo(Symbol(), MODE_DIGITS) == 4){

gdPointFactor = 10;

if (MarketInfo(Symbol(), MODE_DIGITS) == 5)

{

gdPointFactor = 100;

}

}

Правильно ли это?

Спасибо

Вы нашли часть кода, в которой есть ошибка, но не нашли правильного решения. Оригинальный код, который должен был обрабатывать как 4-, так и 5-значные счета, выглядит следующим образом:

gdPointFactor = 1;

if (MarketInfo(Symbol(), MODE_DIGITS) == 2 || MarketInfo(Symbol(), MODE_DIGITS) == 4){

gdPointFactor = 10;

}

Здесь у нас (получить коэффициент десятичной точки) gdPointFactor установлен равным 1. Использование Find для поиска кода для этой переменной показывает, что это множитель, используемый всякий раз, когда используется Point. Для 4-значных счетов множитель должен быть равен 1, чтобы в вычислениях ничего не менялось. Однако для 3- и 5-значных счетов мы хотим умножить на 10, чтобы получить дополнительный десятичный знак. Поэтому правильным решением будет изменить 2 на 3 и 4 на 5.

Благодаря тому, что советник будет считать ==3 и ==5, он будет работать для вас и через две недели, когда IBFX перейдет на 5-значные счета. В противном случае вам придется снова вернуться ко всем своим ручным "исправлениям".

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

К счастью, все расчеты точек в этом советнике очень просты, и адаптация к 5-значному счету проста. Используя Edit>Replace, пройдитесь по каждому экземпляру * Point и замените его на * Point * gdPointFactor.

Далее следуют ответы на другие сообщения:

Некоторые из первых ответивших заявили, что этот советник не работает (хотя они знают, что он работает для GeorgeL). Возможно, они поступили так же, как и я, поместив файлы утилиты include непосредственно в папку include, как мы всегда делали. Однако в RAR-файле эти утилиты находились в подпапке system_v2 в папке include. Вероятно, автор хотел сохранить этот набор в одной группе, чтобы их можно было легко найти для редактирования. Именно поэтому подпапка system_v2 (или какая-либо другая) была включена в указание пути к этим утилитам в коде советника.

Тот, у кого возникли проблемы с открытием RAR-файла, может погуглить на предмет jZip. jZip бесплатно распакует ваши ZIP-файлы, RAR-файлы и практически любые другие сжатые файлы (в отличие от других).

Еще одной ошибкой, которую допустили некоторые из нас, было то, что мы не сохранили файл .set в подпапку experts/presets. После того как вы выбрали этого эксперта в Stratagy Tester, перейдите в настройки переменных и найдите кнопку Load. Нажмите кнопку Load, перейдите в подпапку presets и щелкните на файле .set для этого советника, чтобы загрузить прилагаемые к нему настройки.

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

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

Всем удачной торговли, спасибо GeorgeL за публикацию и спасибо Shooter777 за отличный образец для изучения.

 

приветствую, Джордж

значит советник и 5-16-2009 eu.set из вашего первого сообщения все еще могут быть использованы на ibfx и не будут противоречить их новой политике против хеджирования?

если нет, пожалуйста, опубликуйте новую версию?

 
happyfx:
приветствую Джордж

Значит, советник и 5-16-2009 eu.set из вашего первого сообщения все еще могут быть использованы на ibfx и не будут противоречить их новой политике против хеджирования?

если нет, пожалуйста, опубликуйте новую версию?

Вы все еще можете использовать оптимизацию от 16 числа, однако она предназначена для хеджирования.

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

 

Здравствуйте! Есть ли способ заставить этот советник работать на 5-значных брокерах? (добавление 0 во все настройки не работает) Спасибо.