Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 939

 
Nikita Chernyshov:

A questão é puramente de estética.

Como faço para que haja aqui uma imagem própria? MT4



#property icon
 
Artyom Trishkin:

Sim, eu conheço essa propriedade, obrigado. Mas isso implica que o ícone tem que estar no usuário. Existe alguma forma de contornar isso? Para que a pessoa só faça o download do ex4 e minha imagem seja exibida para ele?

 
Koldun Zloy:

Se você tiver células de matriz específicas alocadas para cada tipo, então faça uma estrutura ao invés de uma matriz.

Pensei em fazer isso, mas perdi o elo onde a pessoa colocou os elementos da estrutura na matriz estruturada. Ele declarou uma estrutura e depois criou um array e sob cada número foi armazenado tipo int string duplo, mas lá ele tinha um array com apenas um elemento diferente em cada célula, então eu pensei que era possível aqui também, mas aparentemente não.

 
Igor Makanu:

O que foi cortado, exatamente?

#include "stdafx.h"
#include <conio.h>
#include <iostream>

using std::cout;
using std::endl;
using std::cin;

template<typename T> void Fun(T a[],size_t m=2,size_t n=2, T r=0)
{
        for ( size_t i = 0; i < m; i++ )
    {
        for ( size_t j = 0; j < n; j++ ) 
                        {
                    (a[i * n + j ])=(a[i * n + j ])*5;
                        cout <<(a[i * n + j ])<<" "<<endl;
                    }
        }cout<<endl; 
}

int _tmain(int argc, _TCHAR* argv[])
{
        int     mas[6]={1,2,3,4,5,6};
        double mas1[2][2]={{1.4,4.2},{2.8,6.7}};//int //{{},{}};
        int mas2[2][2][2];

        Fun(*mas1);//Для 2умерного массива передача по ссылке, но в mql4 все массивы передаются по ссылке 
        Fun((mas),6,1);
        for(int i=0;i<2;i++)
        {for(int t=0;t<2;t++)
        {cout<<mas1[i][t]<<" "<<endl;}}
        _getch();
        return 0;
}

Neste exemplo, eu passei uma matriz bidimensional e uma bidimensional para a função e, a propósito, este é o meu código.

Aqui está outro exemplo do que o mql4 não pode fazer.

#include <iostream>
#include <variant>
 
using double_bool_int = std::variant<double, bool, int>;
 
int main()
{
    const size_t len = 15 u;
    double_bool_int* arr = new double_bool_int[len];
 
    {
        size_t idx = 0 u;
        for (; idx < 5 u; ++idx)
            arr[idx] = static_cast<double>(0.5 * idx);
        for (; idx < 10 u; ++idx)
            arr[idx] = static_cast<bool>(idx & 1 u);
        for (; idx < 15 u; ++idx)
            arr[idx] = static_cast<int>(2 * idx);
    }
    for (auto it = arr; it != arr + len; ++it)
    {
        if (const auto i = std::get_if<int>(it); i)
            std::cout << "int " << *i << "\n";
        else if (const auto d = std::get_if<double>(it); d)
            std::cout << "double " << *d << "\n";
        else if (const auto b = std::get_if<bool>(it); b)
            std::cout << "bool " << std::boolalpha << *b << "\n";
    }
    
    delete[] arr;
    return 0;
}

Qual destes pode mql4 ou aqui está um exemplo

double f(double n, ...)    //--заголовок с переменным числом параметров
{   double *p = &n;        //--установились на начало списка параметров
    double sum = 0, count = 0;    
    while (*p)         //--пока аргумент не равен нулю
    { sum+=(*p);         //--суммируем аргумент
      p++;             //--«перемещаемся на следующий аргумент
      count++;         //--считаем  количество аргументов
    }
    return ((sum)?sum/count:0);    //--вычисляем среднее
}
 
Nikita Chernyshov:

Sim, eu conheço essa propriedade, obrigado. Mas isso implica que o ícone deve estar no usuário. Há alguma forma de contornar isso? Para que a pessoa só faça o download do ex4 e minha imagem seja exibida para ele?

Anexe a foto com um recurso.
 
Nikita Chernyshov:

Sim, eu conheço essa propriedade, obrigado. Mas isso implica que o ícone tem que estar no usuário. Existe alguma forma de contornar isso? Para que a pessoa só faça o download do ex4 e minha imagem seja exibida para ele?

Não tem.

 
Alexey Viktorov:
Anexe uma foto com um recurso.

Para um ícone, não vai funcionar.

# ícone de propriedade já embalou o ícone em ex

 
Seric29:

E a propósito, esse é o meu código.

Bem, se é seu código, então compile-o em um .dll e conecte-o à MQL, dois cliques de trabalho, três meses de discussão incompreensível
 
Artyom Trishkin:

Não implica.

Obrigada, descoberto, tem sido um abrir de olhos.

 
Igor Makanu:
Bem, se este é seu código, então compile-o em um .dll e conecte-o à MQL, os "dois cliques" funcionam, discussão incompreensível por três meses

O problema é que eu aplico modelos a todas as funções que tomam arrays, e a exportação e importação de funções de modelos não é possível, terá que duplicar funções para cada tipo, a mesma situação com dimensionalidade mql não quer dar-lhes exatamente assim e novamente eu tenho que duplicá-los por dimensionalidade torna-se uma espécie de sobrecarga, mas acrescentar argumentos adicionais não é necessário, no entanto isso também é código excessivo, como para aumentar os argumentos de função mql também não vai dar apenas os dados que eu tenho que duplicar funções fazer sobrecarga Então eu não acho que valha a pena, pensei em escrever minha própria língua, mas depois escrevi 15% do meu robô e gastei mais de um ano para calibrar tudo e torná-lo o mais universal possível e proporcionar um desempenho rápido e 3 anos para os cálculos. Eu simplesmente não tenho vida suficiente para escrever minha própria língua. Então, aí está.