[MT4指标]达玛系统指示灯
主图指标
附图指标,
mt4指标类型:趋势指标
是否能用在mt4手机版上:否
mt4指标类型:震荡指标
是否能用在mt4手机版上:否
是否含有未来函数:无
//+------------------------------------------------------------------+
//| Darma System Indicator (beta).mq4 |
//| [email protected] |
//| |
//+------------------------------------------------------------------+
/*README
This indicator is supposed to be a conversion of Darma\'s set of indicators from MT3 to MT4.
This conversion is not exactly the same though. In the MT3 version, the indicators were split up between 4 separate custom indicator files.
This MT4 version has all the logic combined into one file. Due to this consolidation, some of the logic did not translate exactly as intended.
Also, I only did a direct code translation. Prior to looking at the code in the MT3 files, I had no understanding of the logic behind the indicator files.
If someone could provide the logic in human language, I might be able to make this indicator behave more properly as well as be a little more programmatically elegant.
Test this indicator out according to Darma\'s original rules and see how it does for you.
Darma\'s Rules:
BUY:
1. When red stop dot (above price) becoming a blue stop dot (below price), the mood is ready for a buy.
3. Wait for the bar becoming blue. Sometime it happens in the same time, but sometime need to wait.
4. After you have a blue bar, Wait that blue bar closed completely.
5. Then place order to buy at 10-15 pips above the high of that blue bar.
SELL:
1. When bule stop dot (below price) becoming a red stop dot (above price), the mood is ready for a sell.
3. Wait for the bar becoming red. Sometime it happens in the same time, but sometime need to wait.
4. After you have a red bar, Wait that red bar closed completely.
5. Then place order to sell at 10-15 pips below the low of that red bar.
PS. This code is very ugly and inelegant. I would like to fix this by getting system rules in english.
- [email protected]
*/
#property copyright \"[email protected]\"
#property link \"\"
#property indicator_chart_window
#property indicator_buffers 4
//---- input parameters
extern int WingDings_Symbol = 108;
//---- buffers
double Buffer1;
double Buffer2;
double Buffer3;
double Buffer4;
double Buffer5;
double Buffer6;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2,Blue);
SetIndexBuffer(0,Buffer1);
SetIndexLabel(0,\"Blue Bar\");
SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2,Red);
SetIndexBuffer(1,Buffer2);
SetIndexLabel(1,\"Red Bar\");
SetIndexStyle(2,DRAW_ARROW,STYLE_DOT,2,Blue);
SetIndexBuffer(2,Buffer3);
SetIndexLabel(2,\"Blue Dot\");
SetIndexArrow(2,WingDings_Symbol);
SetIndexStyle(3,DRAW_ARROW,STYLE_DOT,2,Red);
SetIndexBuffer(3,Buffer4);
SetIndexLabel(3,\"Red Dot\");
SetIndexArrow(3,WingDings_Symbol);
//SetIndexStyle(4,DRAW_SECTION,STYLE_SOLID,1,Blue);
//SetIndexBuffer(4,Buffer5);
//SetIndexLabel(4,\"Blue\");
//SetIndexStyle(5,DRAW_SECTION,STYLE_SOLID,1,Red);
//SetIndexBuffer(5,Buffer6);
//SetIndexLabel(5,\"Red\");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//---- TODO: add your code here
int adjustment=0; //change this value to make the indicator behave slightly differently. valid values are 0-4.
int periods=3;
int extremes=0;
double smin, smax, SsMax, SsMin, pivothi, pivotlo, margins;
bool flag1, flag2;
for(int i=0;ismin && pivothi>smax) flag1=true; else flag1=false;
if(pivothiHigh) Buffer4=sig;
/*
double sig2=iSAR(NULL,0,1,0.2,i);
if(sig2High) {Buffer6=sig2; Buffer5=-1;}
*/
}//end for
//----
return(0);
}
//+------------------------------------------------------------------+