[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 3123»
Форум Трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Эксперт или скрипт который тестирует экспертов не на предмет (эксперт или скрипт который тестирует экспертов не на предмет)
Эксперт или скрипт который тестирует экспертов не на предмет
Дата: Суббота, 27.11.2010, 14:05 | Сообщение # 1 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
эксперт или скрипт который тестирует экспертов не на предмет их лояльности к прибыли

Мы лучшие
 
Дата: Суббота, 27.11.2010, 14:05 | Сообщение # 2 Написал: GrafBass
Группа: Удаленные





Здравствуйте.
А есть ли у вас такой эксперт или скрипт который тестирует экспертов не на предмет их лояльности к прибыли, а на предмет их адекватного кода и на совместимость его с терминалом и условиями ДЦ на котором он запущен. Иначе говоря как бы посмотреть, что творит советник и как на это реагирует брокер. В лог файле ведь ничего толком не видно или не всегда есть вообще информация. К примеру поставил я тут еще один терминал на другом ДЦ и не хотят работать советники, не могу понять почему. Тех. поддержка бубнит , что у них все работает корректно и все тут. Смотрите типа ваши настройки и выводите параметры работы эксперта на экран и смотрите, что не так. Как бы теперь мне вот это увидеть, подскажите.
 
Дата: Суббота, 27.11.2010, 14:05 | Сообщение # 3 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
Такой программы нет, нужно смотреть код - искать ошибки в журнале, вариантов - миллион. Запущен ли эксперт правильно, улыбается ли смайл в правом верхнем углу. Разрешен ли вообще торговать совтенику или нет.

Мы лучшие
 
Дата: Суббота, 27.11.2010, 14:06 | Сообщение # 4 Написал: GrafBass
Группа: Удаленные





Да, советники запускал правильно, они у меня на других терминалах торгуют. На этом неудачном ДЦ смог запустить только советник который открывает 1 раз в день два ордера в обоих направлениях. Остальные советники использующие "колено" по принципу мартингейла не пашут, точнее пашут, но только с лотом 1.0 (это в тетсере видно и на демо пробовал, на реале не рискнул ), а слотами от 0,05 до 0,1 пробовал и на реале и на демо и на тестере. Попробовал все советники, даже те которые мне и не нужны вовсе, результат одинаков. Или пишет "invalid lots amount for FreeMarginCheck function", или " пишет каждые 5 секунд "Торговля разрешена"- но ничего не происходит. С лотом 0,5 стартуют, но ордера выставляются на 1.0

Добавлено (27.11.2010, 00:27)
---------------------------------------------
А разве нельзя написать скрипт который пишет или показывает на экране, я типа посмотрел то -то, потом сделал это, а вот вот это у меня не получилось по таким то причинам...

Добавлено (27.11.2010, 00:49)
---------------------------------------------
Хочу извиниться если начал писать не в той теме форума. Хочу спросить еще уважаемых программеров, имеет ли в моей проблеме значение "Шаг изменения лота - 0,1" в значениях сервера, полученных через скрипт Инфо о сервере. Хочу все таки добиться запуска экспертов на том серваке, денег вручную там уже профукал много и быстро, надо отомстить и вернуть награбленное. angry

 
Дата: Суббота, 27.11.2010, 14:06 | Сообщение # 5 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
Quote (GrafBass)
А разве нельзя написать скрипт который пишет или показывает на экране, я типа посмотрел то -то, потом сделал это, а вот вот это у меня не получилось по таким то причинам...

К сожалению нельзя написать универсальность такого скрипта.

Quote (GrafBass)
очу извиниться если начал писать не в той теме форума. Хочу спросить еще уважаемых программеров, имеет ли в моей проблеме значение "Шаг изменения лота - 0,1" в значениях сервера

Спросите Вашего сервера - Мин лот, и шаг, если шаг 0,1 то мин лот тоже должен быть 0,1,

Значит дело в сове, он может по внутреннему коду неправильно рассчитывает Маржу.


Мы лучшие
 
Дата: Суббота, 27.11.2010, 14:06 | Сообщение # 6 Написал: GrafBass
Группа: Удаленные





Инфо о сервере прилагаю, посмотрите если не затруднит. А вообще сервер разрешает торговать с минимальным лотом 0.05, мне этот лот пока и нужен.

Добавлено (27.11.2010, 13:15)
---------------------------------------------
Я тут декомпильнул один советник и стал по наитию искать причину, вот в этой строчке вроде про мин лот что то говорится, может надо ее подправить на 0,05 ?

int init() {
gd_340 = MarketInfo(Symbol(), MODE_SPREAD) * Point;
switch (MarketInfo(Symbol(), MODE_MINLOT)) {
case 0.001:
gd_240 = 3;
break;
case 0.01:
gd_240 = 2;
break;
case 0.1:
gd_240 = 1;
break;
case 1.0:
gd_240 = 0;

Прикрепления: 5947515.jpg(34Kb)
 
Дата: Суббота, 27.11.2010, 14:06 | Сообщение # 7 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
Это на количество знаков при нормализации лота.

Я ж говорю что-то в советнике, возможно он неправильно переводит значение.

Например по Вашему примеру:
Если мин лот 0.1 то он присваивает значение 1 после запятой,

Но что-то мне подсказывает что если минимальный лот 0,05, то он присваивает значение 0, значит и нормализация идет на 0.

В Вашем случае Вам нужно сделать следующее:

int init() {
gd_340 = MarketInfo(Symbol(), MODE_SPREAD) * Point;
switch (MarketInfo(Symbol(), MODE_MINLOT)) {
case 0.001:
gd_240 = 3;
break;
case 0.01:
gd_240 = 2;
break;
case 0.1:
gd_240 = 1;
break;
case 1.0:
gd_240 = 0;
case 0.05:
gd_240 = 2;


Мы лучшие
 
Дата: Суббота, 27.11.2010, 16:32 | Сообщение # 8 Написал: GrafBass
Группа: Удаленные





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

if (g_time_360 == Time[0]) return (0);
g_time_360 = Time[0];
double ld_0 = CalculateProfit();
if (SafeEquity) {
if (ld_0 < 0.0 && MathAbs(ld_0)> SafeEquityRisk / 100.0 * AccountEquityHigh()) {
CloseThisSymbolAll();
Print("Closed All due to Stop Out");
gi_412 = FALSE;

Добавлено (27.11.2010, 16:32)
---------------------------------------------
Подпрвил советник как вы сказали, заработало! Спасибо огромное!!!
Хотя я так и не допонял в чем разница между 0,01 и 0,05 ведь вторые знаки 1 и 5 соответственно в разрядности, теперь и на лот 0,1 заработало. Похоже это быть как то связано с настройками самого сервера привязанных к кратности минимального лота, шаг увеличения лота работает только с целыми значениями.

 
Дата: Суббота, 27.11.2010, 17:36 | Сообщение # 9 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
Quote (GrafBass)
Подпрвил советник как вы сказали, заработало! Спасибо огромное!!!
Хотя я так и не допонял в чем разница между 0,01 и 0,05 ведь вторые знаки 1 и 5

Да но здесь перебор не по разрядности а по четкому лоту, т.е. есть 0,01, но нет 0,05, поэтому дефаулт значение было 0, тем самым все округлялось до 1 целого лота.


Мы лучшие
 
Дата: Суббота, 27.11.2010, 17:38 | Сообщение # 10 Написал: expforex
Трейдер - Генералиссимус
Группа: Администраторы
Сообщений: 27
Награды: 0
Статус: Offline
Quote (GrafBass)
if (g_time_360 == Time[0]) return (0);
g_time_360 = Time[0];

Работать 1 раз на 1 баре

Quote (GrafBass)
f (SafeEquity) {
if (ld_0 < 0.0 && MathAbs(ld_0)> SafeEquityRisk / 100.0 * AccountEquityHigh()) {
CloseThisSymbolAll();

Если функция включена, то закрывать все позиции при достижении %

Quote (GrafBass)
Print("Closed All due to Stop Out");
gi_412 = FALSE;

Остановить торговлю


Мы лучшие
 
Форум Трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Эксперт или скрипт который тестирует экспертов не на предмет (эксперт или скрипт который тестирует экспертов не на предмет)
Страница 1 из 3123»
Поиск: