Новая версия платформы MetaTrader 4 build 1045 - страница 5

 
Vitalie Postolache:

Слетает профиль при аварийной выгрузке терминала, может и при завершении работы ПК, если терминал не был закрыт вручную то Виндовс не всегда даёт достаточно времени программам на сохранение всех файлов.

Сохраните свой профиль под названием, отличным от Default и восстановление будет стоить всего пару кликом мышой.

такая проблема  с декабрьского билда

 
Vladislav Andruschenko:

такая проблема  с декабрьского билда

Ну у кого как, у меня слетало и раньше, в предыдущих билдах, врядли причина новая.
 

Вот сидишь и что-то меняешь/закрываешь/открываешь/добавляешь, и если пропал свет, то всё уходит "в лес", но если после всего закрыть терминал и потом открыть, то уже всё сохраняет.

Наверное правильно было-бы, если изменения будут применяться на ходу, а не после перезагрузки терминала.

 
Vitaly Muzichenko:

Вот сидишь и что-то меняешь/закрываешь/открываешь/добавляешь, и если пропал свет, то всё уходит "в лес", но если после всего закрыть терминал и потом открыть, то уже всё сохраняет.

Наверное правильно было-бы, если изменения будут применяться на ходу, а не после перезагрузки терминала.

да у меня дети на втором компе, там где стоят все терминалы, играют иногда.

Ну Как играют,естественно под другим профилем.

Иногда могут нажать кнопку выключения (ЗАЖАТЬ ЕЕ, просто отключение - я убрал) 

Могут провод вытащить сзади :-)

Могут поставить танки на полную и видуха может перегрузить комп.

 

Обидно.  

 

пытаюсь открыть позицию 

2017.02.08 15:14:30.708 Exp -  EAPADPRO 3 EURUSD,M30: Ask=1.06588 Bid=1.06571 sy=EURUSD ll=6000.0 op=0 pp=1.06588 sl=0.0 tp=0.0 mn=0
2017.02.08 15:14:30.708 Exp -  EAPADPRO 3 EURUSD,M30: Error(5020) opening position: unknown error, try 1
2017.02.08 15:14:30.708 Exp -  EAPADPRO 3 EURUSD,M30: Error 5020 Desc unknown error
2017.02.08 15:14:30.708 Exp -  EAPADPRO 3 EURUSD,M30: Ask=1.06588 Bid=1.06571 sy=EURUSD ll=6000 op=0 pp=1.06588 sl=0 tp=0 mn=0
2017.02.08 15:14:30.708 Exp -  EAPADPRO 3 EURUSD,M30: Error(5020) opening position: unknown error, try 1
2017.02.08 15:14:30.708 Exp -  EAPADPRO 3 EURUSD,M30: Not Enought Money Margin Required-1981362.340000001

 

 но пишет странную ошибку: 

5020

ERR_FILE_NOT_EXIST

Файл не существует

 

вопрос по функции AccountFreeMarginCheck, сделал чтобы показывало и в мт5 и в мт4 одинаковую цифру

double AccountFreeMarginUNICheck(string symbol,
                                 int cmd,
                                 double volume)
  {
#ifdef __MQL4__ return(AccountFreeMarginUNI()-AccountFreeMarginCheck(symbol,cmd,volume));#endif
#ifdef __MQL5__
   double margin=EMPTY_VALUE;
   bool check=OrderCalcMargin((ENUM_ORDER_TYPE)cmd,symbol,volume,SymbolInfoDouble(Symbol(),SYMBOL_BID),margin);
   return(margin);
#endif
  
}


  

итак, первый принт:

  

Print("AccountFreeMarginUNI()="+AccountFreeMarginUNI()+" sell="+AccountFreeMarginUNICheck(Symbol(),1,1)+" buy="+AccountFreeMarginUNICheck(Symbol(),0,1));

 результат:

2017.02.08 15:19:19.677 Exp -  EAPADPRO 3 EURUSD,M30: AccountFreeMarginUNI()=4007589.66 sell=1066.439999999944 buy=1066.629999999888

 

 

т.е. для 1 лота нужно 1066 долл и на бай и на селл, ок

 

далее открываю бай:

2017.02.08 15:19:31.649 Exp -  EAPADPRO 3 EURUSD,M30: AccountFreeMarginUNI()=746979.6600000001 sell=-0.189936688169837 buy=1066.870000000112
2017.02.08 15:19:31.649 Exp -  EAPADPRO 3 EURUSD,M30: open #172988906 buy 3000.00 EURUSD at 1.06687 ok

 

как мы видим для селла (хедж) нам выпадает что для 1 лота нам нужно -0,18 доллара (хедж) дополнительная маржа, для того, чтобы открыть еще один бай нужно 1066 долл как раньше

 

 

 далее открываю селл:

 

 

2017.02.08 15:19:36.580 Exp -  EAPADPRO 3 EURUSD,M30: AccountFreeMarginUNI()=687639.6600000001 sell=1066.649999999907 buy=0.1799400206655264
2017.02.08 15:19:36.579 Exp -  EAPADPRO 3 EURUSD,M30: open #172988964 sell 3000.00 EURUSD at 1.06665 ok

 

 Здесь у нас почему то идет в плюс 0,17 доллара. 

Почему?  

 

 

заметил что в втором варианте при открытии селл у нас также как и бай идет минус только тогда, когда Еквити выше Баланса 

 
Vitalie Postolache:
Что за перезапуск? Подробнее. 

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

Вот вам вырезанный пример. Попробуйте пожалуйста у себя.
Откройте несколько окон графиков. Установит на один из них этот советник. Посмотрите в журнал - все графики видит, и все имена инструментов получает.
Теперь уберите его с графика и поставьте заново - все графики видит, но имена инструментов уже получить не может, кроме текущего графика
Выключите и включите терминал - все графики видит, и имена инструментов тоже видит. 

0 16:35:16.022 Expert #test ChartSymbol EURUSD,M15: loaded successfully
0 16:35:18.169 #test ChartSymbol EURUSD,M15: 130459400860830972 EURUSD
0 16:35:18.171 #test ChartSymbol EURUSD,M15: 130459400860830971 EURUSD
0 16:35:18.173 #test ChartSymbol EURUSD,M15: 130459400860830976 GBPUSD
0 16:35:18.175 #test ChartSymbol EURUSD,M15: 130459400860830973 AUDJPY
0 16:35:18.176 #test ChartSymbol EURUSD,M15: 130459400860830974 AUDNZD
0 16:35:18.179 #test ChartSymbol EURUSD,M15: 130459400860830975 AUDNZD
0 16:35:18.179 #test ChartSymbol EURUSD,M15: initialized

0 16:35:22.046 #test ChartSymbol EURUSD,M15: uninit reason 1
0 16:35:22.052 Expert #test ChartSymbol EURUSD,M15: removed

0 16:35:23.149 Expert #test ChartSymbol EURUSD,M15: loaded successfully
0 16:35:24.383 #test ChartSymbol EURUSD,M15: 130459400860830972 EURUSD
0 16:35:24.383 #test ChartSymbol EURUSD,M15: 130459400860830971
0 16:35:24.383 #test ChartSymbol EURUSD,M15: 130459400860830976
0 16:35:24.383 #test ChartSymbol EURUSD,M15: 130459400860830973
0 16:35:24.383 #test ChartSymbol EURUSD,M15: 130459400860830974
0 16:35:24.383 #test ChartSymbol EURUSD,M15: 130459400860830975
0 16:35:24.383 #test ChartSymbol EURUSD,M15: initialized

Файлы:
 
Nikolay Khrushchev:

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

Вот вам вырезанный пример. Попробуйте пожалуйста у себя.
Откройте несколько окон графиков. Установит на один из них этот советник. Посмотрите в журнал - все графики видит, и все имена инструментов получает.
Теперь уберите его с графика и поставьте заново - все графики видит, но имена инструментов уже получить не может, кроме текущего графика
Выключите и включите терминал - все графики видит, и имена инструментов тоже видит. 

В индикаторе ситуация немного лучше, не так часто не может получить имя по идентификатору, а вот в советнике баг серьёзный.
 
Alexey Da:
Отлично.
В атаче рабочий скрипт. Работает и при отсутствии подключения к счету.
Ну что попробовали скрипт, что я приложил? на 4-й странице?
 
Nikolay Khrushchev:

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

Вот вам вырезанный пример. Попробуйте пожалуйста у себя.
Откройте несколько окон графиков. Установит на один из них этот советник. Посмотрите в журнал - все графики видит, и все имена инструментов получает.
Теперь уберите его с графика и поставьте заново - все графики видит, но имена инструментов уже получить не может, кроме текущего графика
Выключите и включите терминал - все графики видит, и имена инструментов тоже видит. 

Да я уже выше отписал, что мне удалось воспроизвести такую же ситуацию у себя с кодом из справки, но в моём случае перезапуск терминала не всегда помогает, приходится ещё и код перекомпилировать. Написал заявку в сервисдеск.