Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 939

 
Nikita Chernyshov:

Die Frage ist eine rein ästhetische.

Wie schaffe ich es, dass es hier ein eigenes Bild gibt? MT4



#property icon
 
Artyom Trishkin:

Ja, ich kenne diese Eigenschaft, danke. Das bedeutet jedoch, dass sich das Symbol beim Benutzer befinden muss. Gibt es eine Möglichkeit, dies zu umgehen? So dass die Person nur ex4 heruntergeladen hat und mein Bild angezeigt wird?

 
Koldun Zloy:

Wenn Sie jedem Typ spezifische Array-Zellen zugewiesen haben, dann erstellen Sie eine Struktur anstelle eines Arrays.

Ich dachte daran, das zu tun, aber ich habe den Link verloren, wo die Person die Elemente aus der Struktur in das strukturierte Array einfügt. Er deklarierte eine Struktur und erstellte dann ein Array und unter jeder Zahl wurde der Typ int string double gespeichert, aber dort hatte er ein Array mit nur einem unterschiedlichen Element in jeder Zelle, also dachte ich, dass es auch hier möglich wäre, aber anscheinend nicht.

 
Igor Makanu:

Was genau wurde gestrichen?

#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;
}

In diesem Beispiel habe ich ein 2-dimensionales und ein 1-dimensionales Array an die Funktion übergeben, und das ist übrigens mein Code.

Hier ist ein weiteres Beispiel dafür, was mql4 nicht leisten kann.

#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;
}

Welche von diesen kann mql4 oder hier ist ein Beispiel

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:

Ja, ich kenne diese Eigenschaft, danke. Das bedeutet jedoch, dass sich das Symbol beim Benutzer befinden muss. Gibt es eine Möglichkeit, dies zu umgehen? So dass die Person nur ex4 heruntergeladen hat und mein Bild angezeigt wird?

Hängen Sie das Bild mit einer Ressourcean.
 
Nikita Chernyshov:

Ja, ich kenne diese Eigenschaft, danke. Das bedeutet jedoch, dass sich das Symbol beim Benutzer befinden muss. Gibt es eine Möglichkeit, dies zu umgehen? So dass die Person nur ex4 heruntergeladen hat und mein Bild angezeigt wird?

Das ist nicht der Fall.

 
Alexey Viktorov:
Hängen Sie ein Bild mit einer Quelle an.

Bei einer Ikone wird das nicht funktionieren.

#Eigenschaft Icon packt bereits das Icon in ex

 
Seric29:

und das ist übrigens mein Code.

Nun, wenn es Ihr Code ist, dann kompilieren Sie ihn in eine .dll und verbinden ihn mit MQL, zwei Klicks Arbeit, drei Monate unverständliche Diskussion
 
Artyom Trishkin:

Das bedeutet nicht, dass.

Danke, ich habe es herausgefunden, es hat mir die Augen geöffnet.

 
Igor Makanu:
Wenn dies Ihr Code ist, kompilieren Sie es in eine .dll und verbinden Sie es mit MQL, die "zwei Klicks" Arbeit, unverständliche Diskussion für drei Monate

Das Problem ist, dass ich Vorlagen für alle Funktionen, die Arrays zu nehmen, und Export und Import von Template-Funktionen nicht möglich ist, wird es haben, Funktionen für jeden Typ zu duplizieren, die gleiche Situation mit Dimensionalität mql will nicht, sie einfach so zu geben und wieder habe ich sie durch Dimensionalität zu duplizieren stellt sich heraus, eine Art von Überlastung aber zusätzliche Argumente hinzufügen ist nicht notwendig, dennoch ist dies auch unnötigen Code, wie für die Erhöhung der Funktion Argumente mql auch nicht geben, einfach so, dass Daten haben, Funktionen zu duplizieren tun Überlastung Ich habe darüber nachgedacht, meine eigene Sprache zu schreiben, aber dann habe ich wieder 15% meines Roboters geschrieben und mehr als ein Jahr damit verbracht, alles zu kalibrieren und so universell wie möglich zu machen und eine schnelle Leistung zu bieten, und 3 Jahre für Berechnungen. Ich habe einfach nicht genug Leben, um meine eigene Sprache zu schreiben. So, das war's.

Grund der Beschwerde: