Отличный советник в бэктесте! - страница 21

 

Необходимая функция для CT 1.80

Худшая особенность текущего CT 1.80 заключается в том, что он остается в прибыльной сделке слишком долго, а затем возвращает ее обратно. Поэтому я думаю, что лучшим решением этой проблемы будет внутренний таймер, который срабатывает при превышении минимальной суммы пунктов "MinProfit", например, 6 пунктов. Если пипсы не поднимутся выше, скажем, через 60 секунд... CT должен взять его - независимо от этого. Это было бы хорошим решением для этого слабого места... сколько раз вы видели, как CT был в хорошем профите и сидел на нем долгое время, только чтобы увидеть, как он отдает его и в конечном итоге теряет эту сделку? Может ли OpenStorm, Newdigital или хороший программист реализовать это? Я реализовал это самостоятельно в версии 1.90, но мой кодинг не очень хорош, и таймер не всегда срабатывает. Итак, для обзора нам нужно: MinPipProfit" по умолчанию равен 6 и "TakePipTimer" по умолчанию установлен на 60 секунд. Каждый раз, когда MinPipProfit достигается, таймер начинает отсчет... пока прибыль в пунктах остается выше MinPipProfit, таймер отсчитывает... если она опускается ниже, таймер останавливается и сбрасывается на TakePipTimer... если таймер достигает 0, то прибыль снимается сразу же. Дайте мне знать, если я могу быть полезен в добавлении этой функции.

 

Пресеты для CT 1.80 для Европы и Японии

Выкладываю файлы предустановок для cyberiatrader 1.80 для Европы и Японии. Вы заметите, что для европейских валют CT не должен торговать в 9,13,14 GMT, а для японской иены - в 9,13,14,23,00 GMT.

Настройка GMT по умолчанию равна 1, что подходит для Alpari и CFGTrader. Для InterbankFX вам нужно будет установить значение -1. Помните, что значение GMT - это разница между GMT и временем вашего брокера. Например, если GMT сейчас 1:00, а время вашего брокера 0:00 (полночь), то разница GMT равна -1. Прикрепленный файл - это настоящий ZIP-файл, содержащий предварительные настройки. Пожалуйста, опубликуйте свой опыт работы с CT 1.80. Спасибо и большой палец вверх тем, кто тестирует и стремится к улучшениям! Для тех из вас, кто ожидает, что пирог упадет с неба на ваши колени без необходимой работы и участия... поймите, что этого не произойдет...

Файлы:
 

могу я узнать, кто тестирует этот советник и какой брокерский дом вы используете? до сих пор я лучше всего тестировал cfg, я начал в понедельник с 50,000usd сейчас около 64,000usd. другие два демо, которые мультибанк и mig не очень хорошо работают. ваши отзывы будут глубоко признательны.tq. удачи и хороших сделок.

 
yan7181:
Могу я узнать, кто тестирует этот советник и какой брокерский дом вы используете? До сих пор я лучше всего тестировал cfg, я начал в понедельник с 50,000usd, сейчас около 64,000usd. Два других демо - multibank и mig - не справляются. Ваши отзывы будут глубоко признательны.

CFG является лучшим с этим советником на сегодняшний день, а вторым является IBFX. Crown, NorthFinance, Alpari, MIG, FXDD не подходят... их данные не высокого качества и они фильтруют их. Neurex не принимает дробные лоты, так что это исключено, если вы не хотите торговать полными лотами. Придерживайтесь двух лучших, это моя рекомендация.

 

2 fxspeedster: Спасибо за вашу поддержку и улучшения в версии с открытым исходным кодом.

Вот функция timecontrol из коммерческой версии:

/ Функцию подключить Надо к EnterMarket (вход в рынок):

// Добавить в глобановые переменные

...

extern string TimeTradeHoursDisabled = "09,12,18"; // Здесь перечисл.яем часы, в которые необходимо обеспечить выход из рынка рынка и не вести торговлю. Выходить из рынка нужно заблаговременно до выход новостей (приблизительно за полчаса - час)

...

// Собственно сама функция для тех, кто хочет спать спокойнее

bool CheckTradeTime ()

{

// Сохраняем серверное время (часы)

int h=TimeHour(CurTime());

string s = "";

// заносим опять в стр.оку в нужном формате

s = DoubleToStr (h, 0);

// Если значение часа односимвольное, добавляем в начале ноль

если (h < 9)

s = StringConcatenate("0",s);

// Ищем запрещенные часы торговли

if (StringFind(TimeTradeHoursDisabled, s, 0)== -1)

// Если текущий час не входит в запрещенный период - можно торговать

return(true);

else

// иначе нет

return (false);

}

 

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

 
OpenStorm:
2 fxspeedster: Спасибо за вашу поддержку и улучшения в версии с открытым исходным кодом.

Вот функция timecontrol из коммерческой версии:

Приятно видеть это.

OpenStorm, похоже, что ваш эксперимент с открытым исходным кодом работает!

И, советую Fxspeedster!

 
OpenStorm:
2 fxspeedster: Спасибо за поддержку и улучшения в opensource версии.

Здесь представлена функция управления временем из коммерческой версии:

/ Функцию подключить надо к EnterMarket (вход в рынок):

// Добавить в глобановые переменные

...

extern string TimeTradeHoursDisabled = "09,12,18"; // Здесь перечисл.яем часы, в которые необходимо обеспечить выход из рынка рынка и не вести торговлю. Выходить из рынка нужно заблаговременно до выход новостей (приблизительно за полчаса - час)

...

// Собственно сама функция для тех, кто хочет спать спокойнее

bool CheckTradeTime ()

{

// Сохраняем серверное время (часы)

int h=TimeHour(CurTime());

string s = "";

// заносим опять в стр.оку в нужном формате

s = DoubleToStr (h, 0);

// Если значение часа односимвольное, добавляем в начале ноль

если (h < 9)

s = StringConcatenate("0",s);

// Ищем запрещенные часы торговли

if (StringFind(TimeTradeHoursDisabled, s, 0)== -1)

// Если текущий час не входит в запрещенный период - можно торговать

return(true);

else

// иначе нет

return (false);

}

Здравствуйте, OpenStorm,

Как я понимаю, "TimeTradeHoursDisabled" означает следующее: Советник не будет торговать в указанные торговые часы. Но в русских комментариях написано, что нужно прекращать торговлю как минимум за полчаса до выхода новостей ("09,12,18" например). Правильно ли это? Это происходит автоматически?

 

Они рекомендуют прекращать торговлю за 30 минут или час до выхода новостей. TimeControl останавливает торговлю точно в часы, указанные в опции TimeControl.

 

в ближайшее время будет опубликована новая версия CT 1.83.

OpenStorm:
2 fxspeedster: Спасибо за вашу поддержку и улучшения в opensource версии.

Вот функция timecontrol из коммерческой версии:

/ Функцию подключить надо к EnterMarket (вход в рынок):

// Добавить в глобановые переменные

...

extern string TimeTradeHoursDisabled = "09,12,18"; // Здесь перечисл.яем часы, в которые необходимо обеспечить выход из рынка рынка и не вести торговлю. Выходить из рынка нужно заблаговременно до выход новостей (приблизительно за полчаса - час)

...

// Собственно сама функция для тех, кто хочет спать спокойнее

bool CheckTradeTime ()

{

// Сохраняем серверное время (часы)

int h=TimeHour(CurTime());

string s = "";

// заносим опять в стр.оку в нужном формате

s = DoubleToStr (h, 0);

// Если значение часа односимвольное, добавляем в начале ноль

если (h < 9)

s = StringConcatenate("0",s);

// Ищем запрещенные часы торговли

if (StringFind(TimeTradeHoursDisabled, s, 0)== -1)

// Если текущий час не входит в запрещенный период - можно торговать

return(true);

else

// иначе нет

return (false);

}

OpenStorm - спасибо за функцию... Я скоро включу ее в версию 1.83 и опубликую ее со списком ревизий, включая магический номер.

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