Indikator, Benötigt Ratschläge zur automatischen Kontrolle des Abstands zwischen Texten (MT-4)
Studieren Sie diesen kurzen Code und er könnte Ihnen helfen. Alles ist in Canvas implementiert.
Das Gute an Canvas ist, dass der Code für MT4 und MT5 fast derselbe sein wird.
Hallo, liebe Programmierer!
Bitte geben Sie Ihren besten Rat:
...
Ich danke Ihnen ))
Zeichnen Sie auf Leinwand:

- www.mql5.com
Sie denken richtig.
//подсчитывает количество пунктов цены в одном пикселе double GetPointsInPixel(long eChartId, int eWindow) { double eMin=EMPTY_VALUE; ChartGetDouble(eChartId,CHART_PRICE_MIN,eWindow,eMin); if(eMin==EMPTY_VALUE) return(0); double eMax=EMPTY_VALUE; ChartGetDouble(eChartId,CHART_PRICE_MAX,eWindow,eMax); if(eMax==EMPTY_VALUE) return(0); long ePixels=-1; ChartGetInteger(eChartId,CHART_HEIGHT_IN_PIXELS,eWindow,ePixels); if(ePixels<=0) return(0); return(double(eMax-eMin)/ePixels); }
double eIndent=GetPointsInPixel(eChartId,eWindow);
Dann addieren oder subtrahieren Sie diesen Wert zu dem gewünschten Preis, wenn sich die Ereignisse ändern:
-Änderung des Zeitrahmens,
-Vergrößerung/Verkleinerung einer Karte,
-Schrumpfung der Preisskala.
Studieren Sie diesen kurzen Code und er könnte Ihnen helfen. Alles ist in Canvas implementiert.
Das Gute an Canvas ist, dass der Code für MT4 und MT5 fast derselbe sein wird.
OK, Danke )
Ups... Nikolai ist mir zuvorgekommen...
... ))))))Die Hauptsache ist, dass die Gedanken dieselben sind ))))
Danke )))))
Sie denken richtig.
double eIndent=GetPointsInPixel(eChartId,eWindow);
Dann addieren oder subtrahieren Sie diesen Wert zu dem gewünschten Preis, wenn sich die Ereignisse ändern:
-Änderung des Zeitrahmens,
-Vergrößerung/Verkleinerung einer Karte,
-Schrumpfung der Preisskala.
Vielen Dank ))))))))
Vitaliy Kostrubko:
Sie denken richtig.
double eIndent=GetPointsInPixel(eChartId,eWindow);
Dann addieren oder subtrahieren Sie diesen Wert zu dem gewünschten Preis, wenn sich die Ereignisse ändern:
-Änderung des Zeitrahmens,
-Vergrößerung/Verkleinerung einer Karte,
-Schrumpfung der Preisskala.
Vielen Dank ))))))))
Und sagen Sie dem bedauernswerten Berater, dass er anfangen muss, die Sprache zu lernen, nicht die Beispiele von ****.
Und sagen Sie dem bedauernswerten Berater, dass er anfangen muss, die Sprache zu lernen, nicht die Beispiele von ****.
Kopieren )))))
... Die Zeit zeigt, dass selbst 10 Jahre Programmiererfahrung mit einer Vielzahl von EAs (verschiedene Komplexitätsstufen) == nicht ausreichen, um das gesamte Gebiet der Programmierung zu kennen)
denn in diesen 10 Jahren können Sie ein Superprofi in 2/3 der Programmiersprachen werden ... und weiß nicht einmal 1/3 davon))
also kein Grund, beleidigt zu sein)) aber es liegt an Ihnen, diesen 1/3 Teil zu meistern == es ist eine individuelle Angelegenheit)).
.... er ist einfach mehr an "schlauen ALGORITHMEN interessiert, die PROFIT bringen... und das Schreiben von "Cartoons" ist nicht sein Interesse ...
Aber Ihr Beispiel werde ich ihm sicher zeigen)).
Danke ))))
Nimm es )))))
... Die Zeit zeigt, dass selbst 10 Jahre Programmiererfahrung mit den verschiedensten EAs (verschiedene Komplexitätsstufen) == nicht ausreichen, um den GESAMTEN Bereich der Programmierung zu kennen)
denn in diesen 10 Jahren können Sie ein Superprofi in 2/3 der Programmiersprachen werden ... und weiß nicht einmal 1/3 davon))
also kein Grund, beleidigt zu sein)) aber es liegt an Ihnen, diesen 1/3 Teil zu meistern == es ist eine individuelle Angelegenheit)).
.... er ist einfach mehr an "schlauen ALGORITHMEN interessiert, die PROFIT bringen... und "Cartoons" sind nicht sein Interesse ...
Aber dein Beispiel werde ich ihm sicher zeigen )).
Danke ))))
Sie brauchen sich nicht auf mich zu beziehen. Diese Möglichkeit habe ich zwar genutzt, aber nicht geäußert. Ich habe meinen Namensvetter nur in seiner Meinung unterstützt.

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo liebe Programmierer!
Bitte geben Sie Ihren Rat:
Wir machen einen Expert Advisor in Form eines Indikators! Seine Aufgabe - für ein Muster auf dem Chart zu suchen, und über die Balken zu schreiben Text (mehrzeilige (!), wie
Zeile #1 "Signalname"
Zeile #2 "% Wahrscheinlichkeit"
Zeile #3 "Symbol" (Pfeil)
Das Problem ist, dass WENN Sie einen FIXIERTEN Abstand zwischen den Linien festlegen = z.B. 25 Pips, alles ist in Ordnung auf m5 ... aber bei H1 = liegen die Zeilen zu weit auseinander (das ist das Problem bei festem Text (!!!)
Bitte um Rat - WIE können wir eine "automatische Berechnung" des Abstands zwischen den Linien vornehmen, wenn sich die TF ändert, oder die "Höhe" des Diagramms, wenn das Diagramm leicht nach links oder in der Höhe verschoben wird (????!!!)
..... fällt mir nur eine Sache ein:
1) "get" die aktuelle Chart-Höhe (min. und max. Preis) :
2) Max Price - Min. Price = "chart height in pips" und wir nehmen es immer als 100%.
3) anstelle von "fester Abstand zwischen den Linien (25 Pips) - geben Sie den Abstand in Prozent an (z.B. 2% der Charthöhe von Punkt 2))
..... hat mit einem Programmierer gesprochen - er sagt == OBJEKTE NICHT BEWEGEN ... Nun, nach dem Umdrehen des Diagramms kann man nicht ....... == den mehrzeiligen Text so positionieren, dass er sich nicht überschneidet == man muss den gesamten Text nach dem Umdrehen des Diagramms löschen == den gesamten Text löschen und neu schreiben, wobei die neue Höhe des Diagramms zu berücksichtigen ist (Punkt 2) (!)
..... dann überlege ich weiter == OK, was ist, wenn ich die Zeichnung NUR im SCREEN GUIDE mache ???!
Es heißt = ok, NEUE Signale werden geschrieben Richtig, aber die, die übrig bleiben = = = ODER wieder übereinander passen, oder umgekehrt = noch weiter strecken (nach oben und unten), denn "man kann die bereits gezeichneten Objekte nicht verschieben, sondern muss sie nur löschen, und neu zeichnen (!)
Frage an Sie = Ist jemand bereits auf ein solches ??????? gestoßen, wie haben Sie dieses Problem gelöst? )))
(so dass bei jedem Maßstab und jeder Höhe des Diagramms = mehrzeiliger Text zum normalen Zeilenabstand zurückkehrt (wenn mit einem Lineal visuell gemessen == 3mm mit dem Auge) ... d.h. die Zeilenabstände sollten DYNAMISCH sein) ????? )))))))))
Ich möchte nur nicht die gesamte Aufschrift in EINER Zeile und in einem Winkel von 45° (!) machen, denn es ist visuell bequemer, den Text HORIZONTAL und in 2-3 Zeilen zu machen :)
Bitte um Rat (teilen Sie Ihre Erfahrungen mit)
Danke)).