Почему эксперт на демо торгует не как в тестере - страница 2

 
Bicus:

В этой строке мне не нравится "OrderLot*2/3". Перепишите её хотя бы как "NormalizeDouble (OrderLot*2/3, 2)".

А чтобы понять, заходит советник в условие или нет, можно воткнуть контрольный Print или Alert.



Дело в том, что я предполагаю свои ошибки, тут даже не дело в правильности написания кода, а в том что в тестере работает все как и планировалось, а в реале все не так. Если даже и ошибка в коде, то почему тестер ее проглатывает, а реал воспринимает как ошибку, короче я совсем запутался. Может найдется програмист со стажем который перепишет советника с "нуля". Он не сложный, без индикаторов, не пипсовщик (цели от 90п. на 4 знаках), ПФ=от 1,6 ФВ=от15

Только чтобы именно для реала, для тестера я и сам написал ;)

 

Разобрался, хотя не до конца.

Дело в том, что в тестере ставил лот=1 и все работало, а на демо поставил 0,1 и советник стал работать не правильно. Поставил в тестере 0,1 и тестер также отработал с ошибкой, т.е. чудес не оказалось :)

тем не менее остается не понятным, почему в А...ри имея открытую позицию 0,3 лота эксперт не может зафиксировать 0,2 только что попробовал сделать это вручную, все благополучно закрылось (0,2 закрыл 0,1 остался) значит проблема не в спецификации, получается, что все же в коде. 

или может кто-то уже сталкивался с подобным и поделиться 

 
Europa:

Разобрался, хотя не до конца.

Дело в том, что в тестере ставил лот=1 и все работало, а на демо поставил 0,1 и советник стал работать не правильно. Поставил в тестере 0,1 и тестер также отработал с ошибкой, т.е. чудес не оказалось :)

тем не менее остается не понятным, почему в А...ри имея открытую позицию 0,3 лота эксперт не может зафиксировать 0,2 только что попробовал сделать это вручную, все благополучно закрылось (0,2 закрыл 0,1 остался) значит проблема не в спецификации, получается, что все же в коде.

или может кто-то уже сталкивался с подобным и поделиться

Выложите кусок кода, где закрываете ордер, может тогда можно будет что то сказать.
 
Europa:

Разобрался, хотя не до конца.

Дело в том, что в тестере ставил лот=1 и все работало, а на демо поставил 0,1 и советник стал работать не правильно. Поставил в тестере 0,1 и тестер также отработал с ошибкой, т.е. чудес не оказалось :)

тем не менее остается не понятным, почему в А...ри имея открытую позицию 0,3 лота эксперт не может зафиксировать 0,2 только что попробовал сделать это вручную, все благополучно закрылось (0,2 закрыл 0,1 остался) значит проблема не в спецификации, получается, что все же в коде.

или может кто-то уже сталкивался с подобным и поделиться


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

на 1-й странице
 
PapaYozh:

Пишите в журнал информацию об ошибках, анализируйте журнал. Другого пути к пониманию причин возникновения проблем не существует.


Ни влогах, ни в журнале ничего нет, т.е. эксперт даже не пытается что-то сделать

сейчас еще кое-что попробую 

 
Europa:


Ни влогах, ни в журнале ничего нет, т.е. эксперт даже не пытается что-то сделать

сейчас еще кое-что попробую


Ваш эксперт должен выводить информацию о возникающих ошибках.

 
PapaYozh:


Ваш эксперт должен выводить информацию о возникающих ошибках.


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

А так, на первый взляд, похоже что у Вас объём не нормализован.

 

Заработало!!! Действительно нормализация, а именно вместо

OrderLot==Lot*3
сделал
OrderLot==NormalizeDouble(Lot*3,1)

 хотя до конца, природу таких "нюансов" понять не могу...

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