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

 
Igor Makanu:

Sie können in OnInit nichts Langes ausführen - das Terminal könnte den Code entladen

im Indikator sollte nicht funktionieren

Ja, ich bin dumm... Vielleicht, statt einer Endlosschleife in OnInit, Rückkehr von OnCalculate mit der gleichen Bedingung? - es sollte eine eindeutige Zahl geben, wenn es keine Anmeldung gibt, entweder -1, oder 0, oder EMPTY_VALUE

 

Grüße Händler und Programmierer!

Könnten Sie mir bitte sagen, ob es möglich ist, eine nicht standardisierte Methode zur Berechnung des Zeitraums für den MA(Moving Average) zu verwenden? Ich meine, dass die Position des MA auf dem aktuellen (Null-)Balken nicht durch die letzten 20 (z.B.) Balken bestimmt wird, sondern durch jeden 5m der letzten 100, oder einfach durch Angabe der Anzahl der Balken in der Historie, beginnend mit dem aktuellen. Und wenn es eine solche Möglichkeit gibt, ist es dann möglich, die Funktion direkt im Indikatorcode anzugeben?

Vielen Dank für die Informationen.

 

Hallo. Wie kann ich das Dreieckssymbol nach unten und oben anzeigen?

Hier ist der Code

bool OutText(const string name="Label",

const string text="Label", // Text

const int x=0, // X-Koordinate

const int y=0, // Koordinate entlang der Y-Achse

const color clr=clrYellow, // Farbe

const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // Verankerungsmethode

const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // Kartenecke für Anker

const int font_size=12, // Schriftgröße

const string font="Arial", // Schriftart

const double angle=0.0, // Textneigung

const bool back=false, // zurück

const bool selection=false, //zum Verschieben auswählen

const bool hidden=true, // versteckt in der Liste der Objekte

const long z_order=0,

const int sub_window=0, // Anzahl der Unterfenster

const long chart_ID=0 // Karten-ID

) // Klickpriorität

{

//--- den Fehlerwert zurücksetzen

ResetLastError();

//--- eine Textmarke erstellen

if(ObjectFind(chart_ID,name)==-1)

{

if(!ObjectCreate(diagram_ID,name,OBJ_LABEL,sub_window,0,0))

{

Print(__FUNCTION__, ": Text-Etikett kann nicht erstellt werden! Fehlercode = ",GetLastError());

// return(false);

}

}

//--- Markierungskoordinaten festlegen

ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);

ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);

//--- Festlegen des Kartenwinkels, in Bezug auf den die Punktkoordinaten bestimmt werden sollen

ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);

//--- den Text einstellen

ObjectSetString(Diagramm_ID,Name,OBJPROP_TEXT,Text);

//--- Schriftart einstellen

ObjectSetString(chart_ID,name,OBJPROP_FONT,font);

//--- Schriftgröße einstellen

ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);

//--- Neigungswinkel des Textes einstellen

ObjectSetDouble(Diagramm_ID,Name,OBJPROP_ANGLE,Winkel);

//--- Verankerungsmethode festlegen

ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);

//--- Farbe einstellen

ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);

//--- Anzeige im Vordergrund (falsch) oder im Hintergrund (wahr)

ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);

//--- Einschalten (true) oder Ausschalten (false) des Modus zum Verschieben der Markierung mit der Maus

ObjectSetInteger(Diagramm_ID,Name,OBJPROP_SELECTABLE,Auswahl);

ObjectSetInteger(Diagramm_ID,Name,OBJPROP_SELECTED,Auswahl);

//--- Ausblenden (true) oder Anzeigen (false) des grafischen Objektnamens in der Objektliste

ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);

//--- Priorität für das Ereignis des Mausklick-Empfangs festlegen

ObjectSetInteger(diagram_ID,name,OBJPROP_ZORDER,z_order);

//--- erfolgreiche Ausführung

return(true);

}

Wie bekomme ich das Dreieckssymbol nach oben?

Was geschrieben werden sollte

OutText("LabelBuy1", ">", 100, 20, clrWhite, ANCHOR_UPPER,CORNER_LEFT_UPPER,14, "Arial");

Um ein Dreieck zu bilden?

1



Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
 

Früher habe ich die Frage gestellt, wie man die Print()-Funktion auf der Bibliotheksseite simuliert, um die Daten zu überprüfen, die in die Bibliotheksfunktionen eingehen, und um nach Fehlern zu suchen, wurde mir geraten, C++-Ressourcen zu verwenden: d.h. Informationen von der DLL-Bibliotheksseite in die Datei aufzunehmen. Im Allgemeinen kann die Bibliothek nicht eine Datei erstellen, um die Informationen dort zu schreiben, wird die Datei weder in das Verzeichnis Projekt erstellt, noch in den Ordner mit dem Roboter, versucht, den Standardpfad angeben, funktioniert nicht, die Ausgabe von Informationen über cout auch nicht funktionieren, aber wahrscheinlich nicht, weil es nicht ganz eine Konsolenanwendung. Wer kann beraten?

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>//подключаю библиотеку для записи в файл

/*using std::cout;
using std::endl;
using std::cin;*/

using namespace std;

#define _DLLAPI extern "C" __declspec(dllexport)

_DLLAPI int __stdcall Funkt(int qa){//"C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt"
        ofstream file;//"C:\\Users\\123\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication8\\ConsoleApplication8\\Moyperviyzapisfiles.txt"
        //"C:\\Users\\123\\documents\\visual studio 2012\\Projects\\ConsoleApplication8\\Debug\\ConsoleApplication8.dll\\Moyperviyzapisfiles.txt"
        file.open("C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt"/*,ios::out*/);//Moy perviy zapis files
        file<<"Moyperviyzapisfiles";//хочу записать эту фразу в файл
        file.close();   
        return 12;}
//если это делать не в библиотеке то работает.
 

Wie kann ich das Standardbild in der Beschreibung durch ... ersetzen?


... kann ich meine eigenen eintragen?


 
Alexandr Sokolov:

Wie kann ich das Standardbild in der Beschreibung durch ... ersetzen?


... kann ich meine eigenen eintragen?


#Eigenschaftssymbol
 
Artyom Trishkin:
#Eigenschaftssymbol

Wie einfach es ist... Ich danke Ihnen!

 

Hallo!

Könnten Sie mir bitte sagen, wie man die Erkennung von manuell gezeichneten grafischen Objekten in einem Diagramm (z. B. horizontale oder Trendlinien) implementiert und dann ihre Eigenschaften (Preisniveau zum richtigen Zeitpunkt) abruft?

 
odyn:

Hallo!

Könnten Sie mir bitte sagen, wie man die Erkennung von manuell gezeichneten grafischen Objekten in einem Diagramm (z. B. horizontale oder Trendlinien) implementiert und dann ihre Eigenschaften (Preisniveau zum richtigen Zeitpunkt) abruft?

Wenn die Anzahl der Objekte auf dem Diagramm gestiegen ist, dann...
 
odyn:

Hallo!

Könnten Sie mir bitte sagen, wie man die Erkennung von manuell gezeichneten grafischen Objekten in einem Diagramm (z. B. horizontale oder Trendlinien) implementiert und dann ihre Eigenschaften (Preisniveau zum richtigen Zeitpunkt) abruft?

Sie haben ein standardisiertes Präfix, z.B.: Trenler-Nummer. Sie können wie folgt suchen: in der Schleife if(StringFind(ObjectName(0,i), "Trendline")==0) nach alten oder nach neuen if(StringFind(sparam, "Trendline")==0))