Jump to content
AntFX

Простые советники - обсуждение и разработка

Recommended Posts

DVargo

Не я о другом. при тестировании на Н4 по ценам закрытия в расчете выбран метод по всем тикам

Share this post


Link to post
Share on other sites
DVargo

О как он и тему создал. Правильное решение.

Только будет ли развитие.

В данном случае торговля по МА - правильная.

А при торговле, когда МА1>МА2.... или RSI....То Торговля по индикаторам -  для меня ругательное слово.

Share this post


Link to post
Share on other sites
DVargo

Таймфрейм может быть любой если правильно переводить данные из Н4 в Н1, М10. Будет какаят-о погрешность и некоторые приятные неожиданности

Share this post


Link to post
Share on other sites
AntFX
10 минут назад, DVargo сказал:

Таймфрейм может быть любой если правильно переводить данные из Н4 в Н1, М10.

Строго говоря в МТ4 правильнее всего делать советники, работающие по открытиям баров М1 (поскольку данных с большей детализацией у терминала нет). Но опять же это не предмет обсуждения в ветке простых советников ) Тут чем выше ТФ, на котором можно оптимизировать по ценам открытия хотя бы приблизительно похоже на все тики, тем лучше. Я этот советник оптимизировал по открытиям Н4, но результат в итоге получился идентичным всем тикам, а тесты выложил на всех тиках чтобы отсечь ненужные вопросы и претензии к ним...

Edited by AntFX

1

Share this post


Link to post
Share on other sites
DVargo

Что у нас тут интересного

double  iMA(
   string       symbol,           // имя символа
   int          timeframe,        // таймфрейм
   int          ma_period,        // период
   int          ma_shift,         // сдвиг средней
   int          ma_method,        // метод усреднения
   int          applied_price,    // тип цены
   int          shift             // сдвиг
   );

 ma_period=4*4=16часов. ma_shift сдвиг =7*4=21 час. Если копать то здесь.Что показывают данные настройки на графике. А нужны ли МА - можно ли получить чем другим. И что получим.

мы явно видим сессионную работы Лондон, Америка, Азия. Мне больше добавить нечего

Share this post


Link to post
Share on other sites
SWOLFF

Я вот себе Набор машек  на график посадил ..( Ну прям 3D ) - 1,2,3 ..8  +  21, 22, 23..34 ( не поленился )  в  полоску Болинжера 144 - для  наглядности .

 

Видно куда тренд идёт и робот под присмотром - можно поймать момент слива.


Возможности не позволяют иметь одни желания.  ;БИТВА УПРАВЛЯЮЩИХ    "IRON TRADER 2019" 

Share this post


Link to post
Share on other sites
SWOLFF

 При запилке предсказательной ТС сдох 1 Xeon e5450 ( поведение рынка, по шаблонам из истории, в Автокаде - был перегрев камня ),

  слито 50% депо ( надо было окунуться в проблему, для поиска решения )

 

нарисовался  Ро бот - весьма токсичный, типа Мартина с эффектом захода Дяди Доси ..

- Завязано - поиски Грааля в Топкую.
 


Возможности не позволяют иметь одни желания.  ;БИТВА УПРАВЛЯЮЩИХ    "IRON TRADER 2019" 

Share this post


Link to post
Share on other sites
SWOLFF
В 10.05.2018 в 16:51, DVargo сказал:

...

мы явно видим сессионную работы Лондон, Америка, Азия. Мне больше добавить нечего

Экономия на профите и лосях возможна .

..


Возможности не позволяют иметь одни желания.  ;БИТВА УПРАВЛЯЮЩИХ    "IRON TRADER 2019" 

Share this post


Link to post
Share on other sites
tyrbo924

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

 

//+------------------------------------------------------------------+
//|                                                     франк_уд.mq4 |
//+------------------------------------------------------------------+
#define m  20050612
//----
extern int tp = 37;
extern int sh = 25;
//----
datetime lastt; 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int kol_buy()
  {
   int kol_ob = 0;
//----
   for(int i = 0; i < OrdersTotal(); i++)
     {
       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) 
           break;
       //----
       if(OrderType() == OP_BUY)  
           kol_ob++;
     }
   return(kol_ob);
  }    
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int kol_sell()
  {
   int kol_os = 0;
//----
   for(int i = 0; i < OrdersTotal(); i++)
     {
       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) 
           break;
       //----
       if(OrderType() == OP_SELL)  
           kol_os++;
     }
   return(kol_os);
  } 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int slip, i, ii, tic, total, kk, gle;
   double lotsi = 0.000;
   bool sob = false, sos = false, scb = false, scs = false;
   int kb, kb_max = 0;
   kb = kol_buy() + 1;
   double M_ob[11][8];
   ArrayResize(M_ob,kb);
   int ks = 0, ks_max = 0;
   ks = kol_sell() + 1;
   double M_os[11][8];
   ArrayResize(M_os,ks);
   ArrayInitialize(M_ob, 0.00);
   int kbi = 0;
   double Point_ = Point*10;
//----
   for(i = 0; i < OrdersTotal(); i++)
     {
       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) 
           break;
       //----
       if(OrderSymbol() == Symbol() && OrderType() == OP_BUY)
         {
           kbi++;
           M_ob[kbi][0] = OrderTicket();
           M_ob[kbi][1] = OrderOpenPrice();
           M_ob[kbi][2] = OrderLots();
           M_ob[kbi][3] = OrderType();
           M_ob[kbi][4] = OrderMagicNumber();
           M_ob[kbi][5] = OrderStopLoss();
           M_ob[kbi][6] = OrderTakeProfit();
           M_ob[kbi][7] = OrderProfit();
         }
     } 
   M_ob[0][0] = kb; 
   double max_lot_b = 0.000;
//----
   for(i = 1; i < kb; i++)
       if(M_ob[2] > max_lot_b)
         {
           max_lot_b = M_ob[2];
           kb_max = i;
         }
   double buy_lev_min = M_ob[kb_max][1];   
   ArrayInitialize(M_os,0.00);
   int ksi = 0;
//----
   for(i = 0; i < OrdersTotal(); i++)
     {
       if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) 
           break;
       //----
       if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
         {
           ksi++;
           M_os[ksi][0] = OrderTicket();
           M_os[ksi][1] = OrderOpenPrice();
           M_os[ksi][2] = OrderLots();
           M_os[ksi][3] = OrderType();
           M_os[ksi][4] = OrderMagicNumber();
           M_os[ksi][5] = OrderStopLoss();
           M_os[ksi][6] = OrderTakeProfit();
           M_os[ksi][7] = OrderProfit();
         }
     } 
   M_os[0][0] = ks; 
   double max_lot_s = 0.000;
//----
   for(i = 1;i < ks; i++)
       if(M_os[2] > max_lot_s)
         {
           max_lot_s = M_os[2];
           ks_max = i;
         }
   double sell_lev_max = M_os[ks_max][1];    
//----
   if(Bars < 100 || IsTradeAllowed() == false) 
       return(0); 
   sob = (kol_buy() < 1 || buy_lev_min - sh*Point_ > Ask) && 
          AccountFreeMargin() > AccountBalance()*0.5;
   sos = (kol_sell() < 1 || sell_lev_max + sh*Point_ < Bid) &&
          AccountFreeMargin() > AccountBalance()*0.5;
//----
   if(M_ob[kb_max][2] > 0.00)
       scb = M_ob[kb_max][7] / (M_ob[kb_max][2]*10) > tp;
//----
   if(M_os[ks_max][2] > 0.00)
       scs = M_os[ks_max][7] / (M_os[ks_max][2]*10) > tp;
   kk = 0;
   ii = 0;
//----
   if(scb)
     {
       while(kol_buy() > 0 && kk < 3)
         {
           for(i = 1; i <= kb; i++)
             {
               ii = M_ob[0];
               //----
               if(!OrderClose(ii,M_ob[2],Bid,slip,White)) 
                 {
                   gle = GetLastError();
                   kk++;
                   Print("Ошибка №", gle, " при close buy ", kk);
                   Sleep(6000);
                   RefreshRates();  
                 }
             }
           kk++;
         }
     }
   kk = 0;  
   ii = 0; 
//----
   if(scs)
     {
       while(kol_sell() > 0 && kk < 3)
         {
           for(i = 1; i <= ks; i++)
             {
               ii = M_os[0];
               //----
               if(!OrderClose(ii,M_os[2], Ask, slip, White))
                 {
                   gle = GetLastError();
                   kk++;
                   Print("Ошибка №", gle, " при close sell ", kk);
                   Sleep(6000);
                   RefreshRates();  
                 }
             }
           kk++;
         }
     }
   kk = 0; 
   tic = -1;  
//----
   if(sob) 
     {
       if(max_lot_b == 0.00)
           lotsi = 0.01;
       else 
           lotsi = 2.0*max_lot_b;
       //----
       while(tic == -1 && kk < 3)
         {
           tic = OrderSend(Symbol(), OP_BUY, lotsi, Ask, slip, 0, Ask + (tp + 25)*Point_, 
                           " ", m, 0, Yellow);
           Print("tic_buy=", tic);
           //----
           if(tic==-1)
             {
               gle = GetLastError();
               kk++;               
               Print("Ошибка №", gle, " при buy ", kk);
               Sleep(6000);
               RefreshRates();   
             }
         }   
       lastt = CurTime();
       return;
     }
   tic = -1;
   kk = 0;  
//----
   if(sos) 
     {
       if(max_lot_s == 0.00)
           lotsi = 0.01;
       else 
           lotsi = 2.0*max_lot_s;
       //----
       while(tic == -1 && kk < 3)
         {
           tic = OrderSend(Symbol(), OP_SELL, lotsi, Bid, slip, 0, Bid - (tp + 25)*Point_,
                           " ", m, 0, Red);
           Print("tic_sell=", tic);
           //----
           if(tic == -1)
             {
               gle = GetLastError();
               kk++;               
               Print("Ошибка №", gle, " при sell ", kk);
               Sleep(6000);
               RefreshRates();   
             }
          }
       lastt = CurTime();
       return;
     }        
  }
//+------------------------------------------------------------------+   


Умничать и быть умным - разные понятия!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×