Websocket如何? - 页 12

 

这里

 
Igor Makanu:

试了一下你的例子,没有用。

要么是我的VS设置错了,要么是它有问题。

附上VS项目和MQL5的样本调用 - 这是正确的做法。

ZS: 如果我没记错的话,当MQL5添加了命名空间后,它就停止工作了。

所附的

附加的文件:
 

很好!

阿列克谢,你能推荐一本学习夏普的书吗?

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

结果在工作室里!不要忘记附上最终结果的截图。

你喜欢用夏普编程吗?

是的,主要的是你可以把它连接到MQL


 
我很抱歉,我必须离开30分钟。
 
Алексей Барбашин:

Vladimir,你能告诉我如何从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:

被钉住的

谢谢你!

奇怪,你的例子第一次就成功了

在我的地方从头开始创建了一个新的项目--复制了那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参数不能被转换。

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

我们可以继续吗?