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

hoz

Активный участник
Я не знаю как вставить ВВ-код. Лень тут ни причем, и Уважение тоже!


А мозг зачем и руки зачем??? Тут элементов то раз два и обчёлся, взял и перебрал! Ведь видно же невооружённым глазом, как другие оформляют свои посты.
НЕ СОЧТИ ЗА ГРУБОСТЬ, А ПРОСТО ПОЙМИ.

А если по делу, то не заморачивайся. У меня в цикл сделан расчёт общего профита так:

PHP:
Profit += (OrderProfit() + OrderSwap() + OrderCommission());


Если bd_Profit положительное, значит общая профитность положительная, а если нет.. то в минусе... Так понятно? Всё делаем в цикле всех ордеров...
 
Последнее редактирование:

qqmber

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

Milord

Местный знаток
Господа проггеры вам вопросик???

давно не был на сайте и на форексе...зашел и увидел что МТ4 обновился с build 432 аж до 509, ну обновился, зашел в редактор MQL4 и прямо в шоке был от справок по функциям и операторам, куда делись нормальные справки, раньше навел на ключевое слово курсор мыши и сразу видишь справку...а щас фиг пойми что..
у всех так же как у меня или это у меня глючит МТ4???
смотрите ниже картинку с экрана...странно, что буквы большие и ничего нету, а там было описание синтаксиса точное и подробное...на память не все помнишь как надо писать...
 

Вложения

  • Screenshot - 02.10.jpg
    Screenshot - 02.10.jpg
    99,5 КБ · Просмотры: 20
Последнее редактирование:

hoz

Активный участник
давно не был на сайте и на форексе...зашел и увидел что МТ4 обновился с build 432 аж до 509, ну обновился, зашел в редактор MQL4 и прямо в шоке был от справок по функциям и операторам, куда делись нормальные справки, раньше навел на ключевое слово курсор мыши и сразу видишь справку...а щас фиг пойми что..
у всех так же как у меня или это у меня глючит МТ4???
смотрите ниже картинку с экрана...странно, что буквы большие и ничего нету, а там было описание синтаксиса точное и подробное...на память не все помнишь как надо писать...


Тока у тебя. Платформа тут точно не причём.
 

qqmber

Почетный гражданин
давно не был на сайте и на форексе...зашел и увидел что МТ4 обновился с build 432 аж до 509, ну обновился, зашел в редактор MQL4 и прямо в шоке был от справок по функциям и операторам, куда делись нормальные справки, раньше навел на ключевое слово курсор мыши и сразу видишь справку...а щас фиг пойми что..
у всех так же как у меня или это у меня глючит МТ4???
смотрите ниже картинку с экрана...странно, что буквы большие и ничего нету, а там было описание синтаксиса точное и подробное...на память не все помнишь как надо писать...

Похоже, шрифт гигантский выставился.
Кликни в это окошко, прижми ctrl и попробуй колесом мышки покрутить.

И еще
http://forexsystemsru.com/metatrade...mer-shrifta-v-spravke-metaeditor.html#post307
 
Последнее редактирование:

Milord

Местный знаток
Спасибо - выручили!Урааа))

Похоже, шрифт гигантский выставился.
Кликни в это окошко, прижми ctrl и попробуй колесом мышки покрутить.

И еще
http://forexsystemsru.com/metatrade...mer-shrifta-v-spravke-metaeditor.html#post307
все получилось, скролом сразу сделал норму)
а то уже спать не мог переживал, куда делась справка...)
 

Milord

Местный знаток
может кто нить еще сказать по форуму настройки, нажал случайно на PDA, и форум потерял всю красоту, хотя и быстрее листать страницы стало, но нету панелей вставлять картинки или файлы...не могу вернуть назад как было, подскажите плиз???
 

qqmber

Почетный гражданин
может кто нить еще сказать по форуму настройки, нажал случайно на PDA, и форум потерял всю красоту, хотя и быстрее листать страницы стало, но нету панелей вставлять картинки или файлы...не могу вернуть назад как было, подскажите плиз???
Выйти из форума, куки будут стерты, следующий вход будет в стандартный интерфейс.
Или вопрос был как сделать это скриптом mql?
 

swifften

Новичок форума
Изменение свойст Индикатора

Добрые люди, подскажите как в индикаторе переместить выводимый текст на экран, в другой угол?! какие параметры нужно изменить?!

Конкретно вопрос по данному индикатору, как сменить расположение текста на справа вверху?!
Посмотреть вложение i-UrovenZero-v.2.2.7.mq4

(Звиняюсь за ошибку в написании темы)
 
Последнее редактирование:

eevviill

Заблокирован
Добрые люди, подскажите как в индикаторе переместить выводимый текст на экран, в другой угол?! какие параметры нужно изменить?!

Конкретно вопрос по данному индикатору, как сменить расположение текста на справа вверху?!
Посмотреть вложение 134513

(Звиняюсь за ошибку в написании темы)
ObjectSet("GAME OVER 3", OBJPROP_CORNER, Ugol_1);
и т.д.
 

hoz

Активный участник
Есть функция. Код длинноват. Но вопрос по канкретным моментам её.

Вот код данной функции из прикреплённой ниже библиотеки:
PHP:
// 1.2 Функция возвращает список доступных символов. ======================================================================================
int fSymbolsList (string& Symbols[],    // возваращаемый массив с доступными инструментами
                  bool Selected)        // True - из `Обзор рынка`
{
    string ls_SymbolsFileName, ls_txt;
    int Offset, SymbolsCount;
    static bool first_run = true;
//----
    if (Selected)
    {
        ls_SymbolsFileName = "symbols.sel";
    }
    else
    {
        ls_SymbolsFileName = "symbols.raw";
    }
    
    //---- Открываем файл с описанием символов
    int hFile = FileOpenHistory (ls_SymbolsFileName, FILE_BIN|FILE_READ);
    
    if (hFile < 0)
    {
        Print ("Ошибка открытия файла ", ls_SymbolsFileName, ": ", GetLastError());
        return (-1);
    }
    
    //---- Определяем количество символов, зарегистрированных в файле
    if (Selected)
    {
        SymbolsCount = (FileSize (hFile) - 4) / 128;
        Offset = 116;
    }
    else
    {
        SymbolsCount = FileSize (hFile) / 1936;
        Offset = 1924;
     }
    ArrayResize (Symbols, SymbolsCount);
    
    //---- Считываем символы из файла
    if (Selected)
    {
        if (!FileSeek (hFile, 4, SEEK_SET))
        {
            Print ("Курсор не сместился в начало файла ", ls_SymbolsFileName, " из-за ошибки: ", GetLastError());
        }
    }
    
    for (int i = 0; i < SymbolsCount; i++)
    {
        Symbols[i] = FileReadString (hFile, 12);
        
        if (!FileSeek (hFile, Offset, SEEK_CUR))
        {
            Print ("Курсор не сместился к заданной строке файла ", ls_SymbolsFileName, " из-за ошибки: ", GetLastError());
        }
    }
    FileClose (hFile);
    
    if (first_run)
    {
        if (Selected)
        {
            ls_txt = "в окне `Обзор рынка` ";
        }
        else
        {
            ls_txt = "всех, котируемых ДЦ ";
        }
        Print ("Количество финансовых истументов ", ls_txt, AccountCompany(), " равно ", SymbolsCount);
        first_run = false;
    }
    //---- Возвращаем количество считанных инструментов
    return (SymbolsCount);
}
Интересует вот этот кусок кода, который я что-то не не понял до сих пор, как ни крутил:

PHP:
    //---- Определяем количество символов, зарегистрированных в файле
    if (Selected)
    {
        SymbolsCount = (FileSize (hFile) - 4) / 128;
        Offset = 116;
    }
    else
    {
        SymbolsCount = FileSize (hFile) / 1936;
        Offset = 1924;
     }
    ArrayResize (Symbols, SymbolsCount);


По сути тут какие-то цифры: 128, 116, 1936, 1924... в первом случает -4 откуда-то взялось:facepalm:
Кто-нить может подсказать данный момент? Ибо сам я не представляю даже с какой стороны к этому подойти.. А нужно.
 

jib07

Местный житель
Есть функция. Код длинноват. Но вопрос по канкретным моментам её.

Вот код данной функции из прикреплённой ниже библиотеки:
PHP:
    if (Selected)
    {
        ls_SymbolsFileName = "symbols.sel";
    }
    else
    {
        ls_SymbolsFileName = "symbols.raw";
    }
    if (Selected)
    {
        SymbolsCount = (FileSize (hFile) - 4) / 128;
        Offset = 116;
    }
    else
    {
        SymbolsCount = FileSize (hFile) / 1936;
        Offset = 1924;
     }
Кто-нить может подсказать данный момент? Ибо сам я не представляю даже с какой стороны к этому подойти.. А нужно.

Написано же что открывает 2 разных файла в зависимости от true или false, видимо символы там находятся в такой зависимости, а она разная, почитай про них на форумах, там и найдешь ответ почему именно так, блокнот херню открывает)))
 

hoz

Активный участник
Написано же что открывает 2 разных файла в зависимости от true или false, видимо символы там находятся в такой зависимости, а она разная, почитай про них на форумах, там и найдешь ответ почему именно так, блокнот херню открывает)))


То что блокнот открывает не читабельную инфу, оно понятно. Ведь это бинарные файлы. Когда я искал про эти файлы, понял, что это по ходу файлы, куда попадает инфа касательно инструментов, а точнее список торгуемых инструментов. Один, которые берутся из "Обзора рынка", а другой - вроде как те, которые вообще были до того и в настоящий момент недоступны даже могут быть. Канкретики про них, где что и как я не нашёл.
Другое дело, что те цифры что отнимаются и делятся, вот там не понятно. Я и спросил, т.к. хз где и как это искать.
 
Последнее редактирование:

jib07

Местный житель
То что блокнот открывает не читабельную инфу, оно понятно. Ведь это бинарные файлы. Когда я искал про эти файлы, понял, что это по ходу файлы, куда попадает инфа касательно инструментов, а точнее список торгуемых инструментов. Один, которые берутся из "Обзора рынка", а другой - вроде как те, которые вообще были до того и в настоящий момент недоступны даже могут быть. Канкретики про них, где что и как я не нашёл.
Другое дело, что те цифры что отнимаются и делятся, вот там не понятно. Я и спросил, т.к. хз где и как это искать.
_http://codebase.mql4.com/ru/5878
Лень двигатель прогресса *hi*
 

qqmber

Почетный гражданин
То что блокнот открывает не читабельную инфу, оно понятно. Ведь это бинарные файлы. Когда я искал про эти файлы, понял, что это по ходу файлы, куда попадает инфа касательно инструментов, а точнее список торгуемых инструментов. Один, которые берутся из "Обзора рынка", а другой - вроде как те, которые вообще были до того и в настоящий момент недоступны даже могут быть. Канкретики про них, где что и как я не нашёл.
Другое дело, что те цифры что отнимаются и делятся, вот там не понятно. Я и спросил, т.к. хз где и как это искать.

Все правильно, в первом файле хранится список инструментов из обзора рынка, во втором - все символы, известные серверу.
Цифры в коде описывают недокументированную структуру этих файлов. В частности, symbols.sel содержит 4 байта c номером версии в начале файла, затем блоки по 128 байт, каждый соответствует одному инструменту. Чтобы узнать количество блоков надо вычесть 4 из длины файла и поделить на 128.
Аналогично и для второго файла.
 
  • Like
Реакции: hoz

ansol

Местный знаток
Имеем:
PHP:
   double dRed, dRedK, dRedT, dRedX, dBlue, dBlueK, dBlueT, dBlueX, dGreen, SenkouSpanA, SenkouSpanB;
      dRed = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_TENKANSEN, 0);
      dRedT = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_TENKANSEN, Tenkan);
      dBlue = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_KIJUNSEN, 0);
      dBlueT = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_KIJUNSEN, Tenkan);
      dGreen = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_CHINKOUSPAN, Kijun);
      SenkouSpanA = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_SENKOUSPANA, 0);
      SenkouSpanB = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_SENKOUSPANB, 0);
       fOpenBuy = dGreen > iHigh(sSymbol, iTF, Kijun) &&
                  dBid > dRed &&
                  dRed > dBlue &&
                  dBlue > SenkouSpanA &&
                  dBlue > SenkouSpanB &&
                  dRed - dBlue > dRedT - dBlueT;
Не срабатывает, где вроде бы должен, а первая сработка идет примерно на 120-й свече, причем там dRed меньше dBluу на 10 пипсов (1 пункт)
Все переменные ес-но нормированные, но на всякий случай все сделал integer и передварительно поделил на Point - точно в том же месте срабатывает :(
Вроде не пил вчера - че к чему?
 

hoz

Активный участник
Все правильно, в первом файле хранится список инструментов из обзора рынка, во втором - все символы, известные серверу.


Странная структуры. Файл с инструментами symbols.sel фактически является самым новым, т.к. при изменениях некоторых он изменяется, а вот расположен он в папке \history. Чем думали разработчики....
 

hoz

Активный участник
Имеем:
PHP:
   double dRed, dRedK, dRedT, dRedX, dBlue, dBlueK, dBlueT, dBlueX, dGreen, SenkouSpanA, SenkouSpanB;
      dRed = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_TENKANSEN, 0);
      dRedT = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_TENKANSEN, Tenkan);
      dBlue = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_KIJUNSEN, 0);
      dBlueT = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_KIJUNSEN, Tenkan);
      dGreen = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_CHINKOUSPAN, Kijun);
      SenkouSpanA = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_SENKOUSPANA, 0);
      SenkouSpanB = iIchimoku(sSymbol, iTF, Tenkan, Kijun, SpanB, MODE_SENKOUSPANB, 0);
       fOpenBuy = dGreen > iHigh(sSymbol, iTF, Kijun) &&
                  dBid > dRed &&
                  dRed > dBlue &&
                  dBlue > SenkouSpanA &&
                  dBlue > SenkouSpanB &&
                  dRed - dBlue > dRedT - dBlueT;
Не срабатывает, где вроде бы должен, а первая сработка идет примерно на 120-й свече, причем там dRed меньше dBluу на 10 пипсов (1 пункт)
Все переменные ес-но нормированные, но на всякий случай все сделал integer и передварительно поделил на Point - точно в том же месте срабатывает :(
Вроде не пил вчера - че к чему?


Точно не пил?оО Как-то так:

PHP:
      fOpenBuy = dGreen > iHigh(sSymbol, iTF, Kijun) &&
                  dBid > dRed &&
                  dRed > dBlue &&
                  dBlue > SenkouSpanA &&
                  dBlue > SenkouSpanB &&
                  (dRed - dBlue) > (dRedT - dBlueT)
 
Верх