Ошибки, баги, вопросы - страница 76

 

 то Interesting

 наверное выражу мнение многих....угомонись...

 
DEDMOROZ:

 то Interesting

 наверное выражу мнение многих....угомонись...

За финальную часть этого поста я конечно извиняюсь (возможно она была не уместной. если так то я ее уберу).

Если у Вас есть еще "темы для разговоров" пишите в личку...

 
Ежели экономические новости отключены на вашей стороне, про скрипты на основе ФА-алгоритмов можно забыть? Не то, что в Чемпионат такого советника не забросишь, но и даже просто не потестируешь на MQ-демосерверах.
 
x100intraday:
Ежели экономические новости отключены на вашей стороне, про скрипты на основе ФА-алгоритмов можно забыть? Не то, что в Чемпионат такого советника не забросишь, но и даже просто не потестируешь на MQ-демосерверах.

Альпари новости транслирует, возможно и другие брокеры.

Календарь новостей можно из файла подгружать (по крайней мере я задумывался над такой реализацией).

 
stringo:

Разобрались. Никакой ошибки нет

Если во время слипа не было ни одного тика, значение, возвращаемое TimeCurrent (а именно, последнее известное время сервера, или время прихода последней котировки), не изменяется.

Попробуйте выводить TimeLocal, и вы увидите, что всё в порядке 

Во-первых, локальное время , как и время GMT в тестере моделируется и равно серверному времени. В своё время специально это проверял.

2010.07.31 05:41:32    Core 2    Disconnected
2010.07.31 05:41:32    Core 2    Log file "E:\Program Files (x86)\MetaTrader 5_2\Tester\Agent-127.0.0.1-3001\logs\20100731.log" written
2010.07.31 05:41:32    Core 2    EURGBP,H1: 934838 ticks (500 bars) generated within 1451 ms (total bars in history 9480)
2010.07.31 05:41:32    Core 2    Время GMT:            2010.07.29 23:00:00
2010.07.31 05:41:32    Core 2    Локальное время: 2010.07.29 23:00:00
2010.07.31 05:41:32    Core 2    Серверное время: 2010.07.29 23:00:00
2010.07.31 05:41:32    Core 2    Deinit
2010.07.31 05:41:32    Core 2    OnTester result 0
2010.07.31 05:41:32    Core 2    Время GMT:            2010.07.29 23:00:00
2010.07.31 05:41:32    Core 2    Локальное время: 2010.07.29 23:00:00
2010.07.31 05:41:32    Core 2    Серверное время: 2010.07.29 23:00:00
2010.07.31 05:41:32    Core 2    OnTick
2010.07.31 05:41:32    Core 2    Время GMT:            2010.07.29 22:00:00
2010.07.31 05:41:32    Core 2    Локальное время: 2010.07.29 22:00:00
2010.07.31 05:41:32    Core 2    Серверное время: 2010.07.29 22:00:00
2010.07.31 05:41:32    Core 2    OnTick
2010.07.31 05:41:32    Core 2    Время GMT:            2010.07.29 21:00:00
2010.07.31 05:41:32    Core 2    Локальное время: 2010.07.29 21:00:00
2010.07.31 05:41:32    Core 2    Серверное время: 2010.07.29 21:00:00


Во-вторых, это наблюдается во всех случаях, когда TimeCurrent в момент вызова Sleep равно XX:00:00 и никогда, если не 0.

Что же, тестер никогда не генерирует тиков после XX:00:00 в течении 10 секунд ни по одному из символов ? В данном случае используется 4 инструмента и позиции закрываются последовательно ( кстати, тоже по приходу тика), но время остаётся тем же самым. Где же логика ?

Я могу увеличить задержку, например, до минуты. Если тестер при Sleep и тогда будет застревать на 0, то будем считать баг доказанным ?

Хотя, где-то в документации читал, кажется, что во время Sleep тики не обрабатываются. но ведь во всех других, не равных 0, случаях время нормально инкриментируется.

Файлы:
 

Описание проблемы

После тестирования от на вкладке результаты открываю график со сделками.

 

Последовательность действий

Применяю шаблон к графику. 

Результаты -> Открыть график  -> Шаблоны  -> Puria

Полученный результат

В результате вижу чистый график без сделок 

 

 

Ожидаемый результат

Хотелось бы чтобы было видно сделки на шаблоне.

Дополнительные сведения

Если вручную ставить все индюки то все нормально. Только если индикаторов много каждый раз чтобы посмотреть как торгует советник ставить их вручную заново каждый раз после тестирования?

А скрин разве у вас нельзя в сообщение сервисдеск вставить? 

 

AM2:

А скрин разве у вас нельзя в сообщение сервисдеск вставить? 

Как графику тет, только как обычные файлы прикрепить снизу...
 
AM2:

Описание проблемы

После тестирования от на вкладке результаты открываю график со сделками.

 

Последовательность действий

Применяю шаблон к графику. 

Результаты -> Открыть график  -> Шаблоны  -> Puria

Полученный результат

В результате вижу чистый график без сделок 

Вообще-то, используемые индикаторы должны отображаться на графике автоматом. Если у Вас их нет, то сделайте так:

Откройте чистый график, прикрепите к нему нужные Вам индикаторы и сохраните всё это в шаблон 'tester.tpl'.

Проведите тестирование. На графике будут и индикаторы и сделки.

 

Я так правильно понял, что значения возвращаемые ACCOUNT_TRADE_ALLOWED генерируются на стороне сервера?

Я имею введу что никакие действия со стороны трейдера (в терминале) не могут изменить это значение...

PS

А вот нежелание ACCOUNT_TRADE_EXPERT меняться для меня по истине странно...

На что тогда влияют кнопка "Авто-торговля" в меню терминала и галочка "Разрешить авто-торговлю"?

PPS

В старых релизах все вроде было правильно и все работало, а в 299 не пойму я что происходит...

 
Interesting:

Я так правильно понял, что значения возвращаемые ACCOUNT_TRADE_ALLOWED генерируются на стороне сервера?

Я имею введу что никакие действия со стороны трейдера (в терминале) не могут изменить это значение...

PS

А вот нежелание ACCOUNT_TRADE_EXPERT меняться для меня по истине странно...

На что тогда влияют кнопка "Авто-торговля" в меню терминала и галочка "Разрешить авто-торговлю"?

PPS

В старых релизах все вроде было правильно и все работало, а в 299 не пойму я что происходит...


 

Меня тоже интересует подобный вопрос. Что делать если недостаточно средств на счете для открытия позиции?

1. Запретить советнику торговать.

2. Запретить открывать позиции.

3. Удалить эксперт с графика.

Пункт 3 с помощью ExpertRemove можно решить. 2-й пункт у меня так решается:

   if(Buy_Condition)                                         // покупаем по сигналу
     if(!PositionSelect(_Symbol))                            // покупаем если нет позиции  
        if(AccountInfoDouble(ACCOUNT_FREEMARGIN)>1000)       // покупаем если достаточно средств на счете
          {  
           trade.PositionOpen(_Symbol,
           ORDER_TYPE_BUY,                                   // ордер на покупку
           Money_M(),                                        // количество лотов для торговли
           Ask,                                              // последняя цена ask
           NormalizeDouble(Ask - STP*_Point,_Digits),        // Stop Loss
           NormalizeDouble(Ask + TKP*_Point,_Digits),        // Take Profit
           " ");                                             // без комментариев
          }
Причина обращения: