Die Gleichung einer Geraden. Diese Funktion berechnet den Wert der Ordinate Y für die Abszisse X im Schnittpunkt mit einer Linie, die durch zwei beliebige Punkte des Diagramms gezogen wird. Die Funktion benötigt die folgenden obligatorischen Parameter:
x1, y1 - Koordinaten des ersten Punktes.
x2, y2 - Koordinaten des zweiten Punktes.
x - Wert, Abszisse, für den die Y-Ordinate berechnet werden soll.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Уравнение прямой. |//| Вычисляет значение Y для X в точке пересечения с прямой. |//+----------------------------------------------------------------------------+//| Параметры: |//| x1,y1 - координаты первой точки, |//| x2,y2 - координаты второй точки, |//| x - значение, для которого вычислить Y |//+----------------------------------------------------------------------------+doubleEquationDirect(doublex1, doubley1, doublex2, doubley2, doublex){if(x2==x1)return(y1);
return((y2-y1)/(x2-x1)*(x-x1)+y1);
}
Ich habe diese Funktion geschrieben, um die Entwicklung von Signalindikatoren, d.h. von Indikatoren, die klare Kauf- oder Verkaufssignale geben, zu erleichtern. Das Signal eines solchen Indikators gebe ich in der Regel als Abwärtspfeil oberhalb des Khai eines Balkens oder als Aufwärtspfeil unterhalb des Tiefs des entsprechenden Balkens. Der Wert von "unter" und "über" war in der Regel ein paar Punkte, so dass der Pfeil nicht "über" den Balken laufen würde. Bei einem Indikator mit einem einzigen Zeitrahmen, der z. B. nur für eine Stunde ausgelegt ist, war das kein großes Problem. Für jeden Zeitrahmen hatte ich unterschiedliche Werte "unter" und "über". Für einen Multiframe-Indikator musste ich jedoch die Funktion GetArrowInterval() verwenden:
Dies ist eine alte Variante, die sich sehr schnell in eine kompaktere und vielseitigere Form verwandelt hat:
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//+----------------------------------------------------------------------------+//| Описание : Возвращает интервал установки сигнальных указателей |//| Параметры: |//| pr - процент относительно ценового размера окна |//+----------------------------------------------------------------------------+intGetArrowInterval(intpr=7){if(pr<=0)pr=7;
return((WindowPriceMax()-WindowPriceMin())/100*pr/Point);
}
Die Gleichung einer Geraden. Diese Funktion berechnet den Wert der Ordinate Y für die Abszisse X im Schnittpunkt mit einer Linie, die durch zwei beliebige Punkte des Diagramms gezogen wird. Die Funktion benötigt die folgenden obligatorischen Parameter:
x1, y1 - Koordinaten des ersten Punktes.
x2, y2 - Koordinaten des zweiten Punktes.
x - Wert, die Abszisse, für die Sie die Y-Ordinate berechnen möchten.
Schreiben Sie bitte den zweiten Teil der Geradengleichung.
Berechnen Sie den Wert der Ordinate Y für die Abszisse von X im Schnittpunkt mit einer Linie, die durch einen beliebigen Punkt auf einem Diagramm mit einem bestimmten Winkel gezogen wird. Die Funktion benötigt die folgenden obligatorischen Parameter:
x1, y1- Koordinaten des ersten Punktes.
a - Winkel in Grad.
x - Wert, die Abszisse, für die Sie die y-Ordinate berechnen möchten.
Schreiben Sie den zweiten Teil der Gleichung einer Geraden.
Berechnen Sie den Wert der Ordinate Y für die Abszisse X im Schnittpunkt mit einer Linie, die durch einen beliebigen Punkt eines Diagramms mit einem bestimmten Winkel gezogen wird. Die Funktion benötigt die folgenden obligatorischen Parameter:
x1, y1- Koordinaten des ersten Punktes.
a - Winkel in Grad.
x - Wert, die Abszisse, für die die Y-Ordinate berechnet werden soll.
Ich danke Ihnen.
Ein 45°-Winkel entsteht, wenn die Katheter gleich groß sind. Wenn die Maßeinheit der Katheter metrisch ist, gibt es kein Problem. Der eine Katheter ist zwei Meter lang, der andere ebenfalls zwei Meter. Das ist also ein 45°-Winkel. Aber was ist, wenn ein Katheter die Anzahl der Takte oder die Zeit ist, und der andere Katheter der Preis? Wie stellt man sicher, dass sie gleich sind, so dass der Winkel 45° beträgt? Es ist eine Frage der Skalierung. Gib mir einen Drehpunkt und ich bewege den Boden (c).
Beispiele für die Verwendung von SetRegression().
PS. Im Anhang finden Sie ein Skript zum Testen der Funktion SetRegression().
Die Funktion EquationDirect().
Die Gleichung einer Geraden. Diese Funktion berechnet den Wert der Ordinate Y für die Abszisse X im Schnittpunkt mit einer Linie, die durch zwei beliebige Punkte des Diagramms gezogen wird. Die Funktion benötigt die folgenden obligatorischen Parameter:
Beispiele für die Verwendung von EquationDirect().
SZY: Im Anhang finden Sie ein Skript zum Testen von EquationDirect().
GetArrowInterval() Funktion.
Ich habe diese Funktion geschrieben, um die Entwicklung von Signalindikatoren, d.h. von Indikatoren, die klare Kauf- oder Verkaufssignale geben, zu erleichtern. Das Signal eines solchen Indikators gebe ich in der Regel als Abwärtspfeil oberhalb des Khai eines Balkens oder als Aufwärtspfeil unterhalb des Tiefs des entsprechenden Balkens. Der Wert von "unter" und "über" war in der Regel ein paar Punkte, so dass der Pfeil nicht "über" den Balken laufen würde. Bei einem Indikator mit einem einzigen Zeitrahmen, der z. B. nur für eine Stunde ausgelegt ist, war das kein großes Problem. Für jeden Zeitrahmen hatte ich unterschiedliche Werte "unter" und "über". Für einen Multiframe-Indikator musste ich jedoch die Funktion GetArrowInterval() verwenden:
Dies ist eine alte Variante, die sich sehr schnell in eine kompaktere und vielseitigere Form verwandelt hat:
Beispiele für die Verwendung von GetArrowInterval().
SZY: Im Anhang finden Sie ein Skript zum Testen der Funktion GetArrowInterval().
In e-SOTrailing EA müssen Sie Änderungen an den Takes und Stops vornehmen.
Ich danke Ihnen! Erledigt... Der korrigierte EA ist auf meiner Website zu finden.
Die Funktion EquationDirect().
Die Gleichung einer Geraden. Diese Funktion berechnet den Wert der Ordinate Y für die Abszisse X im Schnittpunkt mit einer Linie, die durch zwei beliebige Punkte des Diagramms gezogen wird. Die Funktion benötigt die folgenden obligatorischen Parameter:
Schreiben Sie bitte den zweiten Teil der Geradengleichung.
Berechnen Sie den Wert der Ordinate Y für die Abszisse von X im Schnittpunkt mit einer Linie, die durch einen beliebigen Punkt auf einem Diagramm mit einem bestimmten Winkel gezogen wird. Die Funktion benötigt die folgenden obligatorischen Parameter:
Ich danke Ihnen.
Schreiben Sie den zweiten Teil der Gleichung einer Geraden.
Berechnen Sie den Wert der Ordinate Y für die Abszisse X im Schnittpunkt mit einer Linie, die durch einen beliebigen Punkt eines Diagramms mit einem bestimmten Winkel gezogen wird. Die Funktion benötigt die folgenden obligatorischen Parameter:
Ich danke Ihnen.
Ein 45°-Winkel entsteht, wenn die Katheter gleich groß sind. Wenn die Maßeinheit der Katheter metrisch ist, gibt es kein Problem. Der eine Katheter ist zwei Meter lang, der andere ebenfalls zwei Meter. Das ist also ein 45°-Winkel. Aber was ist, wenn ein Katheter die Anzahl der Takte oder die Zeit ist, und der andere Katheter der Preis? Wie stellt man sicher, dass sie gleich sind, so dass der Winkel 45° beträgt? Es ist eine Frage der Skalierung. Gib mir einen Drehpunkt und ich bewege den Boden (c).