sanyooooook:
кстати ошибочка где-то(компилятор принимает SIGNAL_INFO_SUBSCRIPTION_ENABLED, а в справке SIGNAL_INFO_SUBSCRIBTION_ENABLED)
Что ж если никто не знает попробую сам:
1. Как часто?
Поставил скрипт:
double LastEquity=0; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { while(!IsStopped()) { RefreshRates(); WindowRedraw(); if(SignalBaseSelect(0)) { { Comment(TimeCurrent()," ",SignalBaseGetString(SIGNAL_BASE_NAME)," ",SignalBaseGetDouble(SIGNAL_BASE_EQUITY)); if(MathAbs(SignalBaseGetDouble(SIGNAL_BASE_EQUITY)-LastEquity)>0)Alert("Обновление"); LastEquity=SignalBaseGetDouble(SIGNAL_BASE_EQUITY); } } else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError()); } Sleep(500); } //+------------------------------------------------------------------+
минут 5 висит ни одного сигнала, на сигнале эквити обновилось несколько раз.
Похоже что не часто. (
3 часа прошло, обновления нет
6 часов - обновления инфы по сигналу нет ((
первое обновление в 1:25 по Москве за последние 8-10 часов, не густо ((
2. Всё ли видно?
Тут сложно сказать, но однозначно функции видят больше чем видно на сайте в текущий момент.
Если ДЦ перекрыл доступ к сигналам, то функции слепнут.
SignalBaseTotal();
сейчас даёт 996(не знаю все ли это сигналы МТ4 и МТ5 или только для МТ4) сигналов, на сайте видно около 400(Для МТ4)
6. Как узнать можно ли подписываться?
Тут видимо только методом проб и ошибок, другого способа не увидел:
пробуем подписаться на сигнал, если не выходит значит подписка не разрешена.
3. Как узнать валюту счёта?
Тут всё понятно: "А на хрена?"
По большей части валюта счёта не нужна, но почему-то таки хочется знать валюту счёта на который собрался подписываться.
по обновлению базы:
похоже на то что обновление бывает раз в 12 часов, но с момента запуска терминала
вот лог скрипта:
2014.07.10 18:40:32.671 SignalInfo1 BTCUSD,H1: Alert: Обновление 2014.07.10 18:40:32.468 SigInfo LTCUSD,H1: Alert: Обновление 2014.07.10 06:39:38.718 SignalInfo1 BTCUSD,H1: Alert: Обновление 2014.07.10 06:39:37.734 SigInfo LTCUSD,H1: Alert: Обновление 2014.07.09 18:37:01.718 SignalInfo1 BTCUSD,H1: Alert: Обновление 2014.07.09 18:36:40.687 SigInfo LTCUSD,H1: Alert: Обновлениет.е. перед этим запускал скрипт где-то в 13:30 по Москве следующее обновление прошло через ~12 часов, сейчас так же
причём на разных терминалах скрипты запущенные в разное время показывают разные значения для одного и того же сигнала
- www.mql5.com
и ни одно значение не совпадает с текущим значением на сигнале:
Почему для терминалов от разных ДЦ предоставляется разная информация по сигналам?
http://joxi.ru/WoTBU4wyTJDrBuHoOpE
http://joxi.ru/t4TBU4wyTJB6aASj5aI
делал вот этим скриптом:
void OnTick() { int total=0; string stroka=""; for(int i=SignalBaseTotal()-1;i>=0;i--) { if(SignalBaseSelect(i)) { double Balance=SignalBaseGetDouble(SIGNAL_BASE_BALANCE); double Equity=SignalBaseGetDouble(SIGNAL_BASE_EQUITY); double Drawdown=(Equity-Balance)/Balance; if(SignalBaseGetInteger(SIGNAL_BASE_TRADE_MODE)==0) { if(SignalBaseGetDouble(SIGNAL_BASE_PRICE)<1.0) { if(SignalBaseGetDouble(SIGNAL_BASE_MAX_DRAWDOWN)>50.0) { if(Drawdown<=(-0.01)&&Drawdown>(-0.20)) { stroka=stroka+StringConcatenate(SignalBaseGetString(SIGNAL_BASE_NAME)," Прирост: ",SignalBaseGetDouble(SIGNAL_BASE_GAIN)," Drawdown: ",NormalizeDouble(Drawdown*100,2),"\n"); total++; } } } } } else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError()); } Comment(total,"\n",stroka); }
Почему для терминалов от разных ДЦ предоставляется разная информация по сигналам?
Что имеется в виду - разный список сигналов? Сейчас вы можете указать своего брокера и получить:
- только те сигналы, на которые вы можете подписаться
- и эти сигналы будут дополнительно отсортированы на основание рейтинга брокеров - то есть одни сигналы станут для вашего брокера более предпочтительными, другие менее. Корректировака производится за счет учета совпадения различий торговых объемов между подписчиком и провайдером, а также на основании статистики проскальзываний.
Новая система делает более удобным выбор сигналов для копирования.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
2. Все ли сигналы видят функции, среди тех которые есть в базе?
3. Почему нет возможности получить валюту счёта в свойствах сигнала? Тут в принципе сам отвечу: "потому что не сделали". А когда сделаете?
4. Если дали возможность автоматической подписки на сигналы, то почему не дали возможность самостоятельно получать и обрабатывать историю сделок? Тут в принципе тоже понятно, но блин, "хотелось бы".
5. Какое значение вернёт функция SignalInfoGetInteger(SIGNAL_INFO_SUBSCRIBTION_ENABLED), если подписка не разрешена? (в справке почему-то не указано) (ну и все остальные свойства связанные с флагами)
кстати ошибочка где-то(компилятор принимает SIGNAL_INFO_SUBSCRIPTION_ENABLED, а в справке SIGNAL_INFO_SUBSCRIBTION_ENABLED)
6. Как программно узнать разрешена ли подписка на сигнал?
Речь идёт об этих функциях: