Autor |
|
_Charly
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 81
|
|
|
07.04.2001, 18:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
|
07.04.2001, 19:10 |
|
_Schmalhofer Johann
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 36
|
|
|
07.04.2001, 21:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
|
08.04.2001, 15:10 |
|
_Charly
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 81
|
|
RE: Bull. Div. Ind. HI Uwe | |
Februar!! Aber es war der 9.2. wie folgt: >>Folgende "Function" befindet sich in der Easy Language: "Bullish Divergence"
Kann man aus dieser "Function" einen Indicator für den Radarscreen entwickeln,der bei einer Divergenz grün aufleuchtet? Welche Änderungen muß ich hier vornehmen,wenn ich als Oscillator den RSI verwende?
Inputs: Price(NumericSeries), Oscillator(NumericSeries),Strength(NumericSimple),Length(NumericSimple); Variables: Return(0); Value1 = -1; Value2 = -1; Value3 = -1; Value4 = -1; Return = 0;
Value1 = SwingLowBar(1,Price,Strength,Length; If Value1 >-1 Then Value2 = SwingLowBar(2,Price,Strength,Length); If Value2 >-1 Then Value3 = SwingLowBar(1,Oscillator,Strength,Length); If Value3 >-1 Then Value4 = SwingLowBar(2,Oscillator,Strength,Length); IfValue4 >-1 Then Begin Condition1 = Price[Value1]Condition2 =Oscillator[Value3]>Oscillator[Value4]; If Condition1 and Condition2 Then Return =1; End; BullishDivergence = Return;
Freue mich auf jede Antwort.<<
|
|
08.04.2001, 16:10 |
|
_Schmalhofer Johann
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 36
|
|
|
08.04.2001, 21:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
RE: Bull. Div. Ind. - mögliche Lösung? | |
In meiner Anwort werde ich davon ausgehen, daß Deine EL-Function den Namen BullishDivergencr erhalten hat und von zwei Übertragungsfehlern gegen über Deiner Darstelung befreit ist:
Inputs: Price(NumericSeries), Oscillator(NumericSeries),Strength(NumericSimple),Length(NumericSimple); Variables: Return(0); Value1 = -1; Value2 = -1; Value3 = -1; Value4 = -1; Return = 0;
Value1 = SwingLowBar(1,Price,Strength,Length); If Value1 >-1 Then Value2 = SwingLowBar(2,Price,Strength,Length); If Value2 >-1 Then Value3 = SwingLowBar(1,Oscillator,Strength,Length); If Value3 >-1 Then Value4 = SwingLowBar(2,Oscillator,Strength,Length); IfValue4 >-1 Then Begin Condition1 = Price[Value1]Condition2 =Oscillator[Value3]>Oscillator[Value4]; If Condition1 and Condition2 Then Return =1; End; BullishDivergence = Return;
Dei Funktion liefert bei Aufruf in einem EL-Programm den Wert 1 oder 0 zurück, je nach dem, ob er eine bullische Divergenz innerhalb der letzten Length-Bars zwischen dem Preis und dem Oszillator entdeckt hat oder nicht.
Eine kleine Einschränkung muß du allerdings bei dieser Funktionsprogrammierung beachten: der Osc-Wert darf nie kleine oder gleich -1 werden, denn dann wird als Rückgabewert Null gegeben. Können bei dem Oszillator Werte mit -1 und kleiner Auftreten, ist zu empfehlen die Vorgabe- und Abfragegrenzwerte für ValueX entsprechend anzupassen.
Der Aufruf im EL-Indikatorprogramm (oder in anderen Programmtypen) lautet:
BullishDivergence(Price, Oscillator, Strength, Length);
Über eine Zuweisung des Rückgabewertes an eine Variable oder den direkten Einsatz in einer IF abfrage, kannst Du nun das gewünschte Ergebnis erzielen.
input: Price(Low), Strength(2), Length(30); vars: Osc(0);
OSC = ....Deine Oszillatorfunktion mit entspechenden Paramentern;ggf. als Input möglich....
If BullishDivergence(Price, Osc, Strength, Length)=1 then plot1(" ",green, green) else plot1(" ",default, default);
Bin nicht dazu gekommen, diese Anweisungen zu testen, also viele Glück beim Probieren Uwe
|
|
09.04.2001, 00:10 |
|
_Charly
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 81
|
|
|
09.04.2001, 13:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
RE: Bull. Div. Ind. - mögliche Lösung? (Korrektur) | |
Korrektur:
input: Price(Low), Strength(2), Length(30); vars: Osc(0);
OSC = ....Deine Oszillatorfunktion mit entspechenden Paramentern;ggf. als Input möglich....
If BullishDivergence(Price, Osc, Strength, Length)=1 then plot1(" ","",green, green) else plot1(" ","",default, default);
Radar-Screen-Beispiel:
input: Strength(2), Length(15); vars: OscHigh(0), OscLow(0), Bull(0), Bear(0); vars: Neutral(GetBackgroundColor);
OscLow = (Average(Low,5)-Average(Low,35))/(Average(Low,35)); OscHigh = (Average(High,5)-Average(High,35))/(Average(High,35));
Bull=BullishDivergence(Low, OscLow, Strength, Length); Bear=BearishDivergence(High, OscHigh, Strength, Length);
if Bull = Bear then plot1(" ","", Neutral, Neutral) else if Bull=1 then plot1("Bull","", black, green) else plot1("Baer","", white, red);
|
|
09.04.2001, 13:10 |
|
|