Websocket come? - pagina 12

 

qui

 
Igor Makanu:

Ho provato il tuo esempio, ma non ha funzionato.

O le mie impostazioni VS sono sbagliate o c'è qualcosa che non va.

allegare il progetto VS e la chiamata di esempio da MQL5 - è la cosa giusta da fare.

ZS: se la memoria non mi inganna, ha smesso di funzionare quando MQL5 ha aggiunto lo spazio dei nomi

allegato

File:
 

Grande!

Alexei, puoi consigliarmi un libro per imparare Sharpe?

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

Il risultato è in studio! Non dimenticare di allegare gli screenshot del risultato finale.

Ti è piaciuto programmare in Sharp?

Sì. La cosa principale è che si può collegare a MQL


 
Mi dispiace, devo andare via per 30 minuti.
 
Алексей Барбашин:

Vladimir, puoi dirmi come ottenere dati come struttura da 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:

appuntato

Grazie!

strano, il tuo esempio ha funzionato la prima volta

Ho creato un nuovo progetto al mio posto da zero - ho copiato quelle 5 righe di codice e funziona di nuovo, ok, crederò nella magia

Grazie ancora!

 
Sono qui.
 

C'è ancora qualcosa che non va, in teoria questo codice dovrebbe funzionare.

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);
}

Ottengo errori di compilazione, che il parametro t1 non può essere convertito

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

Vogliamo continuare?