[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 113

 
first_may:


Да, сейчас прочитаю... А еще, может скажешь, я протестировал систему и получил следующий отчет. Пожалуйста, покритикуй его :).

PS. размер лота (если это имеет значение):

double MinLot=MarketInfo(Symbol(),MODE_MINLOT); // Минимальный размер лота


Интересно, а что случилось после пятнадцатой сделки?
 
first_may:


Да, сейчас прочитаю... А еще, может скажешь, я протестировал систему и получил следующий отчет. Пожалуйста, покритикуй его :).

PS. размер лота (если это имеет значение):

double MinLot=MarketInfo(Symbol(),MODE_MINLOT); // Минимальный размер лота


Условия: тест на периоде М1 по ценам открытия по модели:"По ценам открытия..." - для этого в советник необходимо добавить контроль за образованием нового бара - только для советников с явным контролем открытия баров, закачать историю по инструменту, количество сделок - от 200-300 штук... Лот постоянный минимальный на всех устанавливаемых или открываемых ордерах: double MinLot - это имеет значение.
 
Vinin:

Интересно, а что случилось после пятнадцатой сделки?

Смотрю, разбираюсь. Я хотел спросить, на что надо обращать внимание в отчете, кроме строки "Чистая прибыль"? :)
 
first_may:

Смотрю, разбираюсь. Я хотел спросить, на что надо обращать внимание в отчете, кроме строки "Чистая прибыль"? :)
См. на этой страничке... мой (седьмой) пост, в редакции А. Сергеева.
 
yosuf:
На этом форуме недавно вычитал мысль о том, что если одновременно открыть 2 разнонаправленных ордера с одинаковым СЛ, то после закрытия одного из них можно попытаться выйти на профит. Кто нибудь проверял эту мысль или нет? Может быть есть похожий советник?

Думаю тут имеется ввиду закрытие минусового ордера при изменении силы тренда сразу, и закрытии прибыльного ордера по прохождении дополнительного спреда - который мы потеряли на этом минусовом ордере. При этом прибыльный ордер можно закрыть на минимальной прибыли или отправить в свободное плавание для большей прибыли
 
first_may:


Да, сейчас прочитаю... А еще, может скажешь, я протестировал систему и получил следующий отчет. Пожалуйста, покритикуй его :).

PS. размер лота (если это имеет значение):

double MinLot=MarketInfo(Symbol(),MODE_MINLOT); // Минимальный размер лота

Разве можно делать выводы основываясь всего на 15 сделках? Даже сотни сделок будет недостаточно.

 

Ответов пока не было, поэтому повторю:

Возникла необходимость прикрепить Трендовую Линию (горизонтальный отрезок) к определенным координатам экрана, справа от графика, так чтобы Линия оставалась неподвижной (и не привязанной к Барам). В прошлом мне встречался какой-то робот, в котором подобное было реализовано.

- Как это сделать в МТ4?

Спасибо!



 
chief2000:

Ответов пока не было, поэтому повторю:

Возникла необходимость прикрепить Трендовую Линию (горизонтальный отрезок) к определенным координатам экрана, справа от графика, так чтобы Линия оставалась неподвижной (и не привязанной к Барам). В прошлом мне встречался какой-то робот, в котором подобное было реализовано.

- Как это сделать в МТ4?

Спасибо!



Как вариант

ObjectSet("nameObj",OBJPROP_TIME1,iTime(NULL,0,0)+timeShift);
где timeShift - смещение от текущего бара (в данном случае смещение в будущее)
 

Помогите, пожалуйста, новичку!

Не могу понять, почему робот не заключает сделок.

Робот на основе Ишимоку. Линии ишимоку вычисляет правильно, проверял.

Как я понимаю проблема в том, что условие " if (Tenkan_Buffer[1] > Kijun_Buffer[1]) " всегда ложно. Не могу понять почему. Помогите, пожалуйста!

Код:

extern int interval_1 = 9;
extern int interval_2 = 26;
extern int interval_3 = 52;

double Tenkan_Buffer[];
double Kijun_Buffer[];
double Senkou_Span_A_Buffer[];
double Senkou_Span_B_Buffer[];
double Chinkou_Span_Buffer[];

double ticket;
//+------------------------------------------------------------------+
int start()
{
for(int i = 0 ; i < interval_3; i++)
{
Tenkan_Buffer[i] = Func(interval_1, i);
Kijun_Buffer[i] = Func(interval_2, i);
Chinkou_Span_Buffer[i+interval_2] = Close[i];
}
for(i = 0 ; i < interval_3; i++)
{
Senkou_Span_A_Buffer[i] = (Tenkan_Buffer[i+interval_2] + Kijun_Buffer[i+interval_2])/2;
Senkou_Span_B_Buffer[i] = Func(interval_3, i+interval_2);
}
//+------------------------------------------------------------------+
if (Tenkan_Buffer[1] > Kijun_Buffer[1])
{
if (Tenkan_Buffer[5] <= Kijun_Buffer[5])
{
if (OrdersTotal() < 1)
{
ticket = OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-100*Point,Ask+100*Point,"My order #",16384,0,Green);
if(ticket < 0)
{
Print("Ордер не установлен. Ошибка - #",GetLastError());
return(0);
}
}
}
}
return(0);
}


//------------------------------------------------------------------------------------------------//

double Func(int count, int start)
{
double Max = iHigh (NULL, 0, iHighest (NULL, 0, MODE_HIGH, count, start));
double Min = iLow (NULL, 0, iLowest (NULL, 0, MODE_LOW, count, start));
double Result = (Max + Min) / 2;
return (Result);
}

//------------------------------------------------------------------------------------------------//

 
Xaoss1990:

Воспользуйтесь стандартным индикатором Ишимоку, будет и быстрее и проще )))

Что касается открытия сделок - посмотрите/покажите что в журнале написано по этому поводу

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