| New signals service! | |
|
|||||||
| Register in Forex TSD! | |
|
Trading Systems Leaders in this forum (automated trading systems) are winning more than 3000 pips in a month (30000$ investing one lot every time). Click here to register and get more information |
|
| View Poll Results: Which Section? | |||
| I draw my SR levels by hand |
|
26 | 63.41% |
| My SR levels are draw by some indicator |
|
14 | 34.15% |
| Other. My answer is not listed above. |
|
1 | 2.44% |
| Voters: 41. You may not vote on this poll | |||
|
|
LinkBack (45) | Thread Tools |
|
|
||||
|
||||
|
Quote:
![]()
__________________
|
|
|
|||
|
|||
|
S&R Indicator Modification
Hi All,
I found this S&R indicator and it appears to be a very good indicator at identifying the S&R levels. The problem I have is that I can't use color or input tabs to change the width, style or color of the S&R lines. I find that all of the solid lines tend to clutter up the chart. I've looked at the code and I don't see anything that would allow me to change those 3 parameters. Is it possible that some kind soul could modify either the input or color tabs so the user can define the width, style and color of the lines. The other thing this indicator does is erase any other horizontal line the the user manually places on the chart. Can that function be deleted or turned off. Thanks in advance. Dave Last edited by downunderdave40; 08-30-2008 at 02:03 AM. |
|
|
|||
|
|||
|
S&R Indicator Modification
Hi All,
I found this S&R indicator and it appears to be a very good indicator at identifying the S&R levels. The problem I have is that I can't use color or input tabs to change the width, style or color of the S&R lines. I find that all of the solid lines tend to clutter up the chart. I've looked at the code and I don't see anything that would allow me to change those 3 parameters. Is it possible that some kind soul could modify either the input or color tabs so the user can define the width, style and color of the lines. The other thing this indicator does is erase any other horizontal line the the user manually places on the chart. Can that function be deleted or turned off. Thanks in advance Dave |
|
|
|||
|
|||
|
Support & Resistance Indicator
Dave;
The indicator you have posted, I have used before. It is HARD coded. In order to change, you will have to start from scratch. (Coding) The reason it disappears is you must have an EXE. indicator on your chart. That is why you cannot perceive price action for pullbacks, continuations, or reversing trend. I try to have as clean a chart as possible, like you said. I am using a different S&R indicator that works very well. It is the Euro chart for the past 2 sessions. I use 1 hour and 5 minute charts to look at the price action. This indicator will print the support or resistance level after the 1st candle is completed. Then you can make your decision. I use DT Zig Zag and Zig Zag. I also use Doji's to look at inside or outside bars. I also use a candle timer. If you notice, "The Money" usually comes out at the beginning of each session for 2 hours. Then Day Trading is a different mindset. I hope this helps from an old guy.
__________________
Not Everything that looks straight is: Until you measure it. |
|
|
|||
|
|||
|
Quote:
Thanks for the indicator. What I liked about the one I posted is that it's a mutli time frame indicator that I could apply to each individual time frame which would show different color lines for each time frame. That way I could differentiate between say daily and 4 hour S&R. This just saves alot of time plotting S&R on each time frame. The other problem with the indicator I posted is it erases all the other objects that are manually placed onto the chart when you change time frames. I like to make notes on my charts so this is not a good thing for me. |
|
|
|||
|
|||
|
Indicator
Here is a picture of the indicator. Blue lines are daily, orange lines are 4hr. I would like to be able to use the parameter tabs to define the style, type and color of the line, just like any horizontal line you would draw manually. The one function that needs to be removed is the delete all objects function. This makes using this indicator just about useless because it deletes all other objects on the chart when the time frame is changed.
Dave |
|
|
|||
|
|||
|
Support & Resistance Indicator
Dave;
I know exactly what your saying. I have no fix for your indicator, but I understand what you want. I will PM someone that can. If he's not busy he will have the answer. Regards Bill
__________________
Not Everything that looks straight is: Until you measure it. |
|
|
|||
|
|||
|
Indicator Color
Quote:
Each time frame has one color. The color that shows up on the chart is determined by the time frame you use in the input tab. Change the number of minutes in the Time Frame field to 15,30,60,240,1440 and you will see a different color for each time frame. What I am attempting to do is to load the indicator onto the platform mutilple times with each one defined for that particular time frame. So I want to load it onto the 60, 240 and 1440 charts. So I would have 3 sets of colored lines. The problem with that is you get alot of solid lines which makes the chart hard to see. I want to be able to define the lines just like you would define any manually applied horizontal line on the chart. The other thing the indicator does is erase all the other manually applied objects to the chart when you change time frames. This feature is not helpful at all. The indicator does a good job of identifying the S&R lines on each TF it's just difficult to use in it's current format. Dave |
|
|
|||
|
|||
|
Code
I think I found the code to the indicator. Maybe some one can work with the code and make the changes.
//+------------------------------------------------------------------+ //| SUPRESMultiFrame.mq4 | //| | //| RD | //+------------------------------------------------------------------+ #property copyright "RD" #property link "marynarz15@wp.pl" #property indicator_chart_window #define MaxObject 1000 //---- indicator parameters extern int TimeFrame=5; extern int BarsMax=144; extern int ExtDepth=13; extern int ExtDeviation=1; extern int ExtBackstep=5; extern bool DeleteObjectsOnExit=true; extern color LineColor1=RosyBrown; extern color LineColor5=Aqua; extern color LineColor15=DeepPink; extern color LineColor30=PaleVioletRed; extern color LineColor60=Red; extern color LineColor240=DarkOrange; extern color LineColor1440=DeepSkyBlue; extern color LineColor10080=Lime; //----------------------- double ExtMapBuffer[]; double ExtMapBuffer2[]; int SUPRESCount=0; int linewidth; string NamePattern; color LineColor; //+------------------------------------------------------------------+ //| Delete objects | //+------------------------------------------------------------------+ int DeleteSupRes() { int ObjectCount=ObjectsTotal(); string names[MaxObject]; for (int i=0; i<ObjectCount;i++) names[i]=ObjectName(i); for (i=0; i<ObjectCount;i++) { string objname=names[i]; objname=StringSubstr(objname,0,StringLen(NamePatte rn)); if (objname!=NamePattern || ObjectType(names[i])!=OBJ_TREND) names[i]=""; } for (i=0; i<ObjectCount;i++) { if (names[i]!="") { ObjectDelete(names[i]);} } return(0); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(2); SetIndexBuffer(0,ExtMapBuffer); SetIndexBuffer(1,ExtMapBuffer2); SetIndexEmptyValue(0,0.0); ArraySetAsSeries(ExtMapBuffer,true); ArraySetAsSeries(ExtMapBuffer2,true); switch (TimeFrame) { case 1: linewidth=1; LineColor=LineColor1; break; case 5: linewidth=1; LineColor=LineColor5; break; case 15: linewidth=1; LineColor=LineColor15; break; case 30: linewidth=1; LineColor=LineColor30; break; case 60: linewidth=1; LineColor=LineColor60; break; case 240: linewidth=1; LineColor=LineColor240; break; case 1440: linewidth=1; LineColor=LineColor1440; break; case 10080: linewidth=1; LineColor=LineColor10080; break; default: linewidth=1; TimeFrame=Period(); break; } NamePattern=DoubleToStr(TimeFrame,0)+" SUPRES "; if (BarsMax<55) BarsMax=55; DeleteSupRes(); return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { if (DeleteObjectsOnExit) DeleteSupRes(); return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int shift, back,lasthighpos,lastlowpos; double val,res; double curlow,curhigh,lasthigh,lastlow; string objectname; if(BarsMax==0) {BarsMax=Bars/2;}// return(0); for(shift=iBars(NULL,TimeFrame)-ExtDepth; shift>=0; shift--) { val=iLow(NULL,TimeFrame,Lowest(NULL,TimeFrame,MODE _LOW,ExtDepth,shift)); if(val==lastlow) val=0.0; else { lastlow=val; if((iLow(NULL,TimeFrame,shift)-val)>(ExtDeviation*Point)) val=0.0; else { for(back=1; back<=ExtBackstep; back++) { res=ExtMapBuffer[shift+back]; if((res!=0)&&(res>val)) ExtMapBuffer[shift+back]=0.0; } } } ExtMapBuffer[shift]=val; //--- high val=iHigh(NULL,TimeFrame,Highest(NULL,TimeFrame,MO DE_HIGH,ExtDepth,shift)); if(val==lasthigh) val=0.0; else { lasthigh=val; if((val-iHigh(NULL,TimeFrame,shift))>(ExtDeviation*Point)) val=0.0; else { for(back=1; back<=ExtBackstep; back++) { res=ExtMapBuffer2[shift+back]; if((res!=0)&&(res<val)) ExtMapBuffer2[shift+back]=0.0; } } } ExtMapBuffer2[shift]=val; } // final cutting lasthigh=-1; lasthighpos=-1; lastlow=-1; lastlowpos=-1; for(shift=iBars(NULL,TimeFrame)-ExtDepth; shift>=0; shift--) { curlow=ExtMapBuffer[shift]; curhigh=ExtMapBuffer2[shift]; if((curlow==0)&&(curhigh==0)) continue; //--- if(curhigh!=0) { if(lasthigh>0) { if(lasthigh<curhigh) ExtMapBuffer2[lasthighpos]=0; else ExtMapBuffer2[shift]=0; } //--- if(lasthigh<curhigh || lasthigh<0) { lasthigh=curhigh; lasthighpos=shift; } lastlow=-1; } //---- if(curlow!=0) { if(lastlow>0) { if(lastlow>curlow) ExtMapBuffer[lastlowpos]=0; else ExtMapBuffer[shift]=0; } //--- if((curlow<lastlow)||(lastlow<0)) { lastlow=curlow; lastlowpos=shift; } lasthigh=-1; } } for(shift=iBars(NULL,TimeFrame)-1; shift>=0; shift--) { if(shift>=iBars(NULL,TimeFrame)-ExtDepth) ExtMapBuffer[shift]=0.0; else { res=ExtMapBuffer2[shift]; if(res!=0.0) ExtMapBuffer[shift]=res; } } ///////////////////////// Lines creation ///////////////// int count=0; double TempBufferPrice[MaxObject]; int TempBufferBar[MaxObject]; string ObjectNames[MaxObject]; //////////////////////// lists of lines ////////////////// for(shift=BarsMax; shift>0; shift--) if (ExtMapBuffer[shift]>0) { count++; TempBufferPrice[count-1]=ExtMapBuffer[shift]; TempBufferBar[count-1]=shift; } for(int i=0; i<count; i++) ObjectNames[i]=TimeFrame+"m S/R("+i+")"/*DoubleToStr(TempBufferPrice[i],Digits)+" "+ TimeToStr(iTime(NULL,TimeFrame,TempBufferBar[i]),TIME_DATE|TIME_MINUTES)*/; /////// deleting pending objects /////////////// int ObjectForDeleteCount=0; string ObjectsForDelete[MaxObject]; for(i=0; i<ObjectsTotal(); i++) { objectname=ObjectName(i); if (StringSubstr(objectname,0,StringLen(NamePattern)) ==NamePattern) { ObjectForDeleteCount++; ObjectsForDelete[ObjectForDeleteCount-1]=objectname; } } for(i=0; i<count-2; i++) { objectname=ObjectNames[i]; for(int j=0; j<ObjectForDeleteCount; j++) if(ObjectsForDelete[j]==objectname) { ObjectsForDelete[j]=""; break; } } for(j=0; j<ObjectForDeleteCount; j++) if (ObjectsForDelete[j]!="") { ObjectDelete(ObjectsForDelete[j]); } ////////////// objects plotting ///////////////// for(i=0; i<count; i++) { if (ObjectFind(ObjectNames[i])==-1) { ObjectCreate(ObjectNames[i],OBJ_TREND,0,iTime(NULL,TimeFrame,TempBufferBar[i]),TempBufferPrice[i], iTime(NULL,TimeFrame,TempBufferBar[i])+10080*60,TempBufferPrice[i]); ObjectSet(ObjectNames[i],OBJPROP_WIDTH,linewidth); ObjectSet(ObjectNames[i],OBJPROP_COLOR,LineColor); ObjectSet(ObjectNames[i],OBJPROP_RAY,True); ObjectSetText(ObjectNames[i],ObjectNames[i]+" "+DoubleToStr(TempBufferPrice[i],Digits),8,"Courier",LightSteelBlue); } } } Dave Last edited by downunderdave40; 08-31-2008 at 08:55 AM. |
| Bookmarks |
| Thread Tools | |
|
|
|
|