forexbob1970:
So I'm pretty simple. But I tried this and nothing. Just indicator buffer#1 detached???
Apart from this
//---- calculate values for(int i=0; i<limit; i++) { highest[i]=NormalizeDouble(((iHighest(Symbol(),Period(),MODE_HIGH,Middle,i))+(iLowest(Symbol(),Period(),MODE_LOW,Middle,i))/2),Digits); lowest[i]=NormalizeDouble(((iHighest(Symbol(),Period(),MODE_HIGH,Lowest,i))+(iLowest(Symbol(),Period(),MODE_LOW,Lowest,i))/2),Digits); fastest[i]=NormalizeDouble((((iHighest(Symbol(),Period(),MODE_HIGH,Middle,i))+(iLowest(Symbol(),Period(),MODE_LOW,Middle,i))/2)+((iHighest(Symbol(),Period(),MODE_HIGH,Lowest,i))+(iLowest(Symbol(),Period(),MODE_LOW,Lowest,i))/2))/2,Digits); lowest[i]=NormalizeDouble(((iHighest(Symbol(),Period(),MODE_HIGH,Highest,i))+(iLowest(Symbol(),Period(),MODE_LOW,Highest,i))/2),Digits); trail1[i]=NormalizeDouble((((iHighest(Symbol(),Period(),MODE_HIGH,Middle,i+Middle))+(iLowest(Symbol(),Period(),MODE_LOW,Middle,i+Middle))/2)+((iHighest(Symbol(),Period(),MODE_HIGH,Lowest,i+Middle))+(iLowest(Symbol(),Period(),MODE_LOW,Lowest,i+Middle))/2))/2,Digits); trail2[i]=NormalizeDouble(((iHighest(Symbol(),Period(),MODE_HIGH,Highest,i+Middle))+(iLowest(Symbol(),Period(),MODE_LOW,Highest,i+Middle))/2),Digits); }
Which should read this
//---- calculate values for(int i=0; i<limit; i++) { highest[i]=NormalizeDouble(((iHighest(Symbol(),Period(),MODE_HIGH,Middle,i))+(iLowest(Symbol(),Period(),MODE_LOW,Middle,i))/2),Digits); lowest[i]=NormalizeDouble(((iHighest(Symbol(),Period(),MODE_HIGH,Lowest,i))+(iLowest(Symbol(),Period(),MODE_LOW,Lowest,i))/2),Digits); fastest[i]=NormalizeDouble((((iHighest(Symbol(),Period(),MODE_HIGH,Middle,i))+(iLowest(Symbol(),Period(),MODE_LOW,Middle,i))/2)+((iHighest(Symbol(),Period(),MODE_HIGH,Lowest,i))+(iLowest(Symbol(),Period(),MODE_LOW,Lowest,i))/2))/2,Digits); slowest[i]=NormalizeDouble(((iHighest(Symbol(),Period(),MODE_HIGH,Highest,i))+(iLowest(Symbol(),Period(),MODE_LOW,Highest,i))/2),Digits); trail1[i]=NormalizeDouble((((iHighest(Symbol(),Period(),MODE_HIGH,Middle,i+Middle))+(iLowest(Symbol(),Period(),MODE_LOW,Middle,i+Middle))/2)+((iHighest(Symbol(),Period(),MODE_HIGH,Lowest,i+Middle))+(iLowest(Symbol(),Period(),MODE_LOW,Lowest,i+Middle))/2))/2,Digits); trail2[i]=NormalizeDouble(((iHighest(Symbol(),Period(),MODE_HIGH,Highest,i+Middle))+(iLowest(Symbol(),Period(),MODE_LOW,Highest,i+Middle))/2),Digits); }
Array out of range error. Check your logs when something doesn't work.
- Do you think integer values in the [0 .. 100] range are going to be visiable on a pair in the [1.52 .. 1.54] range
-
Do NOT use NormalizeDouble, EVER. For ANY Reason. It's a kludge, don't use it.
It's use is always wrong
- SL/TP are market orders when triggered, they don't need to be normalized, only abide by the limits Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial and that requires understanding floating point equality Can price != price ? - MQL4 forum
- Only the open price for pending orders need to be adjusted. On Currencies, Point == TickSize, so you will get the same answer, but it won't work on Metals. So do it right: Trailing Bar Entry EA - MQL4 forum or Bid/Ask: (No Need) to use NormalizeDouble in OrderSend - MQL4 forum
- Lot size must also be adjusted to a multiple of LotStep. If that is not a power of 1/10 then NormalizeDouble is wrong. Do it right.
MODE_HIGH,Highest,i+Middle)
Your look back is Highest+Middle-1. Contradictory information on IndicatorCounted() - MQL4 forum Do it right.int counted_bars=IndicatorCounted(); //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; limit=Bars-counted_bars;
int counted_bars=IndicatorCounted(); int lookback = Highest+Middle-1; limit=Bars-MathMax(lookback,counted_bars);
Thanks lads especially for the links.
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
So I'm pretty simple. But I tried this and nothing. Just indicator buffer#1 detached???