RR Trading Software


Tradesignal Expertise seit 2003

Dienstleistungen für Tradesignal Online

Tradesignal Toolboxes

Handelssysteme für Dax Future und Bund Future

Lexikon

Herzlich Willkommen im Lexikon der Website. Hier finden Sie Themen, die mit Tradesignal Online Terminal thematisch verbunden sind. Zahlreiche Tutorials helfen Ihnen bei der Anwendung des Programms, meiner Handelssysteme und der anderen Tools und Erweiterungen. Zahlreiche Know Hows ergänzen die Tutorials und stellen ins Besondere Wissen zur Programmierung in Equilla und der COM Schnittstelle zur Verfügung.

Tradesignal Online Lexikon

Tradesignal Toolboxes Lexikon

Equilla Code Library

Bibliothek Grafic (GR)

Die Bibliothek stellt Funktionen zur Verfügung, mit denen Symbole, Flächen und andere Elemente gezeichnet werden können. Neben der Anwendung in Indikatoren und Handelssystemen, zur Visualisierung von Signalen, Situationen und Zuständen, können viele Funktionen auch während des Entwicklungsprozesses zur Kontrolle von Variablen, Statusflaggen oder Programmabläufen genutzt werden.

Variablen und Zustände mit Flächen markieren

Der Beispiel Indikator zeigt, wie Sie die ConditionPainter() und ConditionMarker() Funktionen nutzen können um gezielt Flächen in den Chart zu zeichnen. Die Funktion ConditionPainter() eignen sich besser als die ConditionMarker() Funktion zum Visualisieren von Formationen oder Bereichen, wie hier die vertikalen Begrenzungen bestimmt werden können. Mit der ConditionMarker() Funktion können Sie leicht Bereiche des Charts färben um bestimmte Zustände zu signalisieren. 

ConditionPainter()

Die Funktion reagiert auf den Wahrheitszustand der Variable, die als zweiter Parameter übergeben wird. Solange diese Variable auf True steht, wird die Fläche zwischen den vertikalen Begrenzungen gezeichnet. Zusätzlich können Sie bestimmen, ob die Fläche ein zurückliegendes Ereignis markieren soll oder einfach dem Variableninhalt "folgt". Für den ersten Fall sollten Sie die Funktion an einem singulären Ereignis aufrufen, wie im Beispiel dem Tageswechsel und den letzten Parameter mit einer Zahl füllen, die größer als 0 sein muss. Mit diesem Parameter bestimmen Sie, wie viele Perioden die Fläche rückwärts in die Historie gezeichnet werden soll. 

Alternativ sollte die Funktion frei im Code aufgerufen werden. Dann folgt Sie den Inhaltsverlauf der boolschen Variable. Für diesen Anwendungsfall muss der letzte Parameter auf 0 gesetzt werden. 

ConditionMarker()

Die Funktion zeichnet eine farbige Fläche, solange die übergebene boolsche Variable den Wert True enthält. Der erste Parameter dient als Status Flag, mit der die Markierungsfunktion grundsätzlich ein und ausgeschaltet werden kann. Damit kann der Anwender zum Beispiel über einen Input Button bestimmen, ob die Markierungsfunktion aktiv sein soll. Das zweite Parameter ist ebenfalls eine boolsche Variable, die den zu markierenden Zustand enthält. Das dritte Parameter bestimmt die Farbe der Markierung. 

Beispiel Indikator
Meta:
	SubChart( False ),
	Author( "Rene Rose" ),
	WebLink( "www.rrtradingsoftware.de" ),
	Synopsis( "Zeigt, wie mit den ConditionPainter() und ConditionMarker() 
	Funktion aus der Grafik Bibliothek gearbeitet werden kann." );

Inputs:
	Markiere_Trendtage( True ),
	Markiere_Nachmittag( True ),
	Uhrzeit_Markierung( "16:00" );

Vars:
	prevDayHigh, prevDayLow, prevDayRange, avgDayRange, extendedRange, barsInDay,
	afternoonTime, afternoonCondition;

if CurrentBar = 1 Then
	afternoonTime = STR_ResolveTime( Uhrzeit_Markierung );

//Berechnet den Durchschnitt der täglichen Handelsspannen, für zehn Tage
avgDayRange = Average( Range[1] of 'Data1 D', 10 );

//Findet den Tageswechsel in einem Intraday Chart
If Date <> Date[1] Then
	Begin
		extendedRange = False;
			
		//Ermittelt die Handelsspanne des Vortages
		prevDayHigh = High[1] of 'Data1 D';
		prevDayLow = Low[1] of 'Data1 D';
		prevDayRange = prevDayHigh - prevDayLow;
		
		//Legt fest, dass eine Tagesspanne über dem Durchschnitt markiert werden soll
		If prevDayRange > avgDayRange Then
			extendedRange = True;
		
		GR_ConditionPointer( extendedRange, Black );
		
		//Markiert einen Bereich rückwärts in den Chart, wenn der letzte Parameter größer 0 gesetzt wird
		If extendedRange Then
			GR_ConditionPainter( Markiere_Trendtage, extendedRange, DarkGray, prevDayHigh, prevDayLow, barsInDay );
			
		barsInDay = 0;
	End;

//Markiert einen vertikal begrenuten Bereich, in Abhängigkeit der boolschen Variable
//in Parameter 2
GR_ConditionPainter( Markiere_Trendtage, extendedRange, Blue, prevDayHigh, prevDayLow, 0 );

//Zählt die Anzahl der Perioden pro Handelstag
barsInDay = barsInDay + 1;

//Markier alle Bereiche, die als Nachmittag erkannt werden mit einer durchgehenden 
//Hintergrundfarbe. Die Markerfunktion zeichnet immer dann eine farbige Fläche, wenn
//die übergebene boolsche Variable den Wert True enthält.
afternoonCondition = Time > afterNoonTime;
GR_ConditionMarker( Markiere_Nachmittag, afternoonCondition, ColorOrange );

Singuläre Ereignisse markieren

Der Indikator zeigt die Anwendung der ConditionPointer() Funktion, die eine senkrechte Farbige Linie durch den Chart zeichnet, wenn die übergebene boolsche Variable den Zustand True aufweist.

Beispiel Indikator
Meta:
	SubChart( False ),
	Author( "Rene Rose" ),
	WebLink( "www.rrtradingsoftware.de" ),
	Synopsis( "Zeigt, wie mit den Marker und Pointer Funktionen aus der 
	Grafik Bibliothek gearbeitet werden kann." );

Inputs:
	Zustand_Hervorheben( True ),
	Ereignis_Anzeigen( True );

Vars:
	stateVar, longCondition;

//Definiert einen Zustand, der über mehrere Perioden zutreffend sein kann

longCondition = Close > Average( Close, 10 );

GR_ConditionMarker( Zustand_Hervorheben, longCondition, DarkGreen );

//Definiert ein singuläres Ereignis, das an einer einzelnen Periode eintritt

stateVar = longCondition And ! longCondition[1];
GR_ConditionPointer( Ereignis_Anzeigen And stateVar, Black );

Funktionen in der Bibliothek

ConditionPainter
Meta:
	Weblink("www.rrtradingsoftware.de"),
	Author("Rene Rose, www.rrtradingsoftware.de"),
	Synopsis( "Zeichnet den Zustand einer Boolschen Variable als 
	farbige vertikal begrenzte Fläche." );
	
Inputs:
	ActivateMarker( TrueFalseSimple ),
	MarkerCondition( TrueFalseSeries ),
	MarkerColor( NumericSimple ),
	UpperLevel( NumericSeries ),
	LowerLevel( NumericSeries ),
	DisplaceBars( NumericSimple );

Vars:
	toolID(-1), initCondition, serialCondition;

serialCondition = MarkerCondition;

If ActivateMarker Then
	Begin
		If DisplaceBars = 0 Then
			Begin
				If ! initCondition And serialCondition Then
					initCondition = True;
					
				If initCondition Then
					Begin
						If serialCondition <> serialCondition[1] Then
							Begin
								If serialCondition Then
									toolID = DrawRectangle( DateTime, UpperLevel, DateTime, LowerLevel, MarkerColor, TransparentColor( MarkerColor, 200 ), ToolDrawInBackground + ToolEngulfing )
								Else If ! serialCondition And toolID > -1 Then
									ToolSetEnd( toolID, DateTime[1], ToolGetEndValue( toolID ) );
							End;
						
						If serialCondition And ( UpperLevel <> UpperLevel[1] Or LowerLevel <> LOwerLevel[1] ) Then
							Begin
								ToolSetEnd( toolID, DateTime[1], ToolGetEndValue( toolID ) );
								toolID = DrawRectangle( DateTime, UpperLevel, DateTime, LowerLevel, MarkerColor, TransparentColor( MarkerColor, 200 ), ToolDrawInBackground + ToolEngulfing );
							End;
					End;
		
				If serialCondition And toolID > -1 And IsLastBar Then
					ToolSetEnd( toolID, DateTime, ToolGetEndValue( toolID ) );
			End
		Else DrawRectangle( Date, Time, UpperLevel, Date[DisplaceBars], Time[DisplaceBars], LowerLevel, MarkerColor, TransparentColor( MarkerColor, 200 ), ToolDrawInBackground + ToolEngulfing );
	End;

GR_ConditionPainter = 0;
ConditionPointer
Meta:
	Synopsis("Zeichnet eine senkrechte Linie, wenn die Condition Variable True
	enthält. Kann zum markieren und debuggen verwendet werden."),
	Weblink("www.rrtradingsoftware.de"),
	Author("Rene Rose, www.rrtradingsoftware.de");
	
Inputs:
	Condition( TrueFalseSimple ),
	Color( NumericSimple );

If Condition Then
	DrawSymbol( Close, "Pointer", SymbolVerticalLine, 1, Color );

GR_ConditionPointer = 0;
ConditionMarker
Meta:
	Weblink("www.rrtradingsoftware.de"),
	Author("Rene Rose, www.rrtradingsoftware.de"),
	Synopsis( "Zeichnet den Zustand einer Boolschen Variable als farbige Fläche." );

Inputs:
	ActivateMarker( TrueFalseSimple ),
	MarkerCondition( TrueFalseSeries ),
	MarkerColor( NumericSimple );

Vars:
	toolID(-1), initCondition, serialCondition;

serialCondition = MarkerCondition;

If ActivateMarker Then
	Begin
		If ! initCondition And serialCondition Then
			initCondition = True;
			
		If initCondition Then
			Begin
				If serialCondition <> serialCondition[1] Then
					Begin
						If serialCondition Then
							Begin
								toolID = DrawRecTangle( DateTime, High, DateTime, High, MarkerColor,
									TransparentColor( MarkerColor, 200 ), ToolExtendTop + ToolExtendBottom + ToolDrawInBackground + ToolEngulfing );
							End
						Else If ! serialCondition And toolID > -1 Then
							ToolSetEnd( toolID, DateTime[1], ToolGetStartValue( toolID ) );
					End;
			End;

		If serialCondition And toolID > -1 And IsLastBar Then
			ToolSetEnd( toolID, DateTime, ToolGetStartValue( toolID ) );
	End;

GR_ConditionMarker = 0;

Download Equilla Codes

Sicherheitsfrage

Alle Codes zum Download finden Sie auf der Equilla Code Download Seite. Sie finden dort alle Codes zu den Tutorials, Know Hows, Equilla Bibliotheken, sowie die Indikatoren und Tools aus der Equilla Code Library. Wenn Sie über neue Beiträge informiert werden möchten, dann tragen Sie sich in die Newsletter Liste ein.

Neu im Lexikon

Organisation von Projekten und Daten in Tradesignal

Pakete in Tradesignal Online Terminal

Handelssysteme als Alternative/Ergänzung zum diskretionären Trading

Das Money Management Modell der Trading System Toolbox (TBX)

Modulreihenfolge und Informationsfluss in den Tradesignal Toolboxes

Die globalen Volatilitäts-Indikatoren der Trading System Toolbox (TBX)

Das Money Management Modell der Trading System Toolbox (TBX)

Die Integration der Indikator Toolbox (IBX) in Ihre Handelssysteme

Variablen und Arrays in Equilla

Skript- und Stapelverarbeitung in Tradesignal Online Terminal

Externe Kursdaten in Tradesignal importieren