//+------------------------------------------------------------------+ //| BenAi.mq5 | //| Copyright 2026, Niquel Mendoza. | //| https://www.mql5.com/ | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza." #property link "https://www.mql5.com/" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ //#define JSONBENCH_RUN_PARSE //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "Def.mqh" #include "..\\Other\\ClaudeJson.mqh" #define LIBNAME "ClaudeFableJson-3+Pass" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ // Notas // Creo que ninguna la ia aqui de claude trabajo bien // Experiencia de desaroolo /* Desde mi punto de vista sincamtne creo qeu es quizas de los mejores modelos en MQL5.. que uno pueda usar ahora mismo en 2026... Pero ciertamente si compras la experiendcia de desarollo con CPP se nota que el modelo sabe "menos trucos" o csas mas espcificas de mql5 o del lengauje... o como hace "x" cosa de la forma mas eficnte mql5 adpatanocos a sus limitaciones.. si no qeu es "mas general" con soluciones "mas generales" pese a que le digas que optimize.... aparte note qeu al no haber mucho contenido con el cual se hayan entrneando y lamaotira de dicho contenido con el qeu se entrenaon no es de buena calidad (si lo comparasmo con libs serias de json) etnoces claude por lo visto tiene a aplicar una idea "general" de como hacer un json json en mq5 de forma rapida como los concpetos "generales" o basicos dado qeu como no hay una lib "#fast" con la que se haya entrenado entonces eso Creo qeu esuna limtacion de todos estos modelo sLLm en mql5 y no los culp el lengauje es hostil... y nicho.. asi que si compras su rencimient con cpp y mql5 veras que en mql5 cualqiue ia rinde peor se equivoca, o hace las coas "bien" pero mejorables siempre.. .. osea en reumen que en mql5 tiene a ser muy general y no sabe mucho otpimzar en mql5 solo aplica lo "general" en camibo en cpp\web ahi si... Ahora sobre su json lo estuve viendo y esta iben sinamtne buen maneja o de rreos etc... sincmnte podria tirarmen aqui una hora quizas viendo cada punto y que se peude merjoar pro qeu a simpel vista hay muchas cosas uqe se peuden mejorar... por esjemplo el tape.. y asi un monton.. */ //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- CJson json; //--- Parseo #ifdef JSONBENCH_RUN_PARSE ArrayCopy(json.Buffer, g_json_data, 0, 0); //Sleep(10); ulong a = GetMicrosecondCount(); for(int i = 0; i < JSONBENCH_TOTAL_ITER_PARSE; i++) { json.Parse(); } ulong b = GetMicrosecondCount(); //Sleep(250); Print("@", (b - a)); //--- #else // JSONBENCH_RUN_PARSE //--- previa json.ParseText(g_json_test_access); JsonNode root = json.Root(); //--- string keys[]; JsonNode wide_object = root["wide_object"]; const int n = wide_object.Count(); ArrayResize(keys, n); for(int i = 0; i < n; i++) { keys[i] = json.NodeKey(wide_object[i].m_idx); } //-- Random TSN::CRandom xo; xo.Seed(JSONBENCH_ACCESO_XHOR_SEED); // init double sump = 0.0, profit = 0.0; long tin = 0; //-- ulong a = GetMicrosecondCount(); for(int i = 0; i < JSONBENCH_TOTAL_ITER_ACCESO; i++) { const string key = keys[xo.RandomInteger(0, n)]; root["wide_object"][key]; } ulong b = GetMicrosecondCount(); Sleep(100); JSONBENCH_ACCES_CALL(JSONBENCH_TAGOP_ACCESO_WIDE) a = GetMicrosecondCount(); for(int i = 0; i < JSONBENCH_TOTAL_ITER_ACCESO; i++) { root["deep_object"]["l1"]["l2"]["l3"]["l4"]["l5"]["l6"]["l7"]["l8"]["l9"]["l10"]["target"].ToString(); } b = GetMicrosecondCount(); Sleep(100); JSONBENCH_ACCES_CALL(JSONBENCH_TAGOP_ACCESO_DEEP) a = GetMicrosecondCount(); for(int i = 0; i < JSONBENCH_TOTAL_ITER_ACCESO; i++) { const int index = xo.RandomInteger(0, 10000); tin += root["large_array"].At(index).ToInteger(0); } b = GetMicrosecondCount(); Sleep(100); JSONBENCH_ACCES_CALL(JSONBENCH_TAGOP_ACCESO_LARGE_ARR) a = GetMicrosecondCount(); for(int k = 0; k < 500; k++) { sump += root["array_of_objects"].At(k)["price"].ToDouble(0.0); profit += root["array_of_objects"].At(k)["profit"].ToDouble(0.0); const int s = root["array_of_objects"].At(k)["tags"].Size(); tin += StringLen(root["array_of_objects"].At(k)["tags"].At(k % s).ToString()); } b = GetMicrosecondCount(); Sleep(100); JSONBENCH_ACCES_CALL(JSONBENCH_TAGOP_ACCESO_MIX) //---- PrintFormat("sump=%.2f profit=%.2f tin=%d ", sump, profit, tin); //--- JSONBENCH_FINISH #endif // JSONBENCH_RUN_PARSE //-- } //+------------------------------------------------------------------+ /* 2026.08.28 11:07:00.408 BenClaude (EURUSD,H1) @1171187 2026.08.28 11:07:02.956 BenClaude (EURUSD,H1) @1114912 2026.08.28 11:07:08.898 BenClaude (EURUSD,H1) @1142771 2026.08.28 11:07:14.821 BenClaude (EURUSD,H1) @1114773 2026.10.03 15:13:37.554 BenClaude (EURUSD,H1) [acceso-wide] Time: 311 2026.10.03 15:13:37.665 BenClaude (EURUSD,H1) [acceso-deep] Time: 937 2026.10.03 15:13:37.778 BenClaude (EURUSD,H1) [acceso-array-large] Time: 9758 2026.10.03 15:13:37.888 BenClaude (EURUSD,H1) [acceso-mixed-trading] Time: 956 2026.10.03 15:13:37.888 BenClaude (EURUSD,H1) sump=537.48 profit=-337.50 tin=4927909 2026.10.03 15:13:49.684 BenClaude (EURUSD,H1) [acceso-wide] Time: 312 2026.10.03 15:13:49.796 BenClaude (EURUSD,H1) [acceso-deep] Time: 912 2026.10.03 15:13:49.923 BenClaude (EURUSD,H1) [acceso-array-large] Time: 14026 2026.10.03 15:13:50.035 BenClaude (EURUSD,H1) [acceso-mixed-trading] Time: 1152 2026.10.03 15:13:50.035 BenClaude (EURUSD,H1) sump=537.48 profit=-337.50 tin=4927909 2026.10.03 15:13:51.452 BenClaude (EURUSD,H1) [acceso-wide] Time: 313 2026.10.03 15:13:51.564 BenClaude (EURUSD,H1) [acceso-deep] Time: 918 2026.10.03 15:13:51.691 BenClaude (EURUSD,H1) [acceso-array-large] Time: 14071 2026.10.03 15:13:51.802 BenClaude (EURUSD,H1) [acceso-mixed-trading] Time: 1950 2026.10.03 15:13:51.802 BenClaude (EURUSD,H1) sump=537.48 profit=-337.50 tin=4927909 2026.10.03 15:14:32.418 BenClaude (EURUSD,H1) [acceso-wide] Time: 308 2026.10.03 15:14:32.528 BenClaude (EURUSD,H1) [acceso-deep] Time: 1192 2026.10.03 15:14:32.656 BenClaude (EURUSD,H1) [acceso-array-large] Time: 9976 2026.10.03 15:14:32.766 BenClaude (EURUSD,H1) [acceso-mixed-trading] Time: 930 2026.10.03 15:14:32.766 BenClaude (EURUSD,H1) sump=537.48 profit=-337.50 tin=4927909 */ //+------------------------------------------------------------------+