Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2048

 
f1nik #:

А тестировать параметры по частям можно, чтобы сократить количество ордеров? Сократить диапазоны тестирования для сокращения ордеров?

Спасибо за участие. Я уже думал об этом Протестировать отдельно 5 лет. А потом отдельно еще 5 лет. Проблема в том что суммарный результат торговли за 10 лет по каждому ордеру с определенными параметрами и условиями , отличается от суммарного результата торговли по этому же ордеру , если складывать тестирование по нему 5 лет + 5 лет. 

 
ANDREY #:

Спасибо за участие. Я уже думал об этом Протестировать отдельно 5 лет. А потом отдельно еще 5 лет. Проблема в том что суммарный результат торговли за 10 лет по каждому ордеру с определенными параметрами и условиями , отличается от суммарного результата торговли по этому же ордеру , если складывать тестирование по нему 5 лет + 5 лет. 

Интересно а в мт5 ограничение памяти будет? Он же 64 битный, а значит памяти может вроде использовать больше если не ошибаюсь.

 
f1nik #:

Интересно а в мт5 ограничение памяти будет? Он же 64 битный, а значит памяти может вроде использовать больше если не ошибаюсь.

У меня тоже такой вопрос крутиться в голове. Но точного ответа я пока не знаю. Я немного пробовал тестировать в МТ5 В нем по сравнению с 4 процесс тестирования идет намного быстрее.

 
ANDREY #:

Спасибо за участие. Я уже думал об этом Протестировать отдельно 5 лет. А потом отдельно еще 5 лет. Проблема в том что суммарный результат торговли за 10 лет по каждому ордеру с определенными параметрами и условиями , отличается от суммарного результата торговли по этому же ордеру , если складывать тестирование по нему 5 лет + 5 лет. 

Не понятно, на что память уходит? Ордера остаются открытыми в течении 10 лет?

 

ANDREY #:

...

Но я не понимаю как не учитывать, а именно  сохранять  ордера в массив , и как  перенести ордера сохраненные в массиве,  в файл и и потом сохранять файл на жесткий диск? Где об этом почитать , или , если не сложно, напишите код на Мql4   с примером того как сохранять ордера в массив и  переносить массив ордеров в файл, а файл на жесткий диск.

...

Я так понял, что у вас динамически растущий массив ордеров в советнике, который вы сами (т.е. советник) увеличиваете по мере роста количества ордеров. Тогда его можно перевести в файл. Например, пользуетесь функцией ArrayResize(), все больше и больше занимая память.

Если сами не занимаете память, а ее не хватает тестеру, то скинуть на диск не получиться.

PS Всё течёт, всё изменяется. Не факт, что следующие 10 лет повторят предыдущие. У вас есть база минутных свечей/баров за 10 лет, или используете эмуляцию?



 
FxPro7009 #:

Не понятно, на что память уходит? Ордера остаются открытыми в течении 10 лет?

Спасибо за участие. Конечно нет. СЛ от 30 до 58 пп. ТП - третья часть от СЛ. То есть закрываются ордера очень быстро в течении для открытия.

 
Подскажите, пожалуйста, как исправить?

 
FxPro7009 #:

Я так понял, что у вас динамически растущий массив ордеров в советнике, который вы сами (т.е. советник) увеличиваете по мере роста количества ордеров. Тогда его можно перевести в файл. Например, пользуетесь функцией ArrayResize(), все больше и больше занимая память.

Если сами не занимаете память, а ее не хватает тестеру, то скинуть на диск не получиться.

PS Всё течёт, всё изменяется. Не факт, что следующие 10 лет повторят предыдущие. У вас есть база минутных свечей/баров за 10 лет, или используете эмуляцию?



Спасибо за участие, и ценную информацию . 1. ArrayResize() не пользуюсь. Или Вы предлагаете пользоваться? 2. По одной цене у меня открывается сразу 15 ордеров со СЛ от 30 до 58 пп. Каждые 15 ордеров открываются через 15 пп. вверх или вниз от цены открытия предыдущих 15 ордеров. Таким образом количество ордеров у меня растет постоянно, и на много. 3. Я загрузил с сервера Альпари все минутные котировки, но тестирую только период с 01.01.2010 по 01.09.2022.После того как тестер смоделировал на основе них бары, я скачанный файл с минутными котировками удалил. 4.Про эмуляцию ничего не слышал. Буду признателен если дадите ссылочку на нее.


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

if (Mx-Bid>=0.0015&&Hor==0||Bid-Mx>=0.0015&&Hor==0)
{
for(int c=0; c<300;c+=20)
{
SL=300+c;
OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,Ask+SL*Point,Ask-SL/z*Point,"300",a);
Mx-Bid;
}
Hor=1;
}
 
FxPro7009 #:


PS Всё течёт, всё изменяется. Не факт, что следующие 10 лет повторят предыдущие. 



Сначала я тоже так думал. На паре GBPUSD в течении последних 10 лет я нашел закономерности, использование которых в торговле ведут постоянно баланс вверх с приемлемой просадкой. Когда я нашел эти закономерности я так же сказал себе: .... "Всё течёт, всё изменяется. Не факт, что следующие 10 лет повторят предыдущие".  Но потому протестировал еще несколько пар и увидел на них те же закономерности, использование которых в торговле ведут постоянно баланс вверх с приемлемой просадкой. И это обстоятельство вдохновило меня оттачивать свою торговую идею дальше. Если одна и та же закономерность повторяется в течении 10 лет на нескольких парах , то похоже эта закономерность не подвержена влиянию каких то внешних факторов и будет повторяться  и следующие 10 лет....как мне кажется. 

 
ANDREY #:

Спасибо за участие, и ценную информацию . 1. ArrayResize() не пользуюсь. Или Вы предлагаете пользоваться? 2. По одной цене у меня открывается сразу 15 ордеров со СЛ от 30 до 58 пп. Каждые 15 ордеров открываются через 15 пп. вверх или вниз от цены открытия предыдущих 15 ордеров. Таким образом количество ордеров у меня растет постоянно, и на много. 3. Я загрузил с сервера Альпари все минутные котировки, но тестирую только период с 01.01.2010 по 01.09.2022.После того как тестер смоделировал на основе них бары, я скачанный файл с минутными котировками удалил. 4.Про эмуляцию ничего не слышал. Буду признателен если дадите ссылочку на нее.

а)Торговля сеткой. У меня была похожая идея. Как потом оказалось не только у меня. :)))) Каждые 10 пп, ставки Sell и Buy одновременно, по одной цене. Тейкпрофит 10пп, стоплоса нет (SL=0). Все равно куда пойдет цена, вверх или вниз, ставки стоят в обе стороны. Прибыль неизбежна(!), расчет на волотильность. Так я думал. Пол года носился с этой идеей. 15 различных вариантов было на эту тему. Но увы, здесь рыбы нет...

б)Моделирование, или эмуляция, котировок выполняется программой по определенному алгоритму. Здесь подводный камень. Те закономерности, о которых вы писали, могут быть связаны с работой одной и той же программы (моделирования). На реальных котировках закономерностей может не оказаться.

PS Буду рад ошибиться, удачи!

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