Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
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 в настройках тестера...
Спасибо за разъяснения.
Денис!!! похоже советник плохо определяет валюту депозита. у меня рублевый счет. дак он последний ордер открыл очень большим лотом. исходя из депо, должно было быть я как понимаю 0.01, а выставил лотом 0.04 Это как то можно объяснить, или он все сам правильно расчитывает?!?!?!
А что возвращает функция AccountCurrency()?
ЭТО ГДЕ ТО В ЖУРНАЛЕ ДОЛЖНО ЗАПИСЫВАТЬСЯ ИЛИ ГДЕ??!??!? я чет не нашел такую запись. Если в советнике где то надо прописать значение, то где именно надо вставить
Добавьте в функцию init() строчку:
Comment(" Валюта депозита " + AccountCurrency( ) );
и в левом верхнем углу графика появится соответствующая запись.
прописал. все появилось как ты и сказал. вот только щас опять ордер был отложенный, дак все равно лотом 0.04 выставился, блин страшно, а вдруг рынок не туда куда надо пойдет, тогда сразу депо сольет(((((. и где посмотреть что возвращает возвращает функция AccountCurrency()
Так что написано в левом верхнем углу после " Валюта депозита "?
Тогда попрубуйте в 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 (естественно с разными параметрами), то в тот момент, когда первый советник выставляет ордер, второй в это время выставить ордер не может. Нужно сделать так: если торговля занята, то ждать, иначе - выставить ордер. Это дополнительная проверка на условие занятости системы, и в будущем может пригодиться.
Все, сделок нет и обсуждений нет!!! ))))))))))))))))))) Братва, чего примолкли все!??!?
А что обсуждать-то?
Пока нечего ...
Выложили новую версию ... кто что думает?
А где эти новые версии?
Выложили новую версию ... кто что думает?
это что значит стопы не правильные?
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 прибыльная сделка - баланс в нашу сторону.
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
Теперь видно, что ошибка возникла как раз после увеличения стоп-уровня брокером.
Денис, может тебе будет интересно, добавь в советник правило определения стоп-уровня. И в случае его увеличения - выставление стопа у ордеров на уровень изменения плюс один пипс (или пункт). Посмотри, что из этого получится.