Как правильно (максимально объективно) протестировать советник? - страница 2

 
Короче, топикстартер, выкладывайте конкретный советник (код) с конкретными проблемами в тестере. Только так разговор станет конструктивным.
 
Fobos13:
Уже не знаю... как люди (трейдеры) доходят до Чемпионатов MQL4 имея весьма убогую тестовую систему в лице MT4???????
Вы не поверите сколько интересного есть в статьях на этом форуме.
 
Вы не поверите сколько интересного есть в статьях на этом форуме.
Про минутки забывать нельзя. Помогают очень хорошо заменить режим по всем тикам.
Товарищи давайте не будем уходить от темы?
 
Fobos13:
Товарищи давайте не будем уходить от темы?




От темы никто и не уходил. Но уметь пользоваться тестером - сродни искусству. Мало написать советник, нужно еще поверить его результатам. И не только поверить. Но и иметь обоснованную оценку для этого. Если знать недостатки тестер и умело их использовать. То всегда можно сделать грааль, и наоборот используя его достоинства сделать вполне рабочую машинку (учитывая недостатки конечно)
 
Fobos13:
Товарищи давайте не будем уходить от темы?

Темы нет, т.к. Вы ее не задали. Есть только холивар и его желательно модераторам вовремя прикрыть.

Если у Вас есть конкретный вопрос, то для этого существует специальная ветка: https://www.mql5.com/ru/forum/134688

 
Mathemat: Короче, топикстартер, выкладывайте конкретный советник (код) с конкретными проблемами в тестере. Только так разговор станет конструктивным.
Повторяю просьбу. В противном случае в отсутствие конструктива ветка будет снесена.
 
Fobos13:
Товарищи давайте не будем уходить от темы?

Так вам о высоких материях потрещать? Так бы сразу и сказал.

Или конкретизируйте тему, или выкладывайте советника и конечную цель, или удачи в разгребании флуда.

И от статей воротить нос не надо. Это не 5ка :)

Mathemat:

Повторяю просьбу. В противном случае в отсутствие конструктива ветка будет снесена.

Шайтан... Модераторская интуиция?
 

Есть советник. Вот скрин работы тестера:

 

Временной фильтр не отражает работы на тестере!

 



void NoiseFilter() {
int NoiseTime;
double NoiseClosePrice;
double NoiseOpenPrice;
int CloseBecauseNoise;
double NoiseNewPrice;
int trade = OrdersTotal() - 1;
for (int i = trade; i >= 0; i--) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (WriteDebugLog) Print("NoiseFilter: OrderSelect() error = ", GetLastError());
} else {
if (OrderMagicNumber() == MagicNumber) {
if (OrderType() <= OP_SELL) {
if (OrderSymbol() == Symbol()) {
NoiseTime = WaitTime - OrderOpenTime();
if (NoiseTime > NoiseFilter_a) {
NoiseClosePrice = NormalizeDouble(OrderClosePrice(), Digits);
NoiseOpenPrice = NormalizeDouble(OrderOpenPrice(), Digits);
CloseBecauseNoise = 0;
if (OrderType() == OP_BUY) NoiseNewPrice = NoiseClosePrice - NoiseOpenPrice;
else NoiseNewPrice = NoiseOpenPrice - NoiseClosePrice;
if (NoiseTime < NoiseFilter_b && NoiseNewPrice >= NoiseFilter_f) CloseBecauseNoise = 1;
else {
if (NoiseTime > NoiseFilter_b && NoiseTime < NoiseFilter_c && NoiseNewPrice >= NoiseFilter_g) CloseBecauseNoise = 2;
else {
if (NoiseTime > NoiseFilter_c && NoiseTime < NoiseFilter_d && NoiseNewPrice >= NoiseFilter_h) CloseBecauseNoise = 3;
else {
if (NoiseTime > NoiseFilter_d && NoiseTime < NoiseFilter_e && NoiseNewPrice >= NoiseFilter_i) CloseBecauseNoise = 4;
else
if (NoiseTime > NoiseFilter_e && NoiseNewPrice >= NoiseFilter_j) CloseBecauseNoise = 5;
}
}
}
if (CloseBecauseNoise != 0)
{
CloseOrder(OrderTicket(), OrderLots(), OrderType(), SP);
Print(" --- Order closed NoiseFilter! ---");
}

}
}
}
}
}
}
}

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