Horizontal/Trend Linie mit alarm

 

Hallo, wie kann ich ich zB im RSI eine Horizontal Linie oder auch eine Trendlinie zeichen und diese mit einem Alarm versehen ?

Würde mich über eine Idee sehr freuen!

Bis dahin schöne grüße an alle.

 
Eine Linie kann man manuell ziehen, aber einen Alarm nicht, das muss man programmieren.
 
Leito85:

Hallo, wie kann ich ich zB im RSI eine Horizontal Linie oder auch eine Trendlinie zeichen und diese mit einem Alarm versehen ?

Würde mich über eine Idee sehr freuen!

Bis dahin schöne grüße an alle.

Du musst beim Erstellen der Linie das  Unterfenster angeben, in dem der RSI ist. Schließlich kannst Du auch manuell eine Linie im RSI erstellen. Aber wozu eine HLine wenn Du einfach sagen kannst bei dem Wert soundso geht der Alarm los? 

Alarme mit Werten zu konditionieren ist aber einfach wenn man versteht was ein Array ist und wie man sich dessen Werte anzeigen lassen kann.

Erst musst Du einen RSI EA erstellen, der Dir den RSI-Wert als Comment oder Print bei jedem Tick auswirft. Dadurch siehst Du schonmal ob uberhaupt ein Wert rauskommt und ob er richtig ist.
Dann erstellst Du in dem selben EA eine if-Bedingung, die bei jedem Tick prüft ob

if (RSI[0]>=70) Alert(...);

Aber ich höre bei Dir heraus, dass da noch andere Fragen grundlegender Natur sind.
 
Leito85:

Hallo, wie kann ich ich zB im RSI eine Horizontal Linie oder auch eine Trendlinie zeichen und diese mit einem Alarm versehen ?

Würde mich über eine Idee sehr freuen!

Bis dahin schöne grüße an alle.

   Hallo,

   mit diesem Beispiel kann man es machen. Achtung Alert() Funktion wird den Jornal voll machen!

   Durch eine andere Funktion ersetzen!!

   Hier ist der Code.


 

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() {
//---

//---
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
//---
   ObjectDelete(0,"AlarmLinie");

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() {
//---

   // Indikator Array create
   double meinArray[];
   //Definieren Einstellungen
   int meineRSIDefinition = iRSI(_Symbol,_Period,14,PRICE_CLOSE);
   //EA definieren für 3 Bars
   CopyBuffer(meineRSIDefinition,0,0,3,meinArray);
   // RSI Value kalkulieren
   double meinRSIValue = NormalizeDouble(meinArray[0],2);

   //Terminal Zeit ermitteln
   datetime time=TimeCurrent();


   ObjectDelete(0,"AlarmLinie");
   if(meinRSIValue > 70) {
      // OBJ_VLINE
      ObjectCreate(0,"AlarmLinie",OBJ_VLINE,0,time,0);
      ObjectSetInteger(0,"AlarmLinie",OBJPROP_COLOR,clrRed);
      ObjectSetInteger(0,"AlarmLinie",OBJPROP_WIDTH,1);
      // Achtung!! Jornal wird voll sein! Bitte mit durch andere Funktion ersetzen!
      Alert("Sell Alarm");
      Sleep(10000);
   }

   if(meinRSIValue < 30) {
      // OBJ_VLINE
      ObjectCreate(0,"AlarmLinie",OBJ_VLINE,0,time,0);
      ObjectSetInteger(0,"AlarmLinie",OBJPROP_COLOR,clrRed);
      ObjectSetInteger(0,"AlarmLinie",OBJPROP_WIDTH,1);
      // Achtung!! Jornal wird voll sein! Bitte mit durch andere Funktion ersetzen!
      Alert("Buy Alarm");
      Sleep(10000);
   }

}
//+------------------------------------------------------------------+

   Gruß Igor.