NinjaTrader řadí parametry NinjaScriptů podle toho kde buď:
Výše uvedeným způsobem jsou řazeny jen parametry v rámci jedné kategorie. Kategorie jsou identifikovány a řazeny podle jejich názvu, který je specifikován atributem GridCategory nebo Category aplikovaným na parametr.
Rozdíl mezi atributem GridCategory a Category spočívá v tom, že kategorie vytvořené tím prvním atributem jsou řazeny před kategorie vytvořené tím druhým. Atribut GridCategory byl uveden v nejnovější verzi 7 aplikace NinjaTrader, s tím, že jej mají vývojáři NinjaScriptů používat místo dosavadního atributu Category. Přičemž u kategorií parametrů, které mají všechny indikátory nebo strategie společné NinjaTrader dál používá atribut Category. Tím je zajištěno, že všechny parametry a kategorie parametrů vytvořené samotným vývojářem NinjaScriptu se vždy zobrazují před výchozími "systémovými" kategoriemi.
Popíšu zde způsob, jakým jde změnit pořadí parametrů a kategorí bez změny jejich názvu zobrazovaného uživateli. Jak možná čekáte, dělá se to speciálními znaky, které mají vliv na abecední řazení, ale nezobrazují se. Pro parametry a atribut Gui.Design.DisplayName používám speciální znak zapisovaný escape sekvencí \r
(Carriage Return). Pro kategorie a atributy GridCategory a Category používám znak \v
(Vertical Tab). Oba znaky se řadí před všechny normální zobrazované znaky. Oba znaky lze použít nejen na začátku, ale i uprostřed názvu parametru nebo kategorie.
Parametry NinjaScriptu se zobrazují ve standardní microsoftí komponentě PropertyGrid. My vývojáři NinjaScriptů přímý přístup k instanci té komponenty nemáme (ačkoli nějak dost kostrbatě by asi šlo dostat se k ní, ale nezkoušel jsem to). Ale můžeme jak je nám libo ovlivňovat zobrazení jednotlivých parametrů skrze atributy aplikované na ně. Viz Getting the Most Out of the .NET Framework PropertyGrid Control. Obzvláště užitečný je atribut TypeConverter.
Nejrychlejší způsob jak parametr zcela zrušit bez mazání nebo přepisování kódu, je změnit jeho modifikátor přístupu z public na protected nebo private. Pokud chcete, aby se jenom nezobrazoval v dialogu Indicators nebo Strategies, tak na něj aplikujte atribut [Browsable(false)]. Pokud chcete, aby se hodnota parametru neukládala do souboru, tak na něj aplikujte atribut [XmlIgnore()].