| Market Profile Are you a market profile trader? Post here. |
![]() | | Tweet | |
| | #1 | ||
![]() | Ant: Is there any way to improve this indicator? 1) How did you write your array in your market profile to show all the prices that traded in a bar? 2)I also wrote the EL to look at how many bars back did the same price traded? All i can do is to: did price X traded in bar[1], if yes, did price X traded in bar[1] and bar[2], and so on. Is there a way to improve this. Here is my code, please make a little suggestion, thanks a lot in advance! Input:TickSize(0.25); Array: SidewayArray[ 12 ](0); var: aprint(0),bprint(0),Cprin t(0),dprint(0),eprint(0), fprint(0),gprint(0),hprin t(0),Iprint(0),JPrint(0), KPrint(0),barsback(0); if ((Range /TickSize)-1) *TickSize >= 0 then aprint = ((Range /TickSize)-1) *TickSize else aprint = h; if ((Range /TickSize)-2) *TickSize >= 0 then bprint = ((Range /TickSize)-2) *TickSize else bprint = h; if ((Range /TickSize)-3) *TickSize >= 0 then cprint = ((Range /TickSize)-3) *TickSize else cprint = h; if ((Range /TickSize)-4) *TickSize >=0 then dprint = ((Range /TickSize)-4) *TickSize else dprint = h; if ((Range /TickSize)-5) *TickSize >=0 then eprint = ((Range /TickSize)-5) *TickSize else eprint = h; if ((Range /TickSize)-6) *TickSize >=0 then fprint = ((Range /TickSize)-6) *TickSize else fprint = h; if ((Range /TickSize)-7) *TickSize >=0 then gprint = ((Range /TickSize)-7) *TickSize else gprint = h; if ((Range /TickSize)-8) *TickSize >=0 then hprint = ((Range /TickSize)-8) *TickSize else hprint = h; if ((Range /TickSize)-9) *TickSize >=0 then iprint = ((Range /TickSize)-9) *TickSize else iprint = h; if ((Range /TickSize)-10) *TickSize >=0 then Jprint = ((Range /TickSize)-10) *TickSize else Jprint = h; if ((Range /TickSize)-11) *TickSize >=0 then Kprint = ((Range /TickSize)-11) *TickSize else Kprint = h; SidewayArray[1] = high-(Range /TickSize)*(TickSize); SidewayArray[2] = high-aprint; SidewayArray[3] = high-bprint; SidewayArray[4] = high-cprint; SidewayArray[5] = high-dprint; SidewayArray[6] = high-eprint; SidewayArray[7] = high-fprint; SidewayArray[ 8 ] = high- gprint ; SidewayArray[ 9] = high- hprint ; SidewayArray[10] = high- iprint ; SidewayArray[11] = high- jprint ; SidewayArray[12] = high- Kprint ; if SidewayArray[1] <= high[1] and SidewayArray[1] >= low[1] and SidewayArray[1] <= high[2] and SidewayArray[1] >= low[2] and SidewayArray[1] <= high[3] and SidewayArray[1] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[2] <= high[1] and SidewayArray[2] >= low[1] and SidewayArray[2] <= high[2] and SidewayArray[2] >= low[2] and SidewayArray[2] <= high[3] and SidewayArray[2] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[3] <= high[1] and SidewayArray[3] >= low[1] and SidewayArray[3] <= high[2] and SidewayArray[3] >= low[2] and SidewayArray[3] <= high[3] and SidewayArray[3] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[4] <= high[1] and SidewayArray[4] >= low[1] and SidewayArray[4] <= high[2] and SidewayArray[4] >= low[2] and SidewayArray[4] <= high[3] and SidewayArray[4] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[5] <= high[1] and SidewayArray[5] >= low[1] and SidewayArray[5] <= high[2] and SidewayArray[5] >= low[2] and SidewayArray[5] <= high[3] and SidewayArray[5] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[6] <= high[1] and SidewayArray[6] >= low[1] and SidewayArray[6] <= high[2] and SidewayArray[6] >= low[2] and SidewayArray[6] <= high[3] and SidewayArray[6] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[7] <= high[1] and SidewayArray[7] >= low[1] and SidewayArray[7] <= high[2] and SidewayArray[7] >= low[2] and SidewayArray[7] <= high[3] and SidewayArray[7] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[8] <= high[1] and SidewayArray[8] >= low[1] and SidewayArray[8] <= high[2] and SidewayArray[8] >= low[2] and SidewayArray[8] <= high[3] and SidewayArray[8] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[9] <= high[1] and SidewayArray[9] >= low[1] and SidewayArray[9] <= high[2] and SidewayArray[9] >= low[2] and SidewayArray[9] <= high[3] and SidewayArray[9] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[10] <= high[1] and SidewayArray[10] >= low[1] and SidewayArray[10] <= high[2] and SidewayArray[10] >= low[2] and SidewayArray[10] <= high[3] and SidewayArray[10] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[11] <= high[1] and SidewayArray[11] >= low[1] and SidewayArray[11] <= high[2] and SidewayArray[11] >= low[2] and SidewayArray[11] <= high[3] and SidewayArray[11] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[12] <= high[1] and SidewayArray[12] >= low[1] and SidewayArray[12] <= high[2] and SidewayArray[12] >= low[2] and SidewayArray[12] <= high[3] and SidewayArray[12] >= low[3] then begin plot3(highest(h,Barsback)[1],"High[3]");plot4(lowest(l,Barsbac k)[1],"Low[3]");end; if SidewayArray[1] <= high[1] and SidewayArray[1] >= low[1] and SidewayArray[1] <= high[2] and SidewayArray[1] >= low[2] and SidewayArray[1] <= high[3] and SidewayArray[1] >= low[3] then barsback =3; if SidewayArray[2] <= high[1] and SidewayArray[2] >= low[1] and SidewayArray[2] <= high[2] and SidewayArray[2] >= low[2] and SidewayArray[2] <= high[3] and SidewayArray[2] >= low[3] then barsback =3; if SidewayArray[3] <= high[1] and SidewayArray[3] >= low[1] and SidewayArray[3] <= high[2] and SidewayArray[3] >= low[2] and SidewayArray[3] <= high[3] and SidewayArray[3] >= low[3] then barsback =3; if SidewayArray[4] <= high[1] and SidewayArray[4] >= low[1] and SidewayArray[4] <= high[2] and SidewayArray[4] >= low[2] and SidewayArray[4] <= high[3] and SidewayArray[4] >= low[3] then barsback =3; if SidewayArray[5] <= high[1] and SidewayArray[5] >= low[1] and SidewayArray[5] <= high[2] and SidewayArray[5] >= low[2] and SidewayArray[5] <= high[3] and SidewayArray[5] >= low[3] then barsback =3; if SidewayArray[6] <= high[1] and SidewayArray[6] >= low[1] and SidewayArray[6] <= high[2] and SidewayArray[6] >= low[2] and SidewayArray[6] <= high[3] and SidewayArray[6] >= low[3] then barsback =3; if SidewayArray[7] <= high[1] and SidewayArray[7] >= low[1] and SidewayArray[7] <= high[2] and SidewayArray[7] >= low[2] and SidewayArray[7] <= high[3] and SidewayArray[7] >= low[3] then barsback =3; if SidewayArray[8] <= high[1] and SidewayArray[8] >= low[1] and SidewayArray[8] <= high[2] and SidewayArray[8] >= low[2] and SidewayArray[8] <= high[3] and SidewayArray[8] >= low[3] then barsback =3; if SidewayArray[9] <= high[1] and SidewayArray[9] >= low[1] and SidewayArray[9] <= high[2] and SidewayArray[9] >= low[2] and SidewayArray[9] <= high[3] and SidewayArray[9] >= low[3] then barsback =3; if SidewayArray[10] <= high[1] and SidewayArray[10] >= low[1] and SidewayArray[10] <= high[2] and SidewayArray[10] >= low[2] and SidewayArray[10] <= high[3] and SidewayArray[10] >= low[3] then barsback =3; if SidewayArray[11] <= high[1] and SidewayArray[11] >= low[1] and SidewayArray[11] <= high[2] and SidewayArray[11] >= low[2] and SidewayArray[11] <= high[3] and SidewayArray[11] >= low[3] then barsback =3; if SidewayArray[12] <= high[1] and SidewayArray[12] >= low[1] and SidewayArray[12] <= high[2] and SidewayArray[12] >= low[2] and SidewayArray[12] <= high[3] and SidewayArray[12] >= low[3] then barsback =3; if SidewayArray[1] <= high[1] and SidewayArray[1] >= low[1] and SidewayArray[1] <= high[2] and SidewayArray[1] >= low[2] and SidewayArray[1] <= high[3] and SidewayArray[1] >= low[3] and SidewayArray[1] <= high[4] and SidewayArray[1] >= low[4] then barsback =4; if SidewayArray[2] <= high[1] and SidewayArray[2] >= low[1] and SidewayArray[2] <= high[2] and SidewayArray[2] >= low[2] and SidewayArray[2] <= high[3] and SidewayArray[2] >= low[3] and SidewayArray[2] <= high[4] and SidewayArray[2] >= low[4] then barsback =4; if SidewayArray[3] <= high[1] and SidewayArray[3] >= low[1] and SidewayArray[3] <= high[2] and SidewayArray[3] >= low[2] and SidewayArray[3] <= high[3] and SidewayArray[3] >= low[3] and SidewayArray[3] <= high[4] and SidewayArray[3] >= low[4] then barsback =4; if SidewayArray[4] <= high[1] and SidewayArray[4] >= low[1] and SidewayArray[4] <= high[2] and SidewayArray[4] >= low[2] and SidewayArray[4] <= high[3] and SidewayArray[4] >= low[3] and SidewayArray[4] <= high[4] and SidewayArray[4] >= low[4] then barsback =4; if SidewayArray[5] <= high[1] and SidewayArray[5] >= low[1] and SidewayArray[5] <= high[2] and SidewayArray[5] >= low[2] and SidewayArray[5] <= high[3] and SidewayArray[5] >= low[3] and SidewayArray[5] <= high[4] and SidewayArray[5] >= low[4] then barsback =4; if SidewayArray[6] <= high[1] and SidewayArray[6] >= low[1] and SidewayArray[6] <= high[2] and SidewayArray[6] >= low[2] and SidewayArray[6] <= high[3] and SidewayArray[6] >= low[3] and SidewayArray[6] <= high[4] and SidewayArray[6] >= low[4] then barsback =4; if SidewayArray[7] <= high[1] and SidewayArray[7] >= low[1] and SidewayArray[7] <= high[2] and SidewayArray[7] >= low[2] and SidewayArray[7] <= high[3] and SidewayArray[7] >= low[3] and SidewayArray[7] <= high[4] and SidewayArray[7] >= low[4] then barsback =4; if SidewayArray[8] <= high[1] and SidewayArray[8] >= low[1] and SidewayArray[8] <= high[2] and SidewayArray[8] >= low[2] and SidewayArray[8] <= high[3] and SidewayArray[8] >= low[3] and SidewayArray[8] <= high[4] and SidewayArray[8] >= low[4] then barsback =4; if SidewayArray[9] <= high[1] and SidewayArray[9] >= low[1] and SidewayArray[9] <= high[2] and SidewayArray[9] >= low[2] and SidewayArray[9] <= high[3] and SidewayArray[9] >= low[3] and SidewayArray[9] <= high[4] and SidewayArray[9] >= low[4] then barsback =4; if SidewayArray[10] <= high[1] and SidewayArray[10] >= low[1] and SidewayArray[10] <= high[2] and SidewayArray[10] >= low[2] and SidewayArray[10] <= high[3] and SidewayArray[10] >= low[3] and SidewayArray[10] <= high[4] and SidewayArray[10] >= low[4] then barsback =4; if SidewayArray[11] <= high[1] and SidewayArray[11] >= low[1] and SidewayArray[11] <= high[2] and SidewayArray[11] >= low[2] and SidewayArray[11] <= high[3] and SidewayArray[11] >= low[3] and SidewayArray[11] <= high[4] and SidewayArray[11] >= low[4] then barsback =4; if SidewayArray[12] <= high[1] and SidewayArray[12] >= low[1] and SidewayArray[12] <= high[2] and SidewayArray[12] >= low[2] and SidewayArray[12] <= high[3] and SidewayArray[12] >= low[3] and SidewayArray[12] <= high[4] and SidewayArray[12] >= low[4] then barsback =4; if SidewayArray[1] <= high[1] and SidewayArray[1] >= low[1] and SidewayArray[1] <= high[2] and SidewayArray[1] >= low[2] and SidewayArray[1] <= high[3] and SidewayArray[1] >= low[3] and SidewayArray[1] <= high[4] and SidewayArray[1] >= low[4] and SidewayArray[1] <= high[5] and SidewayArray[1] >= low[5] then barsback =5; if SidewayArray[2] <= high[1] and SidewayArray[2] >= low[1] and SidewayArray[2] <= high[2] and SidewayArray[2] >= low[2] and SidewayArray[2] <= high[3] and SidewayArray[2] >= low[3] and SidewayArray[2] <= high[4] and SidewayArray[2] >= low[4] and SidewayArray[2] <= high[5] and SidewayArray[2] >= low[5] then barsback =5; if SidewayArray[3] <= high[1] and SidewayArray[3] >= low[1] and SidewayArray[3] <= high[2] and SidewayArray[3] >= low[2] and SidewayArray[3] <= high[3] and SidewayArray[3] >= low[3] and SidewayArray[3] <= high[4] and SidewayArray[3] >= low[4] and SidewayArray[3] <= high[5] and SidewayArray[3] >= low[5] then barsback =5; if SidewayArray[4] <= high[1] and SidewayArray[4] >= low[1] and SidewayArray[4] <= high[2] and SidewayArray[4] >= low[2] and SidewayArray[4] <= high[3] and SidewayArray[4] >= low[3] and SidewayArray[4] <= high[4] and SidewayArray[4] >= low[4] and SidewayArray[4] <= high[5] and SidewayArray[4] >= low[5] then barsback =5; if SidewayArray[5] <= high[1] and SidewayArray[5] >= low[1] and SidewayArray[5] <= high[2] and SidewayArray[5] >= low[2] and SidewayArray[5] <= high[3] and SidewayArray[5] >= low[3] and SidewayArray[5] <= high[4] and SidewayArray[5] >= low[4] and SidewayArray[5] <= high[5] and SidewayArray[5] >= low[5] then barsback =5; if SidewayArray[6] <= high[1] and SidewayArray[6] >= low[1] and SidewayArray[6] <= high[2] and SidewayArray[6] >= low[2] and SidewayArray[6] <= high[3] and SidewayArray[6] >= low[3] and SidewayArray[6] <= high[4] and SidewayArray[6] >= low[4] and SidewayArray[6] <= high[5] and SidewayArray[6] >= low[5] then barsback =5; if SidewayArray[7] <= high[1] and SidewayArray[7] >= low[1] and SidewayArray[7] <= high[2] and SidewayArray[7] >= low[2] and SidewayArray[7] <= high[3] and SidewayArray[7] >= low[3] and SidewayArray[7] <= high[4] and SidewayArray[7] >= low[4] and SidewayArray[7] <= high[5] and SidewayArray[7] >= low[5] then barsback =5; if SidewayArray[8] <= high[1] and SidewayArray[8] >= low[1] and SidewayArray[8] <= high[2] and SidewayArray[8] >= low[2] and SidewayArray[8] <= high[3] and SidewayArray[8] >= low[3] and SidewayArray[8] <= high[4] and SidewayArray[8] >= low[4] and SidewayArray[8] <= high[5] and SidewayArray[8] >= low[5] then barsback =5; if SidewayArray[9] <= high[1] and SidewayArray[9] >= low[1] and SidewayArray[9] <= high[2] and SidewayArray[9] >= low[2] and SidewayArray[9] <= high[3] and SidewayArray[9] >= low[3] and SidewayArray[9] <= high[4] and SidewayArray[9] >= low[4] and SidewayArray[9] <= high[5] and SidewayArray[9] >= low[5] then barsback =5; if SidewayArray[10] <= high[1] and SidewayArray[10] >= low[1] and SidewayArray[10] <= high[2] and SidewayArray[10] >= low[2] and SidewayArray[10] <= high[3] and SidewayArray[10] >= low[3] and SidewayArray[10] <= high[4] and SidewayArray[10] >= low[4] and SidewayArray[10] <= high[5] and SidewayArray[10] >= low[5] then barsback =5; if SidewayArray[11] <= high[1] and SidewayArray[11] >= low[1] and SidewayArray[11] <= high[2] and SidewayArray[11] >= low[2] and SidewayArray[11] <= high[3] and SidewayArray[11] >= low[3] and SidewayArray[11] <= high[4] and SidewayArray[11] >= low[4] and SidewayArray[11] <= high[5] and SidewayArray[11] >= low[5] then barsback =5; if SidewayArray[12] <= high[1] and SidewayArray[12] >= low[1] and SidewayArray[12] <= high[2] and SidewayArray[12] >= low[2] and SidewayArray[12] <= high[3] and SidewayArray[12] >= low[3] and SidewayArray[12] <= high[4] and SidewayArray[12] >= low[4] and SidewayArray[12] <= high[5] and SidewayArray[12] >= low[5] then barsback =5; | ||
| |
|
| | #2 | ||
![]() | Re: Ant: Is there any way to improve this indicator? | ||
| |
|
| | #3 | ||
![]() | Re: Ant: Is there any way to improve this indicator? Take a look at the EL code I wrote at the link below. It should answer your questions. https://www.tradestation.com/Discuss...Topic_ID=55482 In general, 10-20 charts with an indicator like this applied to it could cause tradestation to freeze with heavy volume. It depends on how large the array is, how much cycling through the array is required, and how often the code executes (i.e., at the end of each bar or on every tick). Use the Task Manager of your PC to track memory usage and performance while running your indicators during the day with the markets open. For example, I notice that running multiple Time & Sales windows in tradestation hampers performance especially with heavy volume. Keep in mind that making this a real-time indicator (updated every tick) will also add considerable complexity to it. Hope this helps. | ||
| |
|
| | #4 | ||
![]() | Re: Ant: Is there any way to improve this indicator? | ||
| |
|
![]() |
| Thread Tools | |
| Display Modes | Help Others By Rating This Thread |
| |
| ∧ Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Bid-Ask Pressure Indicator for Tradestation | Soultrader | Trading Indicators | 81 | 08-18-2009 03:29 PM |
| BB Squeeze Replica For Tradestation | Soultrader | Trading Indicators | 56 | 07-08-2009 04:39 PM |
| Is the RSI indicator any good? | Lisa | Technical Analysis | 14 | 04-27-2008 12:41 PM |
| Ant, what do you think about Alexander Trading? | Reaver | Market Profile | 33 | 04-21-2008 12:18 AM |