Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
StandardentrySTD
//+------------------------------------------------------------------+
//| ZZZ_STF_StandardEntry_STD.mq4
//+------------------------------------------------------------------+
#property copyright "YEVELL"
#property link "ZZZ_STF_StandardEntry_STD"
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_color5 Lime
#property indicator_color6 Red
#property indicator_color7 Aqua//Lime
#property indicator_color8 Magenta//Red
#property indicator_maximum 4.9
#property indicator_minimum 0.4
//===================================================================================
extern int MA_WPR_WIN5_SM =1 ;
string Input1 = "== RSI M30 ==";
extern int rsiL_1M = 8 ;
extern int rsiS_1M = 4 ;
extern int rsiL_5M = 8 ;
extern int rsiS_5M = 4 ;
extern int rsiL_15M = 4 ;
extern int rsiS_15M = 2 ;
extern int rsiL_30M = 4 ;
extern int rsiS_30M = 2 ;
extern int rsiL_60M = 4 ;
extern int rsiS_60M = 2 ;
string Input2 = "== MA_WPR ===";
extern int L_1M = 14 ;
extern int S_1M = 8;
extern int L_5M = 14 ;
extern int S_5M = 8 ;
extern int L_15M = 14 ;
extern int S_15M = 8 ;
extern int L_30M = 14 ;
extern int S_30M = 8 ;
extern int L_60M = 14 ;
extern int S_60M = 8 ;
//===================================================================================
extern int DotSize_110_167 = 110 ; //167
extern int ArrowSize = 6 ;
extern int CountBars = 600 ;
extern int TFA = 5 ;//0 vir al 4.
extern int TFB = 15 ;
extern int TFC = 30 ;
extern int TFD = 60 ;
bool StepTFA_Up = true;
bool StepTFB_Up = true;
bool StepTFC_Up = true;
bool StepTFD_Up = true;
double rsiAm_up , rsiAm_dn ;
double rsiBm_up , rsiBm_dn ;
double rsiCm_up , rsiCm_dn ;
double rsiDm_up , rsiDm_dn ;
double wprAm_up , wprAm_dn ;
double wprBm_up , wprBm_dn ;
double wprCm_up , wprCm_dn ;
double wprDm_up , wprDm_dn ;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];
double ExtMapBuffer7[];
double ExtMapBuffer8[];
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,DotSize_110_167);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,DotSize_110_167);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,0.0);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,DotSize_110_167);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexEmptyValue(2,0.0);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,DotSize_110_167);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexEmptyValue(3,0.0);
SetIndexStyle(4,DRAW_ARROW);
SetIndexArrow(4,DotSize_110_167);
SetIndexBuffer(4,ExtMapBuffer5);
SetIndexEmptyValue(4,0.0);
SetIndexStyle(5,DRAW_ARROW);
SetIndexArrow(5,DotSize_110_167);
SetIndexBuffer(5,ExtMapBuffer6);
SetIndexEmptyValue(5,0.0);
SetIndexStyle(6,DRAW_ARROW);
SetIndexArrow(6,DotSize_110_167);
SetIndexBuffer(6,ExtMapBuffer7);
SetIndexEmptyValue(6,0.0);
SetIndexStyle(7,DRAW_ARROW);
SetIndexArrow(7,DotSize_110_167);
SetIndexBuffer(7,ExtMapBuffer8);
SetIndexEmptyValue(7,0.0);
//------------------------------------
string short_name;
IndicatorShortName("StandardEntry_STD");
SetIndexLabel(0,"StandardEntry_STD");
//========================================================================================
switch(TFA) { case 1 : string TimeFrameStrA="Period_M1"; break;
case 5 : TimeFrameStrA="Period_M5"; break;
case 15 : TimeFrameStrA="Period_M15"; break;
case 30 : TimeFrameStrA="Period_M30"; break;
case 60 : TimeFrameStrA="Period_H1"; break;
case 240 : TimeFrameStrA="Period_H4"; break;
case 1440 : TimeFrameStrA="Period_D1"; break;
case 10080 : TimeFrameStrA="Period_W1"; break;
case 43200 : TimeFrameStrA="Period_MN1"; break;
default : TimeFrameStrA="Current Timeframe";
SetStepTFA_Up();
}
//=======================================================================================
switch(TFB) { case 1 : string TimeFrameStrB="Period_M1"; break;
case 5 : TimeFrameStrB="Period_M5"; break;
case 15 : TimeFrameStrB="Period_M15"; break;
case 30 : TimeFrameStrB="Period_M30"; break;
case 60 : TimeFrameStrB="Period_H1"; break;
case 240 : TimeFrameStrB="Period_H4"; break;
case 1440 : TimeFrameStrB="Period_D1"; break;
case 10080 : TimeFrameStrB="Period_W1"; break;
case 43200 : TimeFrameStrB="Period_MN1"; break;
default : TimeFrameStrB="Current Timeframe";
SetStepTFB_Up();
}
//=======================================================================================
switch(TFC) { case 1 : string TimeFrameStrC="Period_M1"; break;
case 5 : TimeFrameStrC="Period_M5"; break;
case 15 : TimeFrameStrC="Period_M15"; break;
case 30 : TimeFrameStrC="Period_M30"; break;
case 60 : TimeFrameStrC="Period_H1"; break;
case 240 : TimeFrameStrC="Period_H4"; break;
case 1440 : TimeFrameStrC="Period_D1"; break;
case 10080 : TimeFrameStrC="Period_W1"; break;
case 43200 : TimeFrameStrC="Period_MN1"; break;
default : TimeFrameStrC="Current Timeframe";
SetStepTFC_Up();
}
//=======================================================================================
switch(TFD) { case 1 : string TimeFrameStrD="Period_M1"; break;
case 5 : TimeFrameStrD="Period_M5"; break;
case 15 : TimeFrameStrD="Period_M15"; break;
case 30 : TimeFrameStrD="Period_M30"; break;
case 60 : TimeFrameStrD="Period_H1"; break;
case 240 : TimeFrameStrD="Period_H4"; break;
case 1440 : TimeFrameStrD="Period_D1"; break;
case 10080 : TimeFrameStrD="Period_W1"; break;
case 43200 : TimeFrameStrD="Period_MN1"; break;
default : TimeFrameStrD="Current Timeframe";
SetStepTFD_Up();
}
//=======================================================================================
}
return(0);
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int deinit()
{ Refresh();
return(0);
}
//+--------------------------------------------------------------------------------------+
int start()
{ Refresh();
datetime TimeArray[]; datetime TimeArray1[]; datetime TimeArray2[];datetime TimeArray3[];
double RsiAm_rsi4,RsiAm_rsi2;
double RsiBm_rsi4,RsiBm_rsi2;
double RsiCm_rsi4,RsiCm_rsi2;
double RsiDm_rsi4,RsiDm_rsi2;
double Ma_WprAm,WprAm;
double Ma_WprBm,WprBm;
double Ma_WprCm,WprCm;
double Ma_WprDm,WprDm;
int RSIAL=0,RSIAS=0, RSIBL=0,RSIBS=0, RSICL=0,RSICS=0, RSIDL=0,RSIDS=0 ;
int WprAL=0,Ma_WprAS=0, WprBL=0,Ma_WprBS=0, WprCL=0,Ma_WprCS=0, WprDL=0,Ma_WprDS=0 ;
int i,limit,counted_bars=IndicatorCounted();
int y=0,y1=0,y2=0,y3=0;
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TFA);
ArrayCopySeries(TimeArray1,MODE_TIME,Symbol(),TFB);
ArrayCopySeries(TimeArray2,MODE_TIME,Symbol(),TFC);
ArrayCopySeries(TimeArray3,MODE_TIME,Symbol(),TFD);
limit=Bars-counted_bars;
//==============================================================================================
SetIndexDrawBegin(0,Bars-CountBars);
SetIndexDrawBegin(1,Bars-CountBars);
SetIndexDrawBegin(2,Bars-CountBars);
SetIndexDrawBegin(3,Bars-CountBars);
SetIndexDrawBegin(4,Bars-CountBars);
SetIndexDrawBegin(5,Bars-CountBars);
SetIndexDrawBegin(6,Bars-CountBars);
SetIndexDrawBegin(7,Bars-CountBars);
// ------------------ laat laaste 2 kerse repaint(smooth)--------------------------------
// if(counted_bars>0) limit++; else if (limit>100) limit=CountBars;
//====================== CHANGE PERIOD ===========================================================
switch(Period())
{ case 1: WprAL = L_1M; Ma_WprAS = S_1M; WprBL = L_5M; Ma_WprBS = S_5M; WprCL = L_15M; Ma_WprCS = S_15M; WprDL = L_30M; Ma_WprDS = S_30M ;
RSIAL = rsiL_1M; RSIAS = rsiS_1M; RSIBL = rsiL_5M; RSIBS = rsiS_5M; RSICL = rsiL_15M; RSICS = rsiS_15M; RSIDL = rsiL_30M; RSIDS = rsiS_30M ;break;
case 5: WprAL = L_5M; Ma_WprAS = S_5M; WprBL = L_15M; Ma_WprBS = S_15M; WprCL = L_30M; Ma_WprCS = S_30M; WprDL = L_60M; Ma_WprDS = S_60M ;
RSIAL = rsiL_5M; RSIAS = rsiS_5M; RSIBL = rsiL_15M; RSIBS = rsiS_15M; RSICL = rsiL_30M; RSICS = rsiS_30M; RSIDL = rsiL_60M; RSIDS = rsiS_60M ; break;
case 15: WprAL = L_15M; Ma_WprAS = S_15M; WprBL = L_30M; Ma_WprBS = S_30M; WprCL = L_60M; Ma_WprCS = S_60M; WprDL = L_60M; Ma_WprDS = S_60M ;
RSIAL = rsiL_15M; RSIAS = rsiS_15M; RSIBL = rsiL_30M; RSIBS = rsiS_30M; RSICL = rsiL_60M; RSICS = rsiS_60M; RSIDL = rsiL_60M; RSIDS = rsiS_60M ; break;
case 30: WprAL = L_30M; Ma_WprAS = S_30M; WprBL = L_60M; Ma_WprBS = S_60M; WprCL = L_60M; Ma_WprCS = S_60M; WprDL = L_60M; Ma_WprDS = S_60M ;
RSIAL = rsiL_30M; RSIAS = rsiS_30M; RSIBL = rsiL_60M; RSIBS = rsiS_60M; RSICL = rsiL_60M; RSICS = rsiS_60M; RSIDL = rsiL_60M; RSIDS = rsiS_60M ;break;
case 60: WprAL = L_60M; Ma_WprAS = S_60M; WprBL = L_60M; Ma_WprBS = S_60M; WprCL = L_60M; Ma_WprCS = S_60M; WprDL = L_60M; Ma_WprDS = S_60M ;
RSIAL = rsiL_60M; RSIAS = rsiS_60M; RSIBL = rsiL_60M; RSIBS = rsiS_60M; RSICL = rsiL_60M; RSICS = rsiS_60M; RSIDL = rsiL_60M; RSIDS = rsiS_60M ;break;
case 240: WprAL = L_60M; Ma_WprAS = S_60M; WprBL = L_60M; Ma_WprBS = S_60M; WprCL = L_60M; Ma_WprCS = S_60M; WprDL = L_60M; Ma_WprDS = S_60M ;
RSIAL = rsiL_60M; RSIAS = rsiS_60M; RSIBL = rsiL_60M; RSIBS = rsiS_60M; RSICL = rsiL_60M; RSICS = rsiS_60M; RSIDL = rsiL_60M; RSIDS = rsiS_60M ; break;
case 1440: WprAL = L_60M; Ma_WprAS = S_60M; WprBL = L_60M; Ma_WprBS = S_60M; WprCL = L_60M; Ma_WprCS = S_60M; WprDL = L_60M; Ma_WprDS = S_60M ;
RSIAL = rsiL_60M; RSIAS = rsiS_60M; RSIBL = rsiL_60M; RSIBS = rsiS_60M; RSICL = rsiL_60M; RSICS = rsiS_60M; RSIDL = rsiL_60M; RSIDS = rsiS_60M ;break;
case 10080:WprAL = L_60M; Ma_WprAS = S_60M; WprBL = L_60M; Ma_WprBS = S_60M; WprCL = L_60M; Ma_WprCS = S_60M; WprDL = L_60M; Ma_WprDS = S_60M ;
RSIAL = rsiL_60M; RSIAS = rsiS_60M; RSIBL = rsiL_60M; RSIBS = rsiS_60M; RSICL = rsiL_60M; RSICS = rsiS_60M; RSIDL = rsiL_60M; RSIDS = rsiS_60M ; break;
case 43200:WprAL = L_60M; Ma_WprAS = S_60M; WprBL = L_60M; Ma_WprBS = S_60M; WprDL = L_60M; Ma_WprDS = S_60M; WprDL = L_60M; Ma_WprDS = S_60M ;
RSIAL = rsiL_60M; RSIAS = rsiS_60M; RSIBL = rsiL_60M; RSIBS = rsiS_60M; RSICL = rsiL_60M; RSICS = rsiS_60M; RSIDL = rsiL_60M; RSIDS = rsiS_60M ; break;
}
//====================================================================================================
for(i=0,y=0;i<limit;i++)
{
if (Time[i]<TimeArray[y]) y++;
if (Time[i]<TimeArray1[y1]) y1++;
if (Time[i]<TimeArray2[y2]) y2++;
if (Time[i]<TimeArray3[y3]) y3++;
//======================= HEADINGE =============================================================
{
ObjectCreate("HEAD_ZZZ_SMD", OBJ_LABEL,WindowFind("StandardEntry_STD"), 0, 0);
ObjectSetText("HEAD_ZZZ_SMD", "StandardEntry_STD_STF" , 8, "Tahoma Narrow", Gold);
ObjectSet("HEAD_ZZZ_SMD", OBJPROP_CORNER, 1);
ObjectSet("HEAD_ZZZ_SMD", OBJPROP_XDISTANCE, 20);
ObjectSet("HEAD_ZZZ_SMD", OBJPROP_YDISTANCE, 5 );
}
//===================== RSI A ========================================================================
Ma_WprAm = iCustom(NULL, TFA,"W%R_MA_LC", WprAL,Ma_WprAS, 1, y );
WprAm = iCustom(NULL, TFA, "W%R_MA_LC",WprAL,Ma_WprBS, 0, y );
if ((WprAm > Ma_WprAm)){ wprAm_up = 1; wprAm_dn = 0; }
if ((WprAm < Ma_WprAm)){ wprAm_up = 0; wprAm_dn = 1; }
double totalUpA = 0.0; double totalDnA = 0.0;
if (( wprAm_up ) == 1) totalUpA = 2 ;
if (( wprAm_dn ) == 1) totalDnA = 2 ;
ExtMapBuffer1[i] = 0; ExtMapBuffer2[i] = 0;
if ( totalUpA == 2 || totalDnA == 2 ){ ExtMapBuffer1[i] = totalUpA; ExtMapBuffer2[i] = totalDnA; }
//===================================B MIN============================================
/* Ma_WprBm = iCustom(NULL, TFB,"W%R_MA_LC", WprBL,Ma_WprBS, 1, y1 );
WprBm = iCustom(NULL, TFB,"W%R_MA_LC", WprBL,Ma_WprBS, 0, y1 ) ;
if ((WprBm > Ma_WprBm)){ wprBm_up = 1; wprBm_dn = 0; }
if ((WprBm < Ma_WprBm)){ wprBm_up = 0; wprBm_dn = 1; }
double totalUpB = 0.0; double totalDnB = 0.0;
if (( wprBm_up ) == 1) totalUpB = 3 ;
if (( wprBm_dn ) == 1) totalDnB = 3 ;
ExtMapBuffer3[i] = 0; ExtMapBuffer4[i] = 0;
if ( totalUpB == 3 || totalDnB == 3 ){ ExtMapBuffer3[i] = totalUpB; ExtMapBuffer4[i] = totalDnB; }*/
//======================================C MIN==========================================
Ma_WprCm = iCustom(NULL, TFC,"W%R_MA_LC", WprCL,Ma_WprCS,1, y2 ) ;
WprCm = iCustom(NULL, TFC,"W%R_MA_LC", WprCL,Ma_WprCS,0,y2 ) ;
if ((WprCm > Ma_WprCm)){ wprCm_up = 1; wprCm_dn = 0; }
if ((WprCm < Ma_WprCm)){ wprCm_up = 0; wprCm_dn = 1; }
double totalUpC = 0.0; double totalDnC = 0.0;
if (( wprCm_up ) == 1) totalUpC = 1 ;
if (( wprCm_dn ) == 1) totalDnC = 1 ;
ExtMapBuffer5[i] = 0; ExtMapBuffer6[i] = 0;
if ( totalUpC == 1 || totalDnC == 1 ){ ExtMapBuffer5[i] = totalUpC; ExtMapBuffer6[i] = totalDnC; }
//======================================RSI M30 C MIN==========================================
RsiCm_rsi4 = iRSI(NULL, TFC, RSICL, PRICE_CLOSE, y2 ) ;
RsiCm_rsi2 = iRSI(NULL, TFC, RSICS, PRICE_CLOSE, y2 ) ;
if ((RsiCm_rsi2 > RsiCm_rsi4)){ rsiCm_up = 1; rsiCm_dn = 0; }
if ((RsiCm_rsi2 < RsiCm_rsi4)){ rsiCm_up = 0; rsiCm_dn = 1; }
double rsitotalUpC = 0.0; double rsitotalDnC = 0.0;
if (( rsiCm_up ) == 1) rsitotalUpC = 3 ;
if (( rsiCm_dn ) == 1) rsitotalDnC = 3 ;
ExtMapBuffer3[i] = 0; ExtMapBuffer4[i] = 0;
if ( rsitotalUpC == 3 || rsitotalDnC == 3 ){ ExtMapBuffer3[i] = rsitotalUpC; ExtMapBuffer4[i] = rsitotalDnC; }
//=====================================D MIN===========================================
/* Ma_WprDm = iCustom(NULL, TFD, "W%R_MA_LC",WprDL, Ma_WprDS,1, y3);
WprDm = iCustom(NULL, TFD, "W%R_MA_LC", WprDL, Ma_WprDS,0, y3);
if ((WprDm > Ma_WprDm)){ wprDm_up = 1; wprDm_dn = 0; }
if ((WprDm < Ma_WprDm)){ wprDm_up = 0; wprDm_dn = 1; }
double totalUpD = 0.0; double totalDnD = 0.0;
if (( wprDm_up ) == 1) totalUpD = 1 ;
if (( wprDm_dn ) == 1) totalDnD = 1 ;
ExtMapBuffer7[i] = 0; ExtMapBuffer8[i] = 0;
if ( totalUpD == 1 || totalDnD == 1 ){ ExtMapBuffer7[i] = totalUpD; ExtMapBuffer8[i] = totalDnD; }*/
//=====================================================================================
}
return(0);
}
//================================================================================== ++
void SetValuesA(int pA) { TFA = pA; }
void SetStepTFA_Up() { switch (Period() )
{ case PERIOD_M1 : SetValuesA(PERIOD_M1); break;
case PERIOD_M5 : SetValuesA(PERIOD_M5); break;
case PERIOD_M15 : SetValuesA(PERIOD_M15); break;
case PERIOD_M30 : SetValuesA(PERIOD_M30); break;
case PERIOD_H1 : SetValuesA(PERIOD_H1); break;
case PERIOD_H4 : SetValuesA(PERIOD_H4); break;
case PERIOD_D1 : SetValuesA(PERIOD_D1); break;
case PERIOD_W1 : SetValuesA(PERIOD_W1); break;
case PERIOD_MN1 : SetValuesA(PERIOD_MN1); break;
} }
//==============================step timeframe up TF1====================================
void SetValuesB(int pB) { TFB = pB; }
void SetStepTFB_Up() { switch (Period() )
{ case PERIOD_M1 : SetValuesB(PERIOD_M5); break;
case PERIOD_M5 : SetValuesB(PERIOD_M15); break;
case PERIOD_M15 : SetValuesB(PERIOD_M30); break;
case PERIOD_M30 : SetValuesB(PERIOD_H1); break;
case PERIOD_H1 : SetValuesB(PERIOD_H4); break;
case PERIOD_H4 : SetValuesB(PERIOD_D1); break;
case PERIOD_D1 : SetValuesB(PERIOD_W1); break;
case PERIOD_W1 : SetValuesB(PERIOD_MN1); break;
case PERIOD_MN1 : SetValuesB(PERIOD_MN1); break;
} }
//============================== TF2 ===================================================
void SetValuesC(int pC) { TFC = pC; }
void SetStepTFC_Up() { switch (Period() )
{ case PERIOD_M1 : SetValuesC(PERIOD_M15); break;
case PERIOD_M5 : SetValuesC(PERIOD_M30); break;
case PERIOD_M15 : SetValuesC(PERIOD_H1); break;
case PERIOD_M30 : SetValuesC(PERIOD_H4); break;
case PERIOD_H1 : SetValuesC(PERIOD_D1); break;
case PERIOD_H4 : SetValuesC(PERIOD_W1); break;
case PERIOD_D1 : SetValuesC(PERIOD_MN1); break;
case PERIOD_W1 : SetValuesC(PERIOD_MN1); break;
case PERIOD_MN1 : SetValuesC(PERIOD_MN1); break;
} }
//=============================== TF3 ==================================================
void SetValuesD(int pD) { TFD = pD; }
void SetStepTFD_Up() { switch (Period() )
{ case PERIOD_M1 : SetValuesD(PERIOD_M30); break;
case PERIOD_M5 : SetValuesD(PERIOD_H1); break;
case PERIOD_M15 : SetValuesD(PERIOD_H4); break;
case PERIOD_M30 : SetValuesD(PERIOD_D1); break;
case PERIOD_H1 : SetValuesD(PERIOD_W1); break;
case PERIOD_H4 : SetValuesD(PERIOD_MN1); break;
case PERIOD_D1 : SetValuesD(PERIOD_MN1); break;
case PERIOD_W1 : SetValuesD(PERIOD_MN1); break;
case PERIOD_MN1 : SetValuesD(PERIOD_MN1); break;
} }
//==================================================================================
//====================================================================
void Refresh()
{ ObjectDelete("HEAD_ZZZ_SMD");
}
//------------------------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---