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

 
sezon:
ieshua:
Ночью были отложки в 23.01 и 23.25. У всех так было? Просто в первый раз вижу, чтобы разница была в 24 минуты.
Да, были отложки не выполнившиеся.


Были.
 

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

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

 
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 .может че и получится!!!!
 
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, а остальные сточки будут игнорироваться.

 
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

 
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 ничего не скажете?

 
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 связан как раз с ошибкой для рублевых депозитов.
 
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 (естественно с разными параметрами), то в тот момент, когда первый советник выставляет ордер, второй в это время выставить ордер не может. Нужно сделать так: если торговля занята, то ждать, иначе - выставить ордер. Это дополнительная проверка на условие занятости системы, и в будущем может пригодиться.