# Ваши вопросы по языку MQL4

Раздел: Язык программирования MQL4
Автор темы: chocolate
Создана: 2011-11-07 10:37
Ответов: 9576 | Просмотров: 1107104
Страница 472 из 479
Источник: https://forexsystemru.com/threads/65289/page-472

---

## AlexeyVik — 2024-08-30 08:49

> Цитата (vis26):
> Подскажите пожалуйста как сделать так, чтоб прибыль ордера закрывалась в зависимости от объёма ордера. Сейчас ордера закрываются при достижении прибыли
> OrderProfit()+OrderSwap()+OrderCommission()>=FixedProfit1 а, хотелось бы чтоб допустим FixedProfit1=5  тогда
>  0,01*FixedProfit1=5
> 0,02*FixedProfit1=10
> 0,03*FixedProfit1=15
> 0,04*FixedProfit1=20

(OrderProfit()+OrderSwap()+OrderCommission())/(lot*100) >= FixedProfit1

## vaas04 — 2024-08-30 11:02

Всем привет. Кто знает как можно макс. и мин. окна индикатора подвального осцилятора(любого) вытащить в буферы.

## srtsrt — 2024-08-30 12:19

> Цитата (star603):
> Скажи пожалуйста в чем разница?

разницы нет
это поверье в инете блуждает, что ++ перед переменной обрабатывается скомпилированной программой быстрее
:)
есть ещё кучка поверий на эту тему

## star603 — 2024-08-30 12:40

> Цитата (srtsrt):
> разницы нет
> это поверье в инете блуждает, что ++ перед переменной обрабатывается скомпилированной программой быстрее
> :)
> есть ещё кучка поверий на эту тему

странно просто k++ показывала 19 а с k++ 20

## AlexeyVik — 2024-08-30 13:09

> Цитата (srtsrt):
> разницы нет
> это поверье в инете блуждает, что ++ перед переменной обрабатывается скомпилированной программой быстрее
> :)
> есть ещё кучка поверий на эту тему

Читай документацию

> Цитата:
> Операция инкремента и декремента применяются только к переменным, к константам не применяются. Префиксныe инкремент (++i) и декремент (--k) применяются к переменной **непосредственно перед использованием** этой переменной в выражении.
>
> Постфиксные инкремент (i++) и декремент (k--) применяются к переменной сразу **после использования** этой переменной в выражении.

mql5.com/ru/docs/basis/operations/mathoperation

## Cash2020 — 2024-08-30 14:02

> Цитата (star603):
> Почему показывает на 1 меньше на графике USD/JPY? У меня показывает 19 вместо 20. Заранее спасибо.

Этот пробуй

## ИванМН — 2024-08-30 14:10

> Цитата (vaas04):
> Всем привет. Кто знает как можно макс. и мин. окна индикатора подвального осцилятора(любого) вытащить в буферы.

Боюсь, что только через [танцы с бубном]('https://forexsystemru.com/threads/vashi-voprosy-po-jazyku-mql4.65289/page-459#post-1851769'). Думаю, что за год ничего не изменилось. Если неправ, Алексей поправит.

## srtsrt — 2024-08-30 14:22

> Цитата (AlexeyVik):
> Читай документацию

хочешь сказать, что for(int i = 0; i < 2; ++i){}
будет начинать отсчёт с единицы?

## Cash2020 — 2024-08-30 14:47

> Цитата (srtsrt):
> хочешь сказать, что for(int i = 0; i < 2; ++i){}
> будет начинать отсчёт с единицы?

Очень извиняюсь, я конечно не Алексей, но хм... вам отвечу.
Во-первых, не нужно на людях показывать пределы своей безграмотности. Если хотите что-то сказать, говорите убедительно и аргументированно. Здесь собрались не дети в детсаде.
Во-вторых, вы привели не корректный пример, о котором Алексей в своем посту не говорил. Почему? Оставляю это вам на домашнее задание.
И в третьих. Вместо гого чтобы болтать всякую чушь, лучше бы привели примеры с распринтовкой, тогда это было бы правильно.
Вот смотрите, я специально для таких как вы сделал скрипт с проверкой.

## AlexeyVik — 2024-08-30 14:56

> Цитата (srtsrt):
> хочешь сказать, что for(int i = 0; i < 2; ++i){}
> будет начинать отсчёт с единицы?

Ты лучше проверь вот эти два варианта

```
  for(int i = 5; --i;)
  Print(i);

```

```
  for(int i = 5; i--;)
  Print(i);

```

О внимательно посмотри в каком варианте ты увидишь 0…

## AlexeyVik — 2024-08-30 15:07

> Цитата (vaas04):
> Всем привет. Кто знает как можно макс. и мин. окна индикатора подвального осцилятора(любого) вытащить в буферы.

Не совсем без проблем, но всё-же не очень сложно
Примеры работы с графиком                    

- CHART_HEIGHT_IN_PIXELS – свойство высоты графика в пикселях.

```
//+------------------------------------------------------------------+
//| Функция получает значение высоты графика в пикселях.             |
//+------------------------------------------------------------------+
int ChartHeightInPixelsGet(const long chart_ID=0,const int sub_window=0)
  {
//--- подготовим переменную для получения значения свойства
   long result=-1;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим значение свойства
   if(!ChartGetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- вернем значение свойства графика
   return((int)result);
  }
//+------------------------------------------------------------------+
//| Функция устанавливает значение высоты графика в пикселях.        |
//+------------------------------------------------------------------+
bool ChartHeightInPixelsSet(const int value,const long chart_ID=0,const int sub_window=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим значение свойства
   if(!ChartSetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,value))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
}
```

взято отсюда mql5.com/ru/docs/constants/chartconstants/charts_samples

## ИванМН — 2024-08-30 23:37

> Цитата (ИванМН):
> Боюсь, что только через [танцы с бубном]('https://forexsystemru.com/threads/vashi-voprosy-po-jazyku-mql4.65289/page-459#post-1851769'). Думаю, что за год ничего не изменилось. Если неправ, Алексей поправит.

Чтой-то мы тут все (включая меня) мудрим. Всё просто (см. скриншоты). На втором - добавленный мной в стандартный терминальный MACD блок отображения  экстремумов. А вот неэкстремумы вытащить, действительно, только через танцы.

## vaas04 — 2024-08-31 10:07

> Цитата (ИванМН):
> Чтой-то мы тут все (включая меня) мудрим.

Большое спасибо.

## star603 — 2024-08-31 17:28

bool              Gap(int bar_2, int bar_1)
     {
      vibor = false;
      if(Candle_type(bar_2)==true && Candle_type(bar_1)==true)
         if(Open>Close || Close<Open)
            vibor = true;
      if(Candle_type(bar_2)==false && Candle_type(bar_1)==false)
         if(Close>Open || Open<Close)
            vibor = true;
      if(Candle_type(bar_2)==true && Candle_type(bar_1)==false)
         if(Close<Close || Open>Open)
            vibor = true;
      if(Candle_type(bar_2)==false && Candle_type(bar_1)==true)
         if(Close>Close || Open<Open)
            vibor = true;
      return(vibor);
     }
   int              Gap_punkt(int bar_2, int bar_1)
     {
      many=0;
      if(Candle_type(bar_2)==true && Candle_type(bar_1)==true)
         if(Open>Close)
            many = (int)NormalizeDouble((Open-Close)/Point,Digits);
         else
            if(Close<Open)
               many = (int)NormalizeDouble((Open-Close)/Point,Digits);
      if(Candle_type(bar_2)==false && Candle_type(bar_1)==false)
         if(Close>Open)
            many = (int)NormalizeDouble((Close-Open)/Point,Digits);
         else
            if(Open<Close)
               many = (int)NormalizeDouble((Open-Close)/Point,Digits);
      if(Candle_type(bar_2)==true && Candle_type(bar_1)==false)
         if(Close<Close)
            many = (int)NormalizeDouble((Close-Close)/Point,Digits);
         else
            if(Open>Open)
               many = (int)NormalizeDouble((Open-Open)/Point,Digits);
      if(Candle_type(bar_2)==false && Candle_type(bar_1)==true)
         if(Close>Close)
            many = (int)NormalizeDouble((Close-Close)/Point,Digits);
         else
            if(Open<Open)
               many = (int)NormalizeDouble((Open-Open)/Point,Digits);
      return(many);
     }

Как то с компоновать можно это. Код не нужен попробую воплотить только подскажите.

## ИванМН — 2024-08-31 22:05

Стар, у Вас расплывчатые вопросы, даже не вопросы, а какие-то пожелания из серии "не знаете ли вы, чего мне хочется?". Зачем что-то куда-то компоновать, если есть рабочий код, Вы его создали и понимаете, что к чему? Пусть он и работает себе. Стиль оформления кода - дело строго индивидуальное: одни прогеры расписывают "на молекулы", другие, как я, - пишут очень компактно, заряжая десять условий в одной строке через ... ? ... : ... Зачем мы будем Вам что-то навязывать? Вы должны сами выработать свой стиль, как наверняка у Вас есть свой любимый цвет, любимая музыка и т.д.

## star603 — 2024-08-31 23:09

> Цитата (ИванМН):
> Стар, у Вас расплывчатые вопросы, даже не вопросы, а какие-то пожелания из серии "не знаете ли вы, чего мне хочется?". Зачем что-то куда-то компоновать, если есть рабочий код, Вы его создали и понимаете, что к чему? Пусть он и работает себе. Стиль оформления кода - дело строго индивидуальное: одни прогеры расписывают "на молекулы", другие, как я, - пишут очень компактно, заряжая десять условий в одной строке через ... ? ... : ... Зачем мы будем Вам что-то навязывать? Вы должны сами выработать свой стиль, как наверняка у Вас есть свой любимый цвет, любимая музыка и т.д.

Я не против навязывания или предложений по компактности кода. Я открыт к любым предложениям и советам. Путем проб и сравнений у каждого программиста и будет рождаться свой стиль. Тут как и с музыкой если человек послушает чужую музыку вдруг ему понравиться, если же нет то просто не будет слушать ее.

## star603 — 2024-09-05 13:30

Правильно понимаю если  в сове есть включеные файлы (которые я создал) их надо брать с собой на сервер чтобы работало?

## ИванМН — 2024-09-05 14:17

Какие именно? Если речь о библиотеках (dll), то да, надо.

## star603 — 2024-09-05 17:48

> Цитата (ИванМН):
> Какие именно? Если речь о библиотеках (dll), то да, надо.

 mqh

## AlexeyVik — 2024-09-05 18:48

> Цитата (Tankk):
> :sleep: ну ясен перец.. если индюк привязан к библиотеке = библиотека должна лежать в соседней папке Include...

Эта библиотека нужна исключительно для компиляции. Если же для использования, то ничего не нужно. Вот и весь перец…

---

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