Группа "Стол заказов MQL"

Рейтинг 2081



РЕКОМЕНДУЮ




Лучшее от Deimos



Прикрутить алерт MT4 Комментариев 20
2015-10-01 09:19:06Рейтинг 0

TralMov Комментариев 16
2015-11-02 17:42:04Рейтинг 0

Создать индикатор Комментариев 6
2016-01-14 23:19:46Рейтинг 0

Индикатор.Отрисовка импульса Комментариев 20
2016-03-09 10:16:30Рейтинг 0

Прикрутить алерт Комментариев 5
2016-11-30 11:25:10Рейтинг 0

Не очередной пробой

Добрый день! Можно взять аванс на следующий месяц?) обещаю не буду просить.просто оч надо если вы не заняты особо;) 

Задача написать пробойный советник.Смотрел уже на сайте похожие темы… искал в инете. То что хочу не нашел.Потому прошу вас написать.

ТЗ:

1) это будет советник по стратегии пробоя!
а) самое главное: советник выставляет отложенные ордера бай стоп и селл стоп по High и Low значениям предыдущей свечи, как правило торговля должна производиться по дневным свечам (можно добавить также выбор таймфрейма по Н4 и по Week)

Т.е. принцип прост, как только закрылась свеча к примеру дневная советник по High и Low значениям этой закрытой свечи выставляет ордера на пробой.

Если ордера в новую свечу не сработали советник под конец этой свечки убирает их. а как только эта новая свеча закроется опять выставляет по максимумам и минимумам цен этой свечи новые ордера.
Если сработал один из ордеров например бай стоп, то селл стоп сразу советник должен удалить.

б) добавить необходимо значение: кол-во пунктов (5-знак) от high/low значения для ордеров! Например: high свечи на цене 1.13500, данное значение в настройках стоит на «5» т.е. ордер бай стоп советник должен выставить по цене 1.13505, при значении «20» бай стоп выставится по цене 1.13520! Тот же принцип при выставлении по low селл стопов: цена на low 1.12850, значит селл стоп выставляется по цене 1.12845 при значении «5».

2) возможность выставления тейк профита и стоп лосс

3) возможность перевода открытой позиции в безубыток
4) возможность выставление трейлингов (да пункт 4 и 3 отдельно друг от друга безубыток становится сам по себе, а трал уже от безубытка пляшет)

5)нужно выставить в настройках возможность определять риски (мани менеджмент) т.е. объясню на простом примере: депозит 1 000 долларов. риск стоит на значении 1% значит ордера выставляются объемом в 0,01! риск стоит на 10% значит объем ордеров 0.1 и соответственно риск на 100% ордера выставляются лотом. А по мере изменения депозита, допустим на счету стало 1100 долларов, растет соответственно рисковому значению и объем т.е. при риске 1% получается так же остается 0,01 (так как если умножить то получится 0,011 а такой объем к сожалению не открывается), при рисковом значении 10% объем 0,11. А при значении 100% объем 1,1 лота. и так далее, с возможность выставления рискового значения от 1 до 500 процентов

а) так же эту настройку нужно сделать отключающийся и при значении false возможность в настройках в ручную выставить фиксированный лот

6) вроде по настройкам и ордерам все)) теперь на инфопанеле, на валютной паре, где работает советник. если можно выводить следующую информацию: а) номер аккаунта, фамилия имя кому аккаунт принадлежит! б) время терминала! в) баланс и эквити! г) прибыль за месяц, за неделю!

На этом вроде все! Надеюсь это все сделать будет несложно! Благодарю за внимание и заранее выражаю благодарность за советника)
  • 0
  • Просмотров: 6740
  • 25 ноября 2015, 10:54
  • Deimos
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник по индикатору ZIG ZAG
Следующая запись в группе  
Пробой прошлой свечи + Мартин
24 ноября 2015
25 ноября 2015

Комментарии (25)

+
0
Дайте ссылку на то что вы нашли на пробой дня, чтобы мне немного править было?
avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 11:02
+
0
в том то и дело что править не надо ничего) желательно свой код. но что то потипу этого робота www.mql5.com/ru/code/10145
Редактирован: 25 ноября 2015, 11:05
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 11:05
+
0
В базе найдите подобные моего производства для правки.
avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 11:23
+
0
www.opentraders.ru/downloads/803/ и еще можно будет добавить возможность ограничения по времени терминала работы робота)
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 11:28
+
0
Это не мой это цмиллионовский
avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 12:19
+
0
avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 12:26
+
0
вот этот вроде похож.можно взять как основу. www.opentraders.ru/downloads/892/
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 12:30
+
0
Вот набросок: www.opentraders.ru/downloads/946/


avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 13:02
+
0
6) вроде по настройкам и ордерам все)) теперь на инфопанеле, на валютной паре, где работает советник. если можно выводить следующую информацию: а) номер аккаунта, фамилия имя кому аккаунт принадлежит! б) время терминала! в) баланс и эквити! г) прибыль за месяц, за неделю!


Вот это по времени займет больше чем сам советник.
avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 13:04
+
0
свойства эксперта не открываются в тестере(( инфо панель и подождать.главное сделать саму сову.
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 13:06
+
0
как это?
avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 13:10
+
0
Сорри был косяк.

Из советника надо убрать старт hour энд hour и прочие вещи и минуты. Нужно сделать чтобы по хай и лоу выставлялся бай стоп сел стоп одновременно сразу на открытии нового дня.Дальше срабатывает сел стоп… сразу убирается бай стоп.и наоборот.убрать количество ордеров из функций.их просто будет по одному бай и сел. и что за БУлевел и БУпоинт?)
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 13:19
+
0
и если можно сделать чтобы в тестере побыстрее тестил робот))
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 13:21
+
0
Убрал время. добавил панельку:



//--- Inputs
extern int    StopLoss      = 500; //стоплосс отложенного ордера
extern int    TakeProfit    = 500; //тейкпрофит  отложенного ордера
extern int    BULevel       = 300; //уровень БУ
extern int    BUPoint       = 30;  //пункты БУ
extern int    TrailingStop  = 300; //трал
extern int    Delta         = 100; //расстояние от лоу или хая
extern int    CloseHour     = 23;  //время удаления отложек
extern double Lots          = 0.1; //лот
extern double Risk          = 5;   //если риск > 0 то лот динамичный
extern int    Count         = 1;   //количество ордеров
extern int    Slip          = 100; //проскальзывание ордеров
extern int    Magic         = 123; //магик

int res=0;
double sl=0,tp=0;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   Comment("");
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
int CountBSOrders()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUYSTOP) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
int CountSSOrders()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_SELLSTOP) count++;
           }
        }
     }
   return(count);
  }  
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void DelAllOrders()
  {
   bool del=true;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUYSTOP) del=OrderDelete(OrderTicket());
            if(OrderType()==OP_SELLSTOP) del=OrderDelete(OrderTicket());
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOtlOrder()
  {
   double price;
   double ASK=MarketInfo(NULL,MODE_ASK);
   double BID=MarketInfo(NULL,MODE_BID);

   double Middle=(iHigh(Symbol(),PERIOD_D1,1)+iLow(Symbol(),PERIOD_D1,1))/2;
//--- sellstop 
   if(BID>iLow(Symbol(),PERIOD_D1,1))
     {
      if(CountSSOrders()<1)
        {
         price=fND(iLow(Symbol(),PERIOD_D1,1)-Delta*Point);
         if(StopLoss>0)   sl=price+StopLoss*Point;
         if(TakeProfit>0) tp=price-TakeProfit*Point;
         res=OrderSend(Symbol(),OP_SELLSTOP,Lot(),fND(price),0,fND(sl),fND(tp),"ОРДЕР SELLSTOP",Magic,0,Red);
        }
     }
//--- buystop 
   if(ASK<iHigh(Symbol(),PERIOD_D1,1))
     {
      if(CountBSOrders()<1)
        {
         price=fND(iHigh(Symbol(),PERIOD_D1,1)+Delta*Point);
         if(StopLoss>0)   sl=price-StopLoss*Point;
         if(TakeProfit>0) tp=price+TakeProfit*Point;
         res=OrderSend(Symbol(),OP_BUYSTOP,Lot(),fND(price),0,fND(sl),fND(tp),"ОРДЕР BUYSTOP",Magic,0,Blue);
        }
     }
   return;
  }
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() || OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(TrailingStop>0)
                 {
                  if(Bid-OrderOpenPrice()>TrailingStop*Point)
                    {
                     if(OrderStopLoss()<Bid-TrailingStop*Point)
                       {
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                        return;
                       }
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(TrailingStop>0)
                 {
                  if((OrderOpenPrice()-Ask)>TrailingStop*Point)
                    {
                     if((OrderStopLoss()>(Ask+TrailingStop*Point)) || (OrderStopLoss()==0))
                       {
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                        return;
                       }
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BU()
  {
   bool m;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() || OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(OrderOpenPrice()<=Bid-BULevel*Point && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=Ask+BULevel*Point && OrderOpenPrice()<OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   if(Risk>0)
     {
      lot=fND(AccountBalance()*Risk/100000,2);
     }
   if(lot==0)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double GetProfitFromDate(datetime date=0)
  {
   double profit=0;

   for(int i=0;i<OrdersHistoryTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(date<OrderCloseTime())  profit+=OrderProfit()+OrderCommission()+OrderSwap();
              }
           }
        }
     }
   return(profit);
  }  
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(BULevel>0) BU();
   if(TrailingStop>0) Trailing();
   if(CountTrades()>0 || Hour()==CloseHour) DelAllOrders();
   if(CountTrades()<1) PutOtlOrder();

   Comment("\n   Account Name: ",AccountInfoString(ACCOUNT_NAME),
           "\n   Account Number: ",AccountInfoInteger(ACCOUNT_LOGIN),
           "\n   Account Balance: ",AccountInfoDouble(ACCOUNT_BALANCE),
           "\n   Account Equity: ",AccountInfoDouble(ACCOUNT_EQUITY),
           "\n   Профит за неделю: "+DoubleToString(GetProfitFromDate(TimeCurrent()-24*60*60*7),2),
           "\n   Профит за месяц: "+DoubleToString(GetProfitFromDate(TimeCurrent()-24*60*60*30),2),
           "\n   Текущее время: ",TimeToString(TimeCurrent(),TIME_DATE));
  }
//+------------------------------------------------------------------+

avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 13:27
+
0
Надо чтобы при срабатывании сел стопа допустим.убирался ордер бай стоп.и ничего заново не выставлялось.один раз в день и все.и убрать строчку кол-во ордеров.а то получается сработал сел стоп.и снова открывает сел стоп.это уже слив.
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 13:49
+
0
Раз в день.



//--- Inputs
extern int    StopLoss      = 500; //стоплосс отложенного ордера
extern int    TakeProfit    = 500; //тейкпрофит  отложенного ордера
extern int    BULevel       = 300; //уровень БУ
extern int    BUPoint       = 30;  //пункты БУ
extern int    TrailingStop  = 300; //трал
extern int    Delta         = 100; //расстояние от лоу или хая
extern int    CloseHour     = 23;  //время удаления отложек
extern double Lots          = 0.1; //лот
extern double Risk          = 5;   //если риск > 0 то лот динамичный
extern int    Slip          = 100; //проскальзывание ордеров
extern int    Magic         = 123; //магик

int res=0,day=0;
double sl=0,tp=0;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   Comment("");
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
int CountBSOrders()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUYSTOP) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
int CountSSOrders()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_SELLSTOP) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void DelAllOrders()
  {
   bool del=true;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUYSTOP) del=OrderDelete(OrderTicket());
            if(OrderType()==OP_SELLSTOP) del=OrderDelete(OrderTicket());
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOtlOrder()
  {
   double price;
   double ASK=MarketInfo(NULL,MODE_ASK);
   double BID=MarketInfo(NULL,MODE_BID);

   double Middle=(iHigh(Symbol(),PERIOD_D1,1)+iLow(Symbol(),PERIOD_D1,1))/2;
//--- sellstop 
   if(BID>iLow(Symbol(),PERIOD_D1,1))
     {
      if(CountSSOrders()<1)
        {
         price=fND(iLow(Symbol(),PERIOD_D1,1)-Delta*Point);
         if(StopLoss>0)   sl=price+StopLoss*Point;
         if(TakeProfit>0) tp=price-TakeProfit*Point;
         res=OrderSend(Symbol(),OP_SELLSTOP,Lot(),fND(price),0,fND(sl),fND(tp),"ОРДЕР SELLSTOP",Magic,0,Red);
        }
     }
//--- buystop 
   if(ASK<iHigh(Symbol(),PERIOD_D1,1))
     {
      if(CountBSOrders()<1)
        {
         price=fND(iHigh(Symbol(),PERIOD_D1,1)+Delta*Point);
         if(StopLoss>0)   sl=price-StopLoss*Point;
         if(TakeProfit>0) tp=price+TakeProfit*Point;
         res=OrderSend(Symbol(),OP_BUYSTOP,Lot(),fND(price),0,fND(sl),fND(tp),"ОРДЕР BUYSTOP",Magic,0,Blue);
        }
     }
   return;
  }
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() || OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(TrailingStop>0)
                 {
                  if(Bid-OrderOpenPrice()>TrailingStop*Point)
                    {
                     if(OrderStopLoss()<Bid-TrailingStop*Point)
                       {
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                        return;
                       }
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(TrailingStop>0)
                 {
                  if((OrderOpenPrice()-Ask)>TrailingStop*Point)
                    {
                     if((OrderStopLoss()>(Ask+TrailingStop*Point)) || (OrderStopLoss()==0))
                       {
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                        return;
                       }
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BU()
  {
   bool m;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() || OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(OrderOpenPrice()<=Bid-BULevel*Point && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=Ask+BULevel*Point && OrderOpenPrice()<OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BUPoint*Point,OrderTakeProfit(),0,Green);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   if(Risk>0)
     {
      lot=fND(AccountBalance()*Risk/100000,2);
     }
   if(lot==0)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double GetProfitFromDate(datetime date=0)
  {
   double profit=0;

   for(int i=0;i<OrdersHistoryTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(date<OrderCloseTime()) profit+=OrderProfit()+OrderCommission()+OrderSwap();
              }
           }
        }
     }
   return(profit);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(BULevel>0) BU();
   if(Hour()==0) day=0;
   if(TrailingStop>0) Trailing();
   if(CountTrades()>0 || Hour()==CloseHour) DelAllOrders();
   if(CountTrades()<1 && day<1)
     {
      PutOtlOrder();
      day++;
     }

   Comment("\n   Account Name: ",AccountInfoString(ACCOUNT_NAME),
           "\n   Account Number: ",AccountInfoInteger(ACCOUNT_LOGIN),
           "\n   Account Balance: ",AccountInfoDouble(ACCOUNT_BALANCE),
           "\n   Account Equity: ",AccountInfoDouble(ACCOUNT_EQUITY),
           "\n   Профит за неделю: "+DoubleToString(GetProfitFromDate(TimeCurrent()-24*60*60*7),2),
           "\n   Профит за месяц: "+DoubleToString(GetProfitFromDate(TimeCurrent()-24*60*60*30),2),
           "\n   Текущее время: ",TimeToString(TimeCurrent(),TIME_DATE));
  }
//+------------------------------------------------------------------+

avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 25 ноября 2015, 14:22
+
0
спасибо.все как надо) *pontorez* 
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 15:05
+
0


О как)
avatar

  11  Deimos Автор Сообщений: 94

  • 25 ноября 2015, 16:27
+
0
Привет.поставил на реалку.несколько валютных пар.и такой вертяк увидел.что когда на 1 паре открывается ордер.на других парах робот удаляет все отложки.О_о. можно ли как то исправить чтобы он различал это дело? и при срабатывании на 1 паре не удалял отложки на другой.
avatar

  11  Deimos Автор Сообщений: 94

  • 26 ноября 2015, 08:58
+
0
Поставлю сейчас на отладку.
avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 26 ноября 2015, 09:03
+
0
*rabota* 
avatar

  11  Deimos Автор Сообщений: 94

  • 26 ноября 2015, 09:12
+
0
Делайте с разными магиками, тогда не удаляет.

avatar

  34  AM2 Сообщений: 15869 - Андрей

  • 26 ноября 2015, 12:34
+
0
good job!!!
avatar

  17  mangus Сообщений: 10 - mangus

  • 25 ноября 2015, 16:52
+
0
билд 902 не работает
avatar

  5  Denis111111 Сообщений: 27

  • 28 ноября 2015, 00:07
+
0
Доброго времени суток! Отличная получилась сова!!! Огромное спасибо программисту!!! Скажите пожалуйста можно ли к данному роботу добавить усреднитель?
Если это возможно добавьте пожалуйста в сову усреднение.
avatar

  9  marshame Сообщений: 41 - Александр

  • 29 ноября 2015, 13:12

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари