0
Там есть.
avatar

AM2

  • 5 сентября 2017, 19:53
0
Завтра буду смотреть.
avatar

AM2

  • 5 сентября 2017, 17:39
0
Посмотрю сегодня.
avatar

AM2

  • 5 сентября 2017, 17:37
+2
Все сделал: www.opentraders.ru/downloads/1652/

avatar

AM2

  • 4 сентября 2017, 23:04
0
Если закрылась серия ордеров по общему тралу на продажу, следующий ордер открывается на покупку.

Слишком много условий срабатывает редко, хотя все прописано: www.opentraders.ru/downloads/1652/


   if((b && CountTrades()<1) || (CountTrades()<1 && isTradeTimeInt(StartHour,StartMin,EndHour,EndMin) && BuySell==1) || (CountTrades()<=MaxTrades && otype==0 && (FindLastBuyPrice()-Ask)/Point>=Step))
     {
      PutOrder(0,Ask);
      ModifyOrders();
     }


avatar

AM2

  • 4 сентября 2017, 22:47
0
Посмотрю сейчас.
avatar

AM2

  • 4 сентября 2017, 21:18
0
Если будет 2 аккаунта на одного, это бан в столе заказов. Один товарищ(lafler356) очень настойчиво просил, дополнить именно этот заказ.
avatar

AM2

  • 4 сентября 2017, 18:08
0
А то этот только баит


Это же помощник берет в работу уже открытый руками ордер а бай только для проверки в тестере. Здесь и переставить коммент.


if(IsTesting())
 {
  if(CountTrades()<1) PutOrder(0,Ask);
  //if(CountTrades()<1) PutOrder(1,Bid);
 }
avatar

AM2

  • 4 сентября 2017, 06:58
+1
Жаль что нет кнопки выражения благодарности киви кошелек.

могу дать: QIWI, Yandex, WebMoney, PayPal и еще много страшных слов :D 
avatar

AM2

  • 3 сентября 2017, 20:25
+1
Я против. Это в тестере так красиво выглядит, а на реале все будет очень плохо.


Вено реал мониторинг: www.mql5.com/ru/signals/325424
avatar

AM2

  • 3 сентября 2017, 19:15
+1
По первоначальному ТЗ сделал: www.opentraders.ru/downloads/1650/



С пробитием фрейма и тралом всех ордеров в следующем топике.
avatar

AM2

  • 3 сентября 2017, 19:10
+1
было бы очень неплохо

Пишите ТЗ :) 
avatar

AM2

  • 3 сентября 2017, 19:01
+1
Вот такой наверное хотите? <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/003.gif' alt=' :D '>&nbsp; 



avatar

AM2

  • 3 сентября 2017, 17:42
+1
Подробнее пожалуйста. В коде что вы прислали только заготовка.
avatar

AM2

  • 3 сентября 2017, 17:20
0
Рискнул предположить что индикатор может выглядеть так:



Строит вертикальные линии с заданным шагом и горизонтальную по закрытию на 30 баров назад: www.opentraders.ru/downloads/1649/
avatar

AM2

  • 3 сентября 2017, 08:54
0
Вот без доливок:



//+------------------------------------------------------------------+
//|                                                         Real.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 Risk         = 5;        // риск
extern double StopLoss     = 500;      // лось
extern double TakeProfit   = 500;      // язь

extern int Shift           = 1;        // на каком баре сигнал индикатора
extern int Slip            = 30;       // реквот
extern int CloseSig        = 0;        // 1-закрытие по сигналу
extern int Magic           = 123;      // магик

extern string IndName="Real Trend";
extern int SignalPeriod= 15;
extern int ArrowPeriod = 2;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

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

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   double buy=iCustom(NULL,0,IndName,SignalPeriod,ArrowPeriod,2,Shift);
   double sell=iCustom(NULL,0,IndName,SignalPeriod,ArrowPeriod,3,Shift);

//--- sell 
   if(sell>0)
     {
      PutOrder(1,Bid);
     }
//--- buy conditions
   if(buy>0)
     {
      PutOrder(0,Ask);
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void ClosePos()
  {
   double buy=iCustom(NULL,0,IndName,SignalPeriod,ArrowPeriod,2,Shift);
   double sell=iCustom(NULL,0,IndName,SignalPeriod,ArrowPeriod,3,Shift);

   if(sell>0)
     {
      CloseAll(0);
     }

   if(buy>0)
     {
      CloseAll(1);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   double lotstep=MarketInfo(Symbol(),MODE_LOTSTEP);
   double MinLot=MarketInfo(Symbol(),MODE_MINLOT);
   double MaxLot=MarketInfo(Symbol(),MODE_MAXLOT);
   if(Lots==0) lot=AccountBalance()/100000*Risk;
   lot=NormalizeDouble(lot/lotstep,0)*lotstep;
   if(lot<MinLot) lot=MinLot;
   if(lot>MaxLot) lot=MaxLot;
   return(lot);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(CountTrades()<1) OpenPos();
   if(CloseSig>0) ClosePos();
  }
//+------------------------------------------------------------------+
avatar

AM2

  • 3 сентября 2017, 07:56
+1
Я чужой код не исправляю.
avatar

AM2

  • 3 сентября 2017, 07:22
Начать торговлю с Альпари