客服热线:18391752892
当前位置: 首页 » 外汇EA商城 » 智能交易 »在MetaTrader市场下载MetaTrader 4的'Formula Calculation' 交易程序库

在MetaTrader市场下载MetaTrader 4的'Formula Calculation' 交易程序库

品牌:
顺水的鱼外汇EA
起批 1-30000件 30001件以上
价格 ¥3988.00 ¥10.00
评分:
人气( 925 )  共有 0 条评价 ( 销量:0件 )

手机扫购有惊喜
物流:
:3988.00  
数量:
   
(当前库存 888888 件)
  • 收藏商品(0)
  • 告诉好友
  • 举 报
  • 顺水的鱼外汇EA

    发 货 地:
    默认地区
    全网同类推荐
    • ¥1100.00
    • ¥3988.00
    • ¥3988.00
    • ¥3988.00
    • ¥3988.00
    • ¥3988.00

    店长精品橱窗推荐

    本店商品分类

    • -暂无分类

    本店商品排行

    • 概述
    • 评论
    • 评论

    Formula Calculation

    Библиотека для расчета формул.

    Формула задается строкой. Можно задавать формулу в строковой переменой в окне свойств.

    Формула может включать арифметические действия "+-/*" и все функции кроме MathRand(): abs(), arccos(), arcsin(), arctan(), sin(), cos(), tan(), exp(), log(), mod(), max(), min(), pow(), ceil(), sqrt(), log10(), floor(), round(). Кроме этого в формулу могут входить числа (если число дробные, то разделитель точка) и аргументы. Аргумент начинается с буквы "а" (латинская) и номера, например: "a0", "a1" и т.д. 

    Пример формулы: "sqrt(a1*log10(a0))*a2+10.5". Имейте ввиду, что формула может быть любой, а это только пример.

    Импорт библиотеки:

    #import "Market//Formula Calculation.ex4"
       int AddFormula(string Formula);
       void FormulaSetArgument(int FormulaIndex,int ArgumentIndex,double ArgumentValue);
       bool FormulaSolve(int FormulaIndex,double & Result);
       void FormulaFreeAll();
    #import

    Описание функций библиотеки:

    int AddFormula(string Formula) - функция для добавления формулы в библиотеку. Вызывается при инициализации эксперта или индикатора, в котором используется библиотека. Функция возвращает индекс формулы, который надо указывать при вызове других функций библиотеки. Функция расчета формулы, по принципу работы, не является текстовым интерпретатором. При вызове функции AddFormala() происходит ее анализ и построение иерархии классов, при помощи этой иерархии и происходит расчет формулы, что обеспечивает очень высокую скорость расчета. 

    void FormulaSetArgument(int FormulaIndex,int ArgumentIndex,double ArgumentValue) - функция для установки значений аргументов.

    Параметры: 

    int FormulaIndex - индекс формулы, полученный при вызове функции AddFormula().

    int ArgumentIndex - индекс аргумента (число стоящее после буквы "а" в имени аргумента).

    double ArgumentValue - значение аргумента.

    bool FormulaSolve(int FormulaIndex,double & Result) - расчет формулы. Возвращает true при успешном расчете, false - при ошибке в расчете (деление на 0 и т.п.).

    Параметры: 

    int FormulaIndex - индекс формулы, полученный при вызове функции AddFormula().

    double & Result - переменная для результата расчета. 

    FormulaFreeAll() - удаление всех формул. Вызов функции приводит библиотеку в исходное состояние.

    Пример использование библиотеки: 

    //+------------------------------------------------------------------+
    //|                                                 sFormulaTest.mq4 |
    //|                        Copyright 2019, metaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2019, metaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
    
    #import "Market//Formula Calculation.ex4"
       int AddFormula(string Formula);
       void FormulaSetArgument(int FormulaIndex,int ArgumentIndex,double ArgumentValue);
       bool FormulaSolve(int FormulaIndex,double & Result);
       void FormulaFreeAll();
    #import
    
    //+------------------------------------------------------------------+
    //| script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart(){
    
       double r=0;
    
       int f01=AddFormula("sqrt(a1*log10(a0))*a2+10.5");
       
       if(f01==-1){
          alert("Ошибка формулы");
          return;
       }
     
       FormulaSetArgument(f01,0,10000);
       FormulaSetArgument(f01,1,25);
       FormulaSetArgument(f01,2,2);
       
       if(!FormulaSolve(f01,r)){
          alert("Ошибка расчета");
          return;      
       }
       
       alert("Результат1: "+(string)r);
       
       FormulaSetArgument(f01,0,20);
       FormulaSetArgument(f01,1,30);
       FormulaSetArgument(f01,2,40);
       
       if(!FormulaSolve(f01,r)){
          alert("Ошибка расчета");
          return;      
       }
       
       alert("Результат2: "+(string)r);   
       
        
       FormulaFreeAll();
     
    }
    //+------------------------------------------------------------------+


    ta itemprop="image" content="https://c.mql5.com/31/346/formula-calculation-screen-5207.png" />

    因厂家更改商品包装、场地、附配件等不做提前通知,且每位咨询者购买、提问时间等不同。为此,客服给到的回复仅对提问者3天内有效,其他网友仅供参考!给您带来的不变还请谅解,谢谢!

     
    • 18391752892

      网站客服

      法定工作日

      8:30-17:30

    • 了解更多外汇信息

      微信扫描关注

    • 用户反馈