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

Раздел: Язык программирования MQL4
Автор темы: chocolate
Создана: 2014-10-02 12:48
Ответов: 33795 | Просмотров: 6650149
Страница 815 из 1690
Источник: https://forexsystemru.com/threads/77111/page-815

---

## crokus — 2018-12-22 20:25

спасибо пошшёл. если не затруднит. можно настройки?

## Monachus — 2018-12-22 20:35

> Цитата (LIS0013):
> да,так! спасибо! с наступающим! :)   (если в личку скинешь кошелёк,отблагодарю как обещал)

Простого спасибо достаточно. Профита! Будут интересные результаты - делитесь! :)

## LIS0013 — 2018-12-22 20:41

> Цитата (crokus):
> спасибо пошшёл. если не затруднит. можно настройки?

 орентируюсь на эти, из этого поста https://forexsystemsru.com/showpost.php?p=1371090&postcount=10814

## gek — 2018-12-22 21:05

> Цитата (LIS0013):
> да,так! спасибо! с наступающим! :)   (если в личку скинешь кошелёк,отблагодарю как обещал)

Скажите,почему-то не отображается на графике?
Может ещё к нему какой-то индикатор нужен?

## Monachus — 2018-12-22 21:12

> Цитата (gek):
> Скажите,почему-то не отображается на графике?
> Может ещё к нему какой-то индикатор нужен?

Как вариант [https://forexsystemsru.com/showpost.php?p=1370514&postcount=16317](https://forexsystemsru.com/showpost.php?p=1370514&postcount=16317)

## gek — 2018-12-23 00:03

> Цитата (Monachus):
> Как вариант [https://forexsystemsru.com/showpost.php?p=1370514&postcount=16317](https://forexsystemsru.com/showpost.php?p=1370514&postcount=16317)

Именно их я и поставил и всё включил( длл)

## Yaroslavik — 2018-12-23 21:47

После очередного обновления терминала перестали показывать стрелки плиз почините !

## Ротан Мардарий — 2018-12-23 21:51

> Цитата (Yaroslavik):
> После очередного обновления терминала перестали показывать стрелки плиз почините !

В этом коде стрелок нет )

## Yaroslavik — 2018-12-23 21:58

Но были при пересечении 50 % уровня !

## Ротан Мардарий — 2018-12-23 22:07

> Цитата (Yaroslavik):
> Но были при пересечении 50 % уровня !

Возможно, при обновлении файл просто перезаписали поверх старого. В старом, возможно, стрелки были, в этом - нету )

## Yaroslavik — 2018-12-23 22:09

ак точно вот суки ! спасибо что подсказал !

## MrGreen86 — 2018-12-24 03:08

> Цитата (Yaroslavik):
> Но были при пересечении 50 % уровня !

Можно и добавить. где стрелки то нужны?

## Yaroslavik — 2018-12-24 05:50

Mr.Green  Будьте добры помогите лучше с этим индюшком палочки пропали !

## himik111 — 2018-12-24 10:42

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

## MrGreen86 — 2018-12-24 12:10

> Цитата (Yaroslavik):
> Mr.Green  Будьте добры помогите лучше с этим индюшком палочки пропали !

конкретней пожалуйста, какие палочки там пропали? 
какие то палочки он сейчас рисует. 

P.S. пожалуйста не пишите сразу в двух темах. Это никак не повлияет на то помогу я или нет, на это влияет только моя текущая занятость.

## Yaroslavik — 2018-12-24 12:35

Э не там такие вертикальные были на покупку и продажу ! зелёные и карсные !! Как то так приблизительно должно быть !

## homotoro — 2018-12-24 16:25

Доброго времени суток, сможет кто убрать перерисовку?если появились стрелки, чтоб не скакали

## Anna89 — 2018-12-24 17:12

Помогите срочно исправить одну ошибку. Никак не могу устранить. В советнике после закрытия сделки открываются дальше сделки. А мне нужно чтобы после закрытия сделки не открывались, а ждали следующего сигнала.
Прикладываю код (условие открытия - когда индикатор находится ниже линии и наоборот):

 //--- sell conditions
         if(OtkrS<Seredina && OtkrB<Seredina && Bid<Seredina)
           {
            if(TakeProfit>0) tp=NormalizeDouble(Bid-TakeProfit*Point,Digits);
            r=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,tp,"",Magic,0,Red);
            return;
           }
         //--- buy conditions
         if(OtkrS>Seredina && OtkrB>Seredina && Ask>Seredina)
           {
            if(TakeProfit>0) tp=NormalizeDouble(Ask+TakeProfit*Point,Digits);
            r=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,tp,"",Magic,0,Blue);
            return;
           }

Закрытие когда цена пересекает линию индикатора:

for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUY)
              {
               if(Ask>PervZakrB)
                 {
                  bool c=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White);
                 }
               break;
              }
            if(OrderType()==OP_SELL)
              {
               if(Bid<PervZakrS)
                 {
                  bool c=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White);
                 }
               break;
              }
           }
        }

     }

## mobidik — 2018-12-24 23:44

> Цитата (Anna89):
> Помогите срочно исправить одну ошибку. Никак не могу устранить. В советнике после закрытия сделки открываются дальше сделки. А мне нужно чтобы после закрытия сделки не открывались, а ждали следующего сигнала.
> Прикладываю код (условие открытия - когда индикатор находится ниже линии и наоборот):
>
>  //--- sell conditions
>          if(OtkrS<Seredina && OtkrB<Seredina && Bid<Seredina)
>            {
>             if(TakeProfit>0) tp=NormalizeDouble(Bid-TakeProfit*Point,Digits);
>             r=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,tp,"",Magic,0,Red);
>             return;
>            }
>          //--- buy conditions
>          if(OtkrS>Seredina && OtkrB>Seredina && Ask>Seredina)
>            {
>             if(TakeProfit>0) tp=NormalizeDouble(Ask+TakeProfit*Point,Digits);
>             r=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,tp,"",Magic,0,Blue);
>             return;
>            }
>
> Закрытие когда цена пересекает линию индикатора:
>
> for(int i=OrdersTotal()-1;i>=0;i--)
>      {
>       if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
>         {
>          if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
>            {
>             if(OrderType()==OP_BUY)
>               {
>                if(Ask>PervZakrB)
>                  {
>                   bool c=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White);
>                  }
>                break;
>               }
>             if(OrderType()==OP_SELL)
>               {
>                if(Bid<PervZakrS)
>                  {
>                   bool c=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White);
>                  }
>                break;
>               }
>            }
>         }
>
>      }

Все верно у Вас работает - в условии задано положение индикатора, а то, что Вы просите - нужно в условии задавать сам факт изменения положения индикатора, т.е. как было и как стало, а не как есть.

## FrosT 086 — 2018-12-24 23:59

Обожаю математиков, сам был, потом кинул и всё.

---

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