JL-Lines





//+------------------------------------------------------------------+
//|                                                     JL-Lines.mq4 |
//+------------------------------------------------------------------+
/*http://www.kroufr.ru/forum/index.php?PHPSESSID=4dd2e6b4e6ae4fa1b491b38e49a2f99c&topic=3180.0
Êàê òîðãîâàòü ïî JL-ëèíèÿì?  

Òåïåðü âû íàíåñëè íà ãðàôèê ëèíèè è ìîæåòå òîðãîâàòü ïî íèì. 
ß òîëüêî îïèøó, ìîþ ìåòîäèêó òîðãîâëè, âû ìîæåòå âûáðàòü ñâîþ òàêòèêó è ñâîè ïðàâèëà. 
ß èñïîëüçóþ ÷àñîâûå ãðàôèêè, òàêæå âîçìîæíî èñïîëüçîâàòü 4-÷àñîâûå, 30-ìèíóòíûå, 15-ìèíóòíûå è òàê äàëåå. Ïîìíèòå, îäíàêî, ÷òî ÷åì ìåíüøå âðåìåííîé äèàïàçîí, òåì ìåíüøå åãî âàæíîñòü äëÿ èñïîëüçîâàíèÿ. 
Ñäåëêè îòêðûâàþòñÿ ïðè çàêðûòèè áàðà, íå ïåðåä çàêðûòèåì. Íà ìîèõ ãðàôèêàõ òàêæå èñïîëüçóþòñÿ ïèâîòû, â÷åðàøíèå ìàêñèìóìû è ìèíèìóìû è ëèíèè òóííåëåé Âåãàñà. Ýòî äîïîëíèòåëüíûå èíñòðóìåíòû, êîòîðûå âû òàêæå ìîæåòå ïðè æåëàíèè èñïîëüçîâàòü. 
Äëÿ íåêîòîðûõ èç âàñ ìîé ñòîï-ëîññ ìîæåò ïîêàçàòüñÿ ñëèøêîì æåñòêèì, âû ìîæåòå èñïîëüçîâàòü ñâîé ñòîï-ëîññ. Ëè÷íî ÿ ïðåäïî÷èòàþ â òå÷åíèè ïÿòè äíåé íåñòè íåáîëüøèå óáûòêè, à çàòåì êîìïåíñèðîâàòü èõ áîëüøîé ïðèáûëüþ. Ïðè èñïîëüçîâàíèè ýòîé ñòðàòåãèè áîëüøèå ïîñëåäîâàòåëüíîñòè óáûòî÷íûõ äíåé ìíå íå âñòðå÷àëèñü. 
Çà ïîñëåäíèå ïÿòü íåäåëü ìîÿ ïðèáûëü ïðè ðàáîòå ïî ñèñòåìå ñîñòàâèëà 843 ïèïñà. ß òîðãóþ ïî ïàðå ôóíò/äîëëàð. 

Ïðàâèëà äëÿ äëèííûõ ïîçèöèé. 
Äëèííàÿ ïîçèöèÿ îòêðûâàåòñÿ, åñëè ñâå÷à çàêðûâàåòñÿ ìåæäó ëèíèåé Ïðîáîÿ À óðîâíåì ñòîïà Í. 
Ñòîï-ëîññ ðàçìåùàåòñÿ íà óðîâíå äíåâíîãî îòêðûòèÿ. Âû ìîæåòå ðàçìåñòèòü ñòîï-ëîññ íà óðîâíå ïðîáîÿ Â. 
Êîãäà ìîÿ ïðèáûëü ñîñòàâëÿåò 20 ïèïñîâ, ÿ ñäâèãàþ ñòîï-ëîññ íà óðîâåíü Ïðîáîÿ À. 
Åñëè öåíà ïðîäîëæàåò äâèãàòüñÿ â ìîåì íàïðàâëåíèè, ÿ ñäâèãàþ ñòîï-ëîññ íà áëèæàéøóþ ëèíèþ (JL, ïèâîò, ëèíèè ìàêñèìóìîâ è ìèíèìóìîâ èëè Âåãåñà), åñëè öåíà íàõîäèòñÿ íà 30 ïèïñîâ âûøå ýòîé ëèíèè. 
Ïîçèöèÿ íå îòêðûâàåòñÿ, åñëè ñâå÷à îòêðûâàåòñÿ ïîä ëèíèåé Ïðîáîÿ À è çàêðûâàåòñÿ íàä óðîâíåì ñòîïà Í. 

Ïðàâèëà äëÿ êîðîòêèõ ïîçèöèé. 
Êîðîòêàÿ ïîçèöèÿ îòêðûâàåòñÿ, êîãäà ñâå÷à çàêðûâàåòñÿ ìåæäó ëèíèåé Ïðîáîÿ  è ñòîïîì L. 
Ñòîï-ëîññ ðàçìåùàåòñÿ íà óðîâíå äíåâíîãî îòêðûòèÿ èëè íà ëèíèè Ïðîáîÿ À. 
Ïðè ïîëó÷åíèè ïðèáûëè 20 ïèïñîâ, ÿ ñäâèãàþ ñòîï-ëîññ íà óðîâåíü ïðîáîÿ Â. 
Åñëè öåíà ïðîäîëæàåò äâèãàòüñÿ â ìîþ ñòîðîíó, ÿ ñäâèãàþ ñòîï-ëîññ íà áëèæàéøóþ ëèíèþ, åñëè öåíà íàõîäèòñÿ íà 30 ïèïñîâ íèæå åå. 
Ñäåëêà íå îòêðûâàåòñÿ, åñëè ñâå÷à îòêðûëàñü âûøå óðîâíÿ Ïðîáîÿ Â, çàêðûâøèñü íèæå Ñòîïà L. 
Ñïåöèàëüíûé ñòîï-ëîññ. 
Åñëè êàíàë óæå 40 ïèïñîâ, ïðè îòêðûòèè äëèííîé ïîçèöèè â êà÷åñòâå óðîâíÿ ñòîï-ëîññà èñïîëüçóåòñÿ óðîâåíü Ïðîáîÿ Â. Ïðè îòêðûòèè êîðîòêîé ïîçèöèè â êà÷åñòâå ñòîï-ëîññà èñïîëüçóåòñÿ óðîâåíü Ïðîáîÿ À. 

Òàéì-ôðåéìû. 
Òàêòèêà ðàáîòàåò òàêæå ñ íåäåëüíûìè è ìåñÿ÷íûìè ãðàôèêàìè, íî âàø ñòîï-ëîññ ïðè ýòîì áóäåò íàìíîãî áîëüøå. Åñëè âû èñïîëüçóåòå íåäåëüíûé ãðàôèê, òî âàì íàäî ðàññ÷èòàòü íåäåëüíûå äèàïàçîíû îò îòêðûòèÿ äî çàêðûòèÿ è îò ìàêñèìóìà äî ìèíèìóìà, êàê ýòî áûëî îïèñàíî âûøå. Ïîñëå ýòîãî âàì íåîáõîäèìî îòêðûòü ïîçèöèè íà äíåâíîì èëè 4-÷àñîâîì ãðàôèêå. 
Ñîîòâåòñòâåííî ïðè âû÷èñëåíèè ëèíèé ïî ìåñÿ÷íîìó ãðàôèêó, âû îòêðûâàåòå ïîçèöèè íà íåäåëüíîì èëè äíåâíîì äèàïàçîíàõ. 
ß íèêîãäà íå òîðãîâàë íà ýòèõ òàéì-ôðåéìàõ, ïîñêîëüêó íå ìîãó ïîçâîëèòü ñåáå òàêîãî áîëüøîãî ñòîï-ëîññà. 
Ìîÿ ðåêîìåíäàöèÿ: âûñ÷èòûâàòü ëèíèè ïî äíåâíûì ãðàôèêàì è îòêðûâàòü ïîçèöèè ïî ÷àñîâûì.
*/
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 LightSkyBlue
#property indicator_color2 Tomato
#property indicator_color3 Blue
#property indicator_color4 Red

//---- buffers
double BreakA[],
       BreakB[],
       StopH[],
       StopL[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
   IndicatorShortName("JL-Lines");
//---- indicators
   SetIndexLabel (0,"Break A");
   SetIndexStyle (0,DRAW_LINE);
   SetIndexBuffer(0,BreakA);
   SetIndexLabel (1,"Break B");
   SetIndexStyle (1,DRAW_LINE);
   SetIndexBuffer(1,BreakB);
   SetIndexLabel (2,"Stop H");
   SetIndexStyle (2,DRAW_LINE);
   SetIndexBuffer(2,StopH);
   SetIndexLabel (3,"Stop L");
   SetIndexStyle (3,DRAW_LINE);
   SetIndexBuffer(3,StopL);
//----
   return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
//----
   for (int i = Bars-IndicatorCounted(); i >= 0; i--)
   {
      if(TimeHour(iTime(NULL,0,i)) != 0)
      {
         BreakA[i] = BreakA[i+1];
         BreakB[i] = BreakB[i+1];
         StopH [i] = StopH [i+1];
         StopL [i] = StopL [i+1];
         continue;
      }

      int candlesPerDay = PERIOD_D1/Period(),
          day           = MathFloor(i/candlesPerDay);

      double channel1 = 0.0,
             channel2 = 0.0;

      channel1 += 1.000*MathAbs(iOpen(NULL,PERIOD_D1,day+1)-iClose(NULL,PERIOD_D1,day+1));
      channel1 += 0.618*MathAbs(iOpen(NULL,PERIOD_D1,day+2)-iClose(NULL,PERIOD_D1,day+2));
      channel1 += 0.500*MathAbs(iOpen(NULL,PERIOD_D1,day+3)-iClose(NULL,PERIOD_D1,day+3));
      channel1 += 0.382*MathAbs(iOpen(NULL,PERIOD_D1,day+4)-iClose(NULL,PERIOD_D1,day+4));
      channel1 += 0.236*MathAbs(iOpen(NULL,PERIOD_D1,day+5)-iClose(NULL,PERIOD_D1,day+5));
      channel2 += 1.000*(iHigh(NULL,PERIOD_D1,day+1)-iLow(NULL,PERIOD_D1,day+1));
      channel2 += 0.618*(iHigh(NULL,PERIOD_D1,day+2)-iLow(NULL,PERIOD_D1,day+2));
      channel2 += 0.500*(iHigh(NULL,PERIOD_D1,day+3)-iLow(NULL,PERIOD_D1,day+3));
      channel2 += 0.382*(iHigh(NULL,PERIOD_D1,day+4)-iLow(NULL,PERIOD_D1,day+4));
      channel2 += 0.236*(iHigh(NULL,PERIOD_D1,day+5)-iLow(NULL,PERIOD_D1,day+5));
      
      channel1 /= 5.0;
      channel2 /= 5.0;

      double open = iOpen(NULL,PERIOD_D1,day);
      BreakA[i] = open+0.5*channel1;
      BreakB[i] = open-0.5*channel1;
      StopH[i]  = open+0.5*channel2;
      StopL[i]  = open-0.5*channel2;
      
      Comment("JL-Lines: "+DoubleToStr(channel1/Point,0)+", "+DoubleToStr(channel2/Point,0));
   }
//----
   return(0);
}
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:

Series array that contains open prices of each bar
Series array that contains close prices for each bar
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar


Indicator Curves created:



Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: