[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 432

 

Здравствуйте.

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

Файлы:
 
Подскажите как получить значения максимум и минимум последнего бара?
 
strongest:
Подскажите как получить значения максимум и минимум последнего бара?


Higth[0]

Low[0]

это самый последний бар который еще рисуется. Если нужен завершенный то вместо 0 будет 1

 

Подскажите, пожалуйста,

1. Как вызвать климовскую функцию GetTypeLastOpenPos()? и

2. Как получить её результат?

Что-то не выходит, компил даёт ошибку баланса скобок, хотя со скобками всё в порядке. Спасибо!

 
yosuf:
К сожалению, так никто и не ответил про ошибку при попытке установить 438-й билд https://www.mql5.com/ru/forum/138609/page425

Отвечу Вам, Юсуф. У меня с этими обновлениями - всегда шаманство. У меня терминалы стоят в корне диска Д в папках с моими названиями. Раньше при обновлениях иногда помогало временное перемещение в С:\ПрограммФайлз а потом, после успешного обновления, обратно. Сейчас вот как и у Вас, стоял 432 билд, пришло уведомление о необходимости установки 438-го. Согласился, почти все загрузилось, терминал перезагрузился и ничего, не обновился. Снова уведомление, снова ОК, и так через четыре раза 438-й билд встал.

ИМХО, здесь трабл связан с юзанием обновляемой софтиной системного реестра винды, да и версии оной (винды) имеют разные структуры реестра. Если у Вас семерка - попробуйте скопировать папку с терминалом в Программ...(х86), если ХР - просто в программ. Обновится, я Вас уверяю, потом обратно перенесите на место. Отпишитесь, пжлста, как получилось!

 
borilunad:

Подскажите, пожалуйста,

1. Как вызвать климовскую функцию GetTypeLastOpenPos()? и

2. Как получить её результат?

Что-то не выходит, компил даёт ошибку баланса скобок, хотя со скобками всё в порядке. Спасибо!

int GetTypeLastOpenPos(string sy="", int mn=-1) 
{
  datetime t;
  int      i, k=OrdersTotal(), r=-1;

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

Подскажите, пожалуйста,

1. Как вызвать климовскую функцию GetTypeLastOpenPos()? и

2. Как получить её результат?

Что-то не выходит, компил даёт ошибку баланса скобок, хотя со скобками всё в порядке. Спасибо!

Описание.

Пример, вызов и получение результата помещаете в ф-ию старт эксперта, тело функции помещаете вне старта экспа:

int X = GetTypeLastOpenPos("",-1);

Не понятно - читайте порядок работы с функциями.

 
Roman.:

Описание.

Пример, вызов и получение результата помещаете в ф-ию старт эксперта, тело функции помещаете вне старта экспа:

Не понятно - читайте порядок работы с функциями.



Спасибо, Роман! Попробую снова от печки... :)

 
Roman.:

Описание.

Пример, вызов и получение результата помещаете в ф-ию старт эксперта, тело функции помещаете вне старта экспа:

Не понятно - читайте порядок работы с функциями.


Здравствуйте, Роман! Че-то я затупил (2-3-5). Подскажите, с какого бара в прошлое искать не пустое значение индикаторного буфера (конкретно - фрактала)? j=Bars-CountedBars-1, и далее в цикле увеличения не работает.

По-другому, есть индикатор, рисует фракталы по своему алгоритму, iFractals не использует. Допустим, фракталы рисуются аналогично стандартному. Дайте, пожалуйста, цикл нахождения предыдущего...!

 
snail09_1:... Допустим, фракталы рисуются аналогично стандартному. Дайте, пожалуйста, цикл нахождения предыдущего...!

Попробуйте плясать отсюда: "Подскажите, как найти цену последнего фрактала?


sergeev: Для этого можно воспользоваться индикатором iFractals. Он возвращает значение 0, если на баре нет фрактала и значение цены фрактала если он есть. Фракталы делятся на верхние и нижние. Если вам надо получить верхние, то в функцию iFractals передается MODE_UPPER, а для нижних - MODE_LOWER. Поэтому для поиска фрактала надо пройти в цикле по барам и первое не 0 значение и будет искомым фракталом.

пример:"
Причина обращения: