[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 225
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А Мне кажется, наоборот, хорошо, когда, например, тестируешь советника на H1, но тики моделируются из M1. Чувствительность и следствие этому точность тестирование повышается. Хотя всё зависит конечно же от советника и того, из чего он собран.
А по поводу тестерных граалей, Каждый должен самостоятельно прийти к принципам их построения, чтобы отличать иллюзию от правды в коде и в результатах тестирования. Знаю, что есть множество статей и тем, посвящённых "Тестеру стратегий", но всё же всего не затронешь. А что-то при прочтении упустишь или не поймёшь. Да и личный опыт тоже необходим.
А Мне кажется, наоборот, хорошо, когда, например, тестируешь советника на H1, но тики моделируются из M1. Чувствительность и следствие этому точность тестирование повышается. Хотя всё зависит конечно же от советника и того, из чего он собран.
А по поводу тестерных граалей, Каждый должен самостоятельно прийти к принципам их построения, чтобы отличать иллюзию от правды в коде и в результатах тестирования. Знаю, что есть множество статей и тем, посвящённых "Тестеру стратегий", но всё же всего не затронешь. А что-то при прочтении упустишь или не поймёшь. Да и личный опыт тоже необходим.
... Бла-бла-бла... :-)))
Ребята, гляньте мой вопрос в начале 221 странички. Подскажите...
Помогите исправить функцию
Я пытаюсь написать функцию определяющую цену закрытия последнего ордера (по времени ближайшего к настоящему времени)
Пишу вот так:
Но
do
uble PriceCloseLastPos(string smb = "", int cmd = -1, int mMin = -1, int mMax = -1) {
int ticketDateTime=0;
int orderTicket=-1;
double closePrice = 0;
int ordTotal = OrdersTotal();
if (smb == "0") smb = Symbol();
for (int i = 0; i < ordTotal; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == smb || smb == "") {
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
if (cmd < OP_BUY || OrderType() == cmd) {
if (mMin < 0 || (OrderMagicNumber() >= mMin && OrderMagicNumber() <= mMax)) {
if (ticketDateTime < OrderCloseTime()) {
ticketDateTime = OrderCloseTime();
orderTicket = OrderTicket();
closePrice = OrderClosePrice();
}
}
}
}
}
}
}
if(orderTicket > -1) OrderSelect(orderTicket, SELECT_BY_TICKET, MODE_HISTORY );
return (closePrice);
}
Но почему-то функция мне возвращает данные самого первого ордера, который открылся в тестере.
Вообще-то это моя промежуточная цель. А хотел я написать функцию, которая бы давала последнюю цену частичного закрытия ордера (не на весь объём лотов) Но тут даже подступиться не знаю как...
... Бла-бла-бла... :-)))
Ребята, гляньте мой вопрос в начале 221 странички. Подскажите...
На этот:
Ребята не подскажете, почему при запуске тестирования на разных ТФ, результаты тестирования получаются разные, графики, также, естественно, отличаются, тесты по ценам открытия
?
Потому, что время и цены входа/выхода будут различными. Потому, что ТФ различны.
На этот:
?
Потому, что время и цены входа/выхода будут различными. Потому, что ТФ различны.
Дык фишка то в том, что ТФ расчета индикатора указан ЯВНО... так, что по фигу на используемый период тестирования, главное, чтобы он не был больше таймфрейма расчета индюков, т.е. если индюки считаются на М30, то в тестере, как я понимаю, должны быть один результат при тестировании на ТФ М1 или М5 или М15 или М30... естественно по ценам открытия... Или я в чем-то ошибаюсь здесь? Ведь здесь главное, чтобы ТФ тестирования был не больше используемого ТФ для расчета значений индикаторов, т.е. в данном случае не более М30... Разве не так?
Дык фишка то в том, что ТФ расчета индикатора указан ЯВНО... так, что по фигу на используемый период тестирования, главное, чтобы он не был больше таймфрейма расчета индюков, т.е. если индюки считаются на М30, то в тестере, как я понимаю, должны быть один результат при тестировании на ТФ М1 или М5 или М15 или М30... естественно по ценам открытия...
Ага, как же, там половина значений расчитывается на 0-м баре.
Ага, как же, там половина значений расчитывается на 0-м баре.
Дак там и по цене открытия... Прайс - опен, ведь в тестере ВСЕ значения цен ТФ-ов моделируются из М1 - разве не так? Посоветуйте, что-нибудь...
Ага, как же, там половина значений расчитывается на 0-м баре.
Хотя, там, вроде, все по Open считается.
Прогоняйте и анализируйте время точек входа/выхода.