Indicators

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
free  04 Jul 2022
Below is a Python code that I created to identify tops and bottoms on price charts of stocks or any financial assets. I also invented an extra indicator that calculates the angle between the last two tops and the angle between the last two bottoms, imagining that a straight line connects both. I am using these indicators to operar opções binárias as we say in Brazil. # Last tops: # In the case of a window of 3, this value is i-1. In the case of a window of 5, it is i-2. In the case of a window of 7, it is i-3. df['maximo'] = df['max'].rolling(window=9, center=True).max() df['top'] = np.where(df['max']==df['maximo'], df['max'], np.nan) df['top_1'] = np.nan df['top_2'] = np.nan df['top_3'] = np.nan df['top_4'] = np.nan df['top_5'] = np.nan df['top_6'] = np.nan df['top_7'] = np.nan for i in range(4, df.shape[0]): # considering window = 9     if df['top'][i-4]>0 and df['top_1'][i-1]!=df['top'][i-4]: # ignoring consecutive tops         df['top_1'][i] = df['top'][i-4]         df['top_2'][i] = df['top_1'][i-1]         df['top_3'][i] = df['top_2'][i-1]         df['top_4'][i] = df['top_3'][i-1]         df['top_5'][i] = df['top_4'][i-1]         df['top_6'][i] = df['top_5'][i-1]         df['top_7'][i] = df['top_6'][i-1]     else:         df['top_1'][i] = df['top_1'][i-1]         df['top_2'][i] = df['top_2'][i-1]         df['top_3'][i] = df['top_3'][i-1]         df['top_4'][i] = df['top_4'][i-1]         df['top_5'][i] = df['top_5'][i-1]         df['top_6'][i] = df['top_6'][i-1]         df['top_7'][i] = df['top_7'][i-1]          # Last bottoms: df['minimo'] = df['min'].rolling(window=9, center=True).min() df['bottom'] = np.where(df['min']==df['minimo'], df['min'], np.nan) df['bottom_1'] = np.nan df['bottom_2'] = np.nan df['bottom_3'] = np.nan df['bottom_4'] = np.nan df['bottom_5'] = np.nan df['bottom_6'] = np.nan df['bottom_7'] = np.nan for i in range(4, df.shape[0]):     if df['bottom'][i-4]>0 and df['bottom_1'][i-1]!=df['bottom'][i-4]:         df['bottom_1'][i] = df['bottom'][i-4]         df['bottom_2'][i] = df['bottom_1'][i-1]         df['bottom_3'][i] = df['bottom_2'][i-1]         df['bottom_4'][i] = df['bottom_3'][i-1]         df['bottom_5'][i] = df['bottom_4'][i-1]         df['bottom_6'][i] = df['bottom_5'][i-1]         df['bottom_7'][i] = df['bottom_6'][i-1]     else:         df['bottom_1'][i] = df['bottom_1'][i-1]         df['bottom_2'][i] = df['bottom_2'][i-1]         df['bottom_3'][i] = df['bottom_3'][i-1]         df['bottom_4'][i] = df['bottom_4'][i-1]         df['bottom_5'][i] = df['bottom_5'][i-1]         df['bottom_6'][i] = df['bottom_6'][i-1]         df['bottom_7'][i] = df['bottom_7'][i-1] # Counting the nº of candles before a new top: df['count_tops'] = df.groupby((df['top_1'] != df['top_1'].shift(1)).cumsum()).cumcount()+1 df['AP1'] = np.nan # Angle between top_1 and top_2 df['AP2'] = np.nan df['AP3'] = np.nan df['AP4'] = np.nan df['AP5'] = np.nan df['AP6'] = np.nan for i in range(4, df.shape[0]):     if df['top_2'][i] != df['top_2'][i-1]: # when top_2 is updated         df['AP1'][i] = (df['top_1'][i] - df['top_2'][i])/df['count_tops'][i-1] # find the angle between top_1 and top_2         df['AP2'][i] = df['AP1'][i-1] # do the same for the others         df['AP3'][i] = df['AP2'][i-1]         df['AP4'][i] = df['AP3'][i-1]         df['AP5'][i] = df['AP4'][i-1]         df['AP6'][i] = df['AP5'][i-1]     else:         df['AP1'][i] = df['AP1'][i-1]         df['AP2'][i] = df['AP2'][i-1]         df['AP3'][i] = df['AP3'][i-1]         df['AP4'][i] = df['AP4'][i-1]         df['AP5'][i] = df['AP5'][i-1]         df['AP6'][i] = df['AP6'][i-1]          # Same for bottoms: df['count_bottoms'] = df.groupby((df['bottom_1'] != df['bottom_1'].shift(1)).cumsum()).cumcount()+1 df['AF1'] = np.nan df['AF2'] = np.nan df['AF3'] = np.nan df['AF4'] = np.nan df['AF5'] = np.nan df['AF6'] = np.nan for i in range(4, df.shape[0]):     if df['bottom_2'][i] != df['bottom_2'][i-1]:         df['AF1'][i] = (df['bottom_1'][i] - df['bottom_2'][i])/df['count_bottoms'][i-1]         df['AF2'][i] = df['AF1'][i-1]         df['AF3'][i] = df['AF2'][i-1]         df['AF4'][i] = df['AF3'][i-1]         df['AF5'][i] = df['AF4'][i-1]         df['AF6'][i] = df['AF5'][i-1]     else:         df['AF1'][i] = df['AF1'][i-1]         df['AF2'][i] = df['AF2'][i-1]         df['AF3'][i] = df['AF3'][i-1]         df['AF4'][i] = df['AF4'][i-1]         df['AF5'][i] = df['AF5'][i-1]         df['AF6'][i] = df['AF6'][i-1] More concepts can be found here.
free  05 Jul 2022
A simple indicator for trend following, consisting of 4 Exponential Moving Averages (EMAs) in total. Parameters: Source                        - The input source (default is close). Timeframe                  - The timeframe to use. MA Type                      - The Moving Average type to use. Change Bar Colour    - Changes the colour of the bars to show the trend direction. MA Periods                 - The period of the Moving Averages. Bar Colours                - The colours to use on bars for bullish and bearish trends
Cumulative Delta Volume
  12
  0
  1093
free  12 Jun 2022
This is an cumulative volume indicator based of the version by LonesomeTheBlue on TradinbView: https://www.tradingview.com/script/vB1T3EMp-Cumulative-Delta-Volume/ Here is how to use it:  
Moving Average Ribbon
  10
  0
  606
free  05 Jun 2022
This is a moving average ribbon which only shows the average, the max and the min value. This way any number of moving averages can be shown without recompiling the code.
zigzag
  5
  0
  804
free  04 Jun 2022
to help you in choosing the right risk reward ratio for your positions
Half Trend
  12
  0
  1809
by mfejza
free  30 May 2022
This following trend indicator is very reliable. It guides traders in the market about the prevailing or beginning direction. Moreover, it's a non-repainting indicator. The HalfTrend indicator represents the trend indicator that draws zones based on moving average intersection. The indicator draws bearish and bullish invalidation zones on the chart and marks a trend shift. The Green line represents the “Long” zone, while the Red line “Short” zone. The HalfTrend indicator shows also, the strength of the trend. If there is no trend, the indicator will be flat and we identify it as accumulation temporary price or distribution zones. However, if a trend exists, there will be a slope in that direction. If the slope is steep, the trend is strong. If there is a strong uptrend, the indicator will be green, and the slope will be upward and robust. If there is a downtrend, the indicator will be red with a downward slope. On the other hand, this indicator follows difference of the real market value and the price. In some cases, price momentum is stretched in opposite of trade zone  compared with price level of HalfTrend "level of change zone", when the supply and demand can be identified also. https://chartshots.ctradercloud.com/628c02e7da7b4.png  
Time_Open_RENKO
  46
  5
  892
free  22 Apr 2022
As we all know, Renko is a type of chart used in the financial market to indicate price variations disregarding TIME and trading volume, however there is an OPENING TIME for each RENKO BOX, in relation to the previous BOX, it has a time variation of opening, between one and the other, which may vary in thousands of seconds, or even seconds, minutes, hours, depending on the size of the RENKO used, so this indicator shows the OPENING TIME difference in relation to the previous BOX, where it paints the box when the CURRENT BOX has the LOWER time in relation to the previous BOX.  Default is receiving the value of minutes, being able to change in the code, to other times like seconds, hours, etc. 
free  24 Nov 2022
Group A / B to display 8 major currencies' strengths; Import and display Economic KeyEvents (by user time formatt ±GMT); Align all indicators at a setting DateTime (Reset-Time-Point); Shift+click scrolling to 15 minutes ahead of Reset-Time-Point; Ctrl+click reset viewable Y-Range as settings; Labels can display or hide Total Spread, Indicator Name and Value; Designed for TimeFrame by time, it also works for other types of TF; Framework .NET 6.0 ready, Source code is compatible with .NET 4.0;    Updates: (full logs please see source code) v2.09 Optimise       : Fixed a color code bug when running in cTrader ver 4.5.1; v2.08 Add function : User can define KeyEvent's TimeFormat (±GMT); Framework .NET 6.0 ready; v2.04 Optimise       : Y-Axis Gridline Upper,Lower limits extend to 10000; Other tiny changes; v2.03 Add function: Display 5-Minute VerticalGridlines, when chart zooms to 15% or 30%                                      in TimeFrame-1Minute, zoom back to 5% will be removed;                  Optimise : Code Structure (Move repeat constants to readonly variables),                                    : Auto-load more history data for indicators to display,                                   : Display KeyEvents up and down in turn to avoid overlapping;   Notes: The attachment .algo is compiled by .NET6.0. To run with the old version (4.1.17), please copy the source code and compile it at the cTrader version to fit your environment. After v2.08 .NET6 requires full access authorization, you may need to re-authorize the indicator when (re)install; Recommend USDJPY as BaseBar in the chart;  Zoom to 5% for TimeFrame.1Minute as an intraday view, 4Minute for one week view; Make sure to fill Reset-Time-Point within 1 or 2 days for an intraday chart, within 5-10 days for one week chart; Economic KeyEvent's txt file in (GMT+1) time can be downloaded every week from the pinned message at Telegram Group: cTrader FOREX Club; If you use the group function to display indicators in 2 or more charts, highly recommend it to work with Synchronized ScrZooing which is revised from Spotware's indicators.   Screenshots: This is a typical setting for intraday use (never mind about the background colour, it's another indicator's performance): Where you can set file path for economic key events: Don't forget to set a point of 'Reset Date-Time', and  adjust the viewable range when the market moves out of default setting: Labels can display Total Spread, Indicator Name and Value, and hide them all by turning the 3 settings off. User can define KeyEvent's TimeFormat (±GMT); Have Fun!
free  24 Nov 2022
New update ver 2.09. The file is named as 'Currency Strength Value' Group A / B to display 8 major currencies' strengths; Align all indicators at a setting DateTime (Reset-Time-Point); Designed for TimeFrame by time, it also works for other types of TF; Framework .NET 6.0 ready, Source code is compatible with .NET 4.0;  Link to: Pro version Notes: The attachment .algo is compiled by .NET6.0. To run with the old version (4.1.17), please copy the source code and compile it at the cTrader version to fit your environment. Recommend USDJPY as BaseBar in the chart;  Zoom to 5% for TimeFrame.1Minute as an intraday view, 4Minute for one week view; Make sure to fill Reset-Time-Point within 1 or 2 days for an intraday chart, within 5-10 days for one week chart;  
bgc
  7
  0
  423
free  17 Apr 2022
centre de gravite de belkhayat
bgc
  4
  0
  520
free  17 Apr 2022
centre de gravite de belkhayat
free  31 Mar 2022
OrglobalFx Ichimoku Multitimeframe Display Works on Renko Chart