0
Label123 и label123
Ааа я и не заметил *pardon* 
avatar

AM2

  • 25 мая 2015, 21:56
0
Ага все гляну завтра
avatar

AM2

  • 25 мая 2015, 21:42
0
Торгуем по евре. Входы скорее всего по скорости движения цены. Завтра буду расставлять сделки на графике и смогу сказать точнее. Время торгов с 9 до 20. С 15 до 17 сильно увеличенный лот. Где то в 70% случаев только одна сделка в час. Профит +-10 пипок. Время удержания позы до 60 сек. Первые впечатления такие.
avatar

AM2

  • 25 мая 2015, 21:39
0
Завтра буду добавлять.
avatar

AM2

  • 25 мая 2015, 21:03
0
Реализовано в виде скрипта
avatar

AM2

  • 25 мая 2015, 17:41
0
Укажите формулу расчета лота? Сейчас рассчитывает в процентах от риска на стоп: www.opentraders.ru/downloads/752/

/+------------------------------------------------------------------+
Скрипт помогает открыть ордер «с рынка» при этом автоматически расчитывает размер лота
в соответствии с установленным Вами уровнем убытка (в процентах от депозита), открывает ордер и
устанавливает StopLoss и TakeProfit.
Вы перемещаете линию StopLoss (красная линия) — советник тут же пересчитывает размер лота
под заданный убыток Вами % убытка, и корректируете расположение TakeProfit (синяя линия).
Размер убытка (в %) нужно указать в настройках советника.
Чтобы установить ордер — удалите красную линию (линия StopLoss).
+------------------------------------------------------------------+
*/

avatar

AM2

  • 25 мая 2015, 17:40
0
начал писать с нуля подобный. Устроит?
avatar

AM2

  • 25 мая 2015, 13:50
0
Это все реализовано плюс таймер панелька трал бу: www.opentraders.ru/downloads/751/

avatar

AM2

  • 25 мая 2015, 09:42
0
Быстро найти причину не удалось. Может еще покопаюсь на досуге.
avatar

AM2

  • 25 мая 2015, 01:21
0
Завтра буду смотреть.
avatar

AM2

  • 24 мая 2015, 22:29
0
Сдвиг может быть только 0 и положительные значения
avatar

AM2

  • 24 мая 2015, 22:26
0
За такой объем в рамках данного топика я не возьмусь. Нужно упрощать.
avatar

AM2

  • 24 мая 2015, 18:14
0
Отрицательное значение означает что уже в будущее заглядываете :) 
avatar

AM2

  • 24 мая 2015, 18:00
0
Добавил в советник 2 условия для открытия позиций. Вывод на экран значений всех линий индикаторов и их разницы. Посмотрите если все нормально буду добавлять дальше: www.opentraders.ru/downloads/751/

input double Delta         = 0.0007; //расстояние между линиями BB_MACD
input double DeltaBvsB     = 0.0007; //расстояние между линиями BvsB


avatar

AM2

  • 24 мая 2015, 15:43
0
Я не возьмусь делать на чужой основе. Могу сделать на своей.
avatar

AM2

  • 24 мая 2015, 14:02
0
Сейчас буду смотреть.
avatar

AM2

  • 24 мая 2015, 12:25
0
Сделал основу для советника. Он уже торгует, осталось уточнить условия:



//+------------------------------------------------------------------+
//|                                                         BvsB.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property description "Simple expert advisor"

#define MAGIC   20150515
//--- Inputs
input double StopLoss      = 500;
input double TakeProfit    = 1500;
input double TrailingStop  = 100;
input double Lots          = 0.1;
input double Slip          = 30;
//---- BB_MACD indicator parameters
extern int FastLen = 12;
extern int SlowLen = 26;
extern int Length = 10;
extern int barsCount = 400;
extern double StDv = 2.5;
//---- BBears indicator parameters
extern int BBPeriod=14;

double BB_MACD_Blue,BB_MACD_Red,BBears_Green,BBears_Red;
//+------------------------------------------------------------------+
//| Calculate open positions                                         |
//+------------------------------------------------------------------+
int Orders(string symbol)
  {
   int buys=0,sells=0;
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC )
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//--- return orders volume
   if(buys>0) return(buys);
   else       return(-sells);
  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    res;
//--- get ind
   BB_MACD_Blue=iCustom(NULL,0,"BB_MACD",FastLen,SlowLen,Length,barsCount,StDv,2,1);
   BB_MACD_Red=iCustom(NULL,0,"BB_MACD",FastLen,SlowLen,Length,barsCount,StDv,3,1);

   BBears_Green=iCustom(NULL,0,"BullsBears",BBPeriod,0,1);
   BBears_Red=iCustom(NULL,0,"BullsBears",BBPeriod,1,1);   
   
   
//--- sell conditions
   if(BB_MACD_Red<0 && BBears_Red<0)
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",MAGIC ,0,Red);
      return;
     }
//--- buy conditions
   if(BB_MACD_Blue>0 && BBears_Green>0)
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",MAGIC ,0,Blue);
      return;
     }
//---
  }
//+------------------------------------------------------------------+
void ClosePos()
  {
   BB_MACD_Blue=iCustom(NULL,0,"BB_MACD",FastLen,SlowLen,Length,barsCount,StDv,2,1);
   BB_MACD_Red=iCustom(NULL,0,"BB_MACD",FastLen,SlowLen,Length,barsCount,StDv,3,1);

   BBears_Green=iCustom(NULL,0,"BullsBears",BBPeriod,0,1);
   BBears_Red=iCustom(NULL,0,"BullsBears",BBPeriod,1,1);   
   
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) continue;
      //--- check order type 
      if(OrderType()==OP_BUY)
        {
         if(BB_MACD_Red<0 && BBears_Red<0)
           {
            CloseAll();
           }
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(BB_MACD_Blue>0 && BBears_Green>0)
           {
            CloseAll();
           }
         break;
        }
     }
//---
  }
//+------------------------------------------------------------------+  
void CloseAll()
  {
   bool cl,sel;
   for (int i=OrdersTotal()-1;i>= 0;i--)
    {
     sel=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol())
       { 
        if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC )
         {
          if(OrderType()==OP_BUY) cl=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Blue);
          if(OrderType()==OP_SELL) cl=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Red);
         }
        Sleep(1000);
      }
   }
} 
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+
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);
                       }
                    }
                 }
              }

      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);
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
bool NewBar()
  {
   static datetime lastbar=0;
   datetime curbar=Time[0];
   if(lastbar!=curbar)
     {
      lastbar=curbar;
      return (true);
     }
   else
     {
      return(false);
     }
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
  
   BB_MACD_Blue=iCustom(NULL,0,"BB_MACD",FastLen,SlowLen,Length,barsCount,StDv,2,1);
   BB_MACD_Red=iCustom(NULL,0,"BB_MACD",FastLen,SlowLen,Length,barsCount,StDv,3,1);

   BBears_Green=iCustom(NULL,0,"BullsBears",BBPeriod,0,1);
   BBears_Red=iCustom(NULL,0,"BullsBears",BBPeriod,1,1);   
   
    
   if(NewBar())
     {
      if(CountTrades()<1) OpenPos();
     }
     
   //ClosePos();
   //if(TrailingStop!=0) Trailing();
    
   Comment("\n BB_MACD_BlueP ",BB_MACD_Blue,
           "\n BB_MACD_Red ",BB_MACD_Red,
           "\n BBears_Green ",BBears_Green,
           "\n BBears_Red ",BBears_Red);                                    
//---
  }
//+------------------------------------------------------------------+
avatar

AM2

  • 24 мая 2015, 12:21
0
Начал делать. Нужно уточнить условия. Какое значение, какой индикатор, синяя линия или красная и др.?
avatar

AM2

  • 24 мая 2015, 12:04