PDA

View Full Version : Indicator for a newbies



aurora
05-22-2014, 12:45 PM
I want to share with you, this usefull indicator for the newbies. I hope this can help you more.

1. Zig Zag
2. Indikator Alligator
3. Linear Regression
4. Guppy MA
5. Commodity Channel Index
6. ATR-Average True Range
7. Ichimoku Kinko Hyo si Indikator Lengkap
8. Parabolic SAR
9. Williams %R
10. Stochastic Oscillator
11. Relative Strength Index
12. Indikator MACD Moving Acerage Convergence Divergence
13. SMA-Exponential Moving Average
14. Bollinger Bands
15. Weighted Moving Average
16. Moving Average

aurora
05-23-2014, 12:43 PM
Zigzag indicator is a one of the indicators that are often used in trade. This gauge group formed in the chart price is comprised of various behavioral and occasionally appears in the chart. This indicator is needed to determine the trend of movement while indicating the maximum price and minimum price. at first glance the all clear but this indicator is not very easy to understand.

aurora
05-24-2014, 04:23 PM
Zigzag indicator really help you, if you know how to use it.. my suggest is, please you train more you trading skill use this zigzag indicator in demo account before.

aurora
05-26-2014, 01:57 PM
Zigzag indicator for open BUY. If it has appeared supersignal (upward arrows) and zigzag has led from the top down, and stochastic has been under its 20 lines, then wait stochastic move above 20 and% K (red dots) facing UP on line 20, then you maybe can chose open BUY.

quadsi
05-28-2014, 01:52 PM
for me zigzag sometimes is usefull however, zigzag signal is hard to read it, because I dont know mroe for use this indicator.

aurora
05-28-2014, 03:55 PM
for me zigzag sometimes is usefull however, zigzag signal is hard to read it, because I dont know mroe for use this indicator.

for first time I suggest tou you for use friendly indicator before, then if you trading skill already increased you can use complex and difficult indicator in you MT4 platform. however for current time I suggest use easily indicator before.

quadsi
05-28-2014, 04:44 PM
for first time I suggest tou you for use friendly indicator before, then if you trading skill already increased you can use complex and difficult indicator in you MT4 platform. however for current time I suggest use easily indicator before.

I use EMA and Stochastic, for me that is very standard indicator, I want use next step with powerfull indicator.

aurora
05-29-2014, 05:36 AM
Zigzag indicator is needed to determine the trend of movement while determining the maximum and minimum prices. at first glance the all clear but this indicator is not very easy to understand. trading strategy using this indicator alone is unwise strategy because these indicators, like most other indicators, changing its direction.

aurora
05-30-2014, 01:01 PM
4 ways for use alligator indicator :

-Fractal (phase space)
-Momentum (phase energy) - aawesome sscillator
-Acceleration / deceleration (phase force)
-Zone (phase energy / force combination)

aurora
05-31-2014, 11:35 AM
Linear Regression indicator have a concept is almost the same as when when we use the Moving Average (MA). linear rregression is a statistical data that can predict the future prices of past data, which is typically used when the price movement is experiencing an increase or decrease is very significant.

quadsi
05-31-2014, 01:52 PM
I use zigzag indicator oin my trading terminal, I find this indicator really help to know the market power up or down trend, but need more to train it. so we can earn more benefit too.

aurora
05-31-2014, 03:04 PM
all indicators have positive and negative side, so it all depends on us how to use existing indicators correctly. if we practice with good train use indicators we will get a good results.

aurora
06-01-2014, 08:29 AM
use CCI on Overbought zone.

CCI value is regarded as the saturated zone is when the value of the CCI is above 100. with any other oscillator, after entering the overbought zone chart then the chart will return turun.Oleh therefore this area sell used area.

quadsi
06-01-2014, 09:29 AM
use CCI on Overbought zone.

CCI value is regarded as the saturated zone is when the value of the CCI is above 100. with any other oscillator, after entering the overbought zone chart then the chart will return turun.Oleh therefore this area sell used area.
I think this indicators is like stochastic oscillator and rsi, use percentage for calculate the trend power and so on. I have use it but not have any benefit.

aurora
06-02-2014, 10:34 AM
This the calculation for use CCI indicator :

TP = (High + Low + Close) / 3
D = TP – SMA(TP,N)
SMA = Simple Moving Average
N = Periode

Note* not all MT4 platform avaible this indicator, so for alternate we can download this indicator in other place.

vimala88
06-02-2014, 01:51 PM
Moving Averages indicator is good compared with to the other indicators, because this indicator has the ability to predict movements in the market is strong or weak.

aurora
06-02-2014, 01:54 PM
moving average for trend ddetection, the function of this one is clear deh grandfather. as an indicator that essentially "smoothes" the movement chart, with seeing a trend toward moving average, we can automatically detect the direction of the trend.

vimala88
06-02-2014, 01:58 PM
moving average for trend ddetection, the function of this one is clear deh grandfather. as an indicator that essentially "smoothes" the movement chart, with seeing a trend toward moving average, we can automatically detect the direction of the trend.

if you is expert advisors based on moving averages? if there be shared here. I need it, hopefully this expert advisor will work optimally.

aurora
06-02-2014, 02:03 PM
Ok. please be patient, because I need to see the first performance of the existing Expert Advisors. you need a type of MQL script or finished in the form of ready to use?

vimala88
06-02-2014, 02:11 PM
Ok. please be patient, because I need to see the first performance of the existing Expert Advisors. you need a type of MQL script or finished in the form of ready to use?

I need expeert advisor in the form of ready use, because if you give programming in MQL will be difficult and complicated, I do not know how to use it. thanks

aurora
06-03-2014, 02:06 PM
If we it is used and can feel the flow of the market movement, you can apply them in their daily trading. You can select an entry pointnya just by reading the chart. that strategy forex without indicators is the easiest to do.

aurora
06-04-2014, 07:55 AM
3 indicator general used in forex trading :

1.Intersection line indicator
indicators which have resulted in accurate signal is stochastic and MACD.

2.Touching certain level
Oscillator type indicator that provides accurate entry and exit signals is Money flow index and william percent range.

3. Switching position indicator
this type of indicator is very little, but the most accurate is the parabolic sar.

vimala88
06-04-2014, 03:05 PM
3 indicator general used in forex trading :

1.Intersection line indicator
indicators which have resulted in accurate signal is stochastic and MACD.

2.Touching certain level
Oscillator type indicator that provides accurate entry and exit signals is Money flow index and william percent range.

3. Switching position indicator
this type of indicator is very little, but the most accurate is the parabolic sar.

use few indicator small profit but consistent results it was nicer than a dream to get big results, forex trading is a long term investment, required skills and good trading system to obtain consistent results

aurora
06-04-2014, 03:14 PM
indicator can't give guarantee to ebcome success in forex trading, we need to learn how to analysis market trend prediction, for this point is very important so if you have a good skill in trend analysis you can know to where market is move(bullish or bearish).

vimala88
06-04-2014, 03:34 PM
indicator can't give guarantee to ebcome success in forex trading, we need to learn how to analysis market trend prediction, for this point is very important so if you have a good skill in trend analysis you can know to where market is move(bullish or bearish).

so trading experience gained from the process of training and practice every day, trading experience gives a better knowledge than the traders who are new to the forex business.

aurora
06-04-2014, 04:29 PM
trading experience maybe can give you more skill in forex trading know how to use indicator can give good signal for help you to know when can entry market. time also is important point in here.

vimala88
06-04-2014, 05:00 PM
trading experience maybe can give you more skill in forex trading know how to use indicator can give good signal for help you to know when can entry market. time also is important point in here.

market time like eurozone and american time is have very amazing market gain/fluatuative. so in this time I think can earn more profit opportunity.

aurora
06-04-2014, 05:11 PM
american time have a very powerfull market votalitie, so you can open position at this time, I am aslo open position in this timne and can earn profit very quick and big. eurozone also have good market votalitie.

vimala88
06-04-2014, 05:28 PM
american time have a very powerfull market votalitie, so you can open position at this time, I am aslo open position in this timne and can earn profit very quick and big. eurozone also have good market votalitie.

have a good time trading on asian market, I have try trading in asaian marekt but is very slow and is difficult to earn profit.

aurora
06-04-2014, 05:32 PM
better avoid trading activites on asian time, because in asian time market votalitie is very slow and is hard for take profit 5-10 pips, so is a good if you trading in euro market time and American time. in this two section you can earn profit easily.

aurora
06-05-2014, 03:29 PM
back to Forex or FX, in broad outline, there are only 3 Strategies to 3 different forex market conditions. eeach with advantages and disadvantages, the three strategies are:

1. Trend Following Strategies
2. Support & Resistance Strategies
3. Volatility Expansion Strategies

aurora
06-06-2014, 12:20 PM
Convergen.
a condition in which the graph is getting increasingly rising modestly but indicators. When there is a convergent graph will reverse its direction to ride. so what we did was open buy. point entry when the rods histogram is higher than ever after convergent.

vimala88
06-06-2014, 01:52 PM
Convergen.
a condition in which the graph is getting increasingly rising modestly but indicators. When there is a convergent graph will reverse its direction to ride. so what we did was open buy. point entry when the rods histogram is higher than ever after convergent.

I think for this tpye indicaotr is like moving avarges need to wait for crosss session then we soon can open position? but ma is most famous indicator in forex.

aurora
06-06-2014, 02:39 PM
Moving Average as "Mean" Price Movement
in the current market tends sideways, we can use the moving average with a period of 200 at a low time frame (eg 15 minutes) as the mean of which will be going to be the benchmark that the price will go back and forth penetrating the SMA200.

vimala88
06-06-2014, 02:51 PM
Moving Average as "Mean" Price Movement
in the current market tends sideways, we can use the moving average with a period of 200 at a low time frame (eg 15 minutes) as the mean of which will be going to be the benchmark that the price will go back and forth penetrating the SMA200.

moving average it could be a guide for us to start trading forex, because as in ebutkan by many people if this indicator have a sharp predictions.

aurora
06-06-2014, 02:57 PM
for know one indicator is powerfull or not, we better first test only. so we will know the performance indicators that will be used. so from the testimony we can know the indicator can use on MT4

- - - Updated - - -

for know one indicator is powerfull or not, we better first test only. so we will know the performance indicators that will be used. so from the testimony we can know the indicator can use on MT4

aurora
06-07-2014, 01:24 PM
Woodie's Pivot Point

R2 = PP + High - Low
R1 = (2 X PP) - Low
PP = (H + L + 2C) / 4
S1 = (2 X PP) - High
S2 = PP - High + Low

C - Closing Price, H - High, L - Low

In the formula above, you will notice that the pivot point calculations are very different from the standard method.

In addition, in order to calculate support and resistance, you will use the difference between the high and low the previous day, otherwise known as the range.

vimala88
06-07-2014, 02:14 PM
Woodie's Pivot Point

R2 = PP + High - Low
R1 = (2 X PP) - Low
PP = (H + L + 2C) / 4
S1 = (2 X PP) - High
S2 = PP - High + Low

C - Closing Price, H - High, L - Low

In the formula above, you will notice that the pivot point calculations are very different from the standard method.

In addition, in order to calculate support and resistance, you will use the difference between the high and low the previous day, otherwise known as the range.

this pivot point is very helpful in forex trading, because with this indicator we do know the potential profit and loss that will occur.

aurora
06-07-2014, 02:18 PM
use of the pivot point by the trader is similar to the use of Fibonacci retracement levels, in terms of almost all market participants pay attention to these levels in predicting the direction of price movement.

vimala88
06-07-2014, 02:31 PM
use of the pivot point by the trader is similar to the use of Fibonacci retracement levels, in terms of almost all market participants pay attention to these levels in predicting the direction of price movement.

pivot point is used by market analysis for predict adn calculate a forex trend and this indicator is very popular so learn for use it is good.

aurora
06-07-2014, 02:37 PM
Pivot point to determine the point swing high and swing low at Fibo retracement levels are still no subjective element, depending on the analysis of individual traders. you right this indicator in general used by professional trader to predict the market.

vimala88
06-07-2014, 03:17 PM
Pivot point to determine the point swing high and swing low at Fibo retracement levels are still no subjective element, depending on the analysis of individual traders. you right this indicator in general used by professional trader to predict the market.

If these indicators continue to be trained how to use it, for sure in the future it will be easy for us to implement it. better we did continue to practice skills in the trade.

aurora
06-07-2014, 03:50 PM
if you have been trained in using one indicator is better continues to maintain his expertise in, because we will be professional in using this indicator will surely bring its own useful.

aurora
06-08-2014, 05:46 AM
OpenAlert v1.0 - script for MetaTrader 4

//+---------------------------------------------------------------------+
//| Filename: OpenAlert.mq4
//| Version: 1.0
//| email: [email protected]
//| (Yes that is a .co domain.)
//| channels: #mqldev #help #mqldev
//| irc nick: CodeMonkey
//|---------------------------------------------------------------------+
//| Instructions:
//| To use this script place it in your scripts folder, and restart
//| your metatrader client application. You should then see it
//| listed in your available scripts.
//|
//| Simply add this script to any chart and it will open the alert
//| message box. This will enable you to see the previous alert signals.
//+---------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
Alert("-- OpenAlert v1.0 --");
//----
return(0);
}
//+------------------------------------------------------------------+

vimala88
06-08-2014, 05:58 AM
OpenAlert v1.0 - script for MetaTrader 4

//+---------------------------------------------------------------------+
//| Filename: OpenAlert.mq4
//| Version: 1.0
//| email: [email protected]
//| (Yes that is a .co domain.)
//| channels: #mqldev #help #mqldev
//| irc nick: CodeMonkey
//|---------------------------------------------------------------------+
//| Instructions:
//| To use this script place it in your scripts folder, and restart
//| your metatrader client application. You should then see it
//| listed in your available scripts.
//|
//| Simply add this script to any chart and it will open the alert
//| message box. This will enable you to see the previous alert signals.
//+---------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
Alert("-- OpenAlert v1.0 --");
//----
return(0);
}
//+------------------------------------------------------------------+


this indicator is sometimes difficult if based on script, there may be in the form of ordinary sometimes be just as difficult to walk in the metatrader platform.

aurora
06-08-2014, 06:10 AM
This could cause the indicator script running or not, it is a possibility have a some formulas and writing programs(MQL SCript) that do not writting come inside on mt4 programmig.

vimala88
06-08-2014, 06:36 AM
This could cause the indicator script running or not, it is a possibility have a some formulas and writing programs(MQL SCript) that do not writting come inside on mt4 programmig.

for myself was not so adept in using this script. because it has never been studied before. so I prefer indikaator in the form of ready-made.

aurora
06-08-2014, 07:11 AM
How it works Trailing Stop?

Suppose you set a trailing stop at 20 points and market your Buy order at 1.3000. If the price rises to 1.3021 then it will be active trailing by setting Stop Lossny (SL) automatically at the price 1.3001. Assuming the distance of the trailing stop is 20 pips, ie we get one of 1.3021-20 pips profit. then when the price rose to 1.3030 then you will automatically join SL raised at 1.3010.

vimala88
06-08-2014, 07:36 AM
How it works Trailing Stop?

Suppose you set a trailing stop at 20 points and market your Buy order at 1.3000. If the price rises to 1.3021 then it will be active trailing by setting Stop Lossny (SL) automatically at the price 1.3001. Assuming the distance of the trailing stop is 20 pips, ie we get one of 1.3021-20 pips profit. then when the price rose to 1.3030 then you will automatically join SL raised at 1.3010.

you have a trailling stop expert advisor, may I need it for help my trading activities. please share to me. thanks

aurora
06-08-2014, 07:42 AM
in any expert advisor have a trailling stop facility you can use it witth you own expert advisor, you can go to you own expert advisor setting panel for setting it.

aurora
06-09-2014, 01:17 PM
using 2 pieces moving average, 10-day and 30-day. on theory, when the 10-day MA is above the 30-day MA, then the direction of the trend is rising up, nor vice versa. a smaller size of the MA is used, the faster the indicator reacts to changes in the direction of the chart. However, each trader usually has a size that is adapted to the Supreme Court each trading style be it short, medium or long term.

aurora
06-10-2014, 10:04 AM
FQ indicator part-1

#property description "FQ - Head Fake"
#property version "1.00"
#property strict
//+----------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrGreen
#property indicator_color2 clrRed
#property indicator_width1 0
#property indicator_width2 0
//+----------------------+

input string Name = "FQ Head Fake";
input string
input int BarsToAnalyze = 1000;
input bool AlertOn = True;
input bool AlertEmail = True;
input bool PushNotification = True;

aurora
06-11-2014, 10:45 AM
FQ indicator part-2

//+----------------------+
double bull_head[];
double bear_head[];
datetime last_time;
bool first_alert_off;
bool signal_on;
string position;
//+----------------------+
int OnInit(void)
{
Reset();
SetIndexBuffer(0,bear_head);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexLabel(0,"Bear HeadFake");
SetIndexBuffer(1,bull_head);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
SetIndexLabel(1,"Bull HeadFake");
return(INIT_SUCCEEDED);
}
//+----------------------+
void Reset()
{
last_time = 0;
first_alert_off = true;
signal_on = false;
position = "";
}
//+----------------------+
void OnDeinit(const int reason)
{
if(reason==1)Alert(AuthorComment());
}
//+----------------------+

vimala88
06-11-2014, 01:48 PM
FQ indicator part-2

//+----------------------+
double bull_head[];
double bear_head[];
datetime last_time;
bool first_alert_off;
bool signal_on;
string position;
//+----------------------+
int OnInit(void)
{
Reset();
SetIndexBuffer(0,bear_head);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexLabel(0,"Bear HeadFake");
SetIndexBuffer(1,bull_head);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
SetIndexLabel(1,"Bull HeadFake");
return(INIT_SUCCEEDED);
}
//+----------------------+
void Reset()
{
last_time = 0;
first_alert_off = true;
signal_on = false;
position = "";
}
//+----------------------+
void OnDeinit(const int reason)
{
if(reason==1)Alert(AuthorComment());
}
//+----------------------+

yesterday I have read one article in internet thats is consciousness that makes traders getting better every day, awareness of the risk of trading make us more alert to the condition that not much equity and unable to move the market.

aurora
06-12-2014, 05:20 AM
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_minimum -1
#property indicator_maximum 1

#property indicator_type1 DRAW_HISTOGRAM
#property indicator_color1 DarkTurquoise

// The only buffer of the indicator
double ExtBuffer[];

// Timeframes of auxiliary indicators
ENUM_TIMEFRAMES TF[5] = {PERIOD_H4, PERIOD_H1, PERIOD_M15, PERIOD_M5, PERIOD_M1};

// Handles of auxiliary indicators for all timeframes
int h_Ichimoku[5], h_Channel[5];

//+------------------------------------------------------------------+
void OnInit()
{
SetIndexBuffer(0, ExtBuffer);
ArraySetAsSeries(ExtBuffer, true);

// Create auxiliary indicators
for (int itf=0; itf<5; itf++)
{
h_Ichimoku[itf] = iCustom(Symbol(), TF[itf],
"TestSlaveIndicators\\Ichimoku",
9, 26, 52
);
h_Channel [itf] = iCustom(Symbol(), TF[itf],
"TestSlaveIndicators\\Price_Channel",
22
);
}
}
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{

aurora
06-12-2014, 04:51 PM
ArraySetAsSeries(time, true);

int limit = prev_calculated ? rates_total - prev_calculated : rates_total -1;

for (int bar = limit; bar >= 0; bar--)
{
// Time of the current bar
datetime Time = time [bar];

//--- Gather signals from all timeframes
double Signal = 0; // total signal
double bufPrice[1], bufTenkan[1], bufKijun [1], bufMid[1], bufSignal[1];
for (int itf=0; itf<5; itf++)
{
//=== Bar price
CopyClose(Symbol(), TF[itf], Time, 1, bufPrice);
double Price = bufPrice[0];

aurora
06-13-2014, 12:34 PM
double ExtTenkanBuffer[];
double ExtKijunBuffer[];
double ExtSpanABuffer[];
double ExtSpanBBuffer[];
double ExtChinkouBuffer[];

int OnCalculate (const int rates_total, // size of the array price[]
const int prev_calculated, // number of bars processed at the previous call
const int begin, // the start of reliable data
const double& price[] // array for the calculation
);

aurora
06-13-2014, 05:25 PM
for money managements setting

#property copyright ""
#property link
#property version "1.00"
#property strict

extern bool ManageAllSymbol = false;
extern bool UseStopLoss = true;
extern double StopLossPercent = 0.02;
extern bool UseTakeProfit = true;
extern double TakeProfitPercent = 0.06;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
EventSetTimer(1);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
void OnTimer()

aurora
06-14-2014, 04:16 PM
#property copyright "2012 Aura"
#property link

#define major 1
#define minor 0

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Gold

extern int MA_Period=25;

double MABuf[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init()
{
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
SetIndexDrawBegin(0,MA_Period);
SetIndexBuffer(0,MABuf);

IndicatorShortName("AMMA ("+MA_Period+")");
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
void start()
{
int counted_bars=IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
if(counted_bars==0) limit-=1+1;

for(int i=limit; i>=0; i--)
{
if(i==Bars-1)
MABuf[i]=Close[i];
else
MABuf[i]=((MA_Period-1)*MABuf[i+1]+Close[i])/MA_Period;
}
}
//+------------------------------------------------------------------+

aurora
06-14-2014, 06:17 PM
wadah alt part-1

#property copyright "Aurora"
#property link
//----
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
//----
extern int ADXPeriod = 13;
//----
double ExtBuffer1[];
double ExtBuffer2[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0, ExtBuffer1);
SetIndexStyle(0, DRAW_HISTOGRAM, 0, 2);
//----
SetIndexBuffer(1, ExtBuffer2);
SetIndexStyle(1, DRAW_HISTOGRAM, 0, 2);
//----
IndicatorShortName("Advanced_ADX (" + ADXPeriod + ")");
return(0);
}

aurora
06-15-2014, 01:33 PM
property copyright "Aurora."
#property link
//--- indicator version
#property version "1.00"
//--- drawing the indicator in a separate window
#property indicator_separate_window
//---- number of indicator buffers
#property indicator_buffers 1
//--- one plot is used
#property indicator_plots 1
//+-----------------------------------+
//| Indicator drawing parameters |
//+-----------------------------------+
//--- drawing the indicator as a line
#property indicator_type1 DRAW_LINE
//---- indigo color is used as the color of the indicator line
#property indicator_color1 BlueViolet
//--- the indicator line is a continuous curve
#property indicator_style1 STYLE_SOLID
//--- indicator line width is 1
#property indicator_width1 1
//--- displaying the indicator label
#property indicator_label1 "VROC"
//+-----------------------------------+
//| Indicator input parameters |
//+-----------------------------------+
input uint PeriodROC=25; // Indicator period
input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK; // Volume
//+-----------------------------------+
//--- declaration of a dynamic array that
//--- will be used as an indicator buffer
double ExtLineBuffer[];
//--- declaration of integer variables of data starting point
int min_rates_total;
//+------------------------------------------------------------------+
//| VROC indicator initialization function |
//+------------------------------------------------------------------+
void OnInit()

aurora
06-15-2014, 04:00 PM
//--- initialization of variables of the start of data calculation
min_rates_total=int(PeriodROC+1);
//--- set dynamic array as an indicator buffer
SetIndexBuffer(0,ExtLineBuffer,INDICATOR_DATA);
//--- shift the beginning of indicator drawing
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,min_rates_total);
//--- setting the indicator values that won't be visible on a chart
PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//--- initializations of a variable for the indicator short name
string shortname;
StringConcatenate(shortname,"VROC(",PeriodROC,")");
//--- creation of the name to be displayed in a separate sub-window and in a pop up help
IndicatorSetString(INDICATOR_SHORTNAME,shortname);
//--- determining the accuracy of the indicator values
IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//--- initialization end
}
//+------------------------------------------------------------------+
//| VROC iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, // number of bars in history at the current tick
const int prev_calculated,// amount of history in bars at the previous tick
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{

aurora
06-16-2014, 10:00 AM
//--- checking if the number of bars is enough for the calculation
if(rates_total<min_rates_total) return(0);
//--- declaration of integer variables and getting already calculated bars
int first,bar;
//--- calculation of the starting number 'first' for the cycle of recalculation of bars
if(prev_calculated>rates_total || prev_calculated<=0) // checking for the first start of the indicator calculation
first=min_rates_total-1; // starting index for calculation of all bars
else first=prev_calculated-min_rates_total; // starting index for the calculation of new bars
//--- main calculation loop of the indicator
if(VolumeType==VOLUME_TICK)
{
for(bar=first; bar<rates_total && !IsStopped(); bar++)
ExtLineBuffer[bar]=((double)tick_volume[bar]-(double)tick_volume[bar-PeriodROC])/(double)tick_volume[bar-PeriodROC]*100;
}
else
{
for(bar=first; bar<rates_total && !IsStopped(); bar++)
ExtLineBuffer[bar]=double(((double)volume[bar]-(double)volume[bar-PeriodROC])/(double)volume[bar-PeriodROC]*100);
}
//---
return(rates_total);
}
//+------------------------------------------------------------------+

aurora
06-16-2014, 01:43 PM
c chaikin indicator part-1

#property copyright "Aurora"
#property link
//--- indicator version
#property version "1.00"
//--- drawing the indicator in a separate window
#property indicator_separate_window
//--- number of indicator buffers is 2
#property indicator_buffers 2
//--- one plot is used
#property indicator_plots 1
//+-----------------------------------+
//| Parameters of indicator drawing |
//+-----------------------------------+
//--- drawing the indicator as a colored cloud
#property indicator_type1 DRAW_FILLING
//--- the following colors are used as the indicator colors
#property indicator_color1 clrYellowGreen,clrDeepPink
//--- displaying the indicator label
#property indicator_label1 "CronexChaikin"
//+-----------------------------------+
//| Описание класса CXMA |
//+-----------------------------------+
#include <SmoothAlgorithms.mqh>
//+-----------------------------------+
//--- declaration of the CXMA class variables from the SmoothAlgorithms.mqh file
CXMA XMA1,XMA2;
//+-----------------------------------+
//| declaration of enumerations |
//+-----------------------------------+
/*enum Smooth_Method - enumeration is declared in SmoothAlgorithms.mqh
{
MODE_SMA_, // SMA
MODE_EMA_, // EMA
MODE_SMMA_, // SMMA
MODE_LWMA_, // LWMA
MODE_JJMA, // JJMA
MODE_JurX, // JurX
MODE_ParMA, // ParMA
MODE_T3, // T3
MODE_VIDYA, // VIDYA
MODE_AMA, // AMA
}; */
//+-----------------------------------+
//| declaration of constants |
//+-----------------------------------+

aurora
06-16-2014, 04:34 PM
input int FastMA=3; // Fast average period
input int SlowMA=10; // Slow average period
input int Phase_=15; // Smoothing parameter,
// for JJMA that can change withing the range -100 ... +100. It impacts the quality of the intermediate process of smoothing;
// for VIDIA it is a CMO period, for AMA it is a slow average period
input Smooth_Method SmoothMethod=MODE_T3; // Smoothing method
input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK; // Volume
input int Shift=0; // Horizontal shift of the indicator in bars
//+-----------------------------------+

//---- declaration of a dynamic array that
//---- will be used as an indicator buffer
double XCHO[];

//---- Declaration of the integer variables for the start of data calculation
int StartBars;
//+------------------------------------------------------------------+
//| calculate AD |
//+------------------------------------------------------------------+
double GetAD(const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
uint bar)

{
long vol;
double res=0;
//----
if(VolumeType==VOLUME_TICK)
vol=tick_volume[bar];
else vol=volume[bar];

if(high[bar]!=low[bar])
res=(2*close[bar]-high[bar]-low[bar])/(high[bar]-low[bar])*vol;
//----
return(res);
}
//+------------------------------------------------------------------+
//| XCHO indicator initialization function |
//+------------------------------------------------------------------+
void OnInit()
{
//---- initialization of variables of the start of data calculation
StartBars=MathMax(XMA1.GetStartBars(SmoothMethod,FastMA,Phase_),
XMA2.GetStartBars(SmoothMethod,SlowMA,Phase_));

//---- setting up alerts for unacceptable values of external variables
XMA1.XMALengthCheck("FastMA", FastMA);
XMA2.XMALengthCheck("SlowMA", SlowMA);
//---- setting up alerts for unacceptable values of external variables
XMA1.XMAPhaseCheck("Phase_",Phase_,SmoothMethod);

- - - Updated - - -

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- initialization of variables of the start of data calculation
min_rates_=2;
int min_rates_1=XMA1.GetStartBars(XMA_Method,FastPeriod,XPhase);
int min_rates_2=XMA1.GetStartBars(XMA_Method,SlowPeriod,XPhase);
min_rates_total=min_rates_+int(MathMax(min_rates_1,min_rates_2));
//--- получение хендла индикатора iAD
Ind_Handle=iAD(Symbol(),PERIOD_CURRENT,VolumeType);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" Failed to get the handle of the iAD indicator");
return(INIT_FAILED);
}
//--- set dynamic array as an indicator buffer
SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);
//--- indexing elements in the buffer as in timeseries
ArraySetAsSeries(ExtBuffer,true);
//--- shift the beginning of indicator drawing
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,min_rates_total);
//--- setting the indicator values that won't be visible on a chart
PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//--- creation of the name to be displayed in a separate sub-window and in a pop up help
IndicatorSetString(INDICATOR_SHORTNAME,"CHO");
//--- determining the accuracy of the indicator values
IndicatorSetInteger(INDICATOR_DIGITS,0);
//--- initialization end
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, // number of bars in history at the current tick
const int prev_calculated,// amount of history in bars at the previous tick
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//--- checking if the number of bars is enough for the calculation
if(rates_total<min_rates_total || BarsCalculated(Ind_Handle)<rates_total) return(RESET);
//--- declarations of local variables
int to_copy,limit,bar,maxbar;
//--- declaration of variables with a floating point
double AD[],Fast,Slow;
//--- apply timeseries indexing to array elements
ArraySetAsSeries(AD,true);
//---
maxbar=rates_total-min_rates_-1;
//--- Calculating the required amount of data to copy
//--- the starting number limit for the bar recalculation loop
if(prev_calculated>rates_total || prev_calculated<=0)// checking for the first start of calculation of an indicator
{
limit=maxbar; // starting index for the calculation of all bars
}
else limit=rates_total-prev_calculated; // starting index for the calculation of new bars
//---
to_copy=limit+1;
//--- copy newly appeared data in the arrays
if(CopyBuffer(Ind_Handle,0,0,to_copy,AD)<=0) return(RESET);
//--- the first indicator calculation loop
for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
Fast=XMA1.XMASeries(maxbar,prev_calculated,rates_total,XMA_Method,XPhase,FastPeriod,AD[bar],bar,true);
Slow=XMA2.XMASeries(maxbar,prev_calculated,rates_total,XMA_Method,XPhase,SlowPeriod,AD[bar],bar,true);
ExtBuffer[bar]=Fast-Slow;
}
//---
return(rates_total);
}
//+------------------------------------------------------------------+

aurora
06-18-2014, 09:16 AM
xigxag indicator part-1

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
double ZigzagBuffer[];
double HighMapBuffer[];
double LowMapBuffer[];
int level=3;
bool downloadhistory=false;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(3);
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ZigzagBuffer);
SetIndexBuffer(1,HighMapBuffer);
SetIndexBuffer(2,LowMapBuffer);
SetIndexEmptyValue(0,0.0);
IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
int limit,counterZ,whatlookfor;
int shift,back,lasthighpos,lastlowpos;
double val,res;
double curlow,curhigh,lasthigh,lastlow;

if(counted_bars==0 && downloadhistory)
{
ArrayInitialize(ZigzagBuffer,0.0);
ArrayInitialize(HighMapBuffer,0.0);
ArrayInitialize(LowMapBuffer,0.0);
}
if(counted_bars==0)
{
limit=Bars-ExtDepth;
downloadhistory=true;
}
if(counted_bars>0)
{
while(counterZ<level && i<100)
{
res=ZigzagBuffer[i];
if(res!=0) counterZ++;
i++;
}

aurora
06-18-2014, 11:31 AM
i--;
limit=i;
if(LowMapBuffer[i]!=0)
{
curlow=LowMapBuffer[i];
whatlookfor=1;
}
else
{
curhigh=HighMapBuffer[i];
whatlookfor=-1;
}
for(i=limit-1;i>=0;i--)
{
ZigzagBuffer[i]=0.0;
LowMapBuffer[i]=0.0;
HighMapBuffer[i]=0.0;
}
}

for(shift=limit; shift>=0; shift--)
{
val=Low[iLowest(NULL,0,MODE_LOW,ExtDepth,shift)];
if(val==lastlow) val=0.0;
else
{
lastlow=val;
if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=LowMapBuffer[shift+back];
if((res!=0) && (res>val)) LowMapBuffer[shift+back]=0.0;
}
}
}
if(Low[shift]==val) LowMapBuffer[shift]=val; else LowMapBuffer[shift]=0.0;
val=High[iHighest(NULL,0,MODE_HIGH,ExtDepth,shift)];
if(val==lasthigh) val=0.0;
else
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=HighMapBuffer[shift+back];
if((res!=0) && (res<val)) HighMapBuffer[shift+back]=0.0;
}
}
}
if(High[shift]==val) HighMapBuffer[shift]=val; else HighMapBuffer[shift]=0.0;
}

if(whatlookfor==0)
{
lastlow=0;
lasthigh=0;
}
else
{
lastlow=curlow;
lasthigh=curhigh;
}
for(shift=limit;shift>=0;shift--)
{
res=0.0;
switch(whatlookfor)
{
case 0:
if(lastlow==0 && lasthigh==0)
{
if(HighMapBuffer[shift]!=0)
{
lasthigh=High[shift];
lasthighpos=shift;
whatlookfor=-1;
ZigzagBuffer[shift]=lasthigh;
res=1;
}
if(LowMapBuffer[shift]!=0)
{
lastlow=Low[shift];
lastlowpos=shift;
whatlookfor=1;
ZigzagBuffer[shift]=lastlow;
res=1;
}
}

aurora
06-20-2014, 11:10 AM
XIGXAG finished

break;
case 1:
if(LowMapBuffer[shift]!=0.0 && LowMapBuffer[shift]<lastlow && HighMapBuffer[shift]==0.0)
{
ZigzagBuffer[lastlowpos]=0.0;
lastlowpos=shift;
lastlow=LowMapBuffer[shift];
ZigzagBuffer[shift]=lastlow;
res=1;
}
if(HighMapBuffer[shift]!=0.0 && LowMapBuffer[shift]==0.0)
{
lasthigh=HighMapBuffer[shift];
lasthighpos=shift;
ZigzagBuffer[shift]=lasthigh;
whatlookfor=-1;
res=1;
}
break;
case -1:
if(HighMapBuffer[shift]!=0.0 && HighMapBuffer[shift]>lasthigh && LowMapBuffer[shift]==0.0)
{
ZigzagBuffer[lasthighpos]=0.0;
lasthighpos=shift;
lasthigh=HighMapBuffer[shift];
ZigzagBuffer[shift]=lasthigh;
}
if(LowMapBuffer[shift]!=0.0 && HighMapBuffer[shift]==0.0)
{
lastlow=LowMapBuffer[shift];
lastlowpos=shift;
ZigzagBuffer[shift]=lastlow;
whatlookfor=1;
}
break;
default: return ( false );
}
}

return(0);
}
//+------------------------------------------------------------------+

aurora
06-20-2014, 01:23 PM
P info - 1

#define OP_ALL 10
#define OP_OPENED 11
#define OP_PENDING 12

#property copyright
#property link

#property indicator_separate_window
#property strict

extern string MNdescription = "ALL = all magic numbers; 0 = manual trades; 1,5846,214 = 3 selected magics";
extern string MagicNumber = "ALL";
extern string SymbolDescription = "ALL = all symbols; EURUSD,USDJPY,GBPUSD = 3 selected symbols";
extern string Symbols = "EURUSD,GBPUSD";
extern bool SortBySymbols = true;
extern color Clr_1 = White;
extern color Clr_2 = Green;
extern color Clr_3 = Red;
extern string Font ="Arial";
extern int FontSize =12;
extern int Correction = 7;

string IndicatorName = "ProfitInfo"+"_"+IntegerToString(SortBySymbols)+"_"+MagicNumber+"_"+Symbols;

//int columns;
int mNumbers[];
string sSymbols[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorShortName(IndicatorName);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}