Советники: DVD Level - страница 129

 
denisdenisov:
jek2004:
denisdenisov:
jek2004:

denisdenisov


А должно быть Курс валюты депозита к USD 0.03333333 . У меня нет рублевого счета - в реале поверить не могу. Проблема может быть только, если AccountCurrency() возвращает не RUR

День добрый! Спасибо автору за советник и техподдержку.

Но на рублевом счету действительно что-то не так.

После изменения ф-ции init() на терминале пишет: Курс валюты депозита к USD 29.6550000. Кажется, наоборот вроде надо?

И вчера советник пытался открыться четверным ордером, хотя в настройках стоит 0,05.

103372656 2011.01.31 13:45 sell limit 4.00 eurusd 1.37022 1.39122 1.36842 2011.01.31 13:48 1.37023 deleted [no money]
4101 deleted [no money

Что еще нужно изменить в коде, чтобы корректно считал рубли и лоты? Может, в этой строчке: if(r==0){return(1/USDRUR);} else {return(r);}

И еще. Почему-то тест начинается с размера лота 0,5, хотя, опять-же, в настройках стоит 0,05.

№ Время Тип Ордер Объём Цена S / L T / P Прибыль Баланс
1 2009.01.02 13:30 buy limit 1 0.50 1.38940 1.36840 1.39120
2 2009.01.02 13:32 buy 1 0.50 1.38940 1.36840 1.39120
3 2009.01.02 15:10 t/p 1 0.50 1.39120 1.36840 1.39120 90.00 5090.00

Заранее спасибо.


Да, спасибо, здесь ошибка: if(r==0){return(1/USDRUR);} else {return(r);}, надо if(r==0){return(1/USDRUR);} else {return(1/r);}

исправленную версию выложил на проверку, будет v.2.2


А кроме этого, какие еще изменения в новой версии?

И насчет тестера с лотом 0,5 вместо 0,05 ничего не скажете?


Если у Вас стоит MoneyManagement=true, то размер лота расчитывается исходя из свободных средств и параметра TradeSizePercent, а параметр Lots игнорируется. А если MoneyManagement=false, то размер лота равен параметру Lots и не изменяется. А размер лота 0,5 вместо 0,05 связан как раз с ошибкой для рублевых депозитов.


Или с отсутствием такой валюты RUR в настройках тестера...

Спасибо за разъяснения.

[Удален]  
denisdenisov:
minimalistik:
denisdenisov:
minimalistik:
denisdenisov:
minimalistik:
denisdenisov:
minimalistik:
denisdenisov:
minimalistik:
denisdenisov:
minimalistik:
Денис!!! похоже советник плохо определяет валюту депозита. у меня рублевый счет. дак он последний ордер открыл очень большим лотом. исходя из депо, должно было быть я как понимаю 0.01, а выставил лотом 0.04 Это как то можно объяснить, или он все сам правильно расчитывает?!?!?!

А что возвращает функция AccountCurrency()?

ЭТО ГДЕ ТО В ЖУРНАЛЕ ДОЛЖНО ЗАПИСЫВАТЬСЯ ИЛИ ГДЕ??!??!? я чет не нашел такую запись. Если в советнике где то надо прописать значение, то где именно надо вставить


Добавьте в функцию init() строчку:

Comment(" Валюта депозита " + AccountCurrency( ) );

и в левом верхнем углу графика появится соответствующая запись.


прописал. все появилось как ты и сказал. вот только щас опять ордер был отложенный, дак все равно лотом 0.04 выставился, блин страшно, а вдруг рынок не туда куда надо пойдет, тогда сразу депо сольет(((((. и где посмотреть что возвращает возвращает функция AccountCurrency()

Так что написано в левом верхнем углу после " Валюта депозита "?
на рублевом депо : Валюта депозита RUR. на доллоровом: Валюта депозита USD


Тогда попрубуйте в init()

Comment(" Курс валюты депозита к USD " + GetAccCurrToUSD() );

что выдает?


Высвечивается: Курс валюты депозита к USD 1.00000000 А какое значение должно высвечиывться????

А должно быть Курс валюты депозита к USD 0.03333333 . У меня нет рублевого счета - в реале поверить не могу. Проблема может быть только, если AccountCurrency() возвращает не RUR.

Денись. а может лучше убрать функцию запроса котировки MarketInfo("USDRUR",MODE_BID) выдает 0 . а просто брал котир из параметра extern double USDRUR = 30; // Курс рубля к доллару для рублевых депозитов, на случай, если MarketInfo("USDRUR",MODE_BID) выдает 0 ведь впринципе курс доллара к рублю всегда примерно 29-30 р, поэтому установить в параметрах так же среднее значение USDRUR = 30 .может че и получится!!!!


Сейчас так и написано. Вы можете в коде на рублевом счете в функции GetAccCurrToUSD() в начале вставить строчку

return(1/30);

и все, тогда функция будет возвращать 0.033333333, а остальные сточки будут игнорироваться.


ЧЕ ТО НЕ КАТИТ, НЕЗНАЮ ВООБЩЕМ КАК И КУД ВОТКНУТЬ ЧТОБ РАБОТАЛО БЛИН(((( в функции GetAccCurrToUSD() в начале вставить строчку

return(1/30);

и все, тогда функция будет возвращать 0.033333333, а остальные сточки будут игнорироваться.
 

Что это за ошибка такая?

2011.02.01 19:07:44 DVD 100-50_cent_v20_new EURUSD,H1: DVD 100 cent: Error opening Sell order [DVD 100 cent: 4130 : EURUSD_PERIOD_H1]: (146) trade context is busy /// for 1.3803 BAL :55.00000000 RAVI0_2_24_H1 :0.34008339

Подсистема торговли занята ...

Подскажите, как поставить проверку на занятость торгов?

Ошибка происходит из-за того, что в одно и то же время в систему поступает два сигнала одновременно.

Денис, попробуй добавить проверку на занятость торгов. Например, если запустить на одном графике 2-ю версию, и на втором графике версию 2.1 (естественно с разными параметрами), то в тот момент, когда первый советник выставляет ордер, второй в это время выставить ордер не может. Нужно сделать так: если торговля занята, то ждать, иначе - выставить ордер. Это дополнительная проверка на условие занятости системы, и в будущем может пригодиться.

[Удален]  
Все, сделок нет и обсуждений нет!!! ))))))))))))))))))) Братва, чего примолкли все!??!?
 
minimalistik:
Все, сделок нет и обсуждений нет!!! ))))))))))))))))))) Братва, чего примолкли все!??!?

А что обсуждать-то?

Пока нечего ...

[Удален]  
Sancho77:
sezon:
Выложили новую версию ... кто что думает?
Насколько я понимаю сигнал входа на рынок не дорабатывался.
А где эти новые версии?
[Удален]  
QWE-15:
Sancho77:
sezon:
Выложили новую версию ... кто что думает?
Насколько я понимаю сигнал входа на рынок не дорабатывался.
А где эти новые версии?
В разделе "Скачать:" всегда последняя версия.
 
2011.02.09 18:00:53 DVD 100-50 cent EURUSD,M1: DVD 100 cent: Error opening Sell order [DVD 100 cent: 4101 : EURUSD_PERIOD_M1]: (130) invalid stops /// for 1.3703 BAL :55.00000000 RAVI0_2_24_H1 :0.26715725
это что значит стопы не правильные?
 
ilmur:
2011.02.09 18:00:53 DVD 100-50 cent EURUSD,M1: DVD 100 cent: Error opening Sell order [DVD 100 cent: 4101 : EURUSD_PERIOD_M1]: (130) invalid stops /// for 1.3703 BAL :55.00000000 RAVI0_2_24_H1 :0.26715725
это что значит стопы не правильные?

На время важных новостей брокер расширяет Stop Level (в Альпари с 1,8 пунктов до 30), а в советнике тэйк профит 18 пунктов. Но, это и хорошо - с начала года так не открылась 1 убыточная и 1 прибыльная сделка - баланс в нашу сторону.
 
ilmur:
2011.02.09 18:00:53 DVD 100-50 cent EURUSD,M1: DVD 100 cent: Error opening Sell order [DVD 100 cent: 4101 : EURUSD_PERIOD_M1]: (130) invalid stops /// for 1.3703 BAL :55.00000000 RAVI0_2_24_H1 :0.26715725
это что значит стопы не правильные?

У меня такая же ошибка.

Причём приведу полный список:

13:45:44 '311960': login
14:15:48 '311960': ping failed
14:18:00 '311960': login
14:18:01 '311960': login

17:55:58 Expert stdlib EURUSD,M15: loaded successfully

17:55:59 Mail: 'DVD 100 cent: Error Open SellLIMIT order ' has been sent
..................................................
18:00:49 Mail: 'DVD 100 cent: Error Open SellLIMIT order ' has been sent

А что бы не появлялась такая же ошибка, приведу ещё один лог:

17:45:36 ex_Sigal GS_2010_11_03-1 EURUSD,H4: Alert: Дистанция 300
17:55:58 stdlib EURUSD,M15: loaded successfully
17:55:58 DVD_v23 EURUSD,M15: DVD 100 cent: Error opening SellLIMIT order [DVD 100 cent: 4103 : EURUSD_PERIOD_M15]: (130) invalid stops /// for 1.3702 BAL :55.00000000 RAVI0_2_24_H1 :0.13088705
.....................
18:00:48 DVD_v23 EURUSD,M15: DVD 100 cent: Error opening SellLIMIT order [DVD 100 cent: 4103 : EURUSD_PERIOD_M15]: (130) invalid stops /// for 1.3702 BAL :55.00000000 RAVI0_2_24_H1 :0.26715725
18:15:45 ex_Sigal GS_2010_11_03-1 EURUSD,H4: Alert: Дистанция 18
18:15:45 ex_Sigal GS_2010_11_03-1 EURUSD,H4: Alert: Дистанция 300
18:41:04 ex_Sigal GS_2010_11_03-1 EURUSD,H4: Alert: Дистанция 18

Теперь видно, что ошибка возникла как раз после увеличения стоп-уровня брокером.

Денис, может тебе будет интересно, добавь в советник правило определения стоп-уровня. И в случае его увеличения - выставление стопа у ордеров на уровень изменения плюс один пипс (или пункт). Посмотри, что из этого получится.