欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

sToken - MetaTrader 5 库

author emer | 139 人阅读 | 0 人评论 |

sToken - library for MetaTrader 5

sToken - library for MetaTrader 5

该脚本包含一个类,可用于解决定义为字符串的数学和逻辑表达式。

该脚本有两个类:cTokenBase 和 cToken(CTokenBase 的成员)。 cTokenBase 类必须在使用前进行配置(见下文)。

以下 MQL5数学函数支持:腹肌,阿科斯,反正弦,反正切,天花板,因斯,经验值,地面,日志,日志10,最大限度,分钟,模组,战俘,兰特,圆形的,,开方,晒黑

逻辑和数学运算:/、%、*、+、-、>、<、>=、<=、==、!=、&&、||。

表达式可以包含数字,包括双精度数字、用户变量和用户数组。如果您将使用用户的变量和数组,则需要添加返回这些变量和数组的值的函数。应将函数添加到 cTokenBase 中 类。

用户变量和数组均以字母命名(大小写不重要),数组元素定义如下:e[0]、e[1]、f[0]、f[1]。

sToken - library for MetaTrader 5

sToken - library for MetaTrader 5

如何配置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

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录