0
А как вообще копию делать если нет ни сделок, ни ТЗ. В тестере не прогонишь, ключа нет. Хотя бы видео работы эксперта было.
avatar

AM2

  • 17 августа 2017, 20:36
0
За платные заказы очень редко берусь. Т.к. это конкретный вынос мозга, а мне этого не надо )
avatar

AM2

  • 17 августа 2017, 18:44
0
было. обычный доливатор с коротким стопом и тралом.
avatar

AM2

  • 14 августа 2017, 17:52
0
у автора есть :)  не зря он свои координаты дает
avatar

AM2

  • 14 августа 2017, 17:36
0
avatar

AM2

  • 14 августа 2017, 16:40
0
На фрилансе ценник от 30 баксов начинается.
avatar

AM2

  • 5 августа 2017, 21:04
+1
Бесплатного выполнения сейчас нет: zakaz.opentraders.ru/40419.html
Платно могу сделать. Обращайтесь в личку.
avatar

AM2

  • 5 августа 2017, 16:43
0
Здесь есть в базе подобные системы и мои и Оксаны. Моя HedgeMartin называется.
avatar

AM2

  • 1 августа 2017, 23:36
0
Если прибыльно почему к платному не обращаешься?
avatar

AM2

  • 1 августа 2017, 22:34
0
Подобная картинка сэкономила бы мне уйму времени и сил. Далее уже не ко мне.
avatar

AM2

  • 1 августа 2017, 22:32
0
Завтра.
avatar

AM2

  • 1 августа 2017, 22:08
0
ага
avatar

AM2

  • 1 августа 2017, 22:05
0
То что можно было быстро сделать сделал, дальше к платному.
avatar

AM2

  • 1 августа 2017, 22:04
0
Вот версия наиболее близкая к последнему комменту:




//+------------------------------------------------------------------+
//|                                                          Net.mq4 |
//|                                              Copyright 2017, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots      = 0.1; // объем позиции
extern double KLot      = 2;   // увеличение лота
extern double MaxLot    = 5;   // максимальный лот
extern int StopLoss     = 0;   // стоп лосс ордера
extern int TakeProfit   = 0;   // тейк профит ордера
extern int Slip         = 30;  // реквот
extern int Delta        = 200; // расстояние от цены
extern int Magic        = 123; // магик

bool one=true;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price,double lot)
  {
   int    r=0;
   color clr=clrNONE;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0)   sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0)   sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,lot,NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()<2) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountOrders(int type)
  {
   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()==type) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;

   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            lot=OrderLots();
            break;
           }
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double HLot()
  {
   double lot=Lots;

   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            lot=OrderLots();
            break;
           }
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int DealType()
  {
   int type=8;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2) type=OrderType();
            break;
           }
        }
     }
   return(type);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int HDealType()
  {
   int type=8;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2) type=OrderType();
            break;
           }
        }
     }
   return(type);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll(int ot=-1)
  {
   bool cl;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0 && (ot==0 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slip,White);
              }
            if(OrderType()==1 && (ot==1 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slip,White);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void DelOrder()
  {
   bool del;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()>1) del=OrderDelete(OrderTicket());
           }
        }
     }
   return;
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(CountTrades()>1)
     {
      CloseAll();
      DelOrder();
      one=true;
     }

   if(CountTrades()<1)
     {
      if(HDealType()==1 || HDealType()==8)
        {
         if(CountOrders(4)<1) PutOrder(4,Bid+Delta*Point,HLot()*KLot);
         if(CountOrders(5)<1) PutOrder(5,Bid-Delta*Point,HLot());
        }

      if(HDealType()==0 || HDealType()==8)
        {
         if(CountOrders(4)<1) PutOrder(4,Bid+Delta*Point,HLot());
         if(CountOrders(5)<1) PutOrder(5,Bid-Delta*Point,HLot()*KLot);
        }
     }

   if(CountTrades()>0 && one)
     {
      DelOrder();

      if(DealType()==1)
        {
         if(CountOrders(4)<1) PutOrder(4,Bid+Delta*Point,Lot()*KLot);
         if(CountOrders(5)<1) PutOrder(5,Bid-Delta*Point,Lot());
        }

      if(DealType()==0)
        {
         if(CountOrders(4)<1) PutOrder(4,Bid+Delta*Point,Lot());
         if(CountOrders(5)<1) PutOrder(5,Bid-Delta*Point,Lot()*KLot);
        }

      one=false;
     }
     
   Comment("\n Deal Type: ",DealType(),
           "\n History Deal Type: ",HDealType(),
           "\n History Deal Lot: ",HLot());
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 1 августа 2017, 21:12
0
И одновременно выставить селлстоп 0.01?
avatar

AM2

  • 1 августа 2017, 19:58
0
Тогда пошагово.

1. Ставим отложки на расстоянии от цены:



2. Сработал селл, что дальше?

avatar

AM2

  • 1 августа 2017, 19:52
0
Начну сейчас, хоть и тз сплошняком без абзацев, скрины неразборчивые. Сов такой же будет :D 
avatar

AM2

  • 1 августа 2017, 19:19
0
Нет сигнала от индикатора зонс, вот набросок можете убедиться сами:


//+------------------------------------------------------------------+
//|                                                        Zones.mq4 |
//|                                              Copyright 2017, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 1;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern int StopLoss      = 2000;     // лось
extern int TakeProfit    = 3000;     // язь
extern int StartHour     = 0;        // час начала торговли
extern int StartMin      = 30;       // минута начала торговли
extern int EndHour       = 23;       // час окончания торговли
extern int EndMin        = 30;       // минута окончания торговли
extern int Slip          = 30;       // реквот
extern int Shift         = 1;        // на каком баре сигнал индикатора
extern int Trades        = 1;        // 1-только одна поза
extern int Magic         = 123;      // магик

extern string IndName    = "BBands_Stop_v1";
extern int    Length     = 20;       // Bollinger Bands Period
extern int    Deviation  = 2;        // Deviation was 2
extern double MoneyRisk  = 1.00;     // Offset Factor

extern string IndName2="Transient_Zones";
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.04.2009                                                     |
//|  Описание : Возвращает флаг разрешения торговли по времени.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    hb - часы времени начала торговли                                       |
//|    mb - минуты времени начала торговли                                     |
//|    he - часы времени окончания торговли                                    |
//|    me - минуты времени окончания торговли                                  |
//+----------------------------------------------------------------------------+
bool isTradeTimeInt(int hb=0,int mb=0,int he=0,int me=0)
  {
   datetime db, de;           // Время начала и окончания работы
   int      hc;               // Часы текущего времени торгового сервера

   db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+(string)hb+":"+(string)mb);
   de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+(string)he+":"+(string)me);
   hc=TimeHour(TimeCurrent());

   if(db>=de)
     {
      if(hc>=he) de+=24*60*60; else db-=24*60*60;
     }

   if(TimeCurrent()>=db && TimeCurrent()<=de) return(True);
   else return(False);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0) sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0) sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()<2) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   double blue = iCustom(NULL,0,IndName,Length,Deviation,MoneyRisk,0,Shift);
   double red  = iCustom(NULL,0,IndName,Length,Deviation,MoneyRisk,1,Shift);
   double red2 = iCustom(NULL,0,IndName2,0,Shift);
   double yell = iCustom(NULL,0,IndName2,1,Shift);

   bool buy=blue<1000 && red2>0,sell=red<1000 && yell>0;

   if(buy)
     {
      PutOrder(0,Ask);
     }

   if(sell)
     {
      PutOrder(1,Bid);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;

   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderProfit()<0)
        {
         lot=OrderLots()*KLot;
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(CountTrades()<1 && isTradeTimeInt(StartHour,StartMin,EndHour,EndMin))
     {
      OpenPos();
     }
   double red=iCustom(NULL,0,IndName2,"",10,1000,0,1);

   Comment(red);
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 1 августа 2017, 19:16
0
Посмотрю сегодня
avatar

AM2

  • 1 августа 2017, 17:28
Начать торговлю с Альпари