![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
If my memory serves me correctly, this indicator is a renamed version of the VQ.mq4 and I see on their Thread that they have improved the original quite considerably. The present Alaskin downloaded from your Thread, seems to behave like in the beginning of the VQ concept. You may want to look into this.
Secondly, I have an ADX Crossing indicator by Amir which I find extremely accurate almost to the point of disbelief.
It outperforms the 2 I have downloaded from your zipped file and I place it here for your perusal and comment.
Best wishes.Valeo, upon closer inspection, its the exact same as the Non-repainting ADX cross. The difference is that the dot in yours looks like it shows up 1 bar before the Non-repainting ADX cross arrows show up. The funny thing is, they appear at the same time. As Mladen pointed out, it's the shift value that makes it look like it shows up 1 bar "earlier".
Hey yah Valeo !
I think pip assasin alaskan (or whatever you like) REPAINTS ?
I ask confirmation.Hi my good friend,
I was just being polite.![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
Did you get my e-mail to your private mail address?
Best wishes.
Be careful with it.
{
b4plusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift-1);
nowplusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift);
b4minusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift-1);
nowminusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift);
if (b4plusdi>b4minusdi && nowplusdi<nowminusdi)
{
val1[shift]=Low[shift]-5*Point;
}
if (b4plusdinowminusdi)
{
val2[shift]=High[shift]+5*Point;
}
}Mladen, would you mind being more explicit regarding the "warning"? It most certainly does not repaint, but if there is anything else to be aware of, I would like to know so that I can address it. It most certainly gives excellent signals.
Looking forward to hearing from you.
Best wishes.
Thanks Valeo, been looking for a good ADX cross indicator. As far as the APA, I agree, it repaints very badly. Anyone who questions it, just open strategy tester and watch it.
Thanks for the confirmation re APA. My pleasure for the ADX Crossing.mq4.
Best wishes.
There are two coding errors in that indicator :
Hope this is explicit enough
regards
mladen
Mladen, would you mind being more explicit regarding the "warning"? It most certainly does not repaint, but if there is anything else to be aware of, I would like to know so that I can address it. It most certainly gives excellent signals.
Looking forward to hearing from you.
Best wishes.There are two coding errors in that indicator :
Hope this is explicit enough
regards
mladenVery much so as I have come to know you, Mladen and I thank you for this kind explanation.
Would you therefore suggest that the other version (ADX_CrossesNonrepainting), be the correct one to use?
I await your expert advise with baited breath. Thanking you most sincerely.
...
Sorry. Same buffer cleaning issue with ADX_CrossesNonrepainting (but it does not "look into the future")
Nature of ADX (the DI+ and DI- which are changing values only when price makes new high or new low) makes the repainting situations rare, but, still there they are...
Very much so as I have come to know you, Mladen and I thank you for this kind explanation.
Would you therefore suggest that the other version (ADX_CrossesNonrepainting), be the correct one to use?
I await your expert advise with baited breath. Thanking you most sincerely.Clean it out?
Is there a way to periodically clean out the memory?
...
All one need to do (in the case of ADX_CrossesNonrepainting) is to add two lines of code :
{
b4plusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_PLUSDI, i + 1);
nowplusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_PLUSDI, i);
b4minusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_MINUSDI, i + 1);
nowminusdi = iADX(NULL, 0, ADXcrossesPeriod, PRICE_CLOSE, MODE_MINUSDI, i);
//----
ExtMapBuffer1 = EMPTY_VALUE; // this line added
ExtMapBuffer2 = EMPTY_VALUE; // this line added too
//----
if(b4plusdi nowminusdi)
ExtMapBuffer1 = Low - nShift*Point;
//----
if(b4plusdi > b4minusdi && nowplusdi < nowminusdi)
ExtMapBuffer2 = High + nShift*Point;
}That is the "clean up". Nothing else does not have to be done
Since the "if block" is not always going to assign value, the corresponding buffer must be cleaned before the "if block" (otherwise there is a risk of repainting)
PS: when using ADX, do not forget that metatrader ADX is not equal to Wilders DMI (the original)
thanks mloden
thanks for trying to adjust adx
but the alaskinan it self it keep changing the past i can understand that because we are taking the alaskian cross on the 15 min with 5 min so multi frame may chnge the past
however
the alaskin repaints it self due to the following on the current frame
1. when there is a cross between the red line and the blue line and then if this cross is no more exitst it should be changes on the current candle like macd for example and not to repaint the past
so is there a better version from the alaskian or can be fixed?
thanks