gorillych
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
gorillych
// ---------------------------------------------------------------------------
//  Èíäèêàòîð ñêîðîñòè íà ìèíóòêàõ ïî ìåòîäå Gorillych-à
//  http://articles.mql4.com/ru/212
//
//  Àâòîòîðãîâëÿ, ìíå êàæåòñÿ, ïðèçâàíà â ïåðâóþ î÷åðåäü çàñòàâèòü ìàøèíó 
//  äåëàòü òî, ÷åãî íåâîçìîæíî äîáèòüñÿ ðó÷íîé òîðãîâëåé: ñòàáèëüíîñòü, 
//  ïñèõîëîãè÷åñêàÿ óñòîé÷èâîñòü, áûñòðîòà ðåàêöèè íà ñèòóàöèþ, 
//  íåîãðàíè÷åííàÿ âûíîñëèâîñòü è ò.ï.
//  Ïðèâåäó ïðèìåð. Íà ÷åìïèîíàòå 2006 ãîäà ó ìåíÿ ó÷àñòâîâàë ýêñïåðò, ó 
//  êîòîðîãî îñíîâíûì, íàâåðíîå, äîñòîèíñòâîì áûëî, ÷òî îí ìåòîäàìè 
//  òåõíè÷åñêîãî àíàëèçà ìîã òîðãîâàòü íà íîâîñòÿõ. Ïðè òîì, ÷òî åãî 
//  ïî-îïðåäåëåíèþ íåâîçìîæíî áûëî òåñòèðîâàòü íà èñòîðèè íà ÷åìïèîíàòå îí 
//  ïåðâîå âðåìÿ ïîêàçûâàë óäèâèòåëüíî õîðîøèå ðåçóëüòàòû. Íà åãî 
//  îêîí÷àòåëüíîì ðåçóëüòàòå ñêàçàëèñü åù¸ íåêîòîðûå äîïîëíèòåëüíûå îøèáî÷íûå 
//  èäåè â àëãîðèòìå åãî ðàáîòû.
//  Íå áóäó ïðèâîäèòü âåñü êîä ýêñïåðòà, íî îñíîâíîé èäååé åãî áûë ðàñ÷åò 
//  íåêîåãî çíà÷åíèÿ Pv=(h-l)/Point/v; âíóòðè ìèíóòíîãî áàðà. È åñëè ýòî 
//  çíà÷åíèå ïðåâûøàëî 0,33 è îäíîâðåìåííî îáúåì ïðåâûøàë 12 (ïûòàëñÿ íàéòè 
//  ýòè çíà÷åíèÿ ïðè òåñòèðîâàíèè EURUSD) òî îòêðûâàëàñü ñäåëêà. 
//  Åñëè C>O BUY, åñëè C<O SELL. SL=50. TS=95.
//  Íà ñëîâàõ èäåÿ áûëà â òîì, ÷òî åñòü íåêîòîðûå áàðû, ïîêàçûâàþùèå 
//  ñàíòèìåíò ïîñëåäóþùåãî äâèæåíèÿ. Êîãäà, íàïðèìåð, áûêè ïðåâîñõîäÿò 
//  ìåäâåäåé. Îáúåì, âëîæåííûé â áàð íà÷èíàåò åãî ðàñòÿãèâàòü, è ïðè 
//  äîñòàòî÷íîì ïîðîãîâîì îáúåìå ïîÿâëÿåòñÿ òðåíä.
//  Â ñòàòüå íà ïðèâåäåííîì ïåðâîì ãðàôèêå âèäåí áàð íîâîñòåé. 
//  Òàê åãî ìîæíî òîðãîâàòü ïîäîáíûì ìåòîäîì â îáå ñòîðîíû, óäà÷íî 
//  ïîäîáðàâ SL è ÒS.
// ---------------------------------------------------------------------------

#property indicator_separate_window
#property indicator_buffers          1
#property indicator_color1           C'0,255,0'
#property indicator_minimum         -20
#property indicator_maximum          20
#property indicator_style1           0
#property indicator_level1           0

double value[];

int init() {
  IndicatorDigits(3);
  IndicatorShortName("Gorillych");

  if(!SetIndexBuffer(0, value)) {
    Alert("SetIndexBuffer() FAILED");
  }

  return(0);
}

int start() {
  int i, left = Bars - IndicatorCounted();

  for(i = 0; i < left; i++) {
    value[i] = ((High[i] - Low[i]) / Point / Volume[i]) *
      misc_sign(Close[i] - Open[i]);
  }

  return(0);
}

// Âîçâðàùàåò çíàê ÷èñëà (-1;0;1)
int misc_sign(double value) {
  if(value > 0) {
    return(1);
  } else if(value < 0) {
    return(-1);
  }
  
  return(0);
}

Comments