ja hi erstmal... ich habe mich extra hier angemeldet in der hoffnung die hilfe zu bekommen die ich benötige =)
also zu meinem anliegen:
ich will das mein ea dann eine order abschließt wenn 2 indikatoren welche ich mir irgendwo aus dem netz gezogen habe die gleiche farben haben und dazu noch der adx einen wert von über 20 hat. ich habe allerdings nunmal garkein plan von programmierung. was man im netz so an hilfen zu solchen themen findet ist irgendiwe immer an leute gerichtet die sich schon damit auskennen. also wie sage ich denn bitte den ea das er echt nru dann kaufen soll wenn esagte 2 indikatoren gleichfarbig sind? habe zwar den befehl gefunden mit dem man einen externen indikator einbindet. aber wenn ich das genau befolge kommen nur fehlermeldungen -.-
dieser indikator erstellt bei ienem aufwärsttrend eine grüne linie unter dem kurs udn eine rote linie bei abwärtstrend über dem kurs. es geht mri da jetzt nicht um irgendwelche zahlen... die order soll sich einfach nru nach der farbe richten.
so dieser indikater erstellt 4 farben welche in balkenform .. oder eher striche... durch bils laufen. interissant sind für mich da nur zwei von: rot und grün. die anderen wären mintgrün und so ein blasses rot.
wenn jetzt also beide rot = sell.. wenn beide grün = buy.
natürlich nur bei einem adx über 20.
steht allerdings noch das problem im raum das er nach trail stop automatisch nachkaufen würde wenn dann ie bedingungen trozdem noch gegeben sind. das ist schlecht. das soll er lassen. und nur nachakufen wenn bei nachfolggender kerze die bedingungen noch erfüllt sind.
so.. wie erklärt man nun einen anfänger wie mir wie er da vorzugehen hat?
oh und was den austieg betrifft: bin ich mir noch nicht so sicher. der pbere indikator hat die angewohnheit bei einem trend wechsel erstmal ein paar mal hin und her zu wechseln. der untere ist nur für den einstig interissant. vllt würde ich jeweils das genaue gegenteil nehmen. allerdings ohen einfluss des adx. und wenn dann halt die gegensätzlichen bedingungen gegeben sind sofort nach order schluss eine neue absetzt... muss ich mal sehen. oder kann mir da wer nen guten ausstiegsindikator empfehlen? ansonsten wird halt nru ne einstigesautomatik und ich muss dann sehen von selbst den richtigen punkt zu finden... na erstmal mus sich es (mit eurer hilfe) irgednwie schaffen das er ordert wenn er soll =)
Bearbeitet von Henrik Threadüberschrift präzisiert
ja hi erstmal... ich habe mich extra hier angemeldet in der hoffnung die hilfe zu bekommen die ich benötige =)
also zu meinem anliegen:
ich will das mein ea dann eine order abschließt wenn 2 indikatoren welche ich mir irgendwo aus dem netz gezogen habe die gleiche farben haben und dazu noch der adx einen wert von über 20 hat. ich habe allerdings nunmal garkein plan von programmierung. was man im netz so an hilfen zu solchen themen findet ist irgendiwe immer an leute gerichtet die sich schon damit auskennen. also wie sage ich denn bitte den ea das er echt nru dann kaufen soll wenn esagte 2 indikatoren gleichfarbig sind? habe zwar den befehl gefunden mit dem man einen externen indikator einbindet. aber wenn ich das genau befolge kommen nur fehlermeldungen -.-
ich hänge unten mal die codes der indikatoren an:
//+------------------------------------------------------------------+ //| SuperTrend.mq4 v1.2 | //| Copyright © 2008, Jason Robinson (jnrtrading). | //| http://www.spreadtrade2win.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, Jason Robinson." #property link "http://www.spreadtrade2win.com" #property indicator_chart_window #property indicator_color1 Lime #property indicator_color2 Red #property indicator_width1 2 #property indicator_width2 2 #property indicator_buffers 2 double TrendUp[], TrendDown[]; int changeOfTrend; extern int Nbr_Periods = 10; extern double Multiplier = 3.0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexBuffer(0, TrendUp); SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2); SetIndexLabel(0, "Trend Up"); SetIndexBuffer(1, TrendDown); SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2); SetIndexLabel(1, "Trend Down"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit, i, flag, flagh, trend[5000]; double up[5000], dn[5000], medianPrice, atr; int counted_bars = IndicatorCounted(); //---- check for possible errors if(counted_bars < 0) return(-1); //---- last counted bar will be recounted if(counted_bars > 0) counted_bars--; limit=Bars-counted_bars; //Print(limit); //---- for (i = Bars; i >= 0; i--) { TrendUp[i] = EMPTY_VALUE; TrendDown[i] = EMPTY_VALUE; atr = iATR(NULL, 0, Nbr_Periods, i); //Print("atr: "+atr[i]); medianPrice = (High[i]+Low[i])/2; //Print("medianPrice: "+medianPrice[i]); up[i]=medianPrice+(Multiplier*atr); //Print("up: "+up[i]); dn[i]=medianPrice-(Multiplier*atr); //Print("dn: "+dn[i]); trend[i]=1; if (Close[i]>up[i+1]) { trend[i]=1; if (trend[i+1] == -1) changeOfTrend = 1; //Print("trend: "+trend[i]); } else if (Close[i]<dn[i+1]) { trend[i]=-1; if (trend[i+1] == 1) changeOfTrend = 1; //Print("trend: "+trend[i]); } else if (trend[i+1]==1) { trend[i]=1; changeOfTrend = 0; } else if (trend[i+1]==-1) { trend[i]=-1; changeOfTrend = 0; } if (trend[i]<0 && trend[i+1]>0) { flag=1; //Print("flag: "+flag); } else { flag=0; //Print("flagh: "+flag); } if (trend[i]>0 && trend[i+1]<0) { flagh=1; //Print("flagh: "+flagh); } else { flagh=0; //Print("flagh: "+flagh); } if (trend[i]>0 && dn[i]<dn[i+1]) dn[i]=dn[i+1]; if (trend[i]<0 && up[i]>up[i+1]) up[i]=up[i+1]; if (flag==1) up[i]=medianPrice+(Multiplier*atr); if (flagh==1) dn[i]=medianPrice-(Multiplier*atr); //-- Draw the indicator if (trend[i]==1) { TrendUp[i]=dn[i]; if (changeOfTrend == 1) { TrendUp[i+1] = TrendDown[i+1]; changeOfTrend = 0; } } else if (trend[i]==-1) { TrendDown[i]=up[i]; if (changeOfTrend == 1) { TrendDown[i+1] = TrendUp[i+1]; changeOfTrend = 0; } } } WindowRedraw(); //---- return(0); } //+------------------------------------------------------------------+dieser indikator erstellt bei ienem aufwärsttrend eine grüne linie unter dem kurs udn eine rote linie bei abwärtstrend über dem kurs. es geht mri da jetzt nicht um irgendwelche zahlen... die order soll sich einfach nru nach der farbe richten.
//+------------------------------------------------------------------+ //| ADXFilter.mq4 | //| Copyright © 2006, Forex-TSD.com | //| Written by mj_bolt| //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, Forex-TSD.com " #property link "http://www.forex-tsd.com/" #property indicator_separate_window #property indicator_minimum 0 #property indicator_maximum 0.5 #property indicator_buffers 4 #property indicator_color1 C' 23,139, 23' #property indicator_color2 C'255, 32, 32' #property indicator_color3 C' 90,185, 90' #property indicator_color4 C'255,185,185' //---- input parameters extern int PeriodADX=14; extern int ColorLevel=15; //---- indicator buffers double UpBuffer1[]; double DnBuffer1[]; double UpBuffer2[]; double DnBuffer2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- indicator line SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,1); SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,1); SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID,1); SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID,1); SetIndexBuffer(0,UpBuffer1); SetIndexBuffer(1,DnBuffer1); SetIndexBuffer(2,UpBuffer2); SetIndexBuffer(3,DnBuffer2); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)); //---- name for DataWindow and indicator subwindow label short_name="ADX ("+PeriodADX+")"; IndicatorShortName(short_name); SetIndexLabel(0,"UpTrend"); SetIndexLabel(1,"DownTrend"); SetIndexLabel(2,"Mild UpTrend"); SetIndexLabel(3,"Mild DownTrend"); //---- SetIndexDrawBegin(0,PeriodADX); SetIndexDrawBegin(1,PeriodADX); SetIndexDrawBegin(2,PeriodADX); SetIndexDrawBegin(3,PeriodADX); //---- return(0); } //+------------------------------------------------------------------+ //| ADXFilter | //+------------------------------------------------------------------+ int start() { int shift,trend; double ADX0,ADX1,ADX2; for(shift=Bars-PeriodADX-1;shift>=0;shift--) { ADX0=iADX(NULL,0,PeriodADX,PRICE_CLOSE,MODE_MAIN,shift); ADX1=iADX(NULL,0,PeriodADX,PRICE_CLOSE,MODE_PLUSDI,shift); ADX2=iADX(NULL,0,PeriodADX,PRICE_CLOSE,MODE_MINUSDI,shift); if (ADX0<ColorLevel && ADX1>ADX2) trend=1; if (ADX0>ColorLevel && ADX1>ADX2) trend=2; if (ADX0<ColorLevel && ADX2>ADX1) trend=-1; if (ADX0>ColorLevel && ADX2>ADX1) trend=-2; if (trend==1) { UpBuffer1[shift]=0; UpBuffer2[shift]=1; DnBuffer1[shift]=0; DnBuffer2[shift]=0; } if (trend==2) { UpBuffer1[shift]=1; UpBuffer2[shift]=0; DnBuffer1[shift]=0; DnBuffer2[shift]=0; } if (trend==-1) { UpBuffer1[shift]=0; UpBuffer2[shift]=0; DnBuffer1[shift]=0; DnBuffer2[shift]=1; } if (trend==-2) { UpBuffer1[shift]=0; UpBuffer2[shift]=0; DnBuffer1[shift]=1; DnBuffer2[shift]=0; } } return(0); }so dieser indikater erstellt 4 farben welche in balkenform .. oder eher striche... durch bils laufen. interissant sind für mich da nur zwei von: rot und grün. die anderen wären mintgrün und so ein blasses rot.
wenn jetzt also beide rot = sell.. wenn beide grün = buy.
natürlich nur bei einem adx über 20.
steht allerdings noch das problem im raum das er nach trail stop automatisch nachkaufen würde wenn dann ie bedingungen trozdem noch gegeben sind. das ist schlecht. das soll er lassen. und nur nachakufen wenn bei nachfolggender kerze die bedingungen noch erfüllt sind.
so.. wie erklärt man nun einen anfänger wie mir wie er da vorzugehen hat?
oh und was den austieg betrifft: bin ich mir noch nicht so sicher. der pbere indikator hat die angewohnheit bei einem trend wechsel erstmal ein paar mal hin und her zu wechseln. der untere ist nur für den einstig interissant. vllt würde ich jeweils das genaue gegenteil nehmen. allerdings ohen einfluss des adx. und wenn dann halt die gegensätzlichen bedingungen gegeben sind sofort nach order schluss eine neue absetzt... muss ich mal sehen. oder kann mir da wer nen guten ausstiegsindikator empfehlen? ansonsten wird halt nru ne einstigesautomatik und ich muss dann sehen von selbst den richtigen punkt zu finden... na erstmal mus sich es (mit eurer hilfe) irgednwie schaffen das er ordert wenn er soll =)
Bearbeitet von Henrik
Threadüberschrift präzisiert