Einzelnen Beitrag anzeigen
  #13 (permalink)  
Alt 20.08.16
Trader6666 Trader6666 ist offline
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 97
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

es ist doch ne weile vergangen seitdem ich den Thread eröffnet habe und hab da einiges vergessen was ich probiert habe um das Problem zu lösen, sorry leute für die verwirrung, hab da so einiges wohl nicht mitgeteilt weil es mittlerweise auch länger her ist und ich es vergessen hab, bin zwar noch am Anfang meines Programierdaseins aber das eine oder andere hab ich schon gelernt . Was ihr schreibt ist völlig korrekt , so bin ich auch vorgegangen, denk das ich nicht sämtliche schritte mitgeteilt habe , ist das für euch natürlich auch nicht ersichtlich.

Also was ich immer tuhe wenn ich etwas anfange mit nem Indikator zu proggen, ist erstmal schauen ob ich die Werte der Buffer korrekt zurück bekomme, idR. klappt das ganz einfach mit iCustom und dann beginnt man ja mit dem logischen Konstrukt/Aufbau des Codes. So hab ich es auch hier versucht. Von Empty Value hab ich davor noch nie was gelesen/gehört. Um zu sehen ob der Indikator auch nen anderen Wert zurück gibt als den Standartwert von Empty Value, hab ich dann eben auch ne Codezeile dazu geschrieben. Das Ergebnis ist, dass ich einmalig einen Wert zurück bekommen hatte und danach nix mehr passiert is. Kann natürlich sein das ich auch was falsch gemacht habe. Ich habs heut nochmal probiert mit dem selben ergebnis, hier ist der Code dazu mit nem Chartbeispiel....

Code:
int OnInit()
  {
//---
Anzeige();
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
{

double A =  iCustom(NULL,0,"Testindikator",5,0.4,1.0,true ,true,true,1.5,3.0,true,0,1); //Buffer  0
double B =  iCustom(NULL,0,"Testindikator",5,0.4,1.0,true ,true,true,1.5,3.0,true,1,1); //Buffer  1
double C =  iCustom(NULL,0,"Testindikator",5,0.4,1.0,true ,true,true,1.5,3.0,true,2,1); //Buffer  2
double D =  iCustom(NULL,0,"Testindikator",5,0.4,1.0,true ,true,true,1.5,3.0,true,3,1); //Buffer  3
double E =  iCustom(NULL,0,"Testindikator",5,0.4,1.0,true ,true,true,1.5,3.0,true,4,1); //Buffer  4
double F =  iCustom(NULL,0,"Testindikator",5,0.4,1.0,true ,true,true,1.5,3.0,true,5,1); //Buffer  5
double G =  iCustom(NULL,0,"Testindikator",5,0.4,1.0,true ,true,true,1.5,3.0,true,6,1); //Buffer  6
double H =  iCustom(NULL,0,"Testindikator",5,0.4,1.0,true ,true,true,1.5,3.0,true,7,1); //Buffer  7


double EV = EMPTY_VALUE;// Empty Value Wert

Comment("Buffer 4: ",E,"\nBuffer 5: ",F,"\nEV       : ",EV);

if(E != EV && Close[1]> E)
  {
   Ausgabe ("Buffer 4",DoubleToString(E,5),clrWhite);
   Ausgabe ("Buffer 4 Time",TimeToStr (Time[1],TIME_MINUTES),clrWhite);
   Ausgabe ("Buffer 4 Date",TimeToStr (Time[1],TIME_DATE),clrWhite);
  }
if(F != EV && Close[1] < F)
  {
   Ausgabe ("Buffer 5",DoubleToString(F,5),clrWhite);
   Ausgabe ("Buffer 4 Time",TimeToStr (Time[1],TIME_MINUTES),clrWhite);
   Ausgabe ("Buffer 5 Date",TimeToStr (Time[1],TIME_DATE),clrWhite);
  }
return(0);
}

void Ausgabe (string name, string wert, color col   )
{
    ObjectSetText(name,wert,Size,Style,col);
}

void Anzeige()
{


   ObjectCreate   ("Buffer 4",OBJ_LABEL,0,0,0);
   ObjectSetText  ("Buffer 4","",Size,Style,clrWhite);
   ObjectSet      ("Buffer 4",OBJPROP_CORNER,1);
   ObjectSet      ("Buffer 4",OBJPROP_XDISTANCE,400);
   ObjectSet      ("Buffer 4",OBJPROP_YDISTANCE,30);
   ObjectCreate   ("TextBuffer 4",OBJ_LABEL,0,0,0);
   ObjectSetText  ("TextBuffer 4","Buffer 4: ",Size,Style,clrYellow);
   ObjectSet      ("TextBuffer 4",OBJPROP_CORNER,1);
   ObjectSet      ("TextBuffer 4",OBJPROP_XDISTANCE,500);
   ObjectSet      ("TextBuffer 4",OBJPROP_YDISTANCE,30);

   ObjectCreate   ("Buffer 4 Time",OBJ_LABEL,0,0,0);
   ObjectSetText  ("Buffer 4 Time","" ,Size,Style,clrWhite);
   ObjectSet      ("Buffer 4 Time",OBJPROP_CORNER,1);
   ObjectSet      ("Buffer 4 Time",OBJPROP_XDISTANCE,400);
   ObjectSet      ("Buffer 4 Time",OBJPROP_YDISTANCE,50);
   ObjectCreate   ("TextBuffer 4 Time",OBJ_LABEL,0,0,0);
   ObjectSetText  ("TextBuffer 4 Time","Buffer 4 Time: ",Size,Style,clrYellow);
   ObjectSet      ("TextBuffer 4 Time",OBJPROP_CORNER,1);
   ObjectSet      ("TextBuffer 4 Time",OBJPROP_XDISTANCE,500);
   ObjectSet      ("TextBuffer 4 Time",OBJPROP_YDISTANCE,50);   
   
   ObjectCreate   ("Buffer 4 Date",OBJ_LABEL,0,0,0);
   ObjectSetText  ("Buffer 4 Date","" ,Size,Style,clrWhite);
   ObjectSet      ("Buffer 4 Date",OBJPROP_CORNER,1);
   ObjectSet      ("Buffer 4 Date",OBJPROP_XDISTANCE,400);
   ObjectSet      ("Buffer 4 Date",OBJPROP_YDISTANCE,70);
   ObjectCreate   ("TextBuffer 4 Date",OBJ_LABEL,0,0,0);
   ObjectSetText  ("TextBuffer 4 Date","Buffer 4 Date: ",Size,Style,clrYellow);
   ObjectSet      ("TextBuffer 4 Date",OBJPROP_CORNER,1);
   ObjectSet      ("TextBuffer 4 Date",OBJPROP_XDISTANCE,500);
   ObjectSet      ("TextBuffer 4 Date",OBJPROP_YDISTANCE,70);   
 //-*-----------------------------------------------------------------------------------------  
   ObjectCreate   ("Buffer 5",OBJ_LABEL,0,0,0);
   ObjectSetText  ("Buffer 5","",Size,Style,clrWhite);
   ObjectSet      ("Buffer 5",OBJPROP_CORNER,1);
   ObjectSet      ("Buffer 5",OBJPROP_XDISTANCE,100);
   ObjectSet      ("Buffer 5",OBJPROP_YDISTANCE,30);
   ObjectCreate   ("TextBuffer 5",OBJ_LABEL,0,0,0);
   ObjectSetText  ("TextBuffer 5","Buffer 5: ",Size,Style,clrYellow);
   ObjectSet      ("TextBuffer 5",OBJPROP_CORNER,1);
   ObjectSet      ("TextBuffer 5",OBJPROP_XDISTANCE,200);
   ObjectSet      ("TextBuffer 5",OBJPROP_YDISTANCE,30);
 
   ObjectCreate   ("Buffer 5 Time",OBJ_LABEL,0,0,0);
   ObjectSetText  ("Buffer 5 Time","",Size,Style,clrWhite);
   ObjectSet      ("Buffer 5 Time",OBJPROP_CORNER,1);
   ObjectSet      ("Buffer 5 Time",OBJPROP_XDISTANCE,100);
   ObjectSet      ("Buffer 5 Time",OBJPROP_YDISTANCE,50);
   ObjectCreate   ("TextBuffer 5 Time",OBJ_LABEL,0,0,0);
   ObjectSetText  ("TextBuffer 5 Time","Buffer 5 Time: ",Size,Style,clrYellow);
   ObjectSet      ("TextBuffer 5 Time",OBJPROP_CORNER,1);
   ObjectSet      ("TextBuffer 5 Time",OBJPROP_XDISTANCE,200);
   ObjectSet      ("TextBuffer 5 Time",OBJPROP_YDISTANCE,50);

   ObjectCreate   ("Buffer 5 Date",OBJ_LABEL,0,0,0);
   ObjectSetText  ("Buffer 5 Date","",Size,Style,clrWhite);
   ObjectSet      ("Buffer 5 Date",OBJPROP_CORNER,1);
   ObjectSet      ("Buffer 5 Date",OBJPROP_XDISTANCE,100);
   ObjectSet      ("Buffer 5 Date",OBJPROP_YDISTANCE,70);
   ObjectCreate   ("TextBuffer 5 Date",OBJ_LABEL,0,0,0);
   ObjectSetText  ("TextBuffer 5 Date","Buffer 5 Date: ",Size,Style,clrYellow);
   ObjectSet      ("TextBuffer 5 Date",OBJPROP_CORNER,1);
   ObjectSet      ("TextBuffer 5 Date",OBJPROP_XDISTANCE,200);
   ObjectSet      ("TextBuffer 5 Date",OBJPROP_YDISTANCE,70);

}

habs auch so probiert
Code:
if(E != EV)
if(E < EV)
aber immer mit dem gleichen erbegnis. Nach dem ersten erhaltenen Wert kommt nix mehr. Im Chart hab ichs nochmal dargestellt , damit man es besser verstehen kann.

Wenn ich die Kerze des Arrows direkt anspreche (mit nem Custom Indikator wo ich den Indikator aufrufe und die Kerze des Arrows unter shift hinterlege), dann bekomm ich auch den korrekten wert zurück des Arrows , dass bedeutet ja das beide Arrows ja doch den korrekten wert zurück geben wenn Sie erkannt werden. Aber wenn ich das über nen EA mache , funktioniert das ned, vom logischen her ist das doch das gleiche prinzip , deswegen versteh ich es ned warum ich keine aktuellen werte bekomme.


Zitat:
Nettes Teil, der Indikator!
also er ist sehr hilfreich, wenn man nach Dow handeln möchte und nimmt einem Arbeit ab, aber nach dem Indikator alleine zu handeln würd ich doch abraten, da muss man noch ein wenig mitarbeiten

Zitat:
Anmerken möchte ich aber, dass man diese Buffer ohnehin nicht benötigt, da man das ganze auch schön z.B.: mit "Ask > UpperLine" im EA selbst auswerten kann.
das ist richtig Susanne, nur gehts hier um die Filterung, dafür brauch ich die Arrows

Danke schon mal vorab für die vielen antworten, hab ned gedacht das hier noch was kommen wird, tolles Forum echt

LG
Angehängte Grafiken
Dateityp: png BUffer.png (39,1 KB, 5x aufgerufen)