Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Выше код индикатора Spread_of_symbols...я его решил переделать чтобы он работал быстрее....и получился код см ниже...данные не копируются...если в коде копировать данные начиная не с 0 , а с 1 то индикатор рисует очень быстро но выходит ошибка аут оф рэндж...что не так в коде см ниже...?
DS 0 Trades 19:31:10 '***': cancel order #3694238 buy limit 1.10 AUDJPY.m at 93.876
DH 0 Trades 19:31:10 '***': cancel order #3694237 buy stop 0.36 AUDJPY.m at 95.679
FI 0 Trades 19:31:10 '***': cancel order #3694239 buy limit 0.36 AUDJPY.m at 93.876
FP 0 Trades 19:31:10 '***': cancel order #3694236 buy stop 1.10 AUDJPY.m at 95.679 done
QE 0 Trades 19:31:11 '***': cancel order #3694238 buy limit 1.10 AUDJPY.m at 93.876 done
CG 0 Trades 19:31:11 '***': cancel order #3694237 buy stop 0.36 AUDJPY.m at 95.679 done
OL 0 Trades 19:31:11 '***': cancel order #3694239 buy limit 0.36 AUDJPY.m at 93.876 done
Четыре отложенных ордера, по журналу, вроде как удалились быстро. Но в OnTradeTransaction ответы пришли, где-то через 15 сек, тики в этот период исправно приходили.
***
JG 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Удаление tp _ OnTrade PENDING id=85 m=3 b/s=SELL Err=Заявка выполнена
***
RL 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Удаление sl _ OnTrade PENDING id=86 m=3 b/s=SELL Err=Заявка выполнена
***
HK 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Удаление tp _ OnTrade PENDING id=87 m=3 b/s=SELL Err=Заявка выполнена
Хотя, тут тоже что-то странно
ES 0 prp5 (EURUSD.m,M1) 19:31:29 TS=6 case 8(real) m=3 b/s=SELL Err=Ордер размещён ==>после выполнения OrderSendAsync, 3 сек как-то многовато кажись.
P.S. Походу были тормоза с выполнением эксперта, хотя интересно, сколько времени пакеты для OnTradeTransaction могут держаться в очереди.
Из справки:
Справочник MQL5 / Стандартная библиотека / Классы для создания панелей и диалогов / CWnd / StateFlagsSet
Каких свойств?
StateFlagsSet не свойств, а состояния. Метод группового изменения состояния. Чуть выше методы изменения отдельных флагов состояния.
Пользуйте отдельно.
Посмотрел "организацию доступа к данным", посмотрел скрипт-пример который подкачивает данные и все понял, возникли следующие вопросы:
1. Почему я не могу в индикаторе в функции OnInit прописать этот код, чтобы при запуске индикатор сам себе подкачал историю и подготовил таймсерии? Могу ли я прописывать в советнике подобную проверку?
2. Как часто надо делать подобную проверку для: 1 советников, 2 индикаторов? Если я всего один раз подготовлю историю и таймсерии для копирования то в дальнейшем не будут возникать ошибки при копировании? Или мне придется каждый раз или периодически проверять готовность истории и таймсерий?
3. Эта проверка необходима только для индикаторов и советников, в которых используются несколько таймфреймов и символов, или желательна во всех подряд?
Обратите внимание - индикатор не имеет права ждать или циклиться, иначе он убьет расчет последующих индикаторов.
Процессы подкачки асинхронны, а индикатор не имеет права ждать данных. Поэтому в ините можно запросить, ни в коем случае не ждать и не тормозить и только в онкалкулейте проверять наличие и считать.
Обратите внимание - индикатор не имеет права ждать или циклиться, иначе он убьет расчет последующих индикаторов.
1 Так где же мне тогда подкачку осуществить данных? Если я хочу индикатор сделать в котором будет корзина из вал пар, много символов...по каждому из них надо будет сделать проверку и подкачать данные...мне что из индикатора запускать скрипт что-ли? Почему один индикатор убьет расчеты последующих? Достаточно использовать в последующих индикаторах проверку на рассчет предыдущего индикатора через BarsCalculated(indicator1_Handle), пускай себе считается и данные подкачивает, или я не прав?
2 И еще такой вопрос, другого характера, когда я объявляю хэндл индикатора в функции он инит, тогда он начинает считаться? Или он начинает считаться перед тем как я дал команду на его копирование?