# Вопросы новичков к профессионалам Форекс

Раздел: Советники, эксперты, форекс роботы
Автор темы: LUKA.
Создана: 2009-07-13 22:20
Ответов: 2847 | Просмотров: 470979
Страница 137 из 143
Источник: https://forexsystemru.com/threads/12432/page-137

---

## Ugar — 2021-05-17 21:42

> Цитата (Vetal2905):
> Ок, почитаю ещё в сети, но в целом на это окно "тестирование" при вызове справки особо нет описания по функциям. Спасибо огромное

В справке всё расписано подробно. Кроме генетического алгоритма. Вместо его описания ссылка на статью с подробным описанием -https://www.mql5.com/ru/articles/1408

## Vetal2905 — 2021-05-18 10:00

> Цитата (Ugar):
> В справке всё расписано подробно. Кроме генетического алгоритма. Вместо его описания ссылка на статью с подробным описанием -https://www.mql5.com/ru/articles/1408

Спасибо, изучаю

## Vetal2905 — 2021-05-26 10:19

Подскажите пожалуйста, в МТ4 при подгонке сетов (оптимизации) на реальном ECN счете сегодня обнаружил такой столбец (на скрине), до этого на центовом счете в тестере такого столбца не было. Это что за столбец, о чем он говорит?

## Ugar — 2021-05-26 16:08

> Цитата (Vetal2905):
> Подскажите пожалуйста, в МТ4 при подгонке сетов (оптимизации) на реальном ECN счете сегодня обнаружил такой столбец (на скрине), до этого на центовом счете в тестере такого столбца не было. Это что за столбец, о чем он говорит?

ECN тут не при чём. В советнике используется функция OnTester. Она работает только при тестировании или оптимизации. Что она считает, вопрос к автору советника. Это зависит от его желаний и умений.

## Vetal2905 — 2021-05-26 16:17

> Цитата (Ugar):
> ECN тут не при чём. В советнике используется функция OnTester. Она работает только при тестировании или оптимизации. Что она считает, вопрос к автору советника. Это зависит от его желаний и умений.

Спасибо

## Xuligan — 2021-06-19 18:56

Вопрос знатокам MQL4
             Нарисовалась задачка расчитать сколько потребуется средств для Х лот, по 2 вариантам.  (GerchikCo Demo, 5 значная котировка)
        
               int LotX =  0.5;
             double  Ax  =  LotX * MarketInfo(Symbol(),MODE_MARGINREQUIRED);  //Размер свободных средств, необходимых для открытия 1 лота по цене Ask
              double Bx =  Ax / MarketInfo(Symbol(),MODE_TICKVALUE); //стоимость 1 пункта 1 лота
        
     если   xxxUSD - равнозначные значения :
              пример   EURUSD - Ax= 593,  Bx= 593     
                       
     если USDxxx и кросс пары значения не равны :
              пример USDRUB - Ax= 750,  Bx= 5454
                           NZDCAD - Ax= 346,  Bx= 431
                           EURAUD - Ax= 593,  Bx= 793 
                           
        В каком варианте истина?

## Ugar — 2021-06-19 19:48

> Цитата (Xuligan):
> Вопрос знатокам MQL4
>              Нарисовалась задачка расчитать сколько потребуется средств для Х лот, по 2 вариантам.  (GerchikCo Demo, 5 значная котировка)
>
>                int LotX =  0.5;
>              double  Ax  =  LotX * MarketInfo(Symbol(),MODE_MARGINREQUIRED);  //Размер свободных средств, необходимых для открытия 1 лота по цене Ask
>               double Bx =  Ax / MarketInfo(Symbol(),MODE_TICKVALUE); //стоимость 1 пункта 1 лота
>
>      если   xxxUSD - равнозначные значения :
>               пример   EURUSD - Ax= 593,  Bx= 593
>
>      если USDxxx и кросс пары значения не равны :
>               пример USDRUB - Ax= 750,  Bx= 5454
>                            NZDCAD - Ax= 346,  Bx= 431
>                            EURAUD - Ax= 593,  Bx= 793
>
>         В каком варианте истина?

В чём вопрос? Оба варианта правильно. Смотря что нужно получить. Стоимость пункта и размер залога это разные вещи. 
Хотя и то и другое может быть использовано для вычисления процентного лота. Зависит от ситуации.

## Xuligan — 2021-06-20 04:28

> Цитата (Ugar):
> В чём вопрос? Оба варианта правильно. Смотря что нужно получить. Стоимость пункта и размер залога это разные вещи.
> Хотя и то и другое может быть использовано для вычисления процентного лота. Зависит от ситуации.

А, все понял, не сообразил сразу что в первом варианте считается средства, во втором - кол-во пунктов. Спасибо.

## AlexeNP — 2021-06-20 09:26

> Цитата (Xuligan):
> Вопрос знатокам MQL4
>              Нарисовалась задачка расчитать сколько потребуется средств для Х лот, по 2 вариантам.  (GerchikCo Demo, 5 значная котировка)
>
>                int LotX =  0.5;
>              double  Ax  =  LotX * MarketInfo(Symbol(),MODE_MARGINREQUIRED);  //Размер свободных средств, необходимых для открытия 1 лота по цене Ask
>               double Bx =  Ax / MarketInfo(Symbol(),MODE_TICKVALUE); //стоимость 1 пункта 1 лота
>
>      если   xxxUSD - равнозначные значения :
>               пример   EURUSD - Ax= 593,  Bx= 593
>
>      если USDxxx и кросс пары значения не равны :
>               пример USDRUB - Ax= 750,  Bx= 5454
>                            NZDCAD - Ax= 346,  Bx= 431
>                            EURAUD - Ax= 593,  Bx= 793
>
>         В каком варианте истина?

double lot=0.1;//количество лотов
int cmd=0;//планируемая торговая операция
double free_margin=AccountInfoDouble(ACCOUNT_MARGIN_FREE);//свободные средства
double margin_curlot=free_margin-AccountFreeMarginCheck(NULL,cmd,lot);//сколько бабла нужно

## Xuligan — 2021-06-25 14:05

Возникла идея, как не допустить уровень просадки в % на автомате в советнике. Например в рынке несколько ордеров на разных парах и уровень просадки установлен на 20%. Как только просадка поднялась до 20%, автомат сработал, закрывается самый убыточный ордер. По идее просадка сразу должна бы уменьшиться, но это не так, просадка все еще стоит на 20%, поэтому следом удаляется следующий убыточный ордер и так будет продолжаться, пока уровень просадки не опуститься ниже 20%.  У кого есть какие идеи, предложения или другой алгоритм решения этой проблемы?
Расчет просадки: 
double profit= 0,profitB= 0; // объявляем локальные переменные
   for (int i=OrdersTotal()-1; i >= 0; i--) // перебираем все ордера
         if (OrderSelect(i,SELECT_BY_POS))//порядковый номер ордера в списке, 
      {
                 profit += OrderProfit()+OrderCommission()+OrderSwap(); // суммируем профит(убыток) + комиссия + своп
   }
             profitB = profit / (Balans/100); // высчитываем процент просадки

## megapont — 2021-06-25 14:43

> Цитата (Xuligan):
> Возникла идея, как не допустить уровень просадки в % на автомате в советнике. Например в рынке несколько ордеров на разных парах и уровень просадки установлен на 20%. Как только просадка поднялась до 20%, автомат сработал, закрывается самый убыточный ордер. По идее просадка сразу должна бы уменьшиться, но это не так, просадка все еще стоит на 20%, поэтому следом удаляется следующий убыточный ордер и так будет продолжаться, пока уровень просадки не опуститься ниже 20%.  У кого есть какие идеи, предложения или другой алгоритм решения этой проблемы?
> Расчет просадки:
> double profit= 0,profitB= 0; // объявляем локальные переменные
>    for (int i=OrdersTotal()-1; i >= 0; i--) // перебираем все ордера
>          if (OrderSelect(i,SELECT_BY_POS))//порядковый номер ордера в списке,
>       {
>                  profit += OrderProfit()+OrderCommission()+OrderSwap(); // суммируем профит(убыток) + комиссия + своп
>    }
>              profitB = profit / (Balans/100); // высчитываем процент просадки  

Если потолок 20%, вариант тут один,  Close All Order., иначе валово можно улететь и на -30 и на -40.

## Xuligan — 2021-06-25 17:00

Не обязательно, достаточно удалить пару убыточных.  20% это я загнул крутовато, а если для 5-10% ?

## megapont — 2021-06-25 17:10

> Цитата (Xuligan):
> Не обязательно, достаточно удалить пару убыточных.  20% это я загнул крутовато, а если для 5-10% ?

Не имея вводных сложно давать рекомендации, потому что не понятно на каком тф чел торгует и какого объема идут первоначальные позиции. Может ты на м5 первой сделкой грузишь 10% баланса, через -5% догружаешь еще 20% депо. Там хоть крой первую сделку, хоть потом открывай новую по текущей, объем самой позиции может просто не спасти.
Я могу говорить с учетом своего понимания а чел с учетом своего, и, все в итоге "запорет". Нужно еще понимать, позы по тренду или против и где вообще тренд смотрится, на каком тф.
То есть суть понятна да? Может эта просадка формируется за 10 минут. При таких скоростях, по идее, ничего не спасет.

## Xuligan — 2021-06-25 18:41

Мне комфортно работать на H1-H4-D1, ниже не опускаюсь - там "скачки с препятствиями". Обьем расчитывается по заданному риску от FreeMargin и еще задаю кол-во ордеров на этот риск. Например задал 10% от 10000$ на 10 ордеров, получаю 1000$ для торговли т.е. заведомо готов с ними расстаться. Только жму кнопку Buy или Sell, советник сам все расчитывает и ставит ордера. Обьемы распределяются также равномерно. Позы не имеют значения, хоть поперк, хоть вдоль тренда. Если "сел" на тренд, то какая разница куда "ехать".  Так что 20% от 1000$ не так страшно для депозита. Вот и спрашиваю, может кто с просадками имел дело.

## megapont — 2021-06-25 19:04

> Цитата (Xuligan):
> Вот и спрашиваю, может кто с просадками имел дело.

Первый мой ответ был правильным. Закрываешь все позиции и лезешь на забор.

## Vetal2905 — 2021-06-25 21:32

Подскажите, на робофорекс центовых счетах при открытии позиции лотом 0,1 какая маржа берется по валютным парам? Если можно и по золоту отпишитесь тоже. Спасибо

## AlexeNP — 2021-06-25 22:08

> Цитата (Xuligan):
> Возникла идея, как не допустить уровень просадки в % на автомате в советнике. Например в рынке несколько ордеров на разных парах и уровень просадки установлен на 20%. Как только просадка поднялась до 20%, автомат сработал, закрывается самый убыточный ордер. По идее просадка сразу должна бы уменьшиться, но это не так, просадка все еще стоит на 20%, поэтому следом удаляется следующий убыточный ордер и так будет продолжаться, пока уровень просадки не опуститься ниже 20%.  У кого есть какие идеи, предложения или другой алгоритм решения этой проблемы?
> Расчет просадки:
> double profit= 0,profitB= 0; // объявляем локальные переменные
>    for (int i=OrdersTotal()-1; i >= 0; i--) // перебираем все ордера
>          if (OrderSelect(i,SELECT_BY_POS))//порядковый номер ордера в списке,
>       {
>                  profit += OrderProfit()+OrderCommission()+OrderSwap(); // суммируем профит(убыток) + комиссия + своп
>    }
>              profitB = profit / (Balans/100); // высчитываем процент просадки  

   double percent_drawdown=20;
   double drawdown=100*(1-AccountInfoDouble(ACCOUNT_EQUITY)/AccountInfoDouble(ACCOUNT_BALANCE));
   if(drawdown>percent_drawdown)
     {
      int ticket,type;
      double max_drawdown=0;
      for(int i=OrdersTotal()-1; i>=0; i--)
         if(OrderSelect(i,SELECT_BY_POS)==true && OrderType()<=1)
           {
            double profit=OrderProfit()-OrderCommission()+OrderSwap();
            if(max_drawdown>profit)
              {
               max_drawdown=profit;
               ticket=OrderTicket();
               type=OrderType();
              }
           }
     }
//Закрыть ордер ticket

## malojorsk — 2021-09-16 18:53

Подскажите пожалуйста:
в советнике нужно вытащить цвет линий индикатора Triggerlines (прикрепил), на графике 2 линии, они перекрашиваются, но не на каждом пересечении между собой, 
через iCustom вытащил значение буферов, но там только ценовые значения линий, бывает линии  пересекаются, а цвет индикатора не меняеется, пример на скриншоте,
вопрос в том,как в советнике получить цвет индикатора: 
либо в советнике прописать логику работы индикатора, которую я не понимаю (вообще индикаторы не понимаю с их буферами),
либо еще както получить цвет, 
подскажите пожалуйста как можно решить данную задачу...

## Xuligan — 2021-09-17 16:54

> Цитата (malojorsk):
> как в советнике получить цвет индикатора:

Зачем так усложнять задачу, цвета индикатора прописаны в самом индикаторе. 
#property indicator_color1 Red      
#property indicator_color2 Red
#property indicator_color3 Blue
#property indicator_color4 Blue

Или вы имеете в ввиду что-то другое?

## malojorsk — 2021-09-18 02:58

> Цитата (Xuligan):
> Зачем так усложнять задачу, цвета индикатора прописаны в самом индикаторе.
> #property indicator_color1 Red
> #property indicator_color2 Red
> #property indicator_color3 Blue
> #property indicator_color4 Blue
>
> Или вы имеете в ввиду что-то другое?

а как в советнике получить текущий цвет индикатора? (на свечах 1 и 2), через iCustom их не вытащиш...

---

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