Чиркните ктонить скриптик за 5 wmz. - страница 15

 

На товарных рынках имеются инструменты, где цена зачастую, изо дня в день ходит с удивительным внутридневным постоянством! Именно на таких инструментах данная методика будет работать (по моему мнению) оч. неплохо!

Например, посмотрите на вчерашнее и сегодняшнее движение цены по NGV0 (натуральный газ)  и, как говориться, - "найдите 10 отличий" ...

 

 

Леонид. Да я не против чтобы кто-то процветал. На здоровье! У меня только один вопрос: а где были эти победители ещё два года назад? Почему в 2008 никто 1000% пальцем левой ноги не рубил?

 

А по поводу признаков тренда здесь давненько уже много копий поломано и даже кое-что полезное сделано. Например вот https://www.mql5.com/ru/articles/1508#6586 Там, правда, предлагают использовать какой-то мутный индикатор(что мне не нравится). Наверное лучше посмотреть на цвет свечи(как у Леонида). Но всё же методика автора этой ветки совсем на честное выявление временных паттернов не похожа! Тут уже начинается какая-то нумерология... Думаю поэтому многие воспринимают с иронией.

 

Скажите, пожалуйста, почему нормально закомпелированный советник без пред. и ошибок не тестируется, нет ни одной сделки, чего ему не хватает?

extern double Lots          = 0.1;
extern double StopLoss      = 120;
extern double TakeProfit    = 120;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int cnt, ticket, total;
  static int prevtime = 0;
   
        total=OrdersTotal();
if(total<1){  //если  нет открытых позиций
//+------------------------------------------------------------------+
//|               Открытие позиций понедельника                      |
//+------------------------------------------------------------------+
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
// BUY
       if ( Close[1]<= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {    
        
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask+StopLoss*Point,3,0,Ask+TakeProfit*Point,"Regulest",0,0,Green);}
         if(ticket < 0) {
            Print("Ошибка открытия ордера BUY #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }}
// SELL
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
    if ( Close[1]>= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {
    
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid-StopLoss*Point,3,0,Bid-TakeProfit*Point,"Regulest",0,0,Red);
         if(ticket < 0) {
            Print("Ошибка открытия ордера SELL #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }
          } 
        }
      return(0);
     }}}
//+------------------------------------------------------------------+
//|                     Закрытие позиций                             |
//+------------------------------------------------------------------+
      if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())  
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // should it be closed?
            if ( DayOfWeek()==1  && Hour() == 22)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
                 return(0); // exit
                }
              }
           }
         else // go to short position
           {
            // should it be closed?
            if ( DayOfWeek()==1  && Hour() == 22)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
               return(0); // exit
              }      
           }  
   return(0);
  }  
//+------------------------------------------------------------------+
 
Profitabl:

Скажите, пожалуйста, почему нормально закомпелированный советник без пред. и ошибок не тестируется, нет ни одной сделки, чего ему не хватает?

Может не выполняется условие. В Альпари, например, в пятницу нет баров со значением часа 23. Поставьте 22, как у Вас в комментарии

if ( Hour() == 23)  {//если - 22 часа терминального времени
 

Нет, причина не в этом. А требуется мне это для того, чтобы перекомпелировать весь советник CHF, который безупречно тестируется в тестере, но не торгует с включенный опцией "разрешить советнику торговать" Как специалист, что скажете о настройке советника? Кстати во вторник советник проводил сделки, но потом я что делал с кодом и он перестал проводить сделки. Какие бывают причины прекращения работы нормального советника?

 
Выложи отчет с учетом всех тиков. Такой грубый метод тестирования на таком большом таймфрейме дает не совсем объективный результат. Кстати очень интересно, как подобный код дает вообще хоть какой-то результат, ведь вместо цена открытия в функциях открытия идет попытка установить стоплосс)) это детсад какой-то ей богу :))
 
lasso:

Может не выполняется условие. В Альпари, например, в пятницу нет баров со значением часа 23. Поставьте 22, как у Вас в комментарии


СтопЛоссы удалил "Ask-StopLoss*Point", "Bid-StopLoss*Point" и он начал тестироваться, а что сделать, чтобы и с ними тестировался?

       if ( Close[1]<= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {    
        
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"Regulest",0,0,Green);}
         if(ticket < 0) {
            Print("Ошибка открытия ордера BUY #", GetLastError()); 
            Sleep(10000);  prevtime = Time[1];  return (0); }}
// SELL
if ( DayOfWeek()==5){//если сегодня вечер пятницы
if ( Hour() == 23)  {//если - 22 часа терминального времени
    if ( Close[1]>= Open[24] && Close[23]<=Open[48] && Close[47]<=Open[72]) {
    
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"Regulest",0,0,Red);
 
Techno:
Выложи отчет с учетом всех тиков. Такой грубый метод тестирования на таком большом таймфрейме дает не совсем объективный результат. Кстати очень интересно, как подобный код дает вообще хоть какой-то результат, ведь вместо цена открытия в функциях открытия идет попытка установить стоплосс)) это детсад какой-то ей богу :))


СтопЛосс я передвинул через одну запятую, вспоминаю чего два года не делал, всё тестируется. Тики не нужны, условия видите очень просты "позавчера, вчера, сегодня"="завтра", ННН=BUY, ННВ=SELL, сделки совпадают с тем что нужно. Из-за невозможности открывать позиции по 30M периодам точность прогнозирования ниже, примерно 69% сделок прибыльные, а вручную точнее, например график 327% годовых построен на 254 сделках, причем 72% сделок прибыльные.

Настройка советника производится кропотливо, к каждому из 40 прогнозов свои S\L и T\P, некоторые прогнозы с итогом -700ps просто были заменены как неопределённые, но уточнённые в тестере, а блок расчета лотов 10% от депозита, 1070% за 136 недель превращает в 8422476% прибыли, если начать с сотняги. Риск убытков сравнительно небольшой, максимально подряд 8 убыточных сделок при постоянном лемите маржи 1000% переносятся легко, критический момент - это где-то 14-16 убыточных сделок подряд, что практически невозможно при данной системе теханализа.

Позиции в тестере уже можно дублировать ручками, но лучше будет, чтобы советник торговал сам, подцепить его на арендуемый сервер.

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

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

 

Для начала исправьте главную ошибку.

Опция закрытия позиций  у вас находится внутри условия 

  
        total=OrdersTotal();
if(total<1){  //если  нет открытых позиций

Где тут вы видите логику? Как позиция закроется, если её (позиции ) нет ? 

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