Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Просмотров:
1125
Рейтинг:
(5)
Опубликован:
2024.10.29 23:13
Обновлен:
2025.03.11 15:31
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Это моя реализация возможности сериализации и десериализации json на языке mql5
Вы также можете использовать менеджер пакетов npm для загрузки
npm i mql5-json
пример:
 #include "node_modules/mql5-json/index.mqh"

void OnStart () {
    JSON::Object* json1 = new JSON::Object()
        .setProperty( "number" , 123456 )
        .setProperty( "string" , "text" )
        .setProperty( "boolean" , true )
        .setProperty( "object" , new JSON::Object()
            .setProperty( "number" , 123456 )
            .setProperty( "string" , "text" )
            .setProperty( "boolean" , true )
            .setProperty( "array" , new JSON::Array())
        )
        .setProperty( "array" , new JSON::Array()
            .add( true ) // boolean
            .add( 123456 ) // number
            .add( "string" ) // string
            .add( new JSON::Object()
                .setProperty( "number" , 123456 )
                .setProperty( "string" , "text" )
            )
            .add( new JSON::Array()
                .add( true )
                .add( 123456 )
                .add( "string" )
            )
        );

     string exampleText = json1.toString();
     Print (exampleText);

    JSON::Object* json2 = new JSON::Object(exampleText);
     string objectKeys[];
    json2.getKeysToArray(objectKeys);

     if (
        json2.hasValue( "array" )
        && json2.isArray( "array" )
        && json2.getArray( "array" ).getLength() > 4
        && json2.getArray( "array" ).isBoolean( 0 )
        && json2.getArray( "array" ).getBoolean( 0 ) == true
        && json2.getArray( "array" ).isObject( 3 )
        && json2.getArray( "array" ).getObject( 3 ).isString( "string" )
        && json2.getArray( "array" ).getObject( 3 ).getString( "string" ) == "text"
        && json2.getArray( "array" ).getObject( 3 ).isNumber( "number" )
        && json2.getArray( "array" ).getObject( 3 ).getNumber( "number" ) == double ( 123456 )
    ) {
         Print (json2.toString());
         Print (json2.toString() == json1.toString());
    }

     delete json1;
     delete json2;
}

автор: Кузьме Шевелёв (seffele@gmail.com)
гитхаб: https://github.com/Senails/mql5-json

Panel for Calculating History Profit Panel for Calculating History Profit

Этот скрипт CalculateHistoryProfit версии 1.0 предназначен для расчета прибыли за указанный период с использованием графической панели.

TimeBar TimeBar

Простой информационный индикатор, который показывает оставшееся время до закрытия бара, а также время, прошедшее с момента открытия бара и текущее время.

Timer Timer

Callback interface for timer

Promise Promise

Interface for implementing asynchronous execution of algorithms