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

 
Hallo, ich würde gerne wissen, ob es ein normales Skript zum Herunterladen und Synchronisieren des Kursverlaufs für MT5 gibt.ex5 und alles war in Ordnung, der Scanner funktionierte, gab Signale, alles funktionierte gut, aber gestern nach dem Mittagessen als abgeschnitten, der Scanner einfach aufgehört, die Geschichte zu sehen und daher für Einstiegspunkte nach Strategie suchen und geben Signale, ich dachte, die Sache ist in der Scanner, aber Ich habe ein paar Versionen davon und nicht mehr Signale auf allen von ihnen, ich habe mein Freund und ich löschte das Terminal, ohne Erfolg, löschte es mit allen Informationen, neu installiert und wenn ich begann mit dem Skript, um die Geschichte zu laden, öffnete ich die Experten Registerkarte und sah, dass es nur Fehler, wenn das Laden der Geschichte, ich schrieb an den Broker-Support, sie sagten mir, dass vor kurzem die Ingenieure hatten die MT% aktualisiert und vielleicht das Skript Algorithmus verwirrt wurde Ich habe versucht, hier zu fragen, was zu tun ist und ob es andere Skripte für den Kursverlauf gibt, ich sollte gleich sagen, dass ich versucht habe, einen Monat Zeitrahmen zu verwenden, um die Kurse herunterzuladen, es war nutzlos, vielen Dank im Voraus.
 
82Dmitry82:
Hallo, ich würde gerne wissen, ob es ein normales Skript zum Laden und Synchronisieren der Kursentwicklung für MT5 gibt.ex5 und alles war in Ordnung, der Scanner funktionierte, gab Signale, alles funktionierte gut, aber gestern nach dem Mittagessen als abgeschnitten, der Scanner einfach aufgehört zu sehen, die Geschichte und daher nach Einstiegspunkten nach Strategie und geben Signale, ich dachte, die Sache ist in den Scanner, aber Ich habe ein paar Versionen davon und gestoppt geben Signale für alle von ihnen, sowohl für mich und mein Freund, leerte ich das Terminal, ohne Erfolg, löschte es mit allen Informationen, neu installiert und wenn ich begann das Laden Geschichte mit dem Skript, öffnete ich die Experten-Registerkarte und sah, dass es nur Fehler beim Laden Geschichte, schrieb ich an den Broker-Support, antworteten sie, dass vor kurzem in MT%, die aktualisiert worden sein könnte und der Algorithmus ist verwirrt in das Skript, gibt er eine solche Geschichte laden,Ich entschuldige mich für die große Anzahl von Briefen, ich habe gerade versucht, die Situation im Detail zu erklären, Broker-Support verweigert zu helfen, sagen sie, es ist nicht uns, und metaquotes, können Sie nicht an sie zu schreiben, haben sie kein Feedback, so dass ich beschlossen, hier zu fragen, was zu tun ist und ob es andere Skripte für Zitate Geschichte, muss ich zugeben, dass ich versucht, mit monatlichen TF, um Zitate herunterzuladen, keine Verwendung, danke im Voraus.

Ich werde nichts sagen, aber dies ist das einzige Unternehmen, bei dem ich Probleme mit historischen Daten hatte, als ich einen meiner Aufträge ausführte - es war an und aus.

Ich suchte nach den Gründen, bis ich dem Kunden sagte, er solle es mit Angeboten von anderen Maklern testen. Und es hat sich herausgestellt, dass dort alles in Ordnung ist.

Wenn Sie versucht haben, die Kurse in monatlichen Zeitrahmen zu laden, war es nutzlos.

 
 
Seric29:
Leute, helft mir bei diesem Problemhttps://www.mql5.com/ru/forum/160683/page934#comment_12795598

Sie haben kein vollständiges Beispiel, posten Sie den reproduzierbaren Code, d.h. eine vollständige Klassenvorlage und ein Codebeispiel, in dem Sie ein Objekt mit dieser Vorlage erstellen, bisher nur "Telepathen im Urlaub" .... ich vermute, dass der Code einfach nicht kompiliert, viele Streitpunkte in Ihrer Vorlage, ich kann die Logik darin nicht sehen

 
Artyom Trishkin:

Ich werde nichts sagen, aber dies ist das einzige Unternehmen, bei dem ich Probleme mit historischen Daten hatte, als ich einen meiner Aufträge ausführte - es war an und aus.

Ich suchte nach den Gründen, bis ich dem Kunden sagte, er solle es mit Angeboten von anderen Maklern testen. Und es hat sich herausgestellt, dass dort alles in Ordnung ist.

Der Grund dafür ist, dass es verboten ist, auf dieser Ressource über Makler zu sprechen, lassen wir es dabei bewenden.

Das ist es ja, sie haben seit über einem halben Jahr kein Problem mehr gehabt. Ich habe versucht, es zu benutzen, weil aus irgendeinem Grund, unsere verwendet eine makdi Bargraph, scheint es das Problem sein, zumindest, wenn sie für QuickBooks bestellen wollte die Antwort war negativ nach der Überprüfung TOR, alle auf der eingebauten Plattform indukes ruhte, nur IMb manchmal im Winterschlaf und Amerika gibt zu arbeiten

 
Igor Makanu:

Sie haben kein vollständiges Beispiel, posten Sie den reproduzierbaren Code, d.h. eine vollständige Klassenvorlage und ein Codebeispiel, in dem Sie ein Objekt mit dieser Vorlage erstellen, bisher nur "Telepathen im Urlaub" .... Ich vermute, dass der Code einfach nicht kompiliert, es gibt viele fragwürdige Punkte in Ihrer Vorlage, vielleicht sehe ich die Logik darin nicht

Es sollte folgendermaßen funktionieren.

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

#define  templ(T)          template<typename T>// задача данного макроса определять int bool double и т.д

//Далее пишем макрос который будет принимать массив и возвращать
//результат с помощью вызова перегружаемой функции которая будет вызываться из класса, но в моём примере вписана простая функция,
// я 3 дня посидел и выяснил что макрос может принимать массивы любой размеренности  в принципе об этом написано в справке что макрос может принимать эл. любого типа
#define  Vosmas(a,b,c,d,e) /*return*/(Fun(a,b,c,d,e))//a- массив, 
                                                    //b- номер строки если нужен
                                                    //c,d- номера измерений если нужны и массив многомерный

int Mas[2],Mas2[2][2],Mas3[2][2][2];//объявил массивы которые будут хранить информацию// обработка с помощью классов должна быть любого типа templ(T)

int OnInit()
{int Perem=0;
//макрос должен вызвать функцию из класса и сделать следующее/ в моём примере будет простая функция
 Perem=Vosmas(Mas,0,0,0,3);
 Print("Vosmas: ",Perem);//результат 3
return(INIT_SUCCEEDED);}

templ(T)class CData{
public:CData(){};~CData(){};
       //перегружаемая функция Total() с наращиваемым количеством аргументов, не знаю будет ли оно наращивать аргументы вроде записывается но когда дойдёт до расчётов увидим
       //хотелось бы с этим разобраться 
       //а также делать такую перегрузку 
       T Total(T &mas[]    ,int y1=0 ...){return(mas[y1]);}  //y2 весит в холостую  
       T Total(T &mas[][]  ,int y1=0 ...){return(mas[y1][y2]);}
       T Total(T &mas[][][],int y1=0 ...){return(mas[y1][y2][y3]);}};
       
         
templ(T) T Fun(T &a[],int b,int c,int d,int e){a[b]=e; return (a[b]);}// оставшиеся аргументы будут висеть в холостую

Generell möchte ich diesen Effekt erreichen, habe aber keine Erfahrung im Bereich der Klassen. Der Code lässt sich kompilieren und funktioniert

 
Seric29:

Es sollte folgendermaßen funktionieren.

Leider verstehe ich die Logik dieses Codes nicht, ich kann mir nicht einmal vorstellen, warum man Sprachschlüsselwörter durch Makro-Substitution deklarieren sollte,

Und durch Logik, ich bezweifle, dass Sie Zugriff auf ein mehrdimensionales Array auf diese Weise erhalten, ich denke, Ihr Beispiel nur nicht eine Vorlage kompilieren und daher Sie nicht einen Kompilierzeitfehler erhalten,

Ich bin keine große Hilfe, vielleicht kann jemand anderes Ihr Beispiel nachvollziehen

 
Igor Makanu:

Leider verstehe ich die Logik dieses Codes nicht, ich kann mir nicht einmal vorstellen, warum Sie Makro-Substitution zur Deklaration von Sprach-Schlüsselwörtern verwenden sollten,

Und durch Logik, ich bezweifle, dass Sie Zugriff auf ein mehrdimensionales Array auf diese Weise erhalten, ich denke, Ihr Beispiel nur nicht eine Vorlage kompilieren und daher Sie nicht einen Kompilierzeitfehler erhalten,

Ich bin keine große Hilfe, vielleicht kann jemand anderes Ihr Beispiel nachvollziehen.

Der Code lässt sich zwar kompilieren, ist aber noch nicht fertig, denn es geht darum, dieses Ergebnis zu erhalten

return(mas[y1]);

Ich muss eine Funktion der Klasse aufrufen, um diesen Wert zu erhalten.

 
Seric29:

Der Code lässt sich kompilieren, ist aber noch nicht fertig.

noch einmal: nur weil Sie keinen Kompilierfehler erhalten haben, bedeutet das nicht, dass Ihre Vorlagenklasse enthalten war - wo ist das Objekt der CData-Klasse? - Ich sehe eine Template-Deklaration, wo ist die Variable? - Objekt ?

wenn Sie die Frage "unbedingt" lösen müssen, dann erstellen Sie vollständig reproduzierbaren Code - ganz ohne ..... Kommentare nach Ihrem Ermessen und noch einmal, ich verstehe die Logik der Verwendung von Makrosubstitution nicht

#define  templ(T)          template<typename T>

vielleicht ist das der "Kern", ich verwende selten Makros, zumindest wenn ich ein Makro verwende, verstehe ich, was es letztendlich tut, in Ihrem Beispiel ist es ein Rätsel für mich

 
Igor Makanu:

noch einmal: nur weil Sie keinen Kompilierungsfehler erhalten haben, bedeutet das nicht, dass Ihre Vorlagenklasse enthalten war - wo ist das CData-Klassenobjekt? - Ich sehe eine Mustererklärung, aber wo ist eine solche Variable? - Objekt ?

wenn Sie die Frage "unbedingt" lösen müssen, dann erstellen Sie vollständig reproduzierbaren Code - ganz ohne ..... Kommentare nach Ihrem Ermessen und noch einmal, ich verstehe die Logik der Verwendung von Makrosubstitution nicht

vielleicht ist das der Punkt, ich verwende selten Makros, zumindest wenn ich ein Makro verwende, verstehe ich, was es letztendlich tut, in Ihrem Beispiel ist es ein Rätsel für mich

Die Aufgabe des Makros Aufruf einer Funktion aus der Klasse und übergeben Sie den Wert an die Funktion und da Makro kann ein Array von beliebiger Dimension Ich versuche, ein solches Schema zu machen. Natürlich eine Menge von Edelsteinen, aber ich brauche, um die Funktion aus der Klasse aufrufen und ich weiß nicht, wie man eine einfache Funktion der Klasse (in meinem Fall, die Methode Total hat keine Beschreibung) ist nicht in der Hilfe geschrieben, gibt es komplexe Beispiele für die Übertragung.

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

#define  templ(T)          template<typename T>// задача данного макроса определять int bool double и т.д

#define  Vosmas(a,b,c,d,e)  5

int Mas[2],Mas2[2][2],Mas3[2][2][2];//объявил массивы которые будут хранить информацию// обработка с помощью классов должна быть любого типа templ(T)

int OnInit()
{int Perem=0;
Perem=Vosmas(Mas,0,0,0,0);
Print("Vosmas: ",Perem);
Perem=Vosmas(Mas2,0,0,0,0);
Print("Vosmas: ",Perem);
Perem=Vosmas(Mas3,0,0,0,0);
Print("Vosmas: ",Perem);//во всех случаях результат 5
return(INIT_SUCCEEDED);}

Hier ist ein Beispiel ein Makro nimmt ein Array von beliebiger Dimension, es ist schlecht, dass die Entwickler diese Funktionen normale Arbeit mit komplexen Elementen geschnitten haben

Man kann es auch ohne Vorlage machen, aber mit einer Vorlage ist es besser.