¿Cómo es el Websocket? - página 12

 

aquí

 
Igor Makanu:

Probé tu ejemplo y no funcionó.

O mi configuración del VS está mal o hay algo que no funciona.

adjuntar el proyecto VS y la llamada de muestra de MQL5 - es lo que hay que hacer.

ZS: si la memoria no me falla, dejó de funcionar cuando MQL5 añadió el espacio de nombres

adjunto

Archivos adjuntos:
 

¡Genial!

Alexei, ¿puedes recomendar un libro para aprender sharpe?

 
Алексей Барбашин:

¡El resultado está en el estudio! No olvides adjuntar capturas de pantalla del resultado final.

¿Disfrutaste programando en Sharp?

Sí. Lo principal es que se puede conectar a MQL


 
Lo siento, tengo que irme por 30 minutos.
 
Алексей Барбашин:

Vladimir, ¿podrías decirme cómo obtener los datos como una estructura de Sharp?


C#

                public static void RefTicks(double open, double close, ref StructTicks ddd) {
                        ddd.Open = open;
                        ddd.Close = close;
                }


MQL

int OnInit() {
   StructTicks tick;
   ConnectorMQL::RefTicks(1.11 ,1.12, tick);
   Print(tick.Open + " / " + tick.Close);
   
   return(INIT_SUCCEEDED);
}
 
Vladimir Suslov:

clavado

Gracias.

extraño, tu ejemplo funcionó la primera vez

Creé un nuevo proyecto en mi lugar desde cero - copié esas 5 líneas de código y vuelve a funcionar, ok, voy a creer en la magia

Gracias de nuevo.

 
Estoy aquí.
 

Todavía hay algo que no funciona, en teoría este código debería funcionar.

C#

using System;
using System.Runtime.InteropServices;

namespace ClassLibrary2
{
    [StructLayout(LayoutKind.Sequential, Pack = 1)]
    public struct MqlTick
    {
        public Int64 Time;
        public Double Bid;
        public Double Ask;
        public Double Last;
        public UInt64 Volume;
    }
    public class tst
    {
        public static void CopyTick(ref MqlTick inTick, ref MqlTick outTick)
        {
            outTick = inTick;
        }
    }
}

MQL5

#import "ClassLibrary2.dll"
#import
//+------------------------------------------------------------------+
int OnInit()
{
   MqlTick t1,t2;
   tst::CopyTick(t1,t1);
   return(INIT_SUCCEEDED);
}

Obtengo errores de compilación, que el parámetro t1 no se puede convertir

 
Алексей Барбашин:

¿Continuamos?

Razón de la queja: