![]() |
2 Attachment(s)
Draw Candle Numbers.mq4 Draw Candle Times.mq4 |
3 Attachment(s)
"AdvancedFractals mod" Attachment 3768512 AdvancedFractals.ex5 AdvancedFractals mod.ex5 |
|
1 Attachment(s) Can anyone put an alarm on this indicator when the arrows appear - For MT5? Thank you Reverse No Repair.mq5 |
1 Attachment(s) Dear Bluerain, please add push notification on this indicator you just coded for motiram,thanks a lot! Draw Candle High Low Lines.mq4 |
|
|
![]() |
Util should be as simple as it can be - typically one goal - just draw H/L. |
2 Attachment(s) is it possible to edit this indicator? I want to have everything like this (as shown in the image below) in 1 indicator (if possible) otherwise 2 different indicators for Week & Month. I will not mind. Please reply... EDIT : I really don't have any idea how we will gonna use this in our trading, but if we made this indicator. this will definitely help in some wayy 3 Days Rolling Pivots.mq4 |
Hello Mr Tools Is there a possibility to make a histogram of i_sadukey v3 mod alerts, which was created by your goodself. Thank you GK |
Can an expert please review my code and suggest changes? PS: I'm a novice, I do not have any development experience, but a few internet resources last night got me where I am now. Inserted Code //+------------------------------------------------------------------+ //| Candlestick_confirmation.mq4 | //| Aleksei711 | //| www.forexfactory.com/Aleksei711 | //+------------------------------------------------------------------+ #property copyright "Aleksei711" #property link "www.forexfactory.com/Aleksei" //---- #property indicator_chart_window #property indicator_buffers 4 #property indicator_color1 LimeGreen #property indicator_color2 OrangeRed #property indicator_color3 LimeGreen #property indicator_color4 OrangeRed extern bool NY=true; extern bool London=true; extern int NYOpenDataTime=14; extern int LondonOpenDataTime=9; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; //---- int ExtCountedBars=0; extern int BarsToCount=1000; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_HISTOGRAM,0,1,LimeGreen); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_HISTOGRAM,0,1,OrangeRed); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(2,DRAW_HISTOGRAM,0,2,LimeGreen); SetIndexBuffer(2,ExtMapBuffer3); SetIndexStyle(3,DRAW_HISTOGRAM,0,2,OrangeRed); SetIndexBuffer(3,ExtMapBuffer4); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int bars_count=BarsToCount,i,h,m; bool drawvl; if(Bars<=10) return(0); ExtCountedBars=IndicatorCounted(); //---- check for possible errors if (ExtCountedBars<0) return(-1); //---- last counted bar will be recounted if (ExtCountedBars>0) ExtCountedBars--; int pos=Bars-ExtCountedBars-1; //---- while(pos>=0) { drawvl=false; h=TimeHour(Time[i]); m=TimeMinute(Time[i]); if (London==true) { if ((h==LondonOpenDataTime) && (m==0)) { drawvl=true; ExtMapBuffer1[pos]=High[pos]; ExtMapBuffer2[pos]=Low[pos]; if (Open[pos]>=Close[pos]) { ExtMapBuffer3[pos]=Open[pos]; ExtMapBuffer4[pos]=Close[pos]; } else // if (Open[pos]<=Close[pos]) { ExtMapBuffer3[pos]=Close[pos]; ExtMapBuffer4[pos]=Open[pos]; }; } else { ExtMapBuffer1[pos]=EMPTY_VALUE; ExtMapBuffer2[pos]=EMPTY_VALUE; ExtMapBuffer3[pos]=EMPTY_VALUE; ExtMapBuffer4[pos]=EMPTY_VALUE; } } pos--; } //---- return(0); } //+------------------------------------------------------------------+ |
I'll compare the code and learn from it! Best, CGN |
1 Attachment(s) Dear coder ..Could you alter this indicator ..the candle count from day start..first candle is1.2..3...4 ( based on selected time frame) thank you Draw Candle Numbers.mq4 |
![]() ![]() there are many coders and experts here who have lots of knowledge but none of them is coming ahead for telling how this indicator is workinggg.. how this indicator is used in our trading nor they care about telling or giving clarification that this indicator can be edited or not.. atleast they can give some reply or say anything.. but no ![]() ![]() ![]() ![]() ![]() |
|
|
I am referencing LifeHunt3r's post with an attachment of BasketChart and am addressing this request to those who are advanced in coding and can look into the problem. No, I'm not asking for alerts as Lee asked, although it was quite easy to make it for own needs (except I did not yet managed how to make them pop up not twice per second, but more rare, say every new candle etc. ![]() What am I requesting? As far as I understand the code of this indi as an amateur, there seem to be wrong calculation of the ATR value, namely a bug, which is in line 437-441: Inserted Code double sum; for (int i = 0; i < ATRPeriod; i++) { sum = sum + HighBuffer[i] - LowBuffer[i]; } Then the value sum is used in BasketChart's label in line 461-462 to give the user so called ATR value on label with text: Inserted Code DoubleToStr(sum/ATRPeriod/10,1) The issue with the above provided lines of code is that it is not the exact way to calculate the ATR of the basket pairs, at best it calculates the range of every candle for the selected period and nothing more. It is in no way an ATR value. Unfortunately the OHLC prices in the BasketChart are derived not from the every pair separately, but from the total of OHLC prices of every pair that constitute the BasketChart with respect to its weight (-1 or 1): Inserted Code open = open + (iOpen(symbol,Period(),offset)/tickSize - 100000) * WeightVals[index]; high = high + (iHigh(symbol,Period(),offset)/tickSize - 100000) * WeightVals[index]; low = low + (iLow(symbol,Period(),offset)/tickSize - 100000) * WeightVals[index]; close = close + (iClose(symbol,Period(),offset)/tickSize - 100000) * WeightVals[index]; So my conclusion as far as I understand is that we cannot use the iATR function to calculate the overall ATR of Basket pairs. Or can we? Is there a way to adapt/add to code the mt4 built-in iATR function as it is done with calculating the OHLC buffers using the iOpen, iHigh, iLow, iClose? Or Can it be done using the source formula of calculating the ATR value such as: Inserted Code ATR[i] = ATR[i-1] + ( TR[i] - TR[i-n] ) / n; // n is the ATR period Please give an advice to this problem or even solution. Sadly, this indi is undervalued whereas its AUD to USD indexes are almost exact representation of MATAF currency indexes which makes it powerful tool both for analysis and automated trading of indexes too. Thank you in advance! |
1 Attachment(s)
Please use as reference and you can fix yours. You can modify where you calculate MA to get typical_price. I just used period of 1 to get typical price MA. Or you can calcurate yourself like Typical price = (high + low + close)/3 basically, you have to have two buffers - one for red and one for green. now, check vol * typical price for privious bar and current bar. if current bar is bigger -> store in Buffer 1 ( green ) if current bar is smaller -> store in Buffer 2 ( red ) that is it. Volume x Typical Price BR demo.mq4 |
© Forex Factory