26 十月 2018
26 十月 2018
#import "TestLib.dll" //+------------------------------------------------------------------+ //| 脚本程序起始函数 | //+------------------------------------------------------------------+ void OnStart() { int x=41; TestClass::Inc(x); Print(x); }TestClass的Inc函数C#代码如下:
public class TestClass { public static void Inc(ref int x) { x++; } }作为执行结果,脚本返回值为42。
struct MqlTick
{
datetime time; // 最后价格更新时间
double bid; // 当前卖价
double ask; // 当前买价
double last; // 最后一笔交易的当前价格
ulong volume; // 当前最后价格的交易量
long time_msc; // 以毫秒计算的最后价格更新时间
uint flags; // 报价标识
double volume_real; // 准确性更高的当前最后价格的交易量
};
struct MqlBookInfo { ENUM_BOOK_TYPE type; //ENUM_BOOK_TYPE枚举的订单类型 double price; // 价格 long volume; // 交易量 double volume_real; //准确度更高的交易量 };
//+------------------------------------------------------------------+ //| 默认包装 | //+------------------------------------------------------------------+ struct A { char a; int b; }; //+------------------------------------------------------------------+ //| 指定包装 | //+------------------------------------------------------------------+ struct B pack(4) { char a; int b; }; //+------------------------------------------------------------------+ //| 脚本程序起始函数 | //+------------------------------------------------------------------+ void OnStart() { Print("sizeof(A)=",sizeof(A)); Print("sizeof(B)=",sizeof(B)); } //+------------------------------------------------------------------+结论:
sizeof(A)=5 sizeof(B)=8在MSDN中了解关于结构中对齐方式的更多信息。
enum Main { PRICE_CLOSE_, PRICE_OPEN_ }; input Main Inp=PRICE_CLOSE; //+------------------------------------------------------------------+ //| 起始函数 | //+------------------------------------------------------------------+ void OnStart() { }编译器显示警告:
class X { }; void f(int) { } template<typename T> void a(T*) { new T(2); } // 以前,编译器在这里生成错误 template<typename T> void a() { f(0); } void OnInit() { a<X>(); }
更新将通过实时更新系统提供。