Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1957

 
Andrei Sokolov #:

Искать причины хорошо помогает отладчик. 

Andrei Sokolov #:

Искать причины хорошо помогает отладчик. 

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

 
Kedrov #:

Добрый день!

Помогите, пожалуйста!

Индикатор показывает на графике текущий таймфрейм и символ пары.

Напримаер: D1EURUSD

Можно ли исключить демонстрацию символа пары?

Оставить только демонстрацию таймфрейма!

И второй вариант - таймфрейм наверху, символ пары ПОД таймфреймом.

Понимаю, что можете и послать с этими двумя вариантами. Но что делать - выдержу! 

Все равно - СПАСИБО!

Удачи всем!

1. в строке 

    watermark(SID, tf + Symbol(), sidFontSize, sidFontName, sidRGB, sidXPos, sidYPos);

убрать "+ Symbol()" , останется только таймфрейм

2. void start() устарел уже давно, поэтому стоит:

2.1 добавить пустую функцию OnCalculate

2.2 то что у вас в start() поместить в OnChartEvent

прототипы OnCalculate, OnChartEvent подсмотреть в справке

3. ОТЛАДЧИК тут непричём и не поможет НИКАК. Это уже сильно-сильно потом когда начнёте улучшать.

 
Andrei Sokolov #:

Есть темы типа "напишу бесплатно" и фриланс. И лучше не держать других за и идиотов, и в подобных ситуациях не писать " Помогите", когда не "помогите" а сделайте.  

Спасибо, Андрей!

Ожидал помощь, получил отповедь!

Что ж, реалии жизни! C'est la vie!

Успехов

 
Maxim Kuznetsov #:

1. в строке 

    watermark(SID, tf + Symbol(), sidFontSize, sidFontName, sidRGB, sidXPos, sidYPos);

убрать "+ Symbol()" , останется только таймфрейм

2. void start() устарел уже давно, поэтому стоит:

2.1 добавить пустую функцию OnCalculate

2.2 то что у вас в start() поместить в OnChartEvent

прототипы OnCalculate, OnChartEvent подсмотреть в справке

3. ОТЛАДЧИК тут непричём и не поможет НИКАК. Это уже сильно-сильно потом когда начнёте улучшать.

Спасибо, Максим!

Очень признателен!

Попробую разобраться, а заодно и подучиться!

п.3 - это, наверное, не ко мне.

Успехов!


Ну вот, Максим!

Спасибо ещё раз!

Сделал - хватило только одного действия - " убрать "+ Symbol()" , останется только таймфрейм ".

С благодарностью!

Успехов и удачи!

 
Maxim Kuznetsov #:

3. ОТЛАДЧИК тут непричём и не поможет НИКАК. Это уже сильно-сильно потом когда начнёте улучшать.

Тут отладчик, действительно, не поможет. Но я и писал не про этот вопрос.

 
не подскажите, что надо добавить в код в случаи если ордер не открылся, и еще сделать попытки открыть счет н-раз и в случаи если ордер не открылся получить сообщение об этом?
 
Andrei Sokolov #:

Искать причины хорошо помогает отладчик. 

Изучение Отладчика дело не близкое, да причина в другом, обращался на Инсту, обращения два раза убирали, на третий не стал обращаться. Грешат на советник, но он прекрасно работает у других брокеров. Очевидно достаточно качественно отлажен ? По FXopen однажды дали понять неготовность его сервера брокера исполнить строчку класса, были подобные ссылки про БКС, понять бы которая строчка кода стопов не исполняется Инстой ? Ну разумеется дойду и сам, жаль время и деньги, что не доберу) ОБращался за помощью.

 

Всем привет))) Ещё один глупый вопрос. Пример кода - это из учебника, по работе функции RefreshRates. Почему в этом коде с операцией "++" НЕ работает, а работает только с "+1" ???

 int  OnStart ()                                   // Специальная функция. start () 
  { 
   int  i ,Count ;                             // Объявление переменных 
   for  ( i = 1 ; i <= 5 ; i ++ )                       // Показать на 5 тиков 
     { 
      Count = 0 ;                               // Очистка счетчика 
      while ( RefreshRates () == false )            // Пока... 
        {  
    //      Count = Count ++;    // Почему не работает "++", а только "+1"
                                                //..придет новый тик 
           Count = Count +1;                   // Счетчик итераций 
        } 
      Alert ( " Tick " , i , " , loops " , Count ) ;     // После каждого тика 
     } 
   return(0) ;                                   // Выход из start() 
  } 
 
to_ha #:

Всем привет))) Ещё один глупый вопрос. Пример кода - это из учебника, по работе функции RefreshRates. Почему в этом коде с операцией "++" НЕ работает, а работает только с "+1" ???

Есть преинкремент и постинкремент.
В нашем примере - постинкремент.

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

 
to_ha #:

Всем привет))) Ещё один глупый вопрос. Пример кода - это из учебника, по работе функции RefreshRates. Почему в этом коде с операцией "++" НЕ работает, а работает только с "+1" ???

Нужно НЕ

Count = Count ++;

а просто

Count ++;
Причина обращения: