Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Visualisierung eine digitalen Signales aus mehreren Indi´s

Geschrieben

Brauche mal wieder Eure Unterstützung und ich bin nach mehreren Tagen der Suche etwas ratlos . Vielleicht mögt Ihr Euch mal den Code ansehen,er ist beigefügt

 

Bezug : Powerstart

Bezug : Code von Cxalgo in seinem Download-Bereich

 

Projekt : Mit "Bezug" einen "digitalen" Indikator coden, der mit Hilfe dreier anderer Indikatoren ,dem MACD, der Stocha und des RSI ein einzelnes Signal generiert : Long,Range/Short . Das Signal wird dann farblich Grün/Gelb/Rot dargestellt werden .

Problem : Ich bekomme im Indikatorfenster kein Signal ( einen Wert 0) obwohl ich in der "Print-Zeile" einen Wert ausgedruckt erhalte .

Status : Ich habe positiv getestet, dass die drei Indi´s saubere Werte geben . Die Fkt wird angesteuert Rangeanalyse() wird sauber angesteuert und antwortet IO.

 

Eventuell wende ich

ArrayInitialize(UET_Plus,0)				 ;// Zeroize the array							 |
ArrayInitialize(UET_Minus,0)				 ;// Zeroize the array							 |

falsch an .

Wenn ich alle 8 Indikatoren für die Visualisierung aktiviere, dann kann ich auch ein Signal anzeigen . Dann wird die Größe des Indifenster aber der Stocha angepaßt und meine Vision ist es eigentlich, dass ich den ÜT nur als 1 cm breites Filter-Fenster im Chart mit Anzeige .

 

Hier nun der Code :

//+-----------------------------------------------------------------------------------------------+
//|																				 SLV_UET.mq4 |
//|																				 Kleinerbroker |
//|																	 http://www.Tom-Next.com/ |
//+-----------------------------------------------------------------------------------------------+
//|																							 |
#property link	 "http://www.Tom-Next.com/" //											 |
//|																							 |
/*************************************************************************************************|
PERIOD_M1 1																					 |
PERIOD_M5 5																					 |
PERIOD_M15 15																				 |
PERIOD_M30 30																				 |
PERIOD_H1 60																				 |
PERIOD_H4 240																				 |
PERIOD_D1 1440																				 |
PERIOD_W1 10080																				 |
PERIOD_MN1 43200																				 |
You must use the numeric value of the timeframe that you want to use							 |
when you set the TimeFrame' value with the indicator inputs.									 |
//------------------------------------------------------------------------------------------------|
MODE_SMA 0 Simple moving average,															 |
MODE_EMA 1 Exponential moving average,														 |
MODE_SMMA 2 Smoothed moving average,														 |
MODE_LWMA 3 Linear weighted moving average.													 |
You must use the numeric value of the MA Method that you want to use							 |
when you set the 'ma_method' value with the indicator inputs.									 |
																							 |
**************************************************************************************************/
//---- indicator settings					 //											 |
#property indicator_separate_window			 //											 |
//#property indicator_minimum 0				 //											 |
//#property indicator_maximum 100				 //											 |
//#property indicator_level1 25				 //											 |
//#property indicator_level2 50				 //											 |
//#property indicator_level3 75				 //											 |
#property indicator_buffers 2				 //											 |
#property indicator_color1 Red				 //											 |
#property indicator_color2 Green				 //											 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
extern string _______Parameters_______		 ;// Reine Separierung im Eigenschaftenreiter	 |
extern string Markt		 =	 "SILVER-fx";//											 |
extern int Barsback		 =		 5000 ;// Berechnungszeitraum						 |
extern int TimeFrame		 =		 1440 ;//											 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
//MACD								 Standard //											 |
extern string __________MACD__________		 ;// Reine Separierung im Eigenschaftenreiter	 |
extern int FastEMA		 =			 12 ;// 12										 |
extern int SlowEMA		 =			 26 ;// 26										 |
extern int SignalSMA		 =			 9 ;// 9										 |
extern int MACD_Pivot	 =			 5 ;// Referenz eine Woche vorher v [Histo||Signal]|
//Grenzwerte Range zwischen Long > x < Short , Schnitt mit Signal zählt						 |
extern double MACD_Long	 =			 0.5 ;//											 |
extern double MACD_Short	 =			 -0.5 ;//											 |
extern double MACD_Diff_Long =			 0.5 ;//											 |
extern double MACD_Diff_Short=			 -0.5 ;//											 |
int MACD					 =			 0 ;//											 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
// Stocha																						 |
extern string _______Stochastics______		 ;// Reine Separierung im Eigenschaftenreiter	 |
extern int KPeriod		 =			 10 ;//											 |
extern int DPeriod		 =			 20 ;//											 |
extern int Slowing		 =			 20 ;//											 |
//Grenzwerte																				 |
extern double Stocha_Long =			 20.0 ;//											 |
extern double Stocha_Short =			 80.0 ;//											 |
int Stocha				 =			 0 ;//											 |
//																							 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
// RSI																						 |
extern string ___________RSI__________		 ;// Reine Separierung im Eigenschaftenreiter	 |
extern int RSI_Period	 =			 14 ;//											 |
extern int RSI_Pivot		 =			 50 ;//											 |
//Grenzwerte																				 |
int RSI					 =			 0 ;//											 |
int UET					 =			 0 ;//											 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
/* Buffers. */								 //											 |
double	 UET_Plus[]					 ,//											 |
		 UET_Minus[]					 ,//											 |
		 MACD_Histo[]					 ,//											 |
		 MACD_Signal[]					 ,//											 |
		 MACD_Differential[]			 ,//											 |
		 Stocha_K[]					 ,//											 |
		 Stocha_D[]					 ,//											 |
		 RSI_Array[]					 ;//											 |
//------------------------------------------------------------------------------------------------|

//+-----------------------------------------------------------------------------------------------+
//		 +------------------------------------------------------------------+			 |
//		 | Custom indicator initialization function						 |			 |
//		 +------------------------------------------------------------------+			 |
//+-----------------------------------------------------------------------------------------------+
int init()									 //											 |
{											 //											 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
IndicatorBuffers(8)						 ;//											 |
// MACD Histogramm						 //											 |
SetIndexBuffer (2,MACD_Histo)			 ;//											 |
// Signal line							 //											 |
SetIndexBuffer (3,MACD_Signal)		 ;//											 |
// Ableitung Histogramm					 //											 |
SetIndexBuffer (4, MACD_Differential)	 ;//											 |
// %K line								 //											 |
SetIndexBuffer (5, Stocha_K)			 ;//											 |
// %D line								 //											 |
SetIndexBuffer (6, Stocha_D)			 ;//											 |
// RSI line								 //											 |
SetIndexBuffer (7, RSI_Array)			 ;//											 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
//---- Visual Output																			 |
// int limit = Bars - Barsback						 ;//									 |
// arrow for short selling																	 |
SetIndexStyle	 (0, DRAW_HISTOGRAM, STYLE_SOLID, 1) ;//									 |
SetIndexBuffer (0, UET_Plus)			 ;//											 |
SetIndexLabel	 (0, "Long")			 ;//											 |
SetIndexDrawBegin (0, Barsback)			 ;//											 |
// arrow for long buying																	 |
SetIndexStyle	 (1, DRAW_HISTOGRAM, STYLE_SOLID, 1) ;//									 |
SetIndexBuffer (1, UET_Minus)			 ;//											 |
SetIndexLabel	 (1, "Short")			 ;//											 |
SetIndexDrawBegin (1, Barsback)			 ;//											 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
//---- name for DataWindow and indicator subwindow label									 |
string short_name						 ;//											 |
switch(TimeFrame)							 //											 |
{											 //											 |
 case 1 : string TimeFrameStr="Period_M1"; break	 ;//									 |
 case 5 : TimeFrameStr="Period_M5"; break		 ;//									 |
 case 15 : TimeFrameStr="Period_M15"; break		 ;//									 |
 case 30 : TimeFrameStr="Period_M30"; break		 ;//									 |
 case 60 : TimeFrameStr="Period_H1"; break		 ;//									 |
 case 240 : TimeFrameStr="Period_H4"; break		 ;//									 |
 case 1440 : TimeFrameStr="Period_D1"; break		 ;//									 |
 case 10080 : TimeFrameStr="Period_W1"; break	 ;//									 |
 case 43200 : TimeFrameStr="Period_MN1"; break	 ;//									 |
 default : TimeFrameStr="Current Timeframe"		 ;//									 |
}													 //									 |
//---- name for DataWindow and indicator subwindow label										 |
short_name=("UET_MACD_Stocha_RSI"+TimeFrameStr+ " : ") ;//									 |
IndicatorShortName(short_name)						 ;//									 |
IndicatorDigits(2)									 ;//									 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
//---- initialization done																	 |
return(0)								 ;//											 |
}											 //											 |
//------------------------------------------------------------------------------------------------|

//------------------------------------------------------------------------------------------------|
int start()									 //											 |
										 {//0											 |
datetime TimeArray[]						 ;//											 |
int i,shift,limit,y=0,counted_bars=IndicatorCounted();//								 |
ArrayInitialize(UET_Plus,0)				 ;// Zeroize the array							 |
ArrayInitialize(UET_Minus,0)				 ;// Zeroize the array							 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
// Plot defined timeframe on to current timeframe												 |
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame); //								 |
											 //											 |
//---- last counted bar will be recounted														 |
limit = Bars - counted_bars				 ;//											 |
if(counted_bars > 0)	 limit++		 ;//											 |
											 //											 |
for(i=0,y=0;i<limit;i++)					 //											 |
										 {//1											 |
if (Time[i]<TimeArray[y]) y++			 ;//											 |
											 //											 |
//+------------------------------------------------------------------+						 |
//| Moving Averages Convergence/Divergence						 |						 |
//+------------------------------------------------------------------+						 |
MACD = 0									 ;//											 |
											 //											 |
MACD_Histo[i] = iCustom(Markt, TimeFrame , "MACD", FastEMA, SlowEMA,SignalSMA,0, y)	 ;// |
MACD_Signal[i] = iCustom(Markt, TimeFrame , "MACD", FastEMA, SlowEMA,SignalSMA,1, y)	 ;// |
double MACD_Vorher =						 //											 |
	 iCustom(Markt, TimeFrame , "MACD", FastEMA, SlowEMA,SignalSMA,0, y + MACD_Pivot) ;// |
MACD_Differential[i] = MACD_Histo[i] - MACD_Vorher ;//										 |
											 //											 |
//+------------------------------------------------------------------+						 |
//| MTF Stochastic												 |						 |
//+------------------------------------------------------------------+						 |
Stocha = 0								 ;//											 |
Stocha_K[i]=iCustom(Markt,TimeFrame,"Stochastic",KPeriod,DPeriod,Slowing,0,y)			 ;// |
Stocha_D[i]=iCustom(Markt,TimeFrame,"Stochastic",KPeriod,DPeriod,Slowing,1,y)			 ;// |
											 //											 |
//+------------------------------------------------------------------+						 |
//| MTF RSI Relative Strenght									 |						 |
//+------------------------------------------------------------------+						 |
RSI = 0									 ;//											 |
RSI_Array[i]=iRSI(NULL,TimeFrame,RSI_Period,PRICE_CLOSE,y);//								 |
											 //											 |
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
//+------------------------------------------------------------------+						 |
// Fallunterscheidung nach Range oder Trend mittels MACD			 |						 |
//+------------------------------------------------------------------+						 |
//																							 |
// Befinden wir uns im Range , dann ist Histogramm klein und ändert sich wenig ==>>			 |
if (MACD_Histo[i] < MACD_Long			 && //											 |
MACD_Histo[i] > MACD_Short			 && //											 |
MACD_Differential[i] < MACD_Diff_Long && //											 |
MACD_Differential[i] > MACD_Diff_Short	 ) //											 |
UET = Rangeanalyse(Stocha_K[i],Stocha_D[i]) ;// RSI kommt noch							 |
else										 //											 |
UET = Trendanalyse()					 ;//											 |
if (UET == 1) UET_Plus[i]= 1				 ;//											 |
if (UET ==-1) UET_Minus[i]=-1				 ;//											 |
Print ("Test",UET," , K=",Stocha_K[i]," , D=",Stocha_D[i]," ,||| um ="					 ,// |
 TimeToStr(iTime(Markt,TimeFrame,i),TIME_DATE|TIME_MINUTES)," ,UET_Plus[i]=",UET_Plus[i],// |
 " ,UET_Minus[i]=",UET_Minus[i])		 ;//											 |
										 }//1 For-Schleife beendet						 |
//+-----------------------------------------------------------------------------------------------+
											 //											 |
return(0)								 ;//											 |
										 }//											 |
//+-----------------------------------------------------------------------------------------------+
//+-----------------------------------------------------------------------------------------------+
//+------------------------------------------------------------------------------------------------+
//| function : Rangeanalyse definiert im Trendlosen Markt (also bei geringem MACD)			 |
//|	 alleine aus der Stochastic eine mögliche weitere Entwicklung							 |
//|	 Zielpreise für den Handel im MIN60...MIN15 sind dann :								 |
//|	 Der Stoploss ist dann der Ausbruch aus dem HH oder LL								 |
//|	 Der Zielpreis ist die Gegenseite des Kanals mit engem TSL ab dem Median				 |
//+------------------------------------------------------------------------------------------------+
int Rangeanalyse(double K , double D)		 // RSI noch									 |
{											 //0											 |
// if(hilfe4)Print(" ZYKLUS X.X.: Rangeanalyse durch Stochastic");//								 |
int Signal = 0								 ;//											 |
//+------------------------------------------------------------------------------------------------+
											 //											 |
// SHORT																						 |
if ( K > Stocha_Short && K > D ) Signal = -1 ;//											 |
// Long																						 |
if ( K < Stocha_Long && K < D ) Signal = 1 ;//											 |
//
//+------------------------------------------------------------------------------------------------+
//if(hilfe4)Print(" ZYKLUS 4.4.: EXIT RMMM(), Money 0/1 = ",Money);//							 |
return (Signal)							 ;//											 |
}											 //0											 |
//+------------------------------------------------------------------------------------------------+

//+------------------------------------------------------------------------------------------------+
//| function : Trendanalyse definiert im Markt mit Trend (also bei deutlichem MACD)			 |
//|	 aus dem RSI, dem Histogramm und dessen 1.Differential sowie dem Signal eine mögliche |
//|	 weitere Entwicklung																	 |
//|	 Zielpreise für den Handel im MIN60...MIN15 sind dann :								 |
//|	 Der Stoploss ist dann .....															 |
//|	 Der Zielpreis ist ..........................											 |
//+------------------------------------------------------------------------------------------------+
int Trendanalyse() {return(0);}

 

KB

 

@Admin :

1.) Ich darf keine MT4-Templates hochladen "Fehler Du hast keine Berechtigung, diese Art von Dateien hochzuladen."

2.) Offensichtlich werden im Code meine Formate nicht sauber übertragen . Könnt Ihr mir bitte dabei helfen, dieses Problem zu beseitigen ? Im Standard habe ich das ";||" beginnend in der Spalte 49 und dann den rechten Rand in Spalte 100 . Was mache ich da verkehrt ?

 

 

 

EDIT : ca 30 Min später

 

meine Vision ist es eigentlich, dass ich den ÜT nur als 1 cm breites Filter-Fenster im Chart mit Anzeige .

 

...sehe eben, dass Cxalgo scheinbar mal dasselbe Ziel hatte & gecodet um es dann "MagicBars" zu benennen .

SLV_MTF_UET.mq4

Featured Replies

Geschrieben
  • Autor

Problem ist gelöst , somit Post #264 obsolete . Der Code ist weitestgehend OK. Ich habe in den Variablen , deren Zahlenwerten , eine Kombination gewählt, die nie erreicht werden konnte bzw zuletzt in 2009 .

 

rangetrading.gif

 

KB

Geschrieben
  • Autor

Ups, nun wurde ich abgetrennt . Könnt Ihr aber bitte den Titel abändern in "Visualisierung eine digitalen Signales aus mehreren Indi´s" ? Mit Powerstart habe ich Null Probleme sondern ganz im Gegenteil, jede Menge nutzen !

 

 

Aber wenn Ihr mir schon einen eigenen Thread dafür gebt, dann laßt mich richtig abschliessen, damit andere Generationen .... usw usf

 

Also : Status Quo ist, dass ich nun für Long , Short und Range die Ampelcodierung implementiert habe , und dann noch unterscheide zwischen Handel im Range ( Signal "0,5" ) oder Trendfolgend "1".

Das sieht dann "so" aus :

 

buntebildchen.gif

 

 

Und den Code dazu füge ich bei, poste ihn aber nicht ( büdde büdde liebe Admins : Was ist mit meinem Format im #1 verkehrt?? )

 

Die Visualisierung gefällt mir aber noch nicht, ich möchte den Unterschied zwischen RangeLong und TrendLong massiver Visualisieren und auch nur eine Variable codieren . Denn wenn dieser Indi steht, dann rufe ich ihn später nur noch mit iCustom auf und will von all dem anderen , was dahinter steckt nix mehr wissen .

 

Nun suche ich mal, ob ich Objekte in Indis darstellen kann . Dann pinsel ich einfach Rechtecke anstatt Draw_Histogram zu nutzen . Hat da einer von Euch etwas für mich ? Codeschnipel speziell für Objecte in Indifenstern ? EDIT : Hat sich auch erledigt : ObjectCreate gestattet uns, Objecte auch in "SubWindows" == Indikatorfenster zu platzieren ,

 

Hier also der Code .

 

Schönen Abend Euch

Howdy.gif

KB

 

PS.: Der Code ist MTF Code . ........ vielleicht ganz hilfreich . Wer Unterstützung bei der Anwendung möchte : KB

 

SLV_MTF_UET.mq4

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.