Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1107
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
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?
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?
Wie kann ich das Standardbild in der Beschreibung durch ... ersetzen?
... kann ich meine eigenen eintragen?
Wie kann ich das Standardbild in der Beschreibung durch ... ersetzen?
... kann ich meine eigenen eintragen?
#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?
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?
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))