Miscellaneous
0
Views
0
Downloads
0
Favorites
Murrey_Math_Modified_v1
/*-----------------------------+
| |
| Shared by www.Aptrafx.com |
| |
+------------------------------*/
//+------------------------------------------------------------------+
//| Murrey_Math_Modified.mq4 |
//| rewritten by CrazyChart |
//| The last indicator, written for free!!! |
//+------------------------------------------------------------------+
#property copyright "Murrey_Math_Modified. rewritten by CrazyChart"
#property link "mailto:newcomer2003@yandex.ru"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 MediumBlue
#property indicator_color2 Red
//---- input parameters
extern int beginer=200;
extern int periodtotake=200;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
//----
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(),CountBars;
//---- TODO: add your code here
int shift,i2;
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars);
SetIndexDrawBegin(1,Bars-CountBars);
double sum,v1,v2,fractal;
double v45,mml00,mml0,mml1,mml2,mml3,mml4,mml5,mml6,mml7,mml8,mml9,mml98,mml99;
double range,octave,mn,mx,price;
double finalH,finalL;
double x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6;
//for (shift=1;shift<=0;shift--) {
//price
v1=(Low[Lowest(NULL,0,MODE_LOW,periodtotake,0)]);
v2=(High[Highest(NULL,0,MODE_HIGH,periodtotake,0)]);
//determine fractal.....
if(v2<=250000 && v2>25000) {
fractal=100000;
}else if(v2<=25000 && v2>2500){
fractal=10000;
}else if(v2<=2500 && v2>250){
fractal=1000;
}else if (v2<=250 && v2>25) {
fractal=100;
}else if (v2<=25 && v2>12.5) {
fractal=12.5;
}else if(v2<=12.5 && v2>6.25) {
fractal=12.5;
}else if(v2<=6.25 && v2>3.125) {
fractal=6.25;
}else if(v2<=3.125 && v2>1.5625) {
fractal=3.125;
}else if(v2<=1.5625 && v2>0.390625) {
fractal=1.5625;
}else if(v2<=0.390625 && v2>0) {
fractal=0.1953125;
}
//debugging((((
//v2=1.5625;
//v2=0.391625;
range=(v2-v1);
//debugging((((
//fractal=1.5625;
//debugging))))
//Alert("Ñåé÷àñ ìàòîì íà÷íó ðóãàòüñÿ ãðîìêî î÷åíü 1 ôðàêòàë "+fractal);
//Alert("Range, èê... range = "+ range);
sum=MathFloor(MathLog(fractal/range)/MathLog(2));
octave=fractal*(MathPow(0.5,sum));
//Alert("Ïüÿíûé èíäþê ãîâîðèò, èê... îêòàâ = "+ octave);
mn=MathFloor(v1/octave)*octave;
if((mn+octave)>v2) {
mx=mn+octave;
}else{
mx=mn+(2*octave);
}
// calculating xx
//x2
if((v1>=3/16*(mx-mn)+mn)&& (v2<=9/16*(mx-mn)+mn)) {
x2=mn+(mx-mn)/2;
}else{
x2=0;
}
//x1
if((v1>=mn-(mx-mn)/8)&& (v2<=5/8*(mx-mn)+mn) && x2==0) {
x1=mn+(mx-mn)/2;
}else{
x1=0;
}
//x4
if((v1>=mn+7*(mx-mn)/16)&& (v2<=13/16*(mx-mn)+mn)) {
x4=mn+3*(mx-mn)/4;
}else{
x4=0;
}
//x5
if((v1>=mn+3*(mx-mn)/8)&& (v2<=9/8*(mx-mn)+mn)&& x4==0) {
x5=mx;
}else{
x5=0;
}
//x3
if((v1>=mn+(mx-mn)/8)&& (v2<=7/8*(mx-mn)+mn)&& x1==0 && x2==0 && x4==0 && x5==0) {
x3=mn+3*(mx-mn)/4; }else{
x3=0;
}
//x6
if((x1+x2+x3+x4+x5)==0) {
x6=mx; }else{
x6=0;
}
finalH=x1+x2+x3+x4+x5+x6;
// calculating yy
//y1
if(x1>0) {
y1=mn; }else{
y1=0;
}
//y2
if(x2>0) {
y2=mn+(mx-mn)/4; }else{
y2=0;
}
//y3
if(x3>0) {
y3=mn+(mx-mn)/4;
}else{
y3=0;
}
//y4
if(x4>0) {
y4=mn+(mx-mn)/2;
}else{
y4=0;
}
//y5
if(x5>0) {
y5=mn+(mx-mn)/2;
}else{
y5=0;
}
//y6
if((finalH>0) && (y1+y2+y3+y4+y5==0)) {
y6=mn;
}else{
y6=0;
}
finalL=y1+y2+y3+y4+y5+y6;
v45=(finalH-finalL)/8;
mml00=(finalL-v45*2); //-2/8
mml0=(finalL-v45); //-1/8
mml1=(finalL);// 0/8
mml2=(finalL+v45);// 1/8
mml3=(finalL+2*v45); // 2/8
mml4=(finalL+3*v45); // 3/8
mml5=(finalL+4*v45); // 4/8
mml6=(finalL+5*v45); // 5/8
mml7=(finalL+6*v45); // 6/8
mml8=(finalL+7*v45);// 7/8
mml9=(finalL+8*v45);// 8/8
mml99=(finalL+9*v45);// +1/8
mml98=(finalL+10*v45);// +2/8
//comment("\n","finalh = ",finalh,"\n","finalL = ",finalL,"\n","v45 = ",v45,
//"\n","octave = ",octave,"\n","mn = ",mn,"\n","mx = ",mx,"\n","Fractal = ",fractal,
//"\n","range = ",range,"\n","sum = ",sum,"\n","high =",v2,"\n","Low = ",v1);
//name: named object name
//text: named object text to set
//font: font name
//size: font size
//color: text color
ObjectsRedraw( ) ;
//Comment("f,shdfkr "+ mml00);
//mml00=Close[5];
ObjectCreate("mm11_txt",OBJ_TEXT,0,Time[30],mml00,Time[30],mml00); //òàéì 30-2/8 áëèí
ObjectSetText("mm11_txt","_ôèíàë ë"+finalH+"mml7 "+mml7,10,"Arial",Magenta);
ObjectCreate("mm12_txt",OBJ_TEXT,0,Time[30],mml0,Time[30],mml0);
ObjectSetText("mm12_txt","-1/8 ",10,"Arial",Pink);
ObjectCreate("mm1_txt",OBJ_TEXT,0,Time[30],mml1,Time[30],mml1);
ObjectSetText("mm1_txt","0/8 ",10,"Arial",Blue);
ObjectCreate("mm2_txt",OBJ_TEXT,0,Time[30],mml2,Time[30],mml2);
ObjectSetText("mm2_txt","1/8 ",10,"Arial",Orange);
ObjectCreate("mm3_txt",OBJ_TEXT,0,Time[30],mml3,Time[30],mml3);
ObjectSetText("mm3_txt","2/8 ",10,"Arial",Red);
ObjectCreate("mm4_txt",OBJ_TEXT,0,Time[30],mml4,Time[30],mml4);
ObjectSetText("mm4_txt","3/8 ",10,"Arial",Green);
ObjectCreate("mm5_txt",OBJ_TEXT,0,Time[30],mml5,Time[30],mml5);
ObjectSetText("mm5_txt","4/8 ",10,"Arial",Blue);
ObjectCreate("mm6_txt",OBJ_TEXT,0,Time[30],mml6,Time[30],mml6);
ObjectSetText("mm6_txt","5/8 ",10,"Arial",Green);
ObjectCreate("mm7_txt",OBJ_TEXT,0,Time[30],mml7,Time[30],mml7);
ObjectSetText("mm7_txt","6/8 ",10,"Arial",Red);
ObjectCreate("mm8_txt",OBJ_TEXT,0,Time[30],mml8,Time[30],mml8);
ObjectSetText("mm8_txt","7/8 ",10,"Arial",Orange);
ObjectCreate("mm9_txt",OBJ_TEXT,0,Time[30],mml9,Time[30],mml9);
ObjectSetText("mm9_txt","8/8 ",10,"Arial",Blue);
ObjectCreate("mm-1_txt",OBJ_TEXT,0,Time[30],mml99,Time[30],mml99);
ObjectSetText("mm-1_txt","+1/8 ",10,"Arial",Pink);
ObjectCreate("mm-2_txt",OBJ_TEXT,0,Time[30],mml98,Time[30],mml98);
ObjectSetText("mm-2_txt","+2/8 ",10,"Arial",Magenta);
ObjectCreate("mm11",OBJ_HLINE,0,Time[0],mml00,Time[0],mml00);
ObjectMove("MyTrend", 1, Time[0], mml00);
ObjectSet("mm11",OBJPROP_COLOR,Magenta);
ObjectSet("mm11",OBJPROP_WIDTH,2);ObjectSet("mm11",OBJPROP_STYLE,STYLE_SOLID);
// -2/8
ObjectCreate("mm12" ,OBJ_HLINE,0,Time[0],mml0,Time[0],mml0);
ObjectSet("mm12",OBJPROP_COLOR,Pink);ObjectSet("mm12",OBJPROP_WIDTH,1);ObjectSet("mm12",OBJPROP_STYLE,STYLE_SOLID);
// -1/8
ObjectCreate("mm1" ,OBJ_HLINE,0,Time[0],mml1,Time[0],mml1);
ObjectSet("mm1",OBJPROP_COLOR,Blue);ObjectSet("mm1",OBJPROP_WIDTH,2);ObjectSet("mm1",OBJPROP_STYLE, STYLE_SOLID);
// 0/8
ObjectCreate("mm2" ,OBJ_HLINE,0,Time[0],mml2,Time[0],mml2);
ObjectSet("mm2",OBJPROP_COLOR,Orange);ObjectSet("mm2",OBJPROP_WIDTH,1);ObjectSet("mm2",OBJPROP_STYLE, STYLE_SOLID);
// 1/8
ObjectCreate("mm3" ,OBJ_HLINE,0,Time[0],mml3,Time[0],mml3);
ObjectSet("mm3",OBJPROP_COLOR,Red);ObjectSet("mm3",OBJPROP_WIDTH,1);ObjectSet("mm3",OBJPROP_STYLE, STYLE_SOLID);
// 2/8
ObjectCreate("mm4" ,OBJ_HLINE,0,Time[0],mml4,Time[0],mml4);
ObjectSet("mm4",OBJPROP_COLOR,Green);ObjectSet("mm4",OBJPROP_WIDTH,1);ObjectSet("mm4",OBJPROP_STYLE, STYLE_SOLID);
// 3/8
ObjectCreate("mm5" ,OBJ_HLINE,0,Time[0],mml5,Time[0],mml5);
ObjectSet("mm5",OBJPROP_COLOR,Blue);ObjectSet("mm5",OBJPROP_WIDTH,1);ObjectSet("mm5",OBJPROP_STYLE, STYLE_SOLID);
// 4/8
ObjectCreate("mm6" ,OBJ_HLINE,0,Time[0],mml6,Time[0],mml6);
ObjectSet("mm6",OBJPROP_COLOR,Green);ObjectSet("mm6",OBJPROP_WIDTH,1);ObjectSet("mm6",OBJPROP_STYLE, STYLE_SOLID);
// 5/8
ObjectCreate("mm7" ,OBJ_HLINE,0,Time[0],mml7,Time[0],mml7);
ObjectSet("mm7",OBJPROP_COLOR,Red);ObjectSet("mm7",OBJPROP_WIDTH,1);ObjectSet("mm7",OBJPROP_STYLE, STYLE_SOLID);
// 6/8
ObjectCreate("mm8" ,OBJ_HLINE,0,Time[0],mml8,Time[0],mml8);
ObjectSet("mm8",OBJPROP_COLOR,Orange);ObjectSet("mm8",OBJPROP_WIDTH,1);ObjectSet("mm8",OBJPROP_STYLE, STYLE_SOLID);
// 7/8
ObjectCreate("mm9" ,OBJ_HLINE,0,Time[0],mml9,Time[0],mml9);
ObjectSet("mm9",OBJPROP_COLOR,Red);ObjectSet("mm9",OBJPROP_WIDTH,2);ObjectSet("mm9",OBJPROP_STYLE, STYLE_SOLID);
// 0/8
ObjectCreate("mm-1" ,OBJ_HLINE,0,Time[0],mml99,Time[0],mml99);
ObjectSet("mm-1",OBJPROP_COLOR,Pink);ObjectSet("mm-1",OBJPROP_WIDTH,1);ObjectSet("mm-1",OBJPROP_STYLE, STYLE_SOLID);
// +2/8
ObjectCreate("mm-2" ,OBJ_HLINE,0,Time[0],mml98,Time[0],mml98);
ObjectSet("mm-2",OBJPROP_COLOR,Magenta);ObjectSet("mm-2",OBJPROP_WIDTH,2);ObjectSet("mm-2",OBJPROP_STYLE, STYLE_SOLID);
// +1/8
//ObjectCreate("12121" ,OBJ_HLINE,0,Time[0],1.2000,Time[0],1.2000);
//ObjectSet("12121",OBJPROP_COLOR,Magenta);ObjectSet("12121",OBJPROP_WIDTH,4);ObjectSet("12121",OBJPROP_STYLE, STYLE_SOLID);
//ExtMapBuffer1[shift]=0.0;
//ExtMapBuffer2[shift]=0.0;
if(GetLastError()!=0) Alert("Some error message");
//}
//----
return(0);
}
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
---