Websocket как сделать? - страница 12

 

вот

 
Igor Makanu:

попробовал сделать по Вашему примеру, не заработало

или настройки VS где то не те у меня, или еще где траблы

приатачьте проект VS и пример вызова из MQL5 - это нужная вещь

ЗЫ: если не изменяет память, то перестало это работать когда в MQL5 добавили namespace

прицепил

Файлы:
 

Супер!

Алексей, можешь посоветовать книгу для обучения шарпу?

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

Результат в студию! Не забывай прикладывать скрины конечного результата.

Тебе понравилось программировать на шарпе?

Да. Главное что можно соединять с MQL


 
Я извиняюсь, мне надо отойти минут на 30
 
Алексей Барбашин:

Владимир, может с ходу подскажешь как из шарпа получить данные в виде структуры?


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:

прицепил

Спасибо!

странно, Ваш пример заработал с первого раза

создал новый проект у себя с чистого листа - скопировал эти 5 строк кода и опять все работает, ладно, уверую в магию

Спасибо еще раз!

 
Я тут
 

все равно что то не так, в теории этот код должен работать

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

получаю ошибки компиляции, что не возможно конвертировать параметр t1

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

Продолжаем?

Причина обращения: