# Доработка ботов (советников, индикаторов)

Раздел: Язык программирования MQL4
Автор темы: machzelet
Создана: 2010-02-26 20:00
Ответов: 12060 | Просмотров: 1843523
Страница 573 из 604
Источник: https://forexsystemru.com/threads/61956/page-573

---

## zhserg — 2014-08-15 21:17

> Цитата (yava):
> Dmitrii1
> Поехало!!!!
> Моя почта yava_01@mail.ru , пиши, обсудим способы перечисления $.

Самый прикол в том что замечания по компиляции абсолютно не влияют на работоспособность советника :)

## zhserg — 2014-08-15 21:23

> Цитата (tolik2008):
> Помогите. Кто нибудь может переделать стандартную терминальную машку, чтобы отображалась в подвале, и сохранились все настройки от стандартной.

:)

## tolik2008 — 2014-08-15 21:42

> Цитата (zhserg):
> :)

Это не то. А можно чтобы все настройки были как в стандартной?

## gek — 2014-08-15 23:35

> Цитата (yava):
> Ок, счас попробую, пока рынок не закрылся.

Хотел попробовать,но на терминале красная линия и что-то написано с цифрой 29 306,15(у меня терманал английский и не возможно прочитать) и не работает.Скажете,почему?:)

## yava — 2014-08-15 23:40

А ордер открылся?

## yava — 2014-08-15 23:44

Вот мануалы. Но модов много, не всё там найдёте. Тестите, и разберётесь помаленьку. Вообще интересный сов, ещё погоняю какое то время на демо и буду ставить на реал.

## nikpilot — 2014-08-15 23:58

> Цитата (mobidik):
> :)

Спасибо большое, буду смотреть.

## gek — 2014-08-15 23:59

> Цитата (yava):
> Вот мануалы. Но модов много, не всё там найдёте. Тестите, и разберётесь помаленьку. Вообще интересный сов, ещё погоняю какое то время на демо и буду ставить на реал.

Спасибо.Ничего не открывает.У вас тоже красная полоса?
А вообще,скажите какой тайм,пара,брокер.
И какой сет лучше ставить?

## Dmitrii1 — 2014-08-16 00:09

> Цитата (gek):
> Спасибо.Ничего не открывает.У вас тоже красная полоса?
> А вообще,скажите какой тайм,пара,брокер.
> И какой сет лучше ставить?

Цифры на красной полосе это сумма которая должна быть на счету с этими настройками.Если уменьшить Max Trades то нужная для работы сумма уменьшится.Также плечо должно быть 1:500.

## gek — 2014-08-16 00:36

> Цитата (Dmitrii1):
> Цифры на красной полосе это сумма которая должна быть на счету с этими настройками.Если уменьшить Max Trades то нужная для работы сумма уменьшится.Также плечо должно быть 1:500.

Заработало!

## tolik2008 — 2014-08-16 17:45

> Цитата (tolik2008):
> Помогите. Кто нибудь может переделать стандартную терминальную машку, чтобы отображалась в подвале, и сохранились **все настройки от стандартной**.

Никто такое не может сделать? o_o

## druzhba78 — 2014-08-18 01:44

**Советник Shock Bar v.1.3**

Здравствуйте, уважаемые коллеги ! Долгое время тестировал разные советники, в большинстве случаев терпел разочарование ! Но как-то раз наткнулся на советник Shock Bar v.1.3 и в нём мне многое понравилось: 1)открытие ордеров buy,sell после пробоя канала; 2)постоянный уровень Lock; 3)встроенная система Money Managment; 4)умное закрытие ордеров...и т.д.. Работаю на ForexForYou, здесь же его и тестировал ! Добился хороших результатов ! Можно сказать, что грааль найден !!! Если бы не одно но-в тестере всё здорово (со 100$ депозитом на центовом счёте пара eur/usd при lot=0.1 и koeflot=1.3 в первый месяц теста делает +50$, т.е. 50%), а на реале каждый lot открывает=0.1 (без сотых долей), не увеличивая его на коэффициент, только, начиная от koeflot=1.5 и выше он увеличивает следующие ордера грубо на десятые доли, т.е. последующие lot=0.1>0.2>0.3...и т.д., а это много !!! Товарищи программисты советник и свой set с настройками прилагаю ! Если сможете измените !!!

## ctmcn — 2014-08-18 13:37

Здравствуйте !
Помогите пожалуйта:
индикатор не работает (не устанавливается) на DJ, NKD - похоже количество знаков не воспринимает. В остальных инструментах нормально. Где что подправить ?
С уважением.

## incomeasset — 2014-08-18 14:07

Privet vsem pomoghite pojalusta nujen MQ4 file etovo indikatora spasibo za ranee!

## SIDOYY — 2014-08-18 15:19

Подскажиет что за ошибку выдает советник? как это исправить 
[изображение: https://forexsystemsru.com/attachment.php?attachmentid=175384&stc=1&d=1408360756]

## karabalykov — 2014-08-18 17:15

**Помогите изменить код советника**

Помогите переделать код так что бы открывалось два ордера один на селл другой на бай (в коде их открывается множество) и профит открывался равный 40 пунктам вот код:

extern int    TakeProfit       = 35;            // Размер тейка в пунктах
extern double Lots             = 0.01;          // Размер лота

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int Magic=0;
  
for(int cnt=0;cnt<OrdersTotal();cnt++)// Перебираем все ордера
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);//ордер выбирается среди открытых и отложенных ордеров
      if( OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)// Совпадает ли символ ордера( Здесь по надобности ещё магик можно проверить)
        {
         if(OrderType()==OP_BUY)//Отбираем позицию бай
           {
            if(Bid-OrderOpenPrice()>TakeProfit*Point)//
              {
               OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); //закрываем ордер
               return(0); // выходим
              }
           }
          if(OrderType()==OP_SELL)//Отбираем позицию селл
           {
            if(OrderOpenPrice()-Ask>TakeProfit*Point)//
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); //закрываем ордер
               return(0); // выходим
              }
           }
         }
      }
//----
 int buy = 0, sell = 0;
//----
   if(!ExistPositions(NULL,OP_BUY))buy=1;
   else if(PriceOpenLastPos(NULL,OP_BUY)-Ask>10*Point)buy=1; 
   
   if(!ExistPositions(NULL,OP_SELL))sell=1;
   else if(Bid-PriceOpenLastPos(NULL,OP_SELL)>10*Point)sell=1;   
//----
    if(buy==1)
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",0,0,Green);
    
    if(sell==1)
    OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",0,0,Red);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//|  Описание : Возвращает флаг существования позиций                          |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    ot - время открытия             ( 0   - любое время открытия)           |
//+----------------------------------------------------------------------------+
bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
  int i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (ot<=OrderOpenTime()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает цену открытия последней открытой позиций.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double PriceOpenLastPos(string sy="", int op=-1, int mn=-1) {
  datetime t;
  double   r=0;
  int      i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderOpenTime()) {
                t=OrderOpenTime();
                r=OrderOpenPrice();
              }
            }
          }
        }
      }
    }
  }
  return(r);

## zhserg — 2014-08-18 17:27

> Цитата (SIDOYY):
> Подскажиет что за ошибку выдает советник? как это исправить
> [изображение: https://forexsystemsru.com/attachment.php?attachmentid=175384&stc=1&d=1408360756]

Пытается закрыть несуществующий файл. 
Путь в советнике правильно прописан (если прописывается)?

## alex777138 — 2014-08-18 18:02

не работает индюк, т.е не устанавливаеться на график...  может кто исправит.буду признателен..

## zhserg — 2014-08-18 18:10

> Цитата (alex777138):
> не работает индюк, т.е не устанавливаеться на график...  может кто исправит.буду признателен..

:)

## incomeasset — 2014-08-18 18:12

> Цитата (alex777138):
> не работает индюк, т.е не устанавливаеться на график...  может кто исправит.буду признателен..

Privet vot teperi rabotaet udace!

---

Следующая страница: https://forexsystemru.com/threads/61956/page-574
