@Asia - pisząc okno miałem na myśli formację. Pisząc okno wykresu miałem na myśli tą część interfejsu w której jest wykres 

. Co do alarmów, to może i masz rację, ale chcę sobie trochę zautomatyzować wszystko i na czymś się trzeba uczyć.
@xpep - kod na końcu. Skoro w porównaniu używasz "Point" to pewnie jest w tym jakiś cel ?
@Tig3r - hmmm... zrobiłem to trochę inaczej, dlatego jak byś zerknął byłbym wdzięczny. Użyłem tylko jednej ceny wskaźnika i dwóch cen waluty (z dwóch okresów) - być może pominąłem jakąś możliwość ?. Jeżeli chodzi o formatowanie to rozwiązałeś mój problem 

 Zamiany na string próbowałem już wcześniej, bez rezultatu, ale zamiana "+" na "," załatwiła sprawę.
Poniżej kod (wycinek). Jest to Vegas 1h, ja chciałem tylko trochę zmodyfikować alarmy bo nie dzwoniły tak jak bym sobie życzył.
Niestety okazało się, że najwyraźniej nic z tego nie rozumiem, dlatego opiszę swoimi słowami, a Wy jeżeli mogę prosić wyprowadźcie mnie z błędu.
Zakładam, że funkcja działa okresowo (co zmiana ceny zapewne), w tym momencie następuje zliczenie ilości świec, które nie uległy zmianie od ostatniego wywołania funkcji (czyli jeżeli okno jest non stop włączone to zmianie ulega tylko jeden słupek, a więc będzie tylko jedna pętla dla for, bo reszta wykresu jest w pamięci). Czyli, jak włączam program po kilku dniach to robi kilkadziesiąt pętli, a reszta wykresu jest ładowana z pamięci (?). Jeżeli mamy więcej słupków to wszystkie odwołania do tablicy z indeksem 0 np. ExtMapBuffer1[0] oznaczają odwołanie się do najświeższych danych ?
W takim razie 
j (czyli świca wcześniejsza) powinno się równać i +1, bo "cofamy się do przodu" 

 (chyba czas spać 

 ) 
Kolejna sprawa to to, że zdaje się nie można zrobić porównania np.
if ( 3 > i >1) tylko trzeba if ( 3 > i && i > 1) - straciłem na tym chyba z godzinę 
 
Ogólnie jeszcze nie wiem czy alarm działa tak jak należy. Na pewno do poprawy jest sam fakt że jak już znajdzie się na przecięciu to mam w ciągu minuty kilkanaście takich samych alarmów.
Kod: Zaznacz cały
int start()
  {
   int limit;
   int j;
   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;
  //---- main loop
     for(int i=0; i<limit; i++)
       {
       j = i+1;
        //---- ma_shift set to 0 because SetIndexShift called abowe
         ExtMapBuffer1[i]=iMA(NULL,0,144,0,MODE_EMA,PRICE_CLOSE,i);
         ExtMapBuffer2[i]=iMA(NULL,0,169,0,MODE_EMA,PRICE_CLOSE,i);
         
         //Model #1 34,55,89
         if(RiskModel==1)
         {
            ExtMapBuffer3[i]=ExtMapBuffer2[i]+34*Point;
            ExtMapBuffer4[i]=ExtMapBuffer2[i]+55*Point;
            ExtMapBuffer5[i]=ExtMapBuffer2[i]+89*Point;
            
            ExtMapBuffer6[i]=ExtMapBuffer2[i]-34*Point;
            ExtMapBuffer7[i]=ExtMapBuffer2[i]-55*Point;
            ExtMapBuffer8[i]=ExtMapBuffer2[i]-89*Point;    
         }
         Comment("\nRISK MODEL #",RiskModel," (1-4)\n\nEMA144 - ",ExtMapBuffer1[limit],"\nEMA169 - ",ExtMapBuffer2[limit],
         "\n\nF+1 - ",ExtMapBuffer3[limit],"\nF+2 - ",ExtMapBuffer4[limit],
         "\nF+3 - ",ExtMapBuffer5[limit],"\n\nF-1 - ",ExtMapBuffer6[limit],
         "\nF-2 - ",ExtMapBuffer7[limit],"\nF-3 - ",ExtMapBuffer8[limit]);
       }
       
       //+--------------------------------------------------------------------------+
       //-                          ALERTS    PlaySound("alert.wav");               -
       //+--------------------------------------------------------------------------+
      if(Alerts && Open[i] > 0)
      {
//alram dla przecięcia z liniami tunelu (dla "fibonaciego" analogicznie będzie
         
         if( (MathMax(Close[i],Open[i])>=ExtMapBuffer1[i] && ExtMapBuffer1[i] >= MathMin(Close[i],Open[i]) ) ||
            (MathMax(Open[j],Open[i]) >= ExtMapBuffer1[i] && ExtMapBuffer1[i] >= MathMin(Close[j],Close[i]) ) )
         {
            PlaySound("alleluja.wav");
            Alert(Symbol()+ " tunel EMA 144 = " +ExtMapBuffer1[i]+ " [" +Open[j]+ ";" +Close[j]+ "] " + " [" +Open[i]+ ";" +Close[i]+ "] " + TimeHour(Time[j])+ ":" + TimeMinute(Time[j]) + " " + TimeHour(Time[i])+ ":" + TimeMinute(Time[i]) );
           
         }
         
         if( (MathMax(Close[i],Open[i])>=ExtMapBuffer2[i] && ExtMapBuffer2[i] >= MathMin(Close[i],Open[i]) ) ||
            (MathMax(Open[j],Open[i]) >= ExtMapBuffer2[i] && ExtMapBuffer2[i] >= MathMin(Close[j],Close[i]) ) )
         {
            PlaySound("alleluja.wav");            
            Alert(Symbol() + " tunel EMA 169 = " +ExtMapBuffer2[i]+ " [" +Open[j]+ ";" +Close[j]+ "] " + " [" +Open[i]+ ";" +Close[i]+ "] " + TimeHour(Time[j])+ ":" + TimeMinute(Time[j]) + " " + TimeHour(Time[i])+ ":" + TimeMinute(Time[i]) );
         }
      }
  //---- done
//----
   
//----
   return(0);
  }