Error al actualizar MT5 usando matrices en EA

 
2026.02.09 07:59:56.822 coki_v1 (ETHUSD,M15) Illegal instruction [0xCC,0xCC,0xCC,0xCC,0xCC,0x48,0x89,0xC8,0xC5,0xFA,0x7F,0x30,]
2026.02.09 07:59:56.822 coki_v1 (ETHUSD,M15) Unhandled exception
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)    crash -->  00007FF7984810A3 C5FA7F30          vmovdqu    [rax], xmm6
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810A7 C5FA7F7810        vmovdqu    [rax+0x10], xmm7
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810AC C57A7F4020        vmovdqu    [rax+0x20], xmm8
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810B1 C57A7F4830        vmovdqu    [rax+0x30], xmm9
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810B6 C57A7F5040        vmovdqu    [rax+0x40], xmm10
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810BB C57A7F5850        vmovdqu    [rax+0x50], xmm11
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810C0 C57A7F6060        vmovdqu    [rax+0x60], xmm12
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810C5 C57A7F6870        vmovdqu    [rax+0x70], xmm13
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810CA C57A7FB080000000  vmovdqu    [rax+0x80], xmm14
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810D2 C57A7FB890000000  vmovdqu    [rax+0x90], xmm15
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810DA 4889C8            mov        rax, rcx
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810DD C3                ret       
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810DE CC                int3      
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810DF CC                int3      
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)               00007FF7984810E0 4889C8            mov        rax, rcx
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15) 00: 0x00007FF7984810A3
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15) 01: 0x00007FF7984D570F
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15) 02: 0x000002B683C60BC9
2026.02.09 07:59:56.824 coki_v1 (ETHUSD,M15)

Este es el proyecto OnInit() que utilice: 

{
   // =========================
   // ENTRADAS
   // =========================
   matrix X = {{4,2},{6,3}}; // (2 x 2)
   matrix Y = {{0.75,-0.5}}; // (1 x 2)
   // =========================
   // PESOS + BIAS
   // =========================
   matrix W1 = {{2,5},{3,6},{4,7}}; // (3 x 2)
   vector B1 = {5,4,2}; // (3)
   matrix W2 = {{4,2,3}}; // (1 x 3)
   double B2 = 3;
   // =================================================
   // FORWARD PASS
   // =================================================
   // Z1 = W1·X + B1
   matrix Z1 = W1 @ X; // (3 x 2)
   for(int i=0;i<3;i++)
     for(int j=0;j<2;j++)
        Z1[i,j] += B1[i];
         /* Z1 [[43,24]
                [52,28]
                [60,31]] */

   Print("Z1 ",Z1);     
   // A1 = tanh(Z1)
   matrix A1;
   Z1.Activation(A1,AF_TANH); // (3 x 2)
   Print("A1 ",A1);
   // Z2 = W2·A1 + B2
   matrix Z2 = W2 @ A1; // (1 x 2)
   Z2[0,0] += B2;
   Z2[0,1] += B2;
   Print("Z2 ",Z2);
   // Y_pred = tanh(Z2)
   matrix Y_pred;
   Z2.Activation(Y_pred,AF_TANH); // (1 x 2)
   Print("Y_pred ",Y_pred);
   // =========================
   // LOSS
   // =========================
   double loss = Y_pred.Loss(Y,LOSS_MSE);
   Print("Loss = ",loss);
   // =================================================
   // BACKPROPAGATION
   // =================================================
   // ---------- SALIDA ----------
   // dL/dY
   matrix dL_dY = 2 * (Y_pred - Y); // (1 x 2)
   Print("Derivada error ",dL_dY);
   // dY/dZ2
   matrix dY_dZ2;
   Y_pred.Derivative(dY_dZ2,AF_TANH); // (1 x 2)
   Print("Derivada Y_pred ",dY_dZ2);
   // dL/dZ2
   matrix dL_dZ2 = dL_dY * dY_dZ2; // Hadamard (1 x 2)
   // dL/dW2 = dL/dZ2 · A1ᵀ
   matrix dW2 = dL_dZ2 @ A1.Transpose(); // (1 x 3)
   // dL/dB2
   double dB2 = dL_dZ2.Sum();
   // ---------- CAPA OCULTA ----------
   // dL/dA1 = W2ᵀ · dL/dZ2
   matrix dL_dA1 = W2.Transpose() @ dL_dZ2; // (3 x 2)
   // dA1/dZ1
   matrix dA1_dZ1;
   A1.Derivative(dA1_dZ1,AF_TANH); // (3 x 2)
   // dL/dZ1
   matrix dL_dZ1 = dL_dA1 * dA1_dZ1; // (3 x 2)
   // dL/dW1 = dL/dZ1 · Xᵀ
   matrix dW1 = dL_dZ1 @ X.Transpose(); // (3 x 2)
   // dL/dB1
   vector dB1(3);
   for(int i=0;i<3;i++)
      dB1[i] = dL_dZ1.Row(i).Sum();
   // =========================
   // IMPRESIÓN
   // =========================
   Print("dW2 = ",dW2);
   Print("dB2 = ",dB2);
   Print("dW1 = ",dW1);
   Print("dB1 = ",dB1);
   return(INIT_SUCCEEDED);
  }

 

¿Qué versión estás usando?

No puedo reproducir este problema.

 
Alain Verleyen #:

¿Qué versión estás usando?

No puedo reproducir este problema.

te comparto imagen de la version
Archivos adjuntos:
 
Mel # :
te comparto imagen de la version

Incluso con 5572, no puedo reproducir este problema. Usé tu código en un indicador. ¿Te ocurre este problema cada vez que ejecutas el código?

¿Podrías publicar tu archivo de registro del diario?