Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1045

 
Igemon:
Что не так? Остальной код я просто не вставил, так как там всё норм. Цикл нужен чтобы не зависить от тиков, при определении событий, чтобы не перезагружать ПК стоит sleep на 100 млсек

А OnTimer() и OnChartEvent() ни о чём вам не говорят?, добр..., простите, Игемон...

А как цикл собираетесь останавливать?

 
artmedia70:


А как цикл собираетесь останавливать?

А зачем его останавливать? На компе подержал кнопку 4 секунды и всё остановлено...
 
AlexeyVik:
А зачем его останавливать? На компе подержал кнопку 4 секунды и всё остановлено...
Можно ещё водичкой полить...
 
Здравствуйте.Подскажите пожалуйста какой функцией можно вернуть определенную цифру после запятой для дробных чисел, например цена равна 1,54321, мне нужно чтобы функция вернула последнюю цифру, или любую другую после запятой?
 
Rogoza:
Здравствуйте.Подскажите пожалуйста какой функцией можно вернуть определенную цифру после запятой для дробных чисел, например цена равна 1,54321, мне нужно чтобы функция вернула последнюю цифру, или любую другую после запятой?

1. Можно перевести в строку, взять символ по номеру позиции и перевести обратно в число.

2. Умножить на 10 в нужной степени, отбросить дробную часть и получить остаток от деления на 10

int result = int(1.54321 * 100000) % 10;
 
artmedia70:

А OnTimer() и OnChartEvent() ни о чём вам не говорят?, добр..., простите, Игемон...

А как цикл собираетесь останавливать?

Не знаком с этими функциями.. почитаю.

Цикл сделан для того, чтобы эксперт не зависел от тиков. Останавливать его нет необходимости, если надо прекратить работу робота,то просто выключаю его.

 

Доброго дня.

Как определить кол-во элементов в массиве таймсерии, например в iClose.

Функция iBars  возвращает значение 2048, то есть не общее кол-во баров в инструменте на данном тф, а бары, что уместились в окно графика..

Спасибо. 

 
AlexeyVik:

1. Можно перевести в строку, взять символ по номеру позиции и перевести обратно в число.

2. Умножить на 10 в нужной степени, отбросить дробную часть и получить остаток от деления на 10

Большое спасибо!
 

Всем привет. Оптимизирую советника с помощью встроенного тестера стратегий в MT4 c функцией "генетический алгоритм". 1280 проходов за 36 часов. Поиск по интернету навёл на статью в которой описывается принцип сохранения в кэш файл всех ранее рассчитанных проходов при штатной остановке оптимизации. Но меня беспокоит момент, что после возобновление оптимизации, судя по строке состояния, оптимизация не продолжается с прохода, на котором был остановлена оптимизация, как это описывается в статье. В сумме я прогнал уже все 30 часов, кэш файл растёт в размерах, но каждый раз запуская оптимизацию я вижу всё те же 36-40 часов и состояние 1/1280 проходов.

При всё при этом в логах есть запись.

2016.05.16 11:55:47.103 Tester: cache file "C:\Users\*****\AppData\Roaming\MetaQuotes\Terminal\1FC724C8C211BFE8ECF8B599A855301E\tester\caches\Ilan Dynamic New.EURUSD15.0" found and can be used for further optimization

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

2016.05.17 09:21:18.547 Optimization cacher: pass 11450 skipped due test limit 'maximal drawdown %=50' reached with inputs: risk=0.55; MaxTrades=15; LotExponent=1.55; LockLotExponent=1.6; 

Вопрос: Как добиться, чтобы после штатной остановки и повторного возобновления оптимизация продолжалась с последней остановки (прохода). Разумеется я ни коим образе не менял настройки оптимизации или период тестирования. Я нажимал кнопку "Стоп"; кэш перезаписывался; закрывался терминал; выключался компьютер; повторно включался; запускался терминал; запускались последние настройки оптимизации (который автоматически сохраняются) кнопкой "Старт".

 Цитата из статьи:

При генетической оптимизации промежуточные результаты сохраняются в кэше после расчета каждого поколения (файл папка_данных_платформы/tester/cache/*.gen). Таким образом, процесс генетической оптимизации можно прерывать в любой момент. Даже если процесс генетической оптимизации будет прерван из-за внешних причин (например, отключения электричества), оптимизация будет автоматически продолжена с последнего рассчитанного поколения при последующем запуске. Кэш генетической оптимизации хранится до изменения настроек оптимизации или до завершения процесса оптимизации.

При штатной остановке оптимизации (кнопкой "Стоп") сохраняются все ранее рассчитанные проходы. При возобновлении оптимизации, процесс будет продолжен с места остановки. 

Источник: https://www.metatrader5.com/ru/terminal/help/strategy_optimization

 

как переместить FileMove() - ом из папки Alpari Limited MT4\tester\files в Alpari Limited MT4\MQL4\Files\  ??????????? это возможно вообще????????

или как тогда прочитать файл из   Alpari Limited MT4\tester\files ?????????? - не получается потому что он хочет есть из Alpari Limited MT4\MQL4\Files\. заманало