Советник на основе АО и АС - страница 2

 
YuraZ:
Chris_Brown:
Обязательно посмотрю, и скажу мнения, ещё бы выход придумал на скорую руку и будет класс!!!!


та же система но с работой M15 на восходящем тренде

Символ EURUSD (Euro vs US Dollar)
Период 15 Минут (M15) 2007.01.26 00:00 - 2007.12.27 20:15 (2007.01.26 - 2007.12.31)
Модель Все тики (наиболее точный метод на основе всех наименьших доступных таймфреймов)
Баров в истории 23648 Смоделировано тиков 1093581 Качество моделирования 90.00%
Ошибки рассогласования графиков 0




Начальный депозит 10000.00



Чистая прибыль 38556.50 Общая прибыль 102003.00 Общий убыток -63446.50
Прибыльность 1.61 Матожидание выигрыша 169.85

Абсолютная просадка 646.50 Максимальная просадка 20224.00 (34.01%) Относительная просадка 53.73% (15165.50)

Всего сделок 227 Короткие позиции (% выигравших) 0 (0.00%) Длинные позиции (% выигравших) 227 (77.53%)

Прибыльные сделки (% от всех) 176 (77.53%) Убыточные сделки (% от всех) 51 (22.47%)
Самая большая прибыльная сделка 600.00 убыточная сделка -1330.00
Средняя прибыльная сделка 579.56 убыточная сделка -1244.05
Максимальное количество непрерывных выигрышей (прибыль) 39 (22740.00) непрерывных проигрышей (убыток) 9 (-11095.50)
Максимальная непрерывная прибыль (число выигрышей) 22740.00 (39) непрерывный убыток (число проигрышей) -11095.50 (9)
Средний непрерывный выигрыш 12 непрерывный проигрыш 4

т к использовался один сигнал то работа в бай!

стоп 120 тп = 60 мат ожидание вообще слабое! только тренд вытягивает систему в +

скинь код сюда, а то чистая прибль смущает
 
Chris_Brown:
YuraZ:
Chris_Brown:
Обязательно посмотрю, и скажу мнения, ещё бы выход придумал на скорую руку и будет класс!!!!


та же система но с работой M15 на восходящем тренде

Символ EURUSD (Euro vs US Dollar)
Период 15 Минут (M15) 2007.01.26 00:00 - 2007.12.27 20:15 (2007.01.26 - 2007.12.31)
Модель Все тики (наиболее точный метод на основе всех наименьших доступных таймфреймов)
Баров в истории 23648 Смоделировано тиков 1093581 Качество моделирования 90.00%
Ошибки рассогласования графиков 0




Начальный депозит 10000.00



Чистая прибыль 38556.50 Общая прибыль 102003.00 Общий убыток -63446.50
Прибыльность 1.61 Матожидание выигрыша 169.85

Абсолютная просадка 646.50 Максимальная просадка 20224.00 (34.01%) Относительная просадка 53.73% (15165.50)

Всего сделок 227 Короткие позиции (% выигравших) 0 (0.00%) Длинные позиции (% выигравших) 227 (77.53%)

Прибыльные сделки (% от всех) 176 (77.53%) Убыточные сделки (% от всех) 51 (22.47%)
Самая большая прибыльная сделка 600.00 убыточная сделка -1330.00
Средняя прибыльная сделка 579.56 убыточная сделка -1244.05
Максимальное количество непрерывных выигрышей (прибыль) 39 (22740.00) непрерывных проигрышей (убыток) 9 (-11095.50)
Максимальная непрерывная прибыль (число выигрышей) 22740.00 (39) непрерывный убыток (число проигрышей) -11095.50 (9)
Средний непрерывный выигрыш 12 непрерывный проигрыш 4

т к использовался один сигнал то работа в бай!

стоп 120 тп = 60 мат ожидание вообще слабое! только тренд вытягивает систему в +

скинь код сюда, а то чистая прибль смущает

меня больше смущает общая прибыль! 100к

в предыдущем коде просто вместо PERIOD_D1 поставь PERIOD_M15 ну или PERIOD_M30 или H1

я погнал на M15

по сути можно прогнать 2007 по канадцу только на селл

ну в общем :-) тренд он и в африке тренд!

много некрасивых входов!

 
С блюдцем разабрались, теперь с пересечением нулевой линией, что будет ?
 
Chris_Brown:
С блюдцем разабрались, теперь с пересечением нулевой линией, что будет ?


пересечения ловить сложнее всего! особено когда касание создается :-) , как бы вроде пересечение и тут же бабах назад

 
Не могу понять - в чём ошибка. Вот здесь представлена процедура. У неё 3 входных параметра: int Type, string Coment,int magic . Type - это тип позиции, Coment - коментарии, magic - это магик. Чтоб открыть позицию мы посылаем ей три эти параметра, допустим нам нужно открыть позицию бай -- то это будет так OpenOrder(OP_BUY,"Fractals",111);

Вот код процедуры:

extern int                                    TotalOrder=1;

//------------------------------------------Процедура открытия позиции BUY или SELL------------------------------
void OpenOrder(int Type, string Coment,int magic ){
int ticket,total;
total = OrdersTotal();
if (total< TotalOrder){
   if(Type==OP_BUY){
      ticket=OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0,0, Coment,magic);
      OrderModify(magic,OrderOpenPrice(),Ask,Bid - StopLoss*Point,Ask+ TakeProfit*Point,Green);
   if(ticket>0) {
   if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
      else Print("Error opening BUY order : ",GetLastError()); 
         return(0);}    
     if(Type==OP_SELL){
     ticket= OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0,0, Coment,magic);
     OrderModify(magic,OrderOpenPrice(),Ask+ StopLoss*Point,Bid-TakeProfit*Point,0,Red); 
     if(ticket>0){
     if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());}
        else Print("Error opening SELL order : ",GetLastError()); 
         return(0);}} 
         return(0);}}
         
//==============================================================================================================
Теперь проблема: он почему то не открывает коротких позиций, почему ? и как правильно сделать ?
 
А как-же о фракталах забыли-то? :)
 

Прошу прощения за то, что влез в диалог. Я не спец. Но мне представляется, что в этой строке чего-то не хватает.

ticket= OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0,0, Coment,magic);
     OrderModify(magic,OrderOpenPrice(),Ask+ StopLoss*Point,Bid-TakeProfit*Point,0,Red);
Либо, что-то лишнее вот здесь -
 ticket=OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0,0, Coment,magic);
      OrderModify(magic,OrderOpenPrice(),Ask,Bid - StopLoss*Point,Ask+ TakeProfit*Point,Green);

В модификациях .... ВНИМАТЕЛЬНЕЕ надо быть, уважаемый!

bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE)
 
Я нашёл ошибку, должно быть так:
//------------------------------------------Процедура открытия позиции BUY или SELL------------------------------
void OpenOrder(int Type, string Coment,int magic ){
int ticket,total;
total = OrdersTotal();
if (total< TotalOrder){
   if(Type==OP_BUY){
      ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,Coment,magic);
      OrderModify(OrderTicket(),OrderOpenPrice(),Bid - StopLoss*Point,Ask+ TakeProfit*Point,0,Green);
   if(ticket>0) {
   if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
      else Print("Error opening BUY order : ",GetLastError()); 
         return(0);}}    
     if(Type==OP_SELL){
     ticket= OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,Coment,magic);
     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ StopLoss*Point,Bid-TakeProfit*Point,0,Red); 
     if(ticket>0){
     if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());}
        else Print("Error opening SELL order : ",GetLastError()); 
         return(0);}} 
         return(0);}
//================================================================================================================
Теперь всё работает.
 
     ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,Coment,magic);
      OrderModify(OrderTicket(),OrderOpenPrice(),Bid - StopLoss*Point,Ask+ TakeProfit*Point,0,Green);
Не пойму смысл второй строки? зачем модифицировать ордер когда можно сразу выставить и стоп и тейк ему... притом.. что вернету ф-ия OrderTicket() в этом случае? вроде как она возвращает последний выбранный ордер ф-ий OrderSelect ...
 
scorpionk:
     ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,Coment,magic);
      OrderModify(OrderTicket(),OrderOpenPrice(),Bid - StopLoss*Point,Ask+ TakeProfit*Point,0,Green);
Не пойму смысл второй строки? зачем модифицировать ордер когда можно сразу выставить и стоп и тейк ему... притом.. что вернету ф-ия OrderTicket() в этом случае? вроде как она возвращает последний выбранный ордер ф-ий OrderSelect ...

Не все ДЦ позволяют сразу установить тейк и стоп. Вот и смысл.