Thank you WHRoeder,
I need that the amount of "int's" is automatically created way because on occasion would be more than others
in short, I need to find the number of times a price closes between a price range,
in short, to find how many times in the last 100 closures the price close between 1.3010 and 1.3030 ;
I need that the amount of "int's" is automatically created way because on occasion would be more than others
in short, I need to find the number of times a price closes between a price range,
in short, to find how many times in the last 100 closures the price close between 1.3010 and 1.3030 ;
MQ-L4:
Thank you WHRoeder,
I need that the amount of "int's" is automatically created way because on occasion would be more than others
in short, I need to find the number of times a price closes between a price range,
in short, to find how many times in the last 100 closures the price close between 1.3010 and 1.3030 ;
Thank you WHRoeder,
I need that the amount of "int's" is automatically created way because on occasion would be more than others
in short, I need to find the number of times a price closes between a price range,
in short, to find how many times in the last 100 closures the price close between 1.3010 and 1.3030 ;
create an array as WhRoeder has said and the you can re-size the array as required
i dont know what your problem is as WHRoeder said before use arrays
int text[]; for(ix=0;ix<100;ix++) { ArrayResize(text, ix+1); }
then
ArraySize(text); //your result
& finally
text[0]=2; text[1]=4; text[2]=7; text[3]=55; text[4]=6; text[5]=9;
"in short, I need to find the number of times a price closes between a price range, in short, to find how many times in the last 100 closures the price close between 1.3010 and 1.3030 ;"
You might want to make you a little function like this..
int numberInRange(double upperlimit, double lowerlimit)//function that you call and send along the limits of your range. { int closesInRange =0; for(int i=1;i<=100;i++)//not counting candle zero { if(Close[i]<upperlimit && Close[i]>lowerlimit) closesInRange++; } return(closesInRange);// returning the number of closes that fell within your range. }You can see that the for loop just runs through candles 1-100 checking to see if the closes were between the upper and lower limits that you send the function.
If it finds on it bumps up ++ the number and then returns the final results ..... Hope this helps a little.. PipPip..Jimdandy
Hello and thank you all for responding
first of all confirmed that they have read each of your answers and somehow try to adapt it to what I need, but I could not
the code in general than I need to create, is a count of how many times the price CLOSE in respective range, but not only a range, divers ranges, something like:
eurusd:
10 pip ranges from 1.28000 to 1.3000, in total 200 pips, equal to 20 ranges of 10 pips,
so I want to see, the visual mode or in text mode in a separate window, how many times the price close in the last 1000 candles in respective price below:
1.28000-1.28100 =2 times
1.28100-1.28200 =8 times
etc.
first of all confirmed that they have read each of your answers and somehow try to adapt it to what I need, but I could not
the code in general than I need to create, is a count of how many times the price CLOSE in respective range, but not only a range, divers ranges, something like:
eurusd:
10 pip ranges from 1.28000 to 1.3000, in total 200 pips, equal to 20 ranges of 10 pips,
so I want to see, the visual mode or in text mode in a separate window, how many times the price close in the last 1000 candles in respective price below:
1.28000-1.28100 =2 times
1.28100-1.28200 =8 times
1.28200-1.28300= 0 times
1.28300-1.28400=1 time
etc.
This is my code, for draw the lines each range that i need,
#property version "1.00" #property strict #property indicator_chart_window input int VELAS=1000; //Numero de velas para extraer datos input int MAX=120; //Numero de Pixeles de la vela Mayor input int PipsAncho=10;// int Pegado=MAX+2; int Tri=1; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping //--- return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { ObjectsDeleteAll(); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- int mul=0; int d=Digits; if (d==3) mul=1; if (d==5) mul=3; static double RE=0; double Base=NormalizeDouble(Ask,mul); if (Tri==1 && Base>0) { RE=Base; Tri=0; } double REMAX=RE+(5000*Point); double REMIN=RE-(5000*Point); double Spaces=(PipsAncho*10)*Point; double lineInterval = Spaces; double nLines = (REMAX-REMIN)/Spaces; // Number of total line to draw // Interval between lines // Current price is rounded to nearest "10" for (int ix = 1; ix < nLines; ix++) // Loop span number of times { const long AID=0; const string name="RectLabel"; const int sub_window=0; for (int ix = 0; ix < nLines; ix++) // Loop span number of times { ObjectCreate(name+ix, OBJ_HLINE, 0, 0, RE+((ix-(nLines/2))*lineInterval)); // Place half above and half below the current price ObjectSet(name+ix,OBJPROP_COLOR,DarkSlateGray); // Make the lines look better } return(0); //All done } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+
but ¿how I count the closures???
Thanks????
i wrote a script a long time ago that's marking on the chart supports and resistance according the price action in 15M TF (never used it since) this will give you an idea
//+------------------------------------------------------------------+ //| SnRbPA.mq4 | //+------------------------------------------------------------------+ double RangeHigh, RangeLow, RangeCenter; int BarsForCheck = 64800; //6 Month int Count = 0; int NoOfCnt[]; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- for(int obj = ObjectsTotal() -1; obj >=0; obj--) { if (StringSubstr(ObjectName(obj),0, 7) == "resNsup") { ObjectDelete(ObjectName(obj)); } } int BarsCount = WindowBarsPerChart() + 1; int FirstBar = WindowFirstVisibleBar(); int LastBar = FirstBar - BarsCount + 1; if (LastBar < 0 ) { LastBar = 0; BarsCount = FirstBar + 1; } RangeHigh = High[iHighest(NULL, 0, MODE_HIGH, BarsCount, LastBar)]; RangeLow = Low[iLowest(NULL, 0, MODE_LOW, BarsCount, LastBar)]; //------- double start = NormalizeDouble(RangeLow,3); double end = NormalizeDouble(RangeHigh,3); int times = NormalizeDouble(RangeHigh - RangeLow,4)/(Point*10)/5; int element_count=ArrayResize(NoOfCnt, (times+1)); //-------- int i = 0, k = 0; while (start <= end) { Count = 0; k = 0; while (k <= BarsForCheck) { if (start <= iHigh(NULL, 15, k) && start >= iLow(NULL, 15, k)) { Count++; } k++; } NoOfCnt[i] = Count; i++; ObjectCreate("resNsup"+start, OBJ_TREND, 0, iTime(NULL, 0, (FirstBar-Count)), start, iTime(NULL, 0, FirstBar), start); ObjectSet("resNsup"+start, OBJPROP_COLOR, Aqua); ObjectSet("resNsup"+start, OBJPROP_STYLE, STYLE_DASH); ObjectSet("resNsup"+start, OBJPROP_RAY, true); ObjectSet("resNsup"+start, OBJPROP_WIDTH, 1); start = NormalizeDouble(start,4)+(10*Point); } //---- return(0); } //+------------------------------------------------------------------+

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
i need yours help
i need to do a "int" with the name of a string
i know to do a "string" change the name automatically;
example:
The result is:
text0
text1
text2
text3
text4
text5
....................etc.
But now, i need make "INT" with this name and assign a value
example
only the names!!!, the values are for example
Thanks,