Websocket como? - página 12

 

aqui

 
Igor Makanu:

tentou seu exemplo, não funcionou.

Ou meus ajustes VS estão errados ou há algo errado com ele.

anexar o projeto VS e a chamada de amostra da MQL5 - é a coisa certa a fazer.

ZS: se a memória me serve corretamente, ela parou de funcionar quando a MQL5 acrescentou o namespace

em anexo

Arquivos anexados:
 

Ótimo!

Alexei, você pode recomendar um livro para aprender sharpe?

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

O resultado está no estúdio! Não se esqueça de incluir screenshots do resultado final.

Você gostou de programar em Sharp?

Sim. O principal é que você pode conectá-lo à MQL


 
Sinto muito, tenho que estar ausente por 30 minutos.
 
Алексей Барбашин:

Vladimir, você pode me dizer como obter dados como uma estrutura 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:

com alfinete

Obrigado!

estranho, seu exemplo funcionou na primeira vez

Criei um novo projeto em meu lugar do zero - copiei essas 5 linhas de código e ele funciona novamente, ok, vou acreditar na magia

Mais uma vez, obrigado!

 
Estou aqui.
 

Ainda algo está errado, em teoria este código deveria 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);
}

Eu recebo erros de compilação, esse parâmetro t1 não pode ser convertido

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

Devemos continuar?

Razão: