Скачать MetaTrader 5

Проблема с валидацией советника на маркете - страница 3

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Александр
127
Александр  
Vladimir Zubov:
Если запустить с 1$ ошибка 134 в тестере будет ?
При запуске советника в тестере с TP в 1$ ошибки нет. Еще пол часа назад прогнал))
Vladimir Zubov
6919
Vladimir Zubov  
Marat Sultanov:

Хорошо, вы пишите, что должен совершать сделки в любом случае.

Мне это не понятно. К чему это?

Допустим, торговая система основана на паттернах для валютной пары EURUSD, не важно каких и в каком количество. Важно то, что эти паттерны за всю историю повторяются часто только по EURUSD. Вероятность, что найдется торговый инструмент по которому эти паттерны, в принципе, не могут существовать, очень и очень велика (особенно если начать подбирать ТФ, только не знаю делает ли это автомат).

Автомат запускает на всех случайных торговых инструментах (возможно, +на случайных ТФ) и, в итоге, находится такие в которых нет ни одной сделки, т.к. не было обнаружено паттернов.

Явного ограничения на торговлю по торговым инструментам нет.

Есть лишь особенность торговой системы.

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

Для меня это как минимум странно...

Этого я незнаю, такие требования при публикации в маркете.
Marat Sultanov
10868
Marat Sultanov  
Vladimir Zubov:
Этого я незнаю, такие требования при публикации в маркете.

Спасибо за ответ.

Теперь я знаю, что не я один этого не понимаю :)

Vladimir Zubov
6919
Vladimir Zubov  
Александр:
При запуске советника в тестере с TP в 1$ ошибки нет. Еще пол часа назад прогнал))
Не TP=1 в этом случае, а недостаточно средств на счету. Выдаст ошибку 134 или нет ? Минимальное депо и максимальный лот, как советник себя поведет ?
Александр
127
Александр  
После ошибки в маркете нет что-то типа журнала, чтобы посмотреть где и в чем ошибка?
Vitaly Muzichenko
7919
Vitaly Muzichenko  
Александр:
После ошибки в маркете нет что-то типа журнала, чтобы посмотреть где и в чем ошибка?

Вы же сами выложили отчёт(журнал) с ошибками, и там явно указано, что нет торговых операций. Допишите десяток строк в код, чтоб делал торговые операции везде, кроме нужной пары, для которой написан эксперт. Можете сделать простейший, открытие каждый вторник, стоп и профит по 20 пунктов. Всё

Добавлено: Вообще, любой паттерн можно встретить на любом символе и таймфрейме, нет таких которые есть только на евро/долл, или на йене/франк 

Александр
127
Александр  
Vitaly Muzichenko:
Вы же сами выложили отчёт(журнал) с ошибками, и там явно указано, что нет торговых операций. Допишите десяток строк в код, чтоб делал торговые операции везде, кроме нужной пары, для которой написан эксперт. Можете сделать простейший, открытие каждый вторник, стоп и профит по 20 пунктов. Всё
Ну а дальше как? Я сейчас обману маркет,а потом как вырежу этот код из совы.. Как по Вашему так просто взять написать сову на 10 строк пройти валидацию и потом совать туда всяких левых роботов, так получается? Мне нужно пройти валидацию с чистым кодом 100% рабочего советника....
Vitaly Muzichenko
7919
Vitaly Muzichenko  
Александр:
Ну а дальше как? Я сейчас обману маркет,а потом как вырежу этот код из совы.. Как по Вашему так просто взять написать сову на 10 строк пройти валидацию и потом совать туда всяких левых роботов, так получается? Мне нужно пройти валидацию с чистым кодом 100% рабочего советника....
Не нужно ничего обманывать, выложите код и так чистый без "косяков". Далее в описании так и написать: "Бот только для пары ХХХYYY, параметры такие-то и такие, работает на пересечении МА и RSI"
Александр
127
Александр  
Vladimir Zubov:

Там нужно делать ещё защиту от любых возможных некорректных значений пользователя, например он поставил отрицательный лот или при расщете ММ баланс = 0, нужно учесть все возможные нюансы.

Я делаю все возможные проверки от глупости) 

// если поставили лот меньше или больше возможного
double MinL = MarketInfo(Symbol(),MODE_MINLOT);
if (LotSize < MinL) LotSize = MinL; else LotSize = MathAbs(LotSize);
double MaxL = MarketInfo(Symbol(),MODE_MAXLOT);
if (LotSize > MaxL) LotSize = MaxL; else LotSize = MathAbs(LotSize);
// если поставили баланс равный нулю или отрицательный
if (Balance == 0) Balance = 1000; else Balance = MathAbs(Balance);
// если поставили отрицательные значения
if (StopLoss < 0) StopLoss = MathAbs(StopLoss); else StopLoss = StopLoss;
if (TakeProfit < 0) TakeProfit = MathAbs(TakeProfit); else TakeProfit = TakeProfit;
if (StartHour < 0) StartHour = MathAbs(StartHour); else StartHour = StartHour;
if (StartMinute < 0) StartMinute = MathAbs(StartMinute); else StartMinute = StartMinute;
if (EndHour < 0) EndHour = MathAbs(EndHour); else EndHour = EndHour;
if (EndMinute < 0) EndMinute = MathAbs(EndMinute); else EndMinute = EndMinute;
if (FridayExit < 0) FridayExit = MathAbs(FridayExit); else FridayExit = FridayExit;
if (MaxSpread < 0) MaxSpread = MathAbs(MaxSpread); else MaxSpread = MaxSpread;
if (Slippage < 0) Slippage = MathAbs(Slippage); else Slippage = Slippage;


 

Спасибо, проверю эти моменты. Тоесть система в маркете может выставлять не корректные значения? p.s. заранее спасибо за оказанную помощь)))
Vladimir Zubov
6919
Vladimir Zubov  
Александр:
Спасибо, проверю эти моменты. Тоесть система в маркете может выставлять не корректные значения? p.s. заранее спасибо за оказанную помощь)))
По идее может, там эмулируют специально внештатную ситуацию, по типу TP=SL=1pp то есть могут и баланс = 0 поставить или отрицательные значения лота)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий