Ответить в теме
Страница 97 из 97
ПерваяПервая ... 87 96 97

Показано с 1,921 по 1,937 из 1937.

Тема: MQL4 для начинающих

  1. #1921
    Частый гость
    Gobsek21 стараюсь положительно себя зарекомендовать Аватар для Gobsek21
    Регистрация
    03.08.2016
    Пол
    Мужчина
    Сообщений
    93
    Накопленный бонус
    1734 RUB (Подробнее)
    Сказал спасибо
    9
    Благодарностей: 34
    в сообщениях 24
    37%
    Цитата Сообщение от MonyaMaker Посмотреть сообщение
    А ты "b =" убери, и оставь только b++;
    и будет тебе счастье, если мануал почитаешь в добавок.
    Спасибо!
    Надо отдохнуть!
    Последний раз редактировалось Gobsek21; 11.08.2017 в 14:48.

  2. <a href="https://www.forexdengi.com/">Форекс портал</a>
  3. #1922
    Свой человек
    112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация Аватар для 112233
    Регистрация
    16.07.2015
    Адрес
    Н-ск
    Пол
    Мужчина
    Сообщений
    928
    Накопленный бонус
    13735 RUB (Подробнее)
    Сказал спасибо
    318
    Благодарностей: 543
    в сообщениях 350
    59%
    Цитата Сообщение от 112233 Посмотреть сообщение

    А мне подскажите пожалуйста, а то я не уверен...

  4. #1923
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,011
    Накопленный бонус
    55370 RUB (Подробнее)
    Сказал(а) спасибо
    847
    Благодарностей: 6,584
    в сообщениях 2,992
    110%
    Цитата Сообщение от 112233 Посмотреть сообщение
    А мне подскажите пожалуйста, а то я не уверен...
    Для того, чтоб проверить хватит ли средств для открытия ордера вполне достаточно использовать функцию AccountFreeMarginCheck() и не городить тот огород, который у тебя получился.

  5. Пользователь сказал cпасибо:

    112233 (11.08.2017)

  6. #1924
    Свой человек
    112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация Аватар для 112233
    Регистрация
    16.07.2015
    Адрес
    Н-ск
    Пол
    Мужчина
    Сообщений
    928
    Накопленный бонус
    13735 RUB (Подробнее)
    Сказал спасибо
    318
    Благодарностей: 543
    в сообщениях 350
    59%
    Вот млин, тогда получается что:
    MQL-Код:
    if(AccountFreeMarginCheck() <= 0) {return;}
    верно..? ...

    или как в учебнике прописано:
    MQL-Код:
    if(AccountFreeMarginCheck(Symbol(),OP_BUY,Lots)<=0 || GetLastError()==134) return;
    для обоих серий указать, правильно?...
    Последний раз редактировалось 112233; 11.08.2017 в 15:23.

  7. #1925
    Свой человек
    112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация 112233 хорошая репутация Аватар для 112233
    Регистрация
    16.07.2015
    Адрес
    Н-ск
    Пол
    Мужчина
    Сообщений
    928
    Накопленный бонус
    13735 RUB (Подробнее)
    Сказал спасибо
    318
    Благодарностей: 543
    в сообщениях 350
    59%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Для того, чтоб проверить хватит ли средств для открытия ордера вполне достаточно использовать функцию AccountFreeMarginCheck() и не городить тот огород, который у тебя получился.
    Спасибо, вот и оптимизация тут же....

  8. #1926
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,011
    Накопленный бонус
    55370 RUB (Подробнее)
    Сказал(а) спасибо
    847
    Благодарностей: 6,584
    в сообщениях 2,992
    110%
    Цитата Сообщение от 112233 Посмотреть сообщение
    или как в учебнике прописано:
    Вполне достаточно так:
    MQL-Код:
    if(AccountFreeMarginCheck(Symbol(), OP_BUY, Lots) <= 0.0) return;
    Цитата Сообщение от 112233 Посмотреть сообщение
    для обоих серий указать, правильно?...
    Правильно.

  9. Пользователь сказал cпасибо:

    112233 (11.08.2017)

  10. #1927
    Свой человек
    Засыпаю
     
    ILLANER приемлемый уровень репутации ILLANER приемлемый уровень репутации Аватар для ILLANER
    Регистрация
    02.09.2016
    Пол
    Мужчина
    Сообщений
    872
    Накопленный бонус
    20361 RUB (Подробнее)
    Сказал спасибо
    38
    Благодарностей: 164
    в сообщениях 150
    19%
    Добрый вечер коллеги программисты. Я хоть и не начинающий , но решил написать в эту тему чтобы не открывать свою ради одного вопроса.
    Я хочу эксперту сделать параметр выбора тайм фрейма. Вопрос такой. Возможно ли сделать этому параметру выпадающее меню Как например при
    extern bool, но при этом с более чем 2 пункта. Или все таки придется задавать значение ТФ цифрами в extern int

  11. #1928
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,011
    Накопленный бонус
    55370 RUB (Подробнее)
    Сказал(а) спасибо
    847
    Благодарностей: 6,584
    в сообщениях 2,992
    110%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    Я хочу эксперту сделать параметр выбора тайм фрейма. Вопрос такой. Возможно ли сделать этому параметру выпадающее меню
    Не можно, а нужно. Пример:
    MQL-Код:
    input ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT;

  12. Пользователь сказал cпасибо:

    ILLANER (12.08.2017)

  13. #1929
    Свой человек
    Засыпаю
     
    ILLANER приемлемый уровень репутации ILLANER приемлемый уровень репутации Аватар для ILLANER
    Регистрация
    02.09.2016
    Пол
    Мужчина
    Сообщений
    872
    Накопленный бонус
    20361 RUB (Подробнее)
    Сказал спасибо
    38
    Благодарностей: 164
    в сообщениях 150
    19%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Не можно, а нужно. Пример:
    MQL-Код:
    input ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT;
    Аааагромное спасибо

  14. #1930
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,011
    Накопленный бонус
    55370 RUB (Подробнее)
    Сказал(а) спасибо
    847
    Благодарностей: 6,584
    в сообщениях 2,992
    110%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    Аааагромное спасибо
    Не за что... Однако в справке, на этот счет, все более детально описано. Не ленитесь штудировать справку.

  15. Пользователь сказал cпасибо:

    ILLANER (13.08.2017)

  16. #1931
    Свой человек
    Засыпаю
     
    ILLANER приемлемый уровень репутации ILLANER приемлемый уровень репутации Аватар для ILLANER
    Регистрация
    02.09.2016
    Пол
    Мужчина
    Сообщений
    872
    Накопленный бонус
    20361 RUB (Подробнее)
    Сказал спасибо
    38
    Благодарностей: 164
    в сообщениях 150
    19%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Не за что... Однако в справке, на этот счет, все более детально описано. Не ленитесь штудировать справку.
    Просто иногда даже не знаешь в каеом разделе искать. Я даже и не предполагал что нужно использовать инпут. Никогда еще с ним не имел дело

  17. #1932
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,011
    Накопленный бонус
    55370 RUB (Подробнее)
    Сказал(а) спасибо
    847
    Благодарностей: 6,584
    в сообщениях 2,992
    110%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    Я даже и не предполагал что нужно использовать инпут.
    Extern тоже никто не запрещал... Только у него теперь слегка другие свойства.

  18. #1933
    Свой человек
    Засыпаю
     
    ILLANER приемлемый уровень репутации ILLANER приемлемый уровень репутации Аватар для ILLANER
    Регистрация
    02.09.2016
    Пол
    Мужчина
    Сообщений
    872
    Накопленный бонус
    20361 RUB (Подробнее)
    Сказал спасибо
    38
    Благодарностей: 164
    в сообщениях 150
    19%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Extern тоже никто не запрещал... Только у него теперь слегка другие свойства.
    И снова большое спасибо с инпутом все получилось прекрасно. Но возникла трудность иного рода. У меня в эксперте прописан индикатор WPR. Но ни при помощи стандартных команд типа кустом ( с ними просто не получается ) , а путем расчета показаний этого индикатора по формуле взятой из кода самого индикатора .Вот Так....
    MQL-Код:
    double dMaxHigh=High[Highest(NULL,TimeFrame,MODE_HIGH,WPRPeriod,0)];
          double dMinLow=Low[Lowest(NULL,TimeFrame,MODE_LOW,WPRPeriod,0)];  
          double wpr0=-100*(dMaxHigh-Close[0])/(dMaxHigh-dMinLow);
          double wpr1=-100*(dMaxHigh-Close[1])/(dMaxHigh-dMinLow);
    Переменная TimeFrame, это как раз выбранный инпут параметр. Так вот если в этом месте поставить ноль то формула прекрасно работает по тайм фрейму графика. Но если поставить другу цифру, будь то из переменной или цифрой непосредственно, то тестер выдает критическую ошибку умножение на ноль. Помогите пожалуйста понять где ошибка..

  19. #1934
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,011
    Накопленный бонус
    55370 RUB (Подробнее)
    Сказал(а) спасибо
    847
    Благодарностей: 6,584
    в сообщениях 2,992
    110%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    Помогите пожалуйста понять где ошибка..
    1. Самая главная ваша ошибка заключается в том, что беря данные с другого ТФ вы подразумеваете, что они там априори есть всегда. Это не факт! Данные других ТФ в терминале могут и отсутствовать. Это касается и вашего кода выдернутого из индикатора и кода который использует iCustom(). Подгрузка же данных осуществляется терминалом по мере их запроса. Чтоб ваш код работал корректно нужно проверять получаемые данные, как из индикатора так и через функции доступа к таймсериям. Предпочтительнее использовать функции доступа к таймсериям, т.к. они умеют возвращать ошибки, которые вы можете использовать для проверки корректности получаемых данных.
    2. Код получения данных через таймсерии составлен неправильно. Массивы High[] и Low[] возвращают данные только для текущего ТФ. Для получения данных с других ТФ вам нужно использовать функции iHighest() и iLowest(). Выглядеть это может примерно так:
    MQL-Код:
    //Получаем данные
    double dMaxHigh = iHigh(Symbol(), TimeFrame, iHighest(NULL, TimeFrame, MODE_HIGH, WPRPeriod, 0));
    double dMinLow  = iLow (Symbol(), TimeFrame, iLowest (NULL, TimeFrame, MODE_LOW,  WPRPeriod, 0)); 
    
    //Проверяем данные на корректность
    if(dMaxHigh > 0.0 && dMinLow > 0.0)
    {
      //Данные корректны, можем считать дальше
      //При этом здесь нужно проверять чему равна разность dMaxHigh - dMinLow,
      //чтоб не попасть на "деление на ноль" и если она равна нулю не производить расчет.
      double Delta = dMaxHigh - dMinLow;
      if(Delta != 0.0)
      {
        double wpr0= -100 * (dMaxHigh - iClose(Symbol(), TimeFrame, 0)) / Delta;
        double wpr1= -100 * (dMaxHigh - iClose(Symbol(), TimeFrame, 1)) / Delta;
      }
      else
      {
        
      }
    }
    else
    {
      //Данные не корректны, нужно либо ждать подкачки данных,
      //либо выйти из OnTick() и повторить попытку на следующем тике.
    }

  20. Пользователь сказал cпасибо:

    ILLANER (17.08.2017)

  21. #1935
    Свой человек
    Засыпаю
     
    ILLANER приемлемый уровень репутации ILLANER приемлемый уровень репутации Аватар для ILLANER
    Регистрация
    02.09.2016
    Пол
    Мужчина
    Сообщений
    872
    Накопленный бонус
    20361 RUB (Подробнее)
    Сказал спасибо
    38
    Благодарностей: 164
    в сообщениях 150
    19%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Данные других ТФ в терминале могут и отсутствовать. Это касается и вашего кода выдернутого из индикатора и кода который использует iCustom()
    Получается что iCustom() у меня мог не сработать именно по этой причине и я зря от него отказался. Видимо так оно и есть. Ведь я никогда до этого не пользовался этим индикатором, а тут вдруг сразу бабах и запрос его данных. А возможно ли програмным путем заставить подгружать данные с другого ТФ например функция RefreshRates()

  22. #1936
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,011
    Накопленный бонус
    55370 RUB (Подробнее)
    Сказал(а) спасибо
    847
    Благодарностей: 6,584
    в сообщениях 2,992
    110%
    Цитата Сообщение от ILLANER Посмотреть сообщение
    А возможно ли програмным путем заставить подгружать данные с другого ТФ например функция RefreshRates()
    Нет. Терминал это делает сам, по собственному усмотрению и независимо от MQL. Тут надо только ждать.

  23. Пользователь сказал cпасибо:

    Viktor1987 (Вчера)

    ForexCopy
  24. #1937
    В начале пути
    В шоке
     
    Vell стараюсь положительно себя зарекомендовать Аватар для Vell
    Регистрация
    27.04.2012
    Пол
    Мужчина
    Сообщений
    18
    Накопленный бонус
    279 RUB (Подробнее)
    Сказал спасибо
    3
    Поблагодарили 1 раз в
    1 сообщении
    6%
    Доброго здоровья! Кто подскажет незнайке, как адаптировать индикатор. Код прилагаю. Пишет в экспертах что файл не обнаружен, ошибка 5004. Мозги уже закипели. Помогите, подскажите.
    Вложения


Ответить в теме
Страница 97 из 97
ПерваяПервая ... 87 96 97

Похожие темы

  1. Общие рекомендации для начинающих.
    от Gold в разделе FOREX для новичков от А до Я
    Replies: 5197
    Последнее сообщение: 13.08.2017, 13:11
  2. Основы скальпинга на М1 для начинающих.
    от totsam в разделе Скальпинг и пипсовка
    Replies: 241
    Последнее сообщение: 18.06.2014, 19:17
  3. Топ-60 ошибок начинающих предпринимателей
    от Volangott в разделе Свободное общение
    Replies: 0
    Последнее сообщение: 30.01.2014, 19:42
  4. Форекс для начинающих
    от Sova в разделе Доска объявлений
    Replies: 2
    Последнее сообщение: 07.09.2011, 20:19
  5. Первые Шаги Для Начинающих
    от akella в разделе Доска объявлений
    Replies: 4
    Последнее сообщение: 06.10.2010, 00:38

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения