Best regards.
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
After Version NT8.0.25 Compile Errors for My Custom Coded Indicators
Collapse
X
-
After Version NT8.0.25 Compile Errors for My Custom Coded Indicators
I have just updated NT8 to 8.0.25 to NT8.0.27 My custom coded indicators were no longer available in my Indicator list. I can see the indicators are still in the Control New NinjaScript Indicator Editor. When I click on my custom Indicators and compile, I am seeing Compile Errors: CS0246,CS0118, etc, Essentially the errors for all my Custom Coded Indicators. Please advise how to fix.
Best regards.Tags: None
-
This may be due to the change to the install location directory.
I can give you some ‘pointers’ re: what you might need to do.
Check 27 Release Notes - it tells you what’s changed. Simply put, abandoning 32bit means all user-specific data (e.g. custom indicators, sound files etc) are no longer in 32-bit directory.
This presents 2 problems - new install 27 can’t find your old files, new install finds duplicates (both locations).
What you need to do is copy your old 32-bit Ninja folder to 64-bit location then delete the 32-bit, and then install v27. If you still get errors, go into Ninjascript Editor and recompile, and delete any references to 32-bit folder directory paths.
As I understand it (limited), if you have open-source indicators and/or they don’t reference specific directory locations (32 bit) this isn’t too much of a problem, but if you have sealed .dlls (e.g. 3rd-party locked indicators which have hard-coded directory paths) you will need to get new ones from the originators.
There is some info in the Forum with other victims of this Release debacle. I’ve yet to attempt it myself, so can’t add personal experience although I worked with some veteran users and vendors offline to resolve the consequences.
Totally pitiful by Ninjatrader Development and Support. There should be a Warning Sticky and Step-by-Step Guide not just put up an Update and let the carnage ensue.
Hope this helps
-
Hello FA2CTS,
Thank you for writing in.
There are a few things that can result in Compile errors. That being said, you will want to resolve them so that the add-ons work as expected within NinjaTrader. You may use the steps below to find the compile errors and send us a screenshot so we may provide the specific steps to resolve the errors:- Go to the Control Center > New > NinjaScript Editor > Right-click on the background > Click Compile
- If any errors appear, make the window full screen and then send us a screenshot of as many of the errors as possible.
- If you are unsure of how to take a screenshot, I recommend using the Windows Snipping tool.
- Click on the Windows Icon at the bottom of your screen and type the word "Snip"
- Click on the Snipping tool, click New, then click and drag around the area you want to screenshot
- Click File > Save As > Save the screenshot where you can find it
- Please click here for a video demonstration
- If you are unsure of how to take a screenshot, I recommend using the Windows Snipping tool.
Since we do not yet have a screenshot, please use the steps below to resolve the various error messages you are seeing. Performing the steps below will often resolve any of the other compile errors I didn't provide specific steps for. So, perform the steps below to resolve the compile errors you can with these steps.
If you perform the steps below and still have compile errors within your platform, please take a screenshot of the remaining compile errors and include them in your response.
CS0006 - Explanation of Cause
This error is caused when a .dll file is being referenced that NinjaTrader is unable to find.
Steps to Resolve- Right-click within the NinjaScript Editor window and select "References".
- Locate and select the reference to the .dll file mentioned in the Error.
- Click "remove" to remove the reference.
- Click "OK" and recompile.
Below is a link to our publicly available YouTube channel overviewing this process:
CS0246 - Explanation of Cause
This error is caused when NinjaTrader is searching for a reference to a .dll file, and the reference does not exist.
Steps to Resolve- Right-click within the NinjaScript Editor window and select "References".
- Click "Add".
- Locate the .dll file for the file mentioned in the error.
- Click "Open" to add the reference.
- Click "OK" and recompile.
Below is a link to our publicly available YouTube channel overviewing this process:
https://youtu.be/fj1KliUjTC4
CS0234 - Explanation of Cause
This error indicates that a system indicator is missing from the NinjaTrader 8 -> bin -> Custom -> Indicator folder, or a corrupt file is currently present.
Steps to Resolve- Shut down NinjaTrader
- Navigate to Add/Remove Programs within the user's PC's Control Panel.
- Click "NinjaTrader 8" in the list of installed programs to select it.
- Click "Repair".
- Finally, restart NinjaTrader and recompile.
Below is a link to our publicly available YouTube channel overviewing this process:
If you still have compile errors showing after the steps above, please use the steps at the beginning of this message to take a screenshot of the remaining compile errors and attach that to your response.
Please let us know if we may provide any further assistance.
Comment
-
Hello FA2CTS,
Thank you for the updates.
In the future, please make the NinjaScript Editor Full Screen and then take a screenshot of the bottom section where the errors are showing so we may see the exact wording and the context as we may be able to see things you are unaware to look for or know needs to be mentioned.
From the information provided, it sounds like there may either be duplicate files or a file that has duplicate values being defined so it is causing errors.- You could try deleting the "Top_Bottom_1_2_3_V3NT8.cs" file that is located within the My Documents > NinjaTrader 8 > bin > Custom folder
- Then, recompile after deleting the file and see if the error goes away.
- If the error goes away, you could try reimporting that add-on and if the errors return, reach out to the Developer of that add-on for more information on why it is making the error appear and what needs to be done to make it go away moving forward.
Please let us know if we may provide any further assistance!
Comment
- You could try deleting the "Top_Bottom_1_2_3_V3NT8.cs" file that is located within the My Documents > NinjaTrader 8 > bin > Custom folder
-
Hello Clayton,
I have followed your suggestions. The following errors are caused by the following code. I deleted the files listed in Bold below. It did not work.
I have attached a full page screen shot.
Should my backup NT8 and name it old and then install a brand new version of NT 8?
NinjaTrader.NinjaScript.Indicators
{
public partial class Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase
{
private Bottom123[] cacheBottom123;
private Top123[] cacheTop123;
public Bottom123 Bottom123(bool show_New_Version, int min_Bars_1_2, int depth_Level_1_2, int retracement_2_3_Perc, int min_Bars_2_3, int min_Bars_Break, bool use_Custom_Lookback_Period, int custom_Lookback_Period, bool show_Price_Target, NinjaTrader.Gui.DashStyleHelper borderStyle, int width, int maxLengthOfLevelLines, bool enableAlert, string alertSoundFile, bool show_Labels)
{
return Bottom123(Input, show_New_Version, min_Bars_1_2, depth_Level_1_2, retracement_2_3_Perc, min_Bars_2_3, min_Bars_Break, use_Custom_Lookback_Period, custom_Lookback_Period, show_Price_Target, borderStyle, width, maxLengthOfLevelLines, enableAlert, alertSoundFile, show_Labels);
}
public Top123 Top123(bool show_New_Version, int min_Bars_1_2, int depth_Level_1_2, int retracement_2_3_Perc, int min_Bars_2_3, int min_Bars_Break, bool use_Custom_Lookback_Period, int custom_Lookback_Period, bool show_Price_Target, NinjaTrader.Gui.DashStyleHelper borderStyle, int width, int maxLengthOfLevelLines, bool enableAlert, string alertSoundFile, bool show_Labels)
{
return Top123(Input, show_New_Version, min_Bars_1_2, depth_Level_1_2, retracement_2_3_Perc, min_Bars_2_3, min_Bars_Break, use_Custom_Lookback_Period, custom_Lookback_Period, show_Price_Target, borderStyle, width, maxLengthOfLevelLines, enableAlert, alertSoundFile, show_Labels);
}
public Bottom123 Bottom123(ISeries<double&am p;gt; input, bool show_New_Version, int min_Bars_1_2, int depth_Level_1_2, int retracement_2_3_Perc, int min_Bars_2_3, int min_Bars_Break, bool use_Custom_Lookback_Period, int custom_Lookback_Period, bool show_Price_Target, NinjaTrader.Gui.DashStyleHelper borderStyle, int width, int maxLengthOfLevelLines, bool enableAlert, string alertSoundFile, bool show_Labels)
{
if (cacheBottom123 != null)
for (int idx = 0; idx < cacheBottom123.Length; idx++)
if (cacheBottom123[idx].Show_New_Version == show_New_Version && cacheBottom123[idx].Min_Bars_1_2 == min_Bars_1_2 && cacheBottom123[idx].Depth_Level_1_2 == depth_Level_1_2 && cacheBottom123[idx].Retracement_2_3_Perc == retracement_2_3_Perc && cacheBottom123[idx].Min_Bars_2_3 == min_Bars_2_3 && cacheBottom123[idx].Min_Bars_Break == min_Bars_Break && cacheBottom123[idx].Use_Custom_Lookback_Period == use_Custom_Lookback_Period && cacheBottom123[idx].Custom_Lookback_Period == custom_Lookback_Period && cacheBottom123[idx].Show_Price_Target == show_Price_Target && cacheBottom123[idx].BorderStyle == borderStyle && cacheBottom123[idx].Width == width && cacheBottom123[idx].MaxLengthOfLevelLines == maxLengthOfLevelLines && cacheBottom123[idx].EnableAlert == enableAlert && cacheBottom123[idx].AlertSoundFile == alertSoundFile && cacheBottom123[idx].Show_Labels == show_Labels && cacheBottom123[idx].EqualsInput(input))
return cacheBottom123[idx];
return CacheIndicator<Bottom123&am p;gt;(ne w Bottom123(){ Show_New_Version = show_New_Version, Min_Bars_1_2 = min_Bars_1_2, Depth_Level_1_2 = depth_Level_1_2, Retracement_2_3_Perc = retracement_2_3_Perc, Min_Bars_2_3 = min_Bars_2_3, Min_Bars_Break = min_Bars_Break, Use_Custom_Lookback_Period = use_Custom_Lookback_Period, Custom_Lookback_Period = custom_Lookback_Period, Show_Price_Target = show_Price_Target, BorderStyle = borderStyle, Width = width, MaxLengthOfLevelLines = maxLengthOfLevelLines, EnableAlert = enableAlert, AlertSoundFile = alertSoundFile, Show_Labels = show_Labels }, input, ref cacheBottom123);
}
eTop123[idx].Retracement_2_3_Perc == retracement_2_3_Perc && cacheTop123[idx].Min_Bars_2_3 == min_Bars_2_3 && cacheTop123[idx].Min_Bars_Break == min_Bars_Break && cacheTop123[idx].Use_Custom_Lookback_Period == use_Custom_Lookback_Period && cacheTop123[idx].Custom_Lookback_Period == custom_Lookback_Period && cacheTop123[idx].Show_Price_Target == show_Price_Target && cacheTop123[idx].BorderStyle == borderStyle && cacheTop123[idx].Width == width && cacheTop123[idx].MaxLengthOfLevelLines == maxLengthOfLevelLines && cacheTop123[idx].EnableAlert == enableAlert && cacheTop123[idx].AlertSoundFile == alertSoundFile && cacheTop123[idx].Show_Labels == show_Labels && cacheTop123[idx].EqualsInput(input))
return cacheTop123[idx];
return CacheIndicator<Top123&g t;(new Top123(){ Show_New_Version = show_New_Version, Min_Bars_1_2 = min_Bars_1_2, Depth_Level_1_2 = depth_Level_1_2, Retracement_2_3_Perc = retracement_2_3_Perc, Min_Bars_2_3 = min_Bars_2_3, Min_Bars_Break = min_Bars_Break, Use_Custom_Lookback_Period = use_Custom_Lookback_Period, Custom_Lookback_Period = custom_Lookback_Period, Show_Price_Target = show_Price_Target, BorderStyle = borderStyle, Width = width, MaxLengthOfLevelLines = maxLengthOfLevelLines, EnableAlert = enableAlert, AlertSoundFile = alertSoundFile, Show_Labels = show_Labels }, input, ref cacheTop123);
}
}
}
namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns
{
public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase
{
public Indicators.Bottom123 Bottom123(bool show_New_Version, int min_Bars_1_2, int depth_Level_1_2, int retracement_2_3_Perc, int min_Bars_2_3, int min_Bars_Break, bool use_Custom_Lookback_Period, int custom_Lookback_Period, bool show_Price_Target, NinjaTrader.Gui.DashStyleHelper borderStyle, int width, int maxLengthOfLevelLines, bool enableAlert, string alertSoundFile, bool show_Labels)
{
return indicator.Bottom123(Input, show_New_Version, min_Bars_1_2, depth_Level_1_2, retracement_2_3_Perc, min_Bars_2_3, min_Bars_Break, use_Custom_Lookback_Period, custom_Lookback_Period, show_Price_Target, borderStyle, width, maxLengthOfLevelLines, enableAlert, alertSoundFile, show_Labels);
}
public Indicators.Top123 Top123(bool show_New_Version, int min_Bars_1_2, int depth_Level_1_2, int retracement_2_3_Perc, int min_Bars_2_3, int min_Bars_Break, bool use_Custom_Lookback_Period, int custom_Lookback_Period, bool show_Price_Target, NinjaTrader.Gui.DashStyleHelper borderStyle, int width, int maxLengthOfLevelLines, bool enableAlert, string alertSoundFile, bool show_Labels)
{
return indicator.Top123(Input, show_New_Version, min_Bars_1_2, depth_Level_1_2, retracement_2_3_Perc, min_Bars_2_3, min_Bars_Break, use_Custom_Lookback_Period, custom_Lookback_Period, show_Price_Target, borderStyle, width, maxLengthOfLevelLines, enableAlert, alertSoundFile, show_Labels);
}
public Indicators.Bottom123 Bottom123(ISeries<double&am p;gt; input , bool show_New_Version, int min_Bars_1_2, int depth_Level_1_2, int retracement_2_3_Perc, int min_Bars_2_3, int min_Bars_Break, bool use_Custom_Lookback_Period, int custom_Lookback_Period, bool show_Price_Target, NinjaTrader.Gui.DashStyleHelper borderStyle, int width, int maxLengthOfLevelLines, bool enableAlert, string alertSoundFile, bool show_Labels)
{
return indicator.Bottom123(input, show_New_Version, min_Bars_1_2, depth_Level_1_2, retracement_2_3_Perc, min_Bars_2_3, min_Bars_Break, use_Custom_Lookback_Period, custom_Lookback_Period, show_Price_Target, borderStyle, width, maxLengthOfLevelLines, enableAlert, alertSoundFile, show_Labels);
}
public Indicators.Top123 Top123(ISeries<double&g t; input , bool show_New_Version, int min_Bars_1_2, int depth_Level_1_2, int retracement_2_3_Perc, int min_Bars_2_3, int min_Bars_Break, bool use_Custom_Lookback_Period, int custom_Lookback_Period, bool show_Price_Target, NinjaTrader.Gui.DashStyleHelper borderStyle, int width, int maxLengthOfLevelLines, bool enableAlert, string alertSoundFile, bool show_Labels)
{
return indicator.Top123(input, show_New_Version, min_Bars_1_2, depth_Level_1_2, retracement_2_3_Perc, min_Bars_2_3, min_Bars_Break, use_Custom_Lookback_Period, custom_Lookback_Period, show_Price_Target, borderStyle, width, maxLengthOfLevelLines, enableAlert, alertSoundFile, show_Labels);
}
}
}
Comment
-
Hello, thanks for writing in. I think the best way to resolve this will be for you to contact me directly through email, then I can log into your PC through TeamViewer to have a look at this compile error. Please write an email to platformsupport at ninjatrader.com and reference "ATTN ChrisL <paste forum link here>" I will then send you instructions on how to launch TeamViewer. I am available today for the next 20 minutes, We might have to schedule a time for tomorrow for me to log in. I am available Mon-Fri 7AM-4PM MST.
Kind regards,
-ChrisL
Comment
-
Hello Clayton,
I have uploaded another screen shot of the compiler errors. In the Compiler Editor/Indicators/SMA. I selected SMA and changed the name to SMATest. When I compiled the same errors were displayed. It appears it is trying to find a routine or reference called Top_1_2_3 ... and Bottom_1_2_3. It cannot find the routine or reference????
The only other 3rd party vendor I have imported to NT8 is BloodHound,
Is there a solution to this problem?
Thank you
Tim Walsh
Comment
-
Hello ChrisL
This was very helpful. I reloaded NT8 update .... .27. I did a Restart. When I invoked NT8. I received the message in attachment 1.
I clicked on New NinjaScript>Indicators, I right clicked on the Ninjascript Editor and clicked on References. See attachment 2. Do I need to add all the References listed in the attachment. I look forward to your advice.
In the interest of time, is it possible for me to uninstall NT8 OLD Version .25 and Uninstall V ....27, completely delete all NT8 off of my computer and then reinstall, as I am a 1st time user?
Also, are there any Windows Dependencies I need to Install?
Can I update to Windows 11?
Thank you,
Best regards,
Tim
Comment
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by argusthome, 03-08-2026, 10:06 AM
|
0 responses
110 views
0 likes
|
Last Post
by argusthome
03-08-2026, 10:06 AM
|
||
|
Started by NabilKhattabi, 03-06-2026, 11:18 AM
|
0 responses
59 views
0 likes
|
Last Post
|
||
|
Started by Deep42, 03-06-2026, 12:28 AM
|
0 responses
37 views
0 likes
|
Last Post
by Deep42
03-06-2026, 12:28 AM
|
||
|
Started by TheRealMorford, 03-05-2026, 06:15 PM
|
0 responses
41 views
0 likes
|
Last Post
|
||
|
Started by Mindset, 02-28-2026, 06:16 AM
|
0 responses
78 views
0 likes
|
Last Post
by Mindset
02-28-2026, 06:16 AM
|

Comment