Websocket wie? - Seite 12

 

hier

 
Igor Makanu:

Ich habe Ihr Beispiel ausprobiert, es hat nicht funktioniert.

Entweder sind meine VS-Einstellungen falsch oder es stimmt etwas nicht mit dem Programm.

Hängen Sie das VS-Projekt und den Beispielaufruf von MQL5 an - es ist das Richtige, das zu tun.

ZS: wenn ich mich richtig erinnere, hat es aufgehört zu funktionieren, als MQL5 Namespace hinzugefügt hat

beigefügt

Dateien:
 

Großartig!

Alexej, kannst du ein Buch zum Erlernen von Sharpe empfehlen?

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

Das Ergebnis ist im Studio zu sehen! Vergessen Sie nicht, Screenshots des Endergebnisses beizufügen.

Hat Ihnen das Programmieren mit Sharp Spaß gemacht?

Ja. Die Hauptsache ist, dass Sie es mit MQL verbinden können.


 
Es tut mir leid, ich muss für 30 Minuten weg sein.
 
Алексей Барбашин:

Vladimir, können Sie mir sagen, wie ich Daten als Struktur von Sharp erhalten kann?


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:

gepinnt

Ich danke Ihnen!

Seltsam, Ihr Beispiel hat beim ersten Mal funktioniert.

Ich habe ein neues Projekt von Grund auf neu erstellt - diese 5 Codezeilen kopiert und es funktioniert wieder, ok, ich glaube an Magie

Nochmals vielen Dank!

 
Ich bin hier.
 

Trotzdem stimmt etwas nicht, theoretisch sollte dieser Code funktionieren.

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

Ich erhalte Kompilierfehler, dass der Parameter t1 nicht konvertiert werden kann

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

Sollen wir fortfahren?

Grund der Beschwerde: