Бета-версия платформы MetaTrader 5 build 1700: Проекты в MetaEditor и синтетические инструменты - страница 26

 
Renat Fatkhullin:

Выпустили 1711 билд.

Улучшения в систетических инструментах и совместных проектах.

Обновитесь, пожалуйста.


По-прежнему не пускает пробелы в названии проекта.

 
Renat Fatkhullin:

Выпустили 1711 билд.

Улучшения в систетических инструментах и совместных проектах.

Обновитесь, пожалуйста.


А как скопировать текст из графы "Описание":

Описание проекта

? Так как я в описании проекта размещаю ссылку на форум, где начало обсуждения советника. 


Добавлено: решено.

Чтобы скопировать описание нужно: 

Копируем описание проекта


Добавлено, добавлено:

Очень уж сложный путь для того, чтобы просто скопировать описание, тем более если в описании стоит ссылка, которую нужно просто скопировать - для того, чтобы просто пройти и прочитать описание по ссылке.

 
Renat Fatkhullin:

Выпустили 1711 билд.

Да когда же это закончится?!

#define TOSTRING(A) (#A + " = " + (string)(A))

bool IsTickInfoBad( const MqlTick &Tick )
{
  return(!Tick.ask || !Tick.bid || Tick.last || Tick.volume || ((Tick.flags & (0x7F ^ (TICK_FLAG_ASK | TICK_FLAG_BID))) != 0));
}

void OnStart()
{
  MqlTick Ticks[];
  
  Print(TOSTRING(_Symbol));
  Print(TOSTRING(AccountInfoString(ACCOUNT_SERVER)));
  
  Print(TOSTRING(CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, (ulong)D'2017.12.12' * 1000, LONG_MAX))); // Если вместо LONG_MAX указать ноль - будет загружаться вся история.
  
  for (int i = 0; i < ArraySize(Ticks); i++)
    if (IsTickInfoBad(Ticks[i]))
      ArrayPrint(Ticks, _Digits, NULL, i, 1);
}


Результат

_Symbol = GBPUSD
AccountInfoString(ACCOUNT_SERVER) = MetaQuotes-Demo
CopyTicksRange(_Symbol,Ticks,COPY_TICKS_INFO,(ulong)D'2017.12.12'*1000,LONG_MAX) = 643863
                 [time]   [bid] [ask] [last] [volume]    [time_msc] [flags]
[0] 2017.12.12 00:43:31 1.33412 0.000 0.0000        0 1513039411854     134
                 [time]   [bid] [ask] [last] [volume]    [time_msc] [flags]
[0] 2017.12.12 01:38:46 1.33445 0.000 0.0000        0 1513042726609     134
                 [time] [bid]   [ask] [last] [volume]    [time_msc] [flags]
[0] 2017.12.12 05:57:10 0.000 1.33402 0.0000        0 1513058230667       6


ЗЫ В копилку.

 

Вопрос по редактору.

Вот такой код, когда "else if" и под ним одна строка действия (без "{ }")

   if(str1.hour<InpStartHour)
      m_trading_time=false;
   else if(str1.hour==InpStartHour)
     {
      if(str1.min<InpStartMinute)
         m_trading_time=false;
      else if(str1.min>=InpStartMinute)
                        m_trading_time=true;
     }

Стилизатор оставляет слева кучу пробелов и

побороть это можно только вставив "{ }"

   if(str1.hour<InpStartHour)
      m_trading_time=false;
   else if(str1.hour==InpStartHour)
     {
      if(str1.min<InpStartMinute)
         m_trading_time=false;
      else if(str1.min>=InpStartMinute)
        {
         m_trading_time=true;
        }
     }


Добавлено:

стилизатор реагирует на условие ">=" и "==":

   else if(str1.hour==InpStartHour)
     {
      if(str1.min<InpStartMinute)
         m_trading_time=false;
      else if(str1.min>=InpStartMinute)
                        m_trading_time=true;

     }
   else if(str1.hour>InpStartHour)
     {
      if(str1.hour<InpEndHour)
         m_trading_time=true;
      else if(str1.hour==InpEndHour)
         m_trading_time=true;
     }

ds

Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
Стилизатор - Работа с исходным кодом - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым, выглядящем профессионально. Грамотно оформленный код гораздо проще анализировать в последующем как его автору, так и другим пользователям. Для того чтобы запустить стилизатор, необходимо выполнить...
 

Позавчера поставлен вручную лимитиник с датой истечения 20.12.17. Время экспирации стоит = 19.12.17. Ордер не модифицируется. Выделен в красной рамке.

На Фортс поставлен сегодня лимитник, время экспирации = 19.12.17, модифицируется без проблем.

Почему на Фортс невозможно проводить модификацию отложенных ордеров на следующий день, хотя данные ордера показывают, что это позволительно? Время экспирации ведь одинаково и там и там.



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

Файлы:
 
Насколько я понял, ex5-файл со "сверхзащитой" от MQL5 Cloud Protector перезаписывает исходный ex5. Зачем так сделано? Почему не сохранять в другой папке или хотя бы спрашивать подтверждение разработчика?
 

Можно ли тестировать советник на кастом-символе? При попытке это сделать получаю лог:

2017.12.19 17:16:13.853 Core 1  EURUSD_M1_r100: symbol to be synchronized
2017.12.19 17:16:13.853 Core 1  EURUSD_M1_r100: symbol synchronized, 3464 bytes of symbol info received
2017.12.19 17:16:13.853 Core 1  no data synchronized, 43 bytes read
2017.12.19 17:16:13.853 Core 1  symbol EURUSD_M1_r100 synchronization error
2017.12.19 17:16:13.853 Core 1  cannot get history EURUSD_M1_r100,M1
 

брокеры стали удалять историю? исчезла тиковая история по прошлым контрактам вернее она есть, но отсутствуют бары и тики, раньше предыдущие контракты были целые

 
Stanislav Korotky:

Можно ли тестировать советник на кастом-символе? При попытке это сделать получаю лог:

После запуска этого скрипта такой результат в тестере

2017.12.19 16:22:40.596 expert file added: Experts\Test5.ex5. 9587 bytes loaded
2017.12.19 16:22:40.606 initial deposit 10000000.00 USD, leverage 1:500
2017.12.19 16:22:40.607 successfully initialized
2017.12.19 16:22:40.607 13 Kb of total initialization data received
2017.12.19 16:22:40.607 Intel Core i7-2700K  @ 3.50GHz, 16301 MB
2017.12.19 16:22:40.783 debug version of 'Test5.ex5', please recompile it
2017.12.19 16:22:40.802 EURUSD_custom: symbol to be synchronized
2017.12.19 16:22:40.803 EURUSD_custom: symbol synchronized, 3464 bytes of symbol info received
2017.12.19 16:22:40.803 EURUSD_custom: history synchronization started
2017.12.19 16:22:40.858 EURUSD_custom: load 440 Kb of history data to synchronize in 0:00:00.047
2017.12.19 16:22:40.858 EURUSD_custom: history synchronized from 2017.09.13 to 2017.12.18
2017.12.19 16:22:40.885 EURUSD_custom,M1: history cache allocated for 758057 bars and contains 84618 bars from 2017.09.13 03:14 to 2017.12.04 23:59
2017.12.19 16:22:40.891 EURUSD_custom,M1: history begins from 2017.09.13 03:14
2017.12.19 16:22:40.891 EURUSD_custom,M1 (MetaQuotes-Demo): 1 minutes OHLC ticks generating
2017.12.19 16:22:40.891 EURUSD_custom,M1: testing of Experts\Test5.ex5 from 2017.12.05 00:00 to 2018.01.07 00:00 started
2017.12.19 16:22:40.956 final balance 10000000.00 USD
2017.12.19 16:22:40.960 EURUSD_custom,M1: 57046 ticks, 14398 bars generated. Environment synchronized in 0:00:00.203. Test passed in 0:00:00.171 (including ticks preprocessing 0:00:00.016).
2017.12.19 16:22:40.960 EURUSD_custom,M1: total time from login to stop testing 0:00:00.374 (including 0:00:00.203 for history data synchronization)
2017.12.19 16:22:40.960 336 Mb memory used including 43 Mb of history data, 64 Mb of tick data
2017.12.19 16:22:40.960 log file "C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000\logs\20171219.log" written

Да и в обсуждении ранее это делалось (1653)

 
fxsaber:

После запуска этого скрипта такой результат в тестере

Да и в обсуждении ранее это делалось (1653)

Значит, как обычно, понятно, что ничего не понятно. Должно быть можно, но у меня ошибка синхронизации. Написал в СД. Единственный нюанс, который пока является кандидатом на источник проблемы - мой кастом символ постоянно обновляется. Приведенный же скрипт после генерации "отваливает".

Причина обращения: