Algorithms

Warning! Executing cBots downloaded from this section may result in loss of funds. Use them at your own risk.
Notification Publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section you may use the Copyright Infringement Notification form to submit a claim.
How to install
Fixed Offset Bands
  0
  0
  1809
free  19 Mar 2015
This is a band indicator based on various moving averages with its upper and lower band placed at a fixed distance expressed in pips. It does not compensate for trend strength or volatility. It works best on the temporary fair value as underlying data source.  
MCAD PrbSAR noise
  4
  0
  2944
free  18 Mar 2015
Advisor "MCAD PrbSAR noise" trades on signals indicators MACD and Parabolic SAR, default is optimized on a pair EURUSD H1. You can optimize any instrument and timeframe. Additionally Advisor equipped noise levels on indicators MACD and Parabolic SAR. Closing of open positions occurs on signals indicators MACD and Parabolic SAR only in profits, or - the stop-loss. 1- Noise_Prb_SAR_ema  2- Noise_MACD_m0  3- Noise_MACD_s0  4- Noise_MACD_sm 
Heiken Ashi Background
  1
  0
  2698
free  15 Mar 2015
This indicator draw colored lines, color of line is color of Heiken Ashi bar. Very useful for normal bars. Change Width and Height(in price pips) parameter for best usability.
free  13 Mar 2015
simple RSI  for Typical Price(OHC/3), Weighted Close(OHCC/4), Median(OH/2) added 2 levels - 20% / 80% To change method just select flags in parameters menu.    
cTrader Scalpers Buddy
  22
  4.38
  9967
free  27 Feb 2021
The cTrader Scalpers Buddy will inform the trader with a message and sound when high volatility occurs, it will also display the current spread and total depth of market volume for the buyers and sellers.  Download the indicator   Depth of Market The Depth of the Market is the total of all volume as shown below: Volatility Alert with Warning Sound Volatility Message With No Alert   You can show both the volatility and spread or just spread or just volatility, this can be selected from the parameters below. INDICATOR PARAMETER   CURRENT FEATURES Configure the volatility depending on your scalping requirements. Sound alert, configurable on/off. Position warning message anywhere on the screen. Configure the colour of the warning text to suit your background colour. Option to display actual volatility amount in pips to be shown with the message to show price movement Show or hide volatility message Show or hide the current bid/ask spread size. Show or Hide Depth of Market (total) Configure the colour of the current spread size text. * Use this Indicator with the Market Trading Clock /algos/indicators/show/687 to manage volatility when an exchange opens. Some brokers do not provide real DoM and have their volumes fixed.   Contact: instant chat group Website: https://clickalgo.com Twitter | Facebook | YouTube | Pinterest | LinkedIn  
zig zag buy sell
  0
  0
  4426
free  09 Mar 2015
//+------------------------------------------------------------------+ //| ZigAndZagScalpel.mq4 | //| Bookkeeper, 2006, yuzefovich@gmail.com | //+------------------------------------------------------------------+ #property copyright "" #property link "" //---- #property indicator_chart_window #property indicator_buffers 7 // Èëè 8 - äëÿ testBuffer #property indicator_color1 Aqua #property indicator_color2 Black #property indicator_color3 Black #property indicator_color4 Black #property indicator_color5 White #property indicator_color6 Red #property indicator_color7 Red //#property indicator_color8 White // Äëÿ ïîäáîðà ÷åãî-íèáóäü extern int KeelOver=55; // Äëÿ M15 extern int Slalom=17; // Äëÿ M15 double KeelOverZigAndZagSECTION[]; double KeelOverZagBuffer[]; double SlalomZigBuffer[]; double SlalomZagBuffer[]; double LimitOrdersBuffer[]; double BuyOrdersBuffer[]; double SellOrdersBuffer[]; //double testBuffer[]; int shift,back,CountBar,Backstep=3; int LastSlalomZagPos,LastSlalomZigPos,LastKeelOverZagPos,LastKeelOverZigPos; double Something,LimitPoints,Navel; double CurKeelOverZig,CurKeelOverZag,CurSlalomZig,CurSlalomZag; double LastSlalomZag,LastSlalomZig,LastKeelOverZag,LastKeelOverZig; bool TrendUp,SetBuyOrder,SetLimitOrder,SetSellOrder,Second=false; string LastZigOrZag="None"; //---- int init() { SetIndexBuffer(0,KeelOverZigAndZagSECTION); SetIndexStyle(0,DRAW_SECTION,STYLE_DOT);//DRAW_SECTION èëè DRAW_NONE SetIndexEmptyValue(0,0.0); SetIndexBuffer(1,KeelOverZagBuffer); SetIndexStyle(1,DRAW_NONE); SetIndexEmptyValue(1,0.0); SetIndexBuffer(2,SlalomZigBuffer); SetIndexStyle(2,DRAW_NONE); SetIndexEmptyValue(2,0.0); SetIndexBuffer(3,SlalomZagBuffer); SetIndexStyle(3,DRAW_NONE); SetIndexEmptyValue(3,0.0); SetIndexBuffer(4,LimitOrdersBuffer); SetIndexStyle(4,DRAW_ARROW); SetIndexArrow(4,108); SetIndexEmptyValue(4,0.0); SetIndexBuffer(5,BuyOrdersBuffer); SetIndexStyle(5,DRAW_ARROW); SetIndexArrow(5,233); SetIndexEmptyValue(5,0.0); SetIndexBuffer(6,SellOrdersBuffer); SetIndexStyle(6,DRAW_ARROW); SetIndexArrow(6,234); SetIndexEmptyValue(6,0.0); // SetIndexStyle(7,DRAW_SECTION); // SetIndexBuffer(7,testBuffer); // SetIndexEmptyValue(7,0.0); return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { CountBar=Bars-KeelOver; LimitPoints=Ask-Bid; if(CountBar<=3*KeelOver) return(-1); // Ìàëîâàòî áóäåò if(KeelOver<=2*Slalom) return(-1); // Òùàòåëüíåå íàäî // Çà÷èñòêà íåïðàâèëüíîé èñòîðèè for(shift=Bars-1; shift>Bars-KeelOver; shift--) { SlalomZagBuffer[shift]=0.0; SlalomZigBuffer[shift]=0.0; KeelOverZagBuffer[shift]=0.0; KeelOverZigAndZagSECTION[shift]=0.0; LimitOrdersBuffer[shift]=0.0; BuyOrdersBuffer[shift]=0.0; SellOrdersBuffer[shift]=0.0; // testBuffer[shift]=0.0; } //+---Ïåðâûé ïîõîä ïî èñòîðèè----------------------------------------+ The_First_Crusade(); //+---Âòîðîé ïðîõîä ïî èñòîðè÷åñêèì ìåñòàì---------------------------+ //+---ñ öåëüþ ïîä÷èñòêè íåâåðíî ïîíÿòûõ ñîáûòèé----------------------+ LastSlalomZag=-1; LastSlalomZagPos=-1; LastSlalomZig=-1; LastSlalomZigPos=-1; LastKeelOverZag=-1; LastKeelOverZagPos=-1; LastKeelOverZig=-1; LastKeelOverZigPos=-1; The_Second_Crusade(); //+---Òðåòèé èñòîðè÷åñêèé ýêñêóðñ - ïîñòðîåíèå "òðåíäà"--------------+ //+---è ðàññòàíîâêà "òîðãîâûõ ñèãíàëîâ"------------------------------+ LastSlalomZag=-1; LastSlalomZagPos=-1; LastSlalomZig=-1; LastSlalomZigPos=-1; LastZigOrZag="None"; The_Third_Crusade(); //+---À ÷åãî ìû òåïåðü áóäåì èìåòü çäåñü è ñåé÷àñ?-------------------+ Shift_Zerro(); return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void The_First_Crusade() { for(shift=CountBar; shift>0; shift--) { // Ïîèñê òî÷åê "âñòàë â ïîçó" - "óøåë ñ ðûíêà" CurSlalomZig=Low[Lowest(NULL,0,MODE_LOW,Slalom,shift)]; CurSlalomZag=High[Highest(NULL,0,MODE_HIGH,Slalom,shift)]; // Ïðîâåðÿåì shift íà íàëè÷èå î÷åðåäíîãî ÑëàëîìÇèãà äëÿ âõîäà // â ïîêóïêó èëè äëÿ âûõîäà èç ïðîäàæè if(CurSlalomZig==LastSlalomZig) CurSlalomZig=0.0; else { LastSlalomZig=CurSlalomZig; if((Low[shift]-CurSlalomZig)>LimitPoints) CurSlalomZig=0.0; else { // Íà èíòåðâàëå Backstep ìîæåò áûòü òîëüêî îäèí Çèã, // îñòàâëÿåì òîëüêî ïîñëåäíèé, áîëåå ðàííèå óáèðàåì for(back=1; back<=Backstep; back++) { Something=SlalomZigBuffer[shift+back]; if((Something!=0)&&(Something>CurSlalomZig)) SlalomZigBuffer[shift+back]=0.0; } } } // Ïðîâåðÿåì shift íà íàëè÷èå î÷åðåäíîãî ÑëàëîìÇàãà äëÿ âõîäà âíèç // èëè äëÿ âûõîäà èç ïîêóïêè if(CurSlalomZag==LastSlalomZag) CurSlalomZag=0.0; else { LastSlalomZag=CurSlalomZag; if((CurSlalomZag-High[shift])>LimitPoints) CurSlalomZag=0.0; else { // Íà èíòåðâàëå Backstep ìîæåò áûòü òîëüêî îäèí Çàã, // îñòàâëÿåì òîëüêî ïîñëåäíèé, áîëåå ðàííèå óáèðàåì for(back=1; back<=Backstep; back++) { Something=SlalomZagBuffer[shift+back]; if((Something!=0)&&(SomethingLimitPoints) CurKeelOverZig=0.0; else { // Íà èíòåðâàëå Backstep ìîæåò áûòü òîëüêî îäèí Çèã, // îñòàâëÿåì òîëüêî ïîñëåäíèé, áîëåå ðàííèå óáèðàåì for(back=1; back<=Backstep; back++) { Something=KeelOverZigAndZagSECTION[shift+back]; if((Something!=0)&&(Something>CurKeelOverZig)) KeelOverZigAndZagSECTION[shift+back]=0.0; } } } // Ïðîâåðÿåì shift íà íàëè÷èå î÷åðåäíîãî ÎâåðêèëüÇàãà if(CurKeelOverZag==LastKeelOverZag) CurKeelOverZag=0.0; else { LastKeelOverZag=CurKeelOverZag; if((CurKeelOverZag-High[shift])>LimitPoints) CurKeelOverZag=0.0; else { // Íà èíòåðâàëå Backstep ìîæåò áûòü òîëüêî îäèí Çàã, // áîëåå ðàííèå óáèðàåì for(back=1; back<=Backstep; back++) { Something=KeelOverZagBuffer[shift+back]; if((Something!=0)&&(Something0; shift--) { CurSlalomZig=SlalomZigBuffer[shift]; CurSlalomZag=SlalomZagBuffer[shift]; if((CurSlalomZig==0)&&(CurSlalomZag==0)) continue; if(CurSlalomZag!=0) { if(LastSlalomZag>0) { if(LastSlalomZag0) { if(LastSlalomZig>CurSlalomZig) SlalomZigBuffer[LastSlalomZigPos]=0; else SlalomZigBuffer[shift]=0; } if((CurSlalomZig0) { if(LastKeelOverZag0) { if(LastKeelOverZig>CurSlalomZig) KeelOverZigAndZagSECTION[LastKeelOverZigPos]=0; else KeelOverZigAndZagSECTION[shift]=0; } if((CurKeelOverZig0; shift--) { // Íèçâåãàåì ïðåæíèõ ïðîðîêîâ LimitOrdersBuffer[shift]=0.0; BuyOrdersBuffer[shift]=0.0; SellOrdersBuffer[shift]=0.0; // Çàäàåì öåíòð ìèðîçäàíüÿ èíòåðâàëà shift (ïî ëþáîìó - // ñïîñîá áîëüøîãî ïîëèòè÷åñêîãî âåñà íå èìååò) Navel=(5*Close[shift]+2*Open[shift]+High[shift]+Low[shift])/9; // Åñëè îâåðêèëü - ñìîòðèì, // êóäà (ìîæåò áûòü) äàëüøå ñåéìîìåíòíî ïîéäåì: ââåðõ èëè âíèç if(KeelOverZigAndZagSECTION[shift]!=0.0) { TrendUp=true; first=false; } if(KeelOverZagBuffer[shift]!=0.0) { TrendUp=false; first=false; } // Ñîáèðàåì â KeelOverZigAndZagSECTION è ÎâåðêèëüÇèãè, è ÎâåðêèëüÇàãè, // è ïóñòûøêè - âñå â îäíó êó÷êó, òàêèì îáðàçîì ïîëó÷àåì äîëãîèãðàþùèé // ZigAndZag, íàòÿãèâàÿ íèòü "òðåíäà" íà ïóïêè ðàçâîðîòíûõ ñâå÷åê if(KeelOverZagBuffer[shift]!=0.0 || KeelOverZigAndZagSECTION[shift]!=0.0) { KeelOverZigAndZagSECTION[shift]=Navel; } else KeelOverZigAndZagSECTION[shift]=0.0; // Ïðîâåðÿåì shift íà íàëè÷èå ÑëàëîìÇèãà èëè ÑëàëîìÇàãà if(SlalomZigBuffer[shift]!=0.0) { LastZigOrZag="Zig"; LastSlalomZig=Navel; SetBuyOrder=false; SetLimitOrder=false; SetSellOrder=false; } if(SlalomZagBuffer[shift]!=0.0) { LastZigOrZag="Zag"; LastSlalomZag=Navel; SetBuyOrder=false; SetLimitOrder=false; SetSellOrder=false; } // è, åñëè íè ÑëàëîìÇèãà, íè ÑëàëîìÇàãà óæå íåò, // à îâåðêèëü óæå áûë - ñìîòðèì, à ÷òî åñòü ïî âõîäó-âûõîäó if(SlalomZigBuffer[shift]==0.0 && SlalomZagBuffer[shift]==0.0 && first==false) Slalom_With_A_Scalpel(); } return; } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void Shift_Zerro() { shift=0; Navel=(5*Close[0]+2*Open[0]+High[0]+Low[0])/9; Slalom_With_A_Scalpel(); KeelOverZigAndZagSECTION[0]=Navel; return; } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void Slalom_With_A_Scalpel() { // Ïðîâåðÿåì ñóùåñòâóþùèé ñèãíàë íà èìååò ïðàâî áûòü // èëè íà åñëè íå ñòîèò, à õîòåëîñü áû: // åñëè õîä ÷èñòî êîíêðåòíî ïî æèçíè - çàáèâàåì Ñòðåëêó íà äåíüãè, // åñëè ïðîòèâ - ñòàâèì íà øóõåð Øàðèêà Äåëàé-Íîãè if(LastZigOrZag=="Zig") { if(TrendUp==true) { if((Navel-LastSlalomZig)>=LimitPoints && SetBuyOrder==false) { SetBuyOrder=true; BuyOrdersBuffer[shift]=Low[shift+1]; LastSlalomZigPos=shift; } if(Navel<=LastSlalomZig && SetBuyOrder==true) { SetBuyOrder=false; BuyOrdersBuffer[LastSlalomZigPos]=0.0; LastSlalomZigPos=-1; } } if(TrendUp==false) { if(Navel>LastSlalomZig && SetLimitOrder==false) { SetLimitOrder=true; LimitOrdersBuffer[shift]=Navel; // LimitOrdersBuffer[shift]=Close[shift]; LastSlalomZigPos=shift; } if(Navel<=LastSlalomZig && SetLimitOrder==true) { SetLimitOrder=false; LimitOrdersBuffer[LastSlalomZigPos]=0.0; LastSlalomZigPos=-1; } } } if(LastZigOrZag=="Zag") { if(TrendUp==false) { if((LastSlalomZag-Navel)>=LimitPoints && SetSellOrder==false) { SetSellOrder=true; SellOrdersBuffer[shift]=High[shift+1]; LastSlalomZagPos=shift; } if(Navel>=LastSlalomZag && SetSellOrder==true) { SetSellOrder=false; SellOrdersBuffer[LastSlalomZagPos]=0.0; LastSlalomZagPos=-1; } } if(TrendUp==true) { if(LastSlalomZag>Navel && SetLimitOrder==false) { SetLimitOrder=true; LimitOrdersBuffer[shift]=Navel; // LimitOrdersBuffer[shift]=Close[shift]; LastSlalomZagPos=shift; } if(Navel>=LastSlalomZag && SetLimitOrder==true) { SetLimitOrder=false; LimitOrdersBuffer[LastSlalomZagPos]=0.0; LastSlalomZagPos=-1; } } } return; } //+--Ñîáñòâåííî, ÿ âñå ñêàçàë. Çàáàâíî, åñëè âñå ýòî ðàáîòàòü áóäåò--+ //+------------------------------------------------------------------+  
zig zag buy sell
  0
  0
  2459
free  09 Mar 2015
//+------------------------------------------------------------------+ //|                                             ZigAndZagScalpel.mq4 | //|                           Bookkeeper, 2006, yuzefovich@gmail.com | //+------------------------------------------------------------------+ #property copyright "" #property link      "" //---- #property indicator_chart_window #property indicator_buffers 7     // Èëè 8 - äëÿ testBuffer #property indicator_color1 Aqua #property indicator_color2 Black #property indicator_color3 Black #property indicator_color4 Black #property indicator_color5 White #property indicator_color6 Red #property indicator_color7 Red //#property indicator_color8 White // Äëÿ ïîäáîðà ÷åãî-íèáóäü extern int KeelOver=55; // Äëÿ M15 extern int Slalom=17;  // Äëÿ M15 double KeelOverZigAndZagSECTION[]; double KeelOverZagBuffer[]; double SlalomZigBuffer[]; double SlalomZagBuffer[]; double LimitOrdersBuffer[]; double BuyOrdersBuffer[]; double SellOrdersBuffer[]; //double testBuffer[]; int    shift,back,CountBar,Backstep=3; int    LastSlalomZagPos,LastSlalomZigPos,LastKeelOverZagPos,LastKeelOverZigPos; double Something,LimitPoints,Navel; double CurKeelOverZig,CurKeelOverZag,CurSlalomZig,CurSlalomZag; double LastSlalomZag,LastSlalomZig,LastKeelOverZag,LastKeelOverZig; bool   TrendUp,SetBuyOrder,SetLimitOrder,SetSellOrder,Second=false; string LastZigOrZag="None"; //---- int init()   {    SetIndexBuffer(0,KeelOverZigAndZagSECTION);    SetIndexStyle(0,DRAW_SECTION,STYLE_DOT);//DRAW_SECTION èëè DRAW_NONE    SetIndexEmptyValue(0,0.0);    SetIndexBuffer(1,KeelOverZagBuffer);    SetIndexStyle(1,DRAW_NONE);    SetIndexEmptyValue(1,0.0);    SetIndexBuffer(2,SlalomZigBuffer);    SetIndexStyle(2,DRAW_NONE);    SetIndexEmptyValue(2,0.0);    SetIndexBuffer(3,SlalomZagBuffer);    SetIndexStyle(3,DRAW_NONE);    SetIndexEmptyValue(3,0.0);    SetIndexBuffer(4,LimitOrdersBuffer);    SetIndexStyle(4,DRAW_ARROW);    SetIndexArrow(4,108);    SetIndexEmptyValue(4,0.0);    SetIndexBuffer(5,BuyOrdersBuffer);    SetIndexStyle(5,DRAW_ARROW);    SetIndexArrow(5,233);    SetIndexEmptyValue(5,0.0);    SetIndexBuffer(6,SellOrdersBuffer);    SetIndexStyle(6,DRAW_ARROW);    SetIndexArrow(6,234);    SetIndexEmptyValue(6,0.0);    //   SetIndexStyle(7,DRAW_SECTION);    //   SetIndexBuffer(7,testBuffer);    //   SetIndexEmptyValue(7,0.0);    return(0);   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ int start()   {    CountBar=Bars-KeelOver;    LimitPoints=Ask-Bid;    if(CountBar<=3*KeelOver) return(-1); // Ìàëîâàòî áóäåò    if(KeelOver<=2*Slalom) return(-1);  // Òùàòåëüíåå íàäî    // Çà÷èñòêà íåïðàâèëüíîé èñòîðèè    for(shift=Bars-1; shift>Bars-KeelOver; shift--)      {       SlalomZagBuffer[shift]=0.0;       SlalomZigBuffer[shift]=0.0;       KeelOverZagBuffer[shift]=0.0;       KeelOverZigAndZagSECTION[shift]=0.0;       LimitOrdersBuffer[shift]=0.0;       BuyOrdersBuffer[shift]=0.0;       SellOrdersBuffer[shift]=0.0;       //      testBuffer[shift]=0.0;      }    //+---Ïåðâûé ïîõîä ïî èñòîðèè----------------------------------------+    The_First_Crusade();    //+---Âòîðîé ïðîõîä ïî èñòîðè÷åñêèì ìåñòàì---------------------------+    //+---ñ öåëüþ ïîä÷èñòêè íåâåðíî ïîíÿòûõ ñîáûòèé----------------------+    LastSlalomZag=-1; LastSlalomZagPos=-1;    LastSlalomZig=-1;  LastSlalomZigPos=-1;    LastKeelOverZag=-1; LastKeelOverZagPos=-1;    LastKeelOverZig=-1;  LastKeelOverZigPos=-1;    The_Second_Crusade();    //+---Òðåòèé èñòîðè÷åñêèé ýêñêóðñ - ïîñòðîåíèå "òðåíäà"--------------+    //+---è ðàññòàíîâêà "òîðãîâûõ ñèãíàëîâ"------------------------------+    LastSlalomZag=-1; LastSlalomZagPos=-1;    LastSlalomZig=-1;  LastSlalomZigPos=-1;    LastZigOrZag="None";    The_Third_Crusade();    //+---À ÷åãî ìû òåïåðü áóäåì èìåòü çäåñü è ñåé÷àñ?-------------------+    Shift_Zerro();    return(0);   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void The_First_Crusade()   {    for(shift=CountBar; shift>0; shift--)      {       // Ïîèñê òî÷åê "âñòàë â ïîçó" - "óøåë ñ ðûíêà"       CurSlalomZig=Low[Lowest(NULL,0,MODE_LOW,Slalom,shift)];       CurSlalomZag=High[Highest(NULL,0,MODE_HIGH,Slalom,shift)];       // Ïðîâåðÿåì shift íà íàëè÷èå î÷åðåäíîãî ÑëàëîìÇèãà äëÿ âõîäà       // â ïîêóïêó èëè äëÿ âûõîäà èç ïðîäàæè       if(CurSlalomZig==LastSlalomZig) CurSlalomZig=0.0;       else         {          LastSlalomZig=CurSlalomZig;          if((Low[shift]-CurSlalomZig)>LimitPoints) CurSlalomZig=0.0;          else            {             // Íà èíòåðâàëå Backstep ìîæåò áûòü òîëüêî îäèí Çèã,             // îñòàâëÿåì òîëüêî ïîñëåäíèé, áîëåå ðàííèå óáèðàåì             for(back=1; back<=Backstep; back++)               {                Something=SlalomZigBuffer[shift+back];                if((Something!=0)&&(Something>CurSlalomZig))                   SlalomZigBuffer[shift+back]=0.0;               }            }         }       // Ïðîâåðÿåì shift íà íàëè÷èå î÷åðåäíîãî ÑëàëîìÇàãà äëÿ âõîäà âíèç       // èëè äëÿ âûõîäà èç ïîêóïêè       if(CurSlalomZag==LastSlalomZag) CurSlalomZag=0.0;       else         {          LastSlalomZag=CurSlalomZag;          if((CurSlalomZag-High[shift])>LimitPoints) CurSlalomZag=0.0;          else            {             // Íà èíòåðâàëå Backstep ìîæåò áûòü òîëüêî îäèí Çàã,             // îñòàâëÿåì òîëüêî ïîñëåäíèé, áîëåå ðàííèå óáèðàåì             for(back=1; back<=Backstep; back++)               {                Something=SlalomZagBuffer[shift+back];                if((Something!=0)&&(Something                   SlalomZagBuffer[shift+back]=0.0;               }            }         }       // Âñå, ÷òî íàøëè íîâåíüêîãî è ïóñòûøêè - êëàäåì â áóôåðà ñëàëîìà       SlalomZigBuffer[shift]=CurSlalomZig;       SlalomZagBuffer[shift]=CurSlalomZag;       // Èùåì òî÷êè ðàçâîðîòà äëÿ ïîñòðîåíèÿ "ëèíåéíîãî òðåíäà", ïðè ýòîì       // â áóôåð ðàçâîðîòîâ ZigAndZag ïîêà ÷òî áóäåì êëàñòü òîëüêî ÎâåðêèëüÇèãè       CurKeelOverZig=Low[Lowest(NULL,0,MODE_LOW,KeelOver,shift)];       CurKeelOverZag=High[Highest(NULL,0,MODE_HIGH,KeelOver,shift)];       // Ïðîâåðÿåì shift íà íàëè÷èå î÷åðåäíîãî ÎâåðêèëüÇèãà       if(CurKeelOverZig==LastKeelOverZig) CurKeelOverZig=0.0;       else         {          LastKeelOverZig=CurKeelOverZig;          if((Low[shift]-CurKeelOverZig)>LimitPoints) CurKeelOverZig=0.0;          else            {             // Íà èíòåðâàëå Backstep ìîæåò áûòü òîëüêî îäèí Çèã,             // îñòàâëÿåì òîëüêî ïîñëåäíèé, áîëåå ðàííèå óáèðàåì             for(back=1; back<=Backstep; back++)               {                Something=KeelOverZigAndZagSECTION[shift+back];                if((Something!=0)&&(Something>CurKeelOverZig))                   KeelOverZigAndZagSECTION[shift+back]=0.0;               }            }         }       // Ïðîâåðÿåì shift íà íàëè÷èå î÷åðåäíîãî ÎâåðêèëüÇàãà       if(CurKeelOverZag==LastKeelOverZag) CurKeelOverZag=0.0;       else         {          LastKeelOverZag=CurKeelOverZag;          if((CurKeelOverZag-High[shift])>LimitPoints) CurKeelOverZag=0.0;          else            {             // Íà èíòåðâàëå Backstep ìîæåò áûòü òîëüêî îäèí Çàã,             // áîëåå ðàííèå óáèðàåì             for(back=1; back<=Backstep; back++)               {                Something=KeelOverZagBuffer[shift+back];                if((Something!=0)&&(Something                   KeelOverZagBuffer[shift+back]=0.0;               }            }         }       // Âñå, ÷òî íàøëè èëè íå íàøëè - êëàäåì â áóôåðà ðàçâîðîòîâ       KeelOverZigAndZagSECTION[shift]=CurKeelOverZig;       KeelOverZagBuffer[shift]=CurKeelOverZag;      }    return;   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void The_Second_Crusade()   {    // Ïðîñòî ïîä÷èñòêà ëèøíåãî    for(shift=CountBar; shift>0; shift--)      {       CurSlalomZig=SlalomZigBuffer[shift];       CurSlalomZag=SlalomZagBuffer[shift];       if((CurSlalomZig==0)&&(CurSlalomZag==0)) continue;       if(CurSlalomZag!=0)         {          if(LastSlalomZag>0)            {             if(LastSlalomZag             else SlalomZagBuffer[shift]=0;            }          if(LastSlalomZag            {             LastSlalomZag=CurSlalomZag;             LastSlalomZagPos=shift;            }          LastSlalomZig=-1;         }       if(CurSlalomZig!=0)         {          if(LastSlalomZig>0)            {             if(LastSlalomZig>CurSlalomZig) SlalomZigBuffer[LastSlalomZigPos]=0;             else SlalomZigBuffer[shift]=0;            }          if((CurSlalomZig            {             LastSlalomZig=CurSlalomZig;             LastSlalomZigPos=shift;            }          LastSlalomZag=-1;         }       CurKeelOverZig=KeelOverZigAndZagSECTION[shift];       CurKeelOverZag=KeelOverZagBuffer[shift];       if((CurKeelOverZig==0)&&(CurKeelOverZag==0)) continue;       if(CurKeelOverZag !=0)         {          if(LastKeelOverZag>0)            {             if(LastKeelOverZag                KeelOverZagBuffer[LastKeelOverZagPos]=0;             else KeelOverZagBuffer[shift]=0.0;            }          if(LastKeelOverZag            {             LastKeelOverZag=CurKeelOverZag;             LastKeelOverZagPos=shift;            }          LastKeelOverZig=-1;         }       if(CurKeelOverZig!=0)         {          if(LastKeelOverZig>0)            {             if(LastKeelOverZig>CurSlalomZig)                KeelOverZigAndZagSECTION[LastKeelOverZigPos]=0;             else KeelOverZigAndZagSECTION[shift]=0;            }          if((CurKeelOverZig            {             LastKeelOverZig=CurKeelOverZig;             LastKeelOverZigPos=shift;            }          LastKeelOverZag=-1;         }      }    return;   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void The_Third_Crusade()   {    bool first=true;    for(shift=CountBar; shift>0; shift--)      {       // Íèçâåãàåì ïðåæíèõ ïðîðîêîâ       LimitOrdersBuffer[shift]=0.0;       BuyOrdersBuffer[shift]=0.0;       SellOrdersBuffer[shift]=0.0;       // Çàäàåì öåíòð ìèðîçäàíüÿ èíòåðâàëà shift (ïî ëþáîìó -       // ñïîñîá áîëüøîãî ïîëèòè÷åñêîãî âåñà íå èìååò)       Navel=(5*Close[shift]+2*Open[shift]+High[shift]+Low[shift])/9;       // Åñëè îâåðêèëü - ñìîòðèì,       // êóäà (ìîæåò áûòü) äàëüøå ñåéìîìåíòíî ïîéäåì: ââåðõ èëè âíèç       if(KeelOverZigAndZagSECTION[shift]!=0.0)         {          TrendUp=true;          first=false;         }       if(KeelOverZagBuffer[shift]!=0.0)         {          TrendUp=false;          first=false;         }       // Ñîáèðàåì â KeelOverZigAndZagSECTION è ÎâåðêèëüÇèãè, è ÎâåðêèëüÇàãè,       // è ïóñòûøêè - âñå â îäíó êó÷êó, òàêèì îáðàçîì ïîëó÷àåì äîëãîèãðàþùèé       // ZigAndZag, íàòÿãèâàÿ íèòü "òðåíäà" íà ïóïêè ðàçâîðîòíûõ ñâå÷åê       if(KeelOverZagBuffer[shift]!=0.0 || KeelOverZigAndZagSECTION[shift]!=0.0)         {          KeelOverZigAndZagSECTION[shift]=Navel;         }       else KeelOverZigAndZagSECTION[shift]=0.0;       // Ïðîâåðÿåì shift íà íàëè÷èå ÑëàëîìÇèãà èëè ÑëàëîìÇàãà       if(SlalomZigBuffer[shift]!=0.0)         {          LastZigOrZag="Zig";          LastSlalomZig=Navel;          SetBuyOrder=false;          SetLimitOrder=false;          SetSellOrder=false;         }       if(SlalomZagBuffer[shift]!=0.0)         {          LastZigOrZag="Zag";          LastSlalomZag=Navel;          SetBuyOrder=false;          SetLimitOrder=false;          SetSellOrder=false;         }       // è, åñëè íè ÑëàëîìÇèãà, íè ÑëàëîìÇàãà óæå íåò,       // à îâåðêèëü óæå áûë - ñìîòðèì, à ÷òî åñòü ïî âõîäó-âûõîäó       if(SlalomZigBuffer[shift]==0.0 &&          SlalomZagBuffer[shift]==0.0 &&          first==false)                  Slalom_With_A_Scalpel();      }    return;   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void Shift_Zerro()   {    shift=0;    Navel=(5*Close[0]+2*Open[0]+High[0]+Low[0])/9;    Slalom_With_A_Scalpel();    KeelOverZigAndZagSECTION[0]=Navel;    return;   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void Slalom_With_A_Scalpel()   {    // Ïðîâåðÿåì ñóùåñòâóþùèé ñèãíàë íà èìååò ïðàâî áûòü    // èëè íà åñëè íå ñòîèò, à õîòåëîñü áû:      // åñëè õîä ÷èñòî êîíêðåòíî ïî æèçíè - çàáèâàåì Ñòðåëêó íà äåíüãè,    // åñëè ïðîòèâ - ñòàâèì íà øóõåð Øàðèêà Äåëàé-Íîãè    if(LastZigOrZag=="Zig")      {       if(TrendUp==true)         {          if((Navel-LastSlalomZig)>=LimitPoints && SetBuyOrder==false)            {             SetBuyOrder=true;             BuyOrdersBuffer[shift]=Low[shift+1];             LastSlalomZigPos=shift;            }          if(Navel<=LastSlalomZig && SetBuyOrder==true)            {             SetBuyOrder=false;             BuyOrdersBuffer[LastSlalomZigPos]=0.0;             LastSlalomZigPos=-1;            }         }       if(TrendUp==false)         {          if(Navel>LastSlalomZig && SetLimitOrder==false)            {             SetLimitOrder=true;             LimitOrdersBuffer[shift]=Navel;             //            LimitOrdersBuffer[shift]=Close[shift];             LastSlalomZigPos=shift;            }          if(Navel<=LastSlalomZig && SetLimitOrder==true)            {             SetLimitOrder=false;             LimitOrdersBuffer[LastSlalomZigPos]=0.0;             LastSlalomZigPos=-1;            }         }      }    if(LastZigOrZag=="Zag")      {       if(TrendUp==false)         {          if((LastSlalomZag-Navel)>=LimitPoints && SetSellOrder==false)            {             SetSellOrder=true;             SellOrdersBuffer[shift]=High[shift+1];             LastSlalomZagPos=shift;            }          if(Navel>=LastSlalomZag && SetSellOrder==true)            {             SetSellOrder=false;             SellOrdersBuffer[LastSlalomZagPos]=0.0;             LastSlalomZagPos=-1;            }         }       if(TrendUp==true)         {          if(LastSlalomZag>Navel && SetLimitOrder==false)            {             SetLimitOrder=true;             LimitOrdersBuffer[shift]=Navel;             //            LimitOrdersBuffer[shift]=Close[shift];             LastSlalomZagPos=shift;            }          if(Navel>=LastSlalomZag && SetLimitOrder==true)            {             SetLimitOrder=false;             LimitOrdersBuffer[LastSlalomZagPos]=0.0;             LastSlalomZagPos=-1;            }         }      }    return;   } //+--Ñîáñòâåííî, ÿ âñå ñêàçàë. Çàáàâíî, åñëè âñå ýòî ðàáîòàòü áóäåò--+ //+------------------------------------------------------------------+  
cTrader Market Trading Clock
  36
  4.29
  8353
paid  27 Feb 2021
TRADING HOURS OF MAJOR STOCK EXCHANGES The cTrader Market Trading Clock displays the global trading hours (trading sessions) for each of the 7 major stock exchanges in the world used by cTrader, configurable to show or hide, markets that are currently open, the opening and closing times, alarm bell when market opens and a countdown timer when market is about to open. DOWNLOAD THIS INDICATOR   How will this help with my trading? The useful feature of this indicator is to highlight volatility, when Frankfurt, London & New York overlap and are open at the same time you see high volatile movement in the EURUSD for example.  All Features Selected (actual exchange opening times.) You can choose between your local timezone opening and closing times for the exchanges or the actual local times for New York, London etc. Athens UTC(+02:00) Example You can also show/hide the location label which is displayed on the left of the screen. You are able to select either your local timezone or the actual local times of the exchanges with the parameter below, you don't need to configure anything just select "YES" for show my timezone. Show My TimeZone? (YES) (NO) You can set the media file path to a sound file which plays a recording of the NY stock exchange opening bell or any other sound of your choice. Option to see when each stock exchange is about to start trading, this is displayed below the actual local time of the clocks.   INDICATOR PARAMETERS * Alert market opens: how many minutes left till market opens, a countdown timer will be displayed under the clock. CURRENT FEATURES Date and time order from left to right, so that closed markets are on the left of the highlighted open markets and markets about to open are on the right. Show clock in your current timezone or the local exchange timezone. Sends an email (x) minutes before an exchange opens. User-defined colours for the open and closed clocks to suit your background colour. Option to turn on/off sound for alarm A user-defined sound when the market opens, this can be any file located on your computer, so you can use a real exchange bell sound. Show or hide the timezone location label. Optional display of opening times for each of the exchanges. Clocks show the market closed message with all clocks in a closed state at the weekend. Option to display closing times. Option to display an alert when the market is about to open with a countdown timer. FxPro Midnight Inactivity message, trading stops for 5 minutes. Easier to add additional exchanges. Display 24hr clock option * Use this Indicator with the Scalpers Buddy /algos/indicators/show/705 to manage volatility when an exchange opens. Default Clock View - showing exchanges open, closed and when they open next in minutes. Markets Closed for the Weekend Markets Showing Opening Times Alternative Background Colour   Global Exchange Clock Hours (local time and deviation of local time zone from UTC) The market opening and closing times, position and display order can be modified in the exchange creation section (Initialization) cTrader Font Resizing Issue Please be aware that if you change the font size on cTrader it will cause issues with displaying the clock correctly. FXPro Customers Note: They currently halt trading for 5 minutes each night at midnight (Cyprus Time), as this is the time that the daily trading session finishes for their Liquidity Providers. At this time each night, the Liquidity Providers carry out their own daily reconciliations and withdraw their pricing for a very short period of time while this is carried out. Due to this temporary withdrawal of liquidity we see a widening of our spreads and a reduction in the liquidity available for their clients, in order to prevent their clients being affected by these abnormal market conditions they prefer to suspend trading until 00:05 when the Liquidity Providers have all returned pricing.   Sample New York Stock Market Open Bell https://drive.google.com/open?id=0BwYhDOZlukMMYWxydzN3aElfT28&authuser=0 Sample Ship Bell https://drive.google.com/open?id=0BwYhDOZlukMMQkR6eXhDcllydFk&authuser=0 * Just copy the file into a folder on your device and add that path to the Media File Path in the indicators parameters input field. WATCH A VIDEO DEMONSTRATION DOWNLOAD THIS INDICATOR   Contact: instant chat group Website: https://clickalgo.com Twitter | Facebook | YouTube | Pinterest | LinkedIn  
SinMaChineseTranslate
  0
  0
  1622
free  07 Mar 2015
// Only For beginners .this is TMA translate into chinese. use Color of violet and period of 16.More like waves //than sma,smma,ema. // //N= peroid. using System; using cAlgo.API; using cAlgo.API.Internals; using cAlgo.API.Indicators; using cAlgo.Indicators; // 系统自动的语句------------------------------------------------------------------------------------ namespace cAlgo {     // 指标一般都是这个语句----------------------------------------------------------     [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] //--isoverlay 是否显示在图表上;utc是服务器时间、ChinaStandardTime北京时间; .none不需要处理权,有(FullAccess、Internet)     public class SinMa : Indicator     { //--公用类------------TriangularMa  是类名称赋值了。         [Parameter(DefaultValue = 16)]         public int SinMaPeriod { get; set; } //--周期输入,及初始值。MaCenterPeriod是周期参数 //若要添加其他自定参量:[Parameter(DefaultValue = 5)] public int LipsPeriods { get; set; }         [Output("sinma", Color = Colors.Violet)]         public IndicatorDataSeries sinma { get; set; } //--输出颜色--输出线的名称,输出线的取值---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------         private TriangularMovingAverage sindata; //--------------sindata 的名称用于储存计算后的数组--------------------------------------------         protected override void Initialize()         {             sindata = Indicators.TriangularMovingAverage(MarketSeries.Close, SinMaPeriod);             // Initialize and create nested indicators         }         public override void Calculate(int index)         {             // Calculate value at specified index             // Result[index] = ...             //Print the current value of _triangularMovingAverage to the log             sinma[index] = sindata.Result[index];             //显示是通过数组,第一个是0:Print("Current Balance is {0}, Equity is {1}.", Account.Balance, Account.Equity);             //--若是要提供偏移参看:Jaws[index + JawsShift] = jawsMa.Result[index];         }     } }  
free  16 Feb 2015
GMMA (Guppy Multiple Moving Average) An indicator used in technical analysis to identify changing trends. The technique consists of combining two groups of moving averages with differing time periods.  One set of moving averages in the Guppy multiple moving average (GMMA) has a relatively brief time frame and is used to determine the activity of short-term traders. The number of days used in the set of short-term averages is usually 3, 5, 8, 10, 12 or 15. The other group of averages is created with extended time periods and is used to gauge the activity of long-term investors. The long-term averages usually use periods of 30, 35, 40, 45, 50 or 60 days.    
Trend Following Bot
  0
  0
  3851
free  09 Feb 2015
Hi all,   This the first post of a serie of posts where I'll share my robots. This robot use moving average crossover strategy. The time frame to use is D1 otherwise don't change any other setting. This robot can help you pass the tough times if you use contrarian strategies because it allows you to have a big draw UP  when your contrarian strategy is making a big dawn. In the long term,  the results of this robot are sufficiently positive to not reduce the gain of your main strategy. Here are some back tests results : 
Fractals
  2
  0
  4131
free  07 Feb 2015
NinjaTrader Fractals indicator analog. No other description ... No other comments ... It is free of charge :) This is a sample image: End of description.