sToken - MetaTrader 5 库


该脚本包含一个类,可用于解决定义为字符串的数学和逻辑表达式。
该脚本有两个类:cTokenBase 和 cToken(CTokenBase 的成员)。 cTokenBase 类必须在使用前进行配置(见下文)。
以下 MQL5数学函数支持:腹肌,阿科斯,反正弦,反正切,天花板,因斯,经验值,地面,日志,日志10,最大限度,分钟,模组,战俘,兰特,圆形的,罪,开方,晒黑。
逻辑和数学运算:/、%、*、+、-、>、<、>=、<=、==、!=、&&、||。
表达式可以包含数字,包括双精度数字、用户变量和用户数组。如果您将使用用户的变量和数组,则需要添加返回这些变量和数组的值的函数。应将函数添加到 cTokenBase 中 类。
用户变量和数组均以字母命名(大小写不重要),数组元素定义如下:e[0]、e[1]、f[0]、f[1]。


如何配置cTokenBase类
空白用户变量() { 用户变量=“a;b;c;d”;// 用户变量列表 用户数组=“e;f”;// 用户数组列表 }
2、需要在UserFunc(string FuncName)函数中添加对应函数的调用:
细绳用户函数(细绳功能名称) { 如果(函数名==“一个”)返回(一个()); 如果(函数名==“b”)返回(b()); 如果(函数名==“c”)返回(c()); 如果(函数名==“d”)返回(d()); 警报(“功能为”+功能名称+“变量未定义”); 返回(“0”); }
3. 为所有用户变量添加函数:
细绳一个() { 返回(“1”); } 细绳b() { 返回(“2”); } 细绳c() { 返回(“3”); } 细绳d() { 返回(“4”); }
4. 在 UserArray(string ArrName,int aIndex) 函数中添加相应函数(取决于 ArrName)的调用。数组元素的索引在 aIndex 变量中指定。
细绳用户数组(细绳目的地名称,整数索引){ 如果(地址名称==“e”)返回(e(aIndex)); 如果(地址名称==“f”)返回(f(aIndex)); 警报(“功能为”+到达名称+“数组未定义”); 返回(“0”); }
5. 为每个数组添加函数:
细绳e(整数指数) { 细绳v[]={“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”}; 返回(v[索引]); } 细绳f(整数指数) { 细绳v[]={“10”,“20”,“30”,“40”,“50”,“60”,“70”,“80”,“90”}; 返回(v[索引]); }
类的使用
1. 为表达式声明一个外部输入变量:
输入 细绳表达式=“在此输入表达式”;
2. 在全局级别上删除 cToken 类变量:
cToken代币;
3. 使用表达式初始化类。
token.Init(表达式);
4. 调用SolveExpression()方法
双倍的值=token.SolveExpression();
该类可用于解决多个表达式,只需使用 cToken 类的几个实例即可:
cToken 令牌1; cToken 令牌2; cToken 令牌3; cToken 令牌4;
在这种情况下,所有类实例将使用相同的用户变量和数组(在 cTokenBase 类中声明)
您可以添加您的功能。
向 cToken 类添加新函数
附件下载
📎 stoken.mq5 (22.71 KB)
Source: MQL5 #303
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
