Market Profile has quickly become a trending topic among Indian traders on social media, spotlighting the diverse range of tools available for accessing market profile and footprint charts. This article highlights the spectrum of options, from budget-friendly to premium solutions, tailored to meet the varying needs of traders. Whether you prefer to analyze your trades using popular trading software like Amibroker, Ninjatrader, Tradingview, Metastock, Esignal, GoCharting, Multicharts, Windotrader, InvestorRT, or SierraCharts, there’s a solution that aligns with your trading style and budget, ensuring you have the resources to leverage market profile and footprint charts effectively.
Accessing Market Profile Charts using Amibroker
For those seeking an affordable way to explore Market Profile in real-time markets, installing Amibroker alongside a third-party realtime data feed is highly recommended. Here’s a curated list of top data indian vendors to consider for this setup.
Market Profile Charts are accessible for free through Amibroker Trial Editon. The licensed version of Amibroker is available for a one-time fee of 369 USD (Professional Edition). To leverage these charts effectively, users simply require a reliable data feed from trusted data vendors. Credit for the original creation of these charts goes to Milind/Kaka. The charts, which display market profiles using letters, can be seen below. Additionally, the modified code by John has been updated to support smaller tick sizes.
Market Profile – Amibroker AFL Code
_SECTION_BEGIN("MarketProfile");
SetChartOptions(0,chartShowArrows|chartShowDates);
//------------------------------------------------------------------------------
//
// Formula Name: Market Profile
//
// Use with 5/15min chart
// Originial - From AFL library
// Edited by - Milind / KAKA
// AFL Modified by Rajandran R ( www.marketcalls.in) code works good in 5min, 15min, 30min timeframe
// Code is Compatible with Amibroker 5.8 and above
// Letter A now repeats for first 30 min, Letter B next 30 min so on
// Multiple Repeating Alphabets Horizontally to be fixed in 5min and 15min
//Market Profile 9/12/2009
PlotOHLC(Ref(O,-1),Ref(H,-1),Ref(L,-1),Ref(C,-1),"Price",colorblack,stylenoline);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g", Ref(O,-1), Ref(H,-1), Ref(L,-1), Ref(C,-1) ));
EnMP2= ParamList("MarketProfile","Letters|Solid|Lines");
styleLines = ParamStyle("Style", styleLine, maskAll);
Type=ParamList("Type","Price Profile|Volume Profile");
Period= ParamList("Base","Hourly|Daily|Weekly|Monthly",1);
Den = Param("Density", 3, 0.25, 100, 0.25); // Resolution in terms of $
percent=Param("Value Area", 70, 1, 100, 1);
ViewTPOCount= ParamToggle("Show TPO Count", "No|Yes",1);
ViewPOC = ParamToggle("Show POC", "No|Yes",1);
ViewVALVAH = ParamToggle("Show VAL VAH Line", "No|Yes",1);
Viewfill = ParamToggle("Show VA Fill", "No|Yes",1);
Colorpoc=ParamColor("Color POC", colorYellow);
Colorfill=ParamColor("Color Fill", ColorRGB(20,40,60));
EnIB = ParamToggle("Show Initial Balance", "Yes|No");
IBBars = Param("Initial Balance Bars", 2, 0, 10, 1);
if(Period=="Daily"){
BarsInDay = BarsSince(Day() != Ref(Day(), -1));
Bot = TimeFrameGetPrice("L", inDaily, 0);
Top = TimeFrameGetPrice("H", inDaily, 0);
Vol = TimeFrameGetPrice("V", inDaily, 0);
}
if(Period=="Hourly"){
BarsInDay = BarsSince(Minute() != Ref(Minute(), -1));
Bot = TimeFrameGetPrice("L", in5Minute, 0);
Top = TimeFrameGetPrice("H", in5Minute, 0);
Vol = TimeFrameGetPrice("V", in5Minute, 0);
}
if(Period=="Weekly"){
BarsInDay = BarsSince(DayOfWeek() < Ref( DayOfWeek(), -1 ));
Bot = TimeFrameGetPrice("L", inWeekly, 0);
Top = TimeFrameGetPrice("H", inWeekly, 0);
Vol = TimeFrameGetPrice("V", inWeekly, 0);
}
if(Period=="Monthly" ){
BarsInDay = BarsSince(Month() != Ref(Month(), -1));
Bot = TimeFrameGetPrice("L", inMonthly, 0);
Top = TimeFrameGetPrice("H", inMonthly, 0);
Vol = TimeFrameGetPrice("V", inMonthly, 0);
}
CurTop = HHV(H,BarsInDay+1);
Curbot = LLV(L,BarsInDay+1);
Range = Highest(Top-Bot);
TodayRange = Top - Bot;
AveRange = Sum(Top-Bot,30)/30;
LAveRange = AveRange[BarCount-1];
// Initialization
baseX = 0;
baseY = floor(Bot[0]/Den)*Den;
relTodayRange = 0;
firstVisBar = Status("firstvisiblebar");
lastVisBar = Status("lastvisiblebar");
D=.0005;
total=0;
totaldn=0;
totalup=0;
shiftup=0;
shiftdn=0;
startr=0;
for (j=0; j <= 100; j++) {
x[j] = 0;
}
i0 = 0;
i1 = 0;
for (i=0; i<BarCount; i++) {
if (BarsInDay[i] == 0 AND i < firstVisBar) {
i0 = i;
}
if (BarsInDay[i] == 0 AND i >= lastVisBar) {
i1 = i;
}
}
i1 = BarCount-1;
for (i=i0; i<=i1; i++) {
if (BarsInDay[i] == 0) {
baseX = i;
baseY = floor(Bot[i]/Den)*Den;
maxY = floor(Top[i]/Den)*Den;
relTodayRange = (maxY-baseY)/Den;
for (j=0; j <= relTodayRange; j++) {
x[j] = 0;
}
}
range_x=lastVisBar-firstVisBar;
spread = Param("X Space", 112, 1, 200, 1);
tpl = Param("Time Per Letter (mins)", 30, 1, 360, 1);
Intervalmin=Interval()/60;
flt =Param("First Letter (Bars)", 1, 1, 60, 1);
teb=ParamToggle("To Each Bar","No|Yes");
Color=Param("Color Threshold",20,1,50,1);
stopg=0;
stopr=0;
new=0;
Voloumeunit=Vol[i]/LastValue(BarsInDay);
if (EnMP2 == "Letters") {
for (j=0; j<= relTodayRange; j++) {
if (L[i] <= baseY+j*Den AND H[i] >= baseY+j*Den) {
PlotTextSetFont("", "Arial", 6, BarCount-1, Close[ BarCount - 3 ], colorGreen, colorDefault, -20 );
PlotTextSetFont("C", "Arial", 40, 100, 100, colorGreen, colorDefault, -20 );
PlotText(StrExtract(" A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z, a , b , c , d , e , f , g , h , i , j , k , L , m , n ,o , p , q , r , s , t , u , v , w , x , y , z ",
IIf(BarsInDay[i]<flt,0,floor(BarsInDay[i]/(tpl/Intervalmin))-0)), baseX+IIf(teb==1,BarsInDay[i],x[j]*(range_x/spread)), baseY+j*Den,
colorWhite,ColorHSB(10+((floor(BarsInDay[i]/(tpl/Intervalmin)))*Color),160,140));
x[j]++;
PlotTextSetFont("", "Arial", 10, BarCount-1, Close[ BarCount - 3 ], colorGreen, colorDefault, -20 );
}
}
}
else if (EnMP2 == "Lines" OR EnMP2 == "Solid") {
for (j=0; j<= relTodayRange; j++) {
if (L[i] <= baseY+j*Den AND H[i] >= baseY+j*Den) {
if(Type=="Price Profile"){x[j]=x[j]+1;}
else if(Type=="Volume Profile"){x[j]=x[j]+round(V[i]/Voloumeunit);}
}
}
}
// Draw Initial Balance after 11am bar is complete
if (BarsInDay[i] == IBBars AND EnIB == 0) {
Line1 = LineArray(i-2, curtop[i-1],i+7, curtop[i-1],0,True);
Plot(Line1,"",colorLightGrey,styleLine+styleDashed|styleNoRescale);
Line1 = LineArray(i-2, curbot[i-1],i+7, curbot[i-1],0,True);
Plot(Line1,"",colorLightGrey,styleLine+styleDashed|styleNoRescale);
}
// Examine x[j]
if ((i < BarCount - 1 AND BarsInDay[i+1] == 0) OR i == BarCount-1) {
maxXj = 0;
maxj = 0;
for (j=0; j<= relTodayRange; j++) {
if (maxXj < x[j]) {maxXj = x[j]; maxj = j; StaticVarSet("Maxj",j); new=j;
}
}
for ( n = 1; n <= relTodayRange; n++ ) {
total[n]=x[n]+total[n-1];
}
Value_area=(total[relTodayRange]*percent)/100;
for ( a = 1; a <= relTodayRange; a++ )
{
if(Maxj-a>0 AND Maxj+a<relTodayRange)
{
if(MaxXj+total[Maxj+a]-total[Maxj]+total[Maxj-1]-total[Maxj-(a+1)]>=Value_area) {shiftup=a; shiftdn=a; break;}
}
else if(Maxj-a<1 )
{
if(MaxXj+total[Maxj+a]-total[Maxj]+total[Maxj-1]>=Value_area){shiftup=a; shiftdn=maxj-1; break;}
}
else if(Maxj+a>relTodayRange )
{
if(MaxXj+total[relTodayRange]-total[Maxj]+total[Maxj-1]-total[Maxj-(a+1)] >=Value_area){shiftup=relTodayRange-maxj; shiftdn=a; break;}
}
}
Vah = LineArray(baseX, baseY+(maxj+shiftup)*Den, i, baseY+(maxj+shiftup)*Den,0,True);
Val = LineArray(baseX, baseY+(maxj-shiftdn)*Den, i, baseY+(maxj-shiftdn)*Den,0,True);
poc = LineArray(baseX, baseY+maxj*Den, i, baseY+maxj*Den,0,True);
if(ViewVALVAH==1){Plot(Vah,"",ParamColor("Color_VA", colorLightBlue),styleLine|styleNoRescale);
Plot(Val,"",ParamColor("Color_VA", colorLightBlue),styleLine|styleNoRescale);}
if(ViewPOC==1){Plot(poc,"",Colorpoc,styleLine|styleNoRescale);}
PlotText(""+(baseY+(maxj+shiftup)*Den),i-5,baseY+(maxj+shiftup)*Den,colorWhite);
PlotText(""+(baseY+(maxj-shiftdn)*Den),i-5,baseY+(maxj-shiftdn)*Den,colorWhite);
if(ViewTPOCount==1){PlotText(""+total[maxj],basex,bot[i]-(Top[i]-bot[i])*0.05,ParamColor("Color_VAL", colorLavender));
PlotText(""+(total[relTodayRange]-total[maxj]),basex,Top[i]+(Top[i]*0.0005),ParamColor("Color_VAH", colorLavender));}
if(ViewPOC==1){PlotText(""+(baseY+maxj*Den),i-5,baseY+maxj*Den,Colorpoc);}
}
if (i < BarCount - 1 AND BarsInDay[i+1] == 0 OR i == BarCount-1) {
for (p = 1; p < relTodayRange+1; p++){
line = LineArray(baseX, baseY+p*Den, baseX+x[p], baseY+p*Den);
line2 = LineArray(baseX, baseY+(p-1)*Den, baseX+x[p-1], baseY+(p-1)*Den);
if (EnMP2 == "Solid")
{
PlotOHLC( Line, Line, Line2, Line2, "",IIf(p>(maxj+shiftup),ParamColor("Color_VAH", colorLavender),IIf(p<=(maxj+shiftup)AND p>(maxj-shiftdn),ParamColor("Color_VA", colorLightBlue),ParamColor("Color_VAL", colorLavender))) ,styleCloud|styleNoRescale|styleNoLabel);
}
if (EnMP2 == "Lines")
{
Plot(line,"",IIf(p>(maxj+shiftup),ParamColor("Color_VAH", colorLavender),IIf(p<=(maxj+shiftup)AND p>(maxj-shiftdn),ParamColor("Color_VA", colorLightBlue),ParamColor("Color_VAL", colorLavender))) , styleLines|styleNoLabel);
}
}
if(Viewfill==1){PlotOHLC(Vah,Vah,Val,Val,"",Colorfill,styleCloud|styleNoRescale|styleNoLabel);}
}
}
_SECTION_END();
_SECTION_BEGIN("Gradient Backfill");
SetChartBkGradientFill( ParamColor("BgTop", ColorRGB( 0,0,0 )),
ParamColor("BgBottom", ColorRGB( 0,0,0 )),ParamColor("titleblock",ColorRGB( 192,192,192 )));
_SECTION_END();
Datafeed: Accommodates both Indian and International data vendors, offering 1-minute real-time feeds or tick-by-tick data feeds.
Compatibility: The AFL Code is designed to work exclusively with versions 5.8 and higher.
Accessing Market Profile and Orderflow Using Ninjatrader
NinjaTrader provides a robust platform for free trading analysis, catering to traders seeking advanced tools like Market Profile and Order Flow charts. To leverage these sophisticated charting capabilities, users are encouraged to explore subscriptions with NinjaTrader Ecosystem partners such as Bell TPO and Gomicators. These partners offer comprehensive solutions that encompass both Market Profile and Order Flow analysis tools, enhancing trading strategies with deeper market insights.
Data feed support is extensive, accommodating both Indian data vendors(Globaldatafeed, Accelpix, Truedata) specifically for NinjaTrader and international providers like Kinetic, eSignal, CQG, and Barchart. This wide range of compatibility ensures traders have access to reliable and timely market data.
The primary advantages of integrating these tools into your NinjaTrader setup include increased accuracy of market profile and orderflow computational methods, enhanced control over charting features, and the ability to easily navigate historical data without performance issues. Features such as zooming, vertical scrolling, and detailed analysis are optimized for a seamless user experience, making it a preferred choice for professional traders.
Orderflow Charts in Ninajtrader 8 Platform
At present, both BellTPO and Gomicators provide traders with access to footprint charts, also known as order flow charts. Similarly, NinjaTrader 8 features its own version of footprint and order flow charts, although these are exclusively accessible to those holding a paid subscription.
Esignal Market Profile Charts
If you’re subscribed to Esignal, enhancing your experience with the Market Profile feature requires an additional premium add-on specifically designed for Esignal users. This service is available at a monthly rate of 55 USD. However, there’s a promotional offer for new Market Profile users, allowing them to access this add-on at just 10 USD for the first month. With this arrangement, your overall expenses will amount to less than 220 USD per month, making it an economical option for those looking to integrate Market Profile analysis into their trading toolkit.
Advantages include precise identification of VAL, VAH, and POC levels, complemented by a multi-day dashboard tracker, making it ideal for professional traders.
However, a limitation is that only daily profiles are accessible, with no option to select custom profile charts.
Regarding Footprint Charts, Esignal offers them within a premium add-on called “volume delta charts,” available at a monthly fee of 50 USD. This service requires an Esignal Premier subscription or above.
Linnsoft – InvestorRT – Market Profile and Orderflow Charts
The Investor/RT Core Platform, available at $50 per month, is particularly esteemed by traders for its specialized tools in Market Profile and Orderflow analysis. With the inclusion of the Profile Package at an additional $20 per month, traders gain access to TPO Profile Charting and a suite of indicators designed to elevate market analysis. This package enriches trading strategies by providing detailed insights into market structure and volume distribution, pivotal for those leveraging Market Profile methodologies.
Moreover, the platform’s dedication to Orderflow analysis is exemplified through the VolumeScope® Package, priced at $25 monthly. This sophisticated tool dissects each bar in the chart, offering a microscopic view of market order flow and volume at price data. VolumeScope, alongside the Price Volume Pattern (PVP) feature, enables traders to pinpoint volume-based patterns within the market, providing a competitive edge in identifying buying and selling opportunities. These features are designed to cater to the nuanced needs of traders focused on Market Profile and Orderflow, offering them a comprehensive toolkit for in-depth market analysis.
Datafeed: Compatible with Esignal only for Indian Markets. As of now no Indian datavendors supporting InvestRT Software.
Accessing Market Profile and Orderflow using Multicharts
Market Profile charts are available at free of cost for both Multicharts and Multicharts.Net editions. Can be downloaded here
Datafeed : Globaldatafeeds supports Multicharts can be used in case of TPO Profile Charts. However footprint charts requires Esignal Data Subscription (tick level feeds) for Indian Markets.
Multicharts supports inbuilt volume delta charts(order flow charts). But cant do much customization with volume delta charts. However Russian vendor Orderflowtrading provides Footprint Profile charts setup and the subscription pricing starts at 74 USD per month. It is interactive as Market Delta and provides custom template facilities as Market Delta does.
Market Delta Charts
Benchmark tool and mother of all the market profile charts and footprint charts. Suits for professional trader. Pricing starts at 154 USD per month (Order Flow + TPO Profile Charts)
Datafeed : Supports Esignal only for Indian Markets (TSTQ Features in Esignal needs to be enabled to work with Market Delta). Requires Esignal data subscription.
Sierra Charts
Sierra charts provides in-built TPO Profile Charts and Volume by Price Study and license fee starting at 35 USD per month
Datafeeds : Supports Globaldatafeeds. Google Finance in case of learning with Market Profile Charts.
Advantages : Extensive Customization, Interactive, Great User Experience, Cheaper to learn compared to other traditional market profile software. Suits both learners and professional profile traders.
Window Trader
Should say market profile charts are better than Market Delta in terms of Inter-activeness and user experience and can zoom out to watch any level of back historical data. Font size of letters automatically reduces when you try to put more historical data on the screen. Subscription starts at 150 USD per month. Interactive Volume Profile is the best feature and the USP in windowtrader
Datafeed : Requires Esignal data subscription for Indian Markets. No Indian vendors as of now supporting.
Advantages : Suits professional market profile traders who is looking for greater profile accuracy at tick level.
Web Based
Last but not least you can access live market profile charts from our website. Currently access is allowed only for limited scripts. Soon could extend to multiple scripts. Suits for beginners in Market Profile. It also has a social media dashboard below the charts which tracks the twitter market profile experts and provides opportunity to learn from them while watching the live charts.
Hope you got lot more insights on Market Profile and Foot Print (order flow) Softwares available for Indian Traders. Let me know if we missed out any.
Thanks a lot for all the information.
Is it possible to subscribe for normal E-signal tick data & use it for volume footprint , orderflow analysis in a C# ,C++ program..
Regards
Heard Esignal Shutdown Market Data API Services for Individual traders! But possible with Interactive Brokers as they provide Tick level access using IB API
Dear Rajandran, can you please prove me market profile with letters for amibroker 5.7 please.
Dennis
sir afl is not working showing error. using with 5.9
Make sure you had done all the TPO Density adjustments according to your Price value. Code is tested.
What are the settings you are talking about? From where to access them. I am not getting the profile displayed properly. Can you guide me?
Just like your site gives Market Profile Charts. Is it possible to provide FootPrint charts just for Nifty Futures? Thanks for this wonderful post!
Thanks for the info rajandran….
GOM ladder from Bigmiketrading is one more option which I came across,,,,,
order flow trading is the only software I have tried for 2 months which is really nice,,,but not indian scripts ( for gold , silver ) using NT 7
Dear Rajandran,
I am getting the below error.
IIf(BarsInDay[i]<flt,0,floor(BarsInDay[i]/(tpl/Intervalmin))-0)), baseX+IIf(teb==1,BarsInDay[i],x[j]*(range_x/spread)), baseY+j*Den,
colorWhite,ColorHSB(10+((floor(BarsInDay[i]/(tpl/Intervalmin)))*Color),160,140));
x[j]++;
PlotTextSetFont(
__________________________^
File: 'Formulas/Drag-Drop/Market Profile.afl', Ln: 143, Col: 17
Error 32.
Syntax Error, unexpected '('. Is there semicolon missing at the end of the previous line?
Thanks,
Sanjoy
You are not using 5.8 version and above. The above code is compatible with 5.8 and above coz PlotTextSetFont() is not supportive in lower versions.
HI rajandran,
I have version 5.7. DO you think this is the right time to upgrade Amibroker ?
Thanks
kiran
Yes if you are looking for monte carlo analysis or Matrix related functions. I personally upgraded because of montecarlo!
Sir Am having E Signal Advance Get
How can i get this study in to my system.
Please guide…..
Reagards,
Sunil Bedekar
Excellent post Rajandran ! All the available options explained in lucind manner with images to support them. Thank you for that.
So, looks like if someone wants a quality Footprint charts then one needs to shell out at least $300/mo (MarketDelta+eSignal datafeed). Any other alternative only for Footprint (orderflow) charts?
Many thanks!
I am a Intraday Trader. Trying to work on best strategy which is having more accuracy. 80 to 90 percent.
I need to know esignal with advanced get strategy is best or metastock strategy with lci and MacD for only Intraday.
Pleas suggest me any other indicator.
1…Which is better marketdelta or ninjatrader
2… ninjatrader with noft is it better
From Market Profile Point of View Ninjatrader + Fin-Alg is better and cheaper. I haven’t explored with NOFT. But in terms of order flow Market Delta provides lots of comfort. And comfort comes at a greater price 🙂
Hi Rajendran
How do decode the RED and Blue color in IB what do they say…
Just wanted to add some info here. You can now get datafeed for Ninjatrader/Market Profile from TrueData from India..no need for expensive E-signal datafeed.
For Accessing Market Profile data Esignal is not mandatory you can connect with any local vendors like Globaldatafeeds, Trudata or neotrade. However to access Foot Print Charts we require TSTQ feature (Historical BidxAsk data which currently ESignal is providing the feature.)
How this market profile can be use om MUlticahrts trading platform.
I have tried from below location, butu cant be draw properly.Can you help ?
http://www.multicharts.com/discussion/viewtopic.php?f=5&t=10872
In that case you can try out Multicharts addon – Market Profile from here http://www.multicharts.com/multicharts/addons/
I inquired about Sierra Charts from Global data feeds. GDF says they now no more support Sierra Charts. Is there any alternative. Any help appreciated.
Yeh they stopped supporting for Sierra Charts and now only alternative is Esignal for Sierra Charts users.
Hello Sir plz guide me
i am not able to get tick by tick live data for orderflowtrading.net software …plz help as i need to load footprint charts on ATAS software for NSE and MCX ….
Hi rajendran, few info required on orderflow datafeed. Currently using NT8+truedata data feed for orderflow charts. Drawback is no historical traded BIDxASK data backfill provided. is there any service provider who provides historical backfill of BIDXASK data. I saw ur previous posts mentioning that ,Esignal provides. but not tried it.
1. which datafeed provider provides ?
2. if they provide, how many days of backfill?
3. any reviews on esignal data which is providing historical data of bidxask price?
4. cost structure as of now if u r using?, one year back i enquired.
Hi Rajandran
Can you pls help me rectify “Warning 505 division by zero.” in your market profile afl.
I’m using Amibroker version 6.2 .
Check
https://forum.amibroker.com/t/i-am-getting-warning-505-division-by-zero-when-tried-to-add-market-profile-as-an-indicator/9183/3?u=vijayraghavs
How to solved error 131 (warning 505.Division by zero)
please start equity F&O script Charts
Hi Rajendran,
Neenga tamila? Naanum tamil thaan. I am based in USA and very much into trading just like yourself. Unga phone number ennanga?
dear mr rajendran
i am unable to see MF charts on ur web iam using opera/crome
i tried after deleting catche
Its already removed.
Hi Rajandran,
Many thanks for a very informative post.
Can you let us know how Bell TPO is for Indian data? Does it include features like Imbalance chart (available in Market Delta)?
Does the one time fee of 50K include data as well?
Regards
Shantanu
BellTPO doesn’t provide data. They are 3rd party Market Profile and Orderflow providers for Ninjatrader software. Imbalance is covered in NT8 platform (orderflow)
I am interested in Order Flow Analysis only.
Hi Rajendran,
Any inputs on where i can source historic tick data with ask/bid spread for indian markets [Something similar to current tick data provided by zerodha kite api]
Cheers,
Prakash
First of all thanks,sir IAM interested in level 2 screen like us market.but this type of data not available in india.but I want volume at Price in each candle or certain selected area .is it any one way method available??. please help me
Hi Admin i am getting warning 505, Error 10. Array subscript out of range.
you must not access array elements outside 0..(BarCount-1) range. You attempted to access non-existing 3rd element of array. please help in correcting it.
Dear Rajendran ji,
Your work is really very helpful. Can you please edit the code so as to make a Weekly Composite Profile and a Monthly Composite Profile.
That would be really helpful.
For mt4 , any MP indicators is there?
Hi i am getting error please could you help
Makr sure you are using Amibroker 5.8 or above
can u update this info please. i believe market delta has closed. TY!