//+------------------------------------------------------------------+ //| TrendkanalIndi.mq5 | //| Copyright © 2018 Ing. Otto Pauser | //| Skypename: Kronenchakra | //+------------------------------------------------------------------+ #property copyright "Copyright © 2018 Ing. Otto Pauser" #property link "https://www.mql5.com/de/users/kronenchakra" #property version "1.00" #property description "Beispiel um den Indikator Trendkanal mit einem EA zu lesen" // idente Eingaben wie beim Indikator input int InChPeriod = 34; // Channel Period input double std_channel_2 = 1.39; // Nominal regression input double std_channel_3 = 2.30; // Maximum regression int handle; // handle zu Indi double rlBuffer [], // idente buffer wie im Indi upBuffer [], downBuffer[], highBuffer[], lowBuffer []; #define COUNT 3 // letzten 3 Kerzen kopieren // damit kann man Steigung oder auch Wendepunkte feststellen //+------------------------------------------------------------------+ int OnInit() { string name="Trendkanal"; // handle zum Indi erzeugen handle=iCustom(_Symbol,_Period,name,InChPeriod,std_channel_2,std_channel_3); if(handle==INVALID_HANDLE) // errorcheck { Alert("*ERROR* creating handle for Indicator "+name); return(INIT_FAILED); } ArrayResize(rlBuffer ,COUNT); // Buffergröße festlegen ArrayResize(upBuffer ,COUNT); ArrayResize(downBuffer,COUNT); ArrayResize(highBuffer,COUNT); ArrayResize(lowBuffer ,COUNT); ArraySetAsSeries(rlBuffer ,true); // indizierung festlegen ArraySetAsSeries(upBuffer ,true); ArraySetAsSeries(downBuffer,true); ArraySetAsSeries(highBuffer,true); ArraySetAsSeries(lowBuffer ,true); return(INIT_SUCCEEDED); // das war's auch schon } //+------------------------------------------------------------------+ void OnTick() { if(CopyBuffer(handle,0,0,COUNT,rlBuffer )!=COUNT) return; if(CopyBuffer(handle,1,0,COUNT,upBuffer )!=COUNT) return; if(CopyBuffer(handle,2,0,COUNT,downBuffer)!=COUNT) return; if(CopyBuffer(handle,3,0,COUNT,highBuffer)!=COUNT) return; if(CopyBuffer(handle,4,0,COUNT,lowBuffer )!=COUNT) return; double thisVal=rlBuffer[0]; double lastVal=rlBuffer[1]; Comment( "\nDieser Wert: " +DoubleToString(thisVal,_Digits)+ "\nLetzter Wert: "+DoubleToString(lastVal,_Digits)+"\n"+ "\nEs geht : "+((thisVal