[TypeConverter("NinjaTrader.Custom.ResourceEnumConv erter")]
public enum Delta
{
actual_bar,
first_bar_back,
second_bar_back,
third_bar_back,
average
}
namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns.Moje
{
[TypeConverter("NinjaTrader.NinjaScript.Indicators. DeltaMMTypeConverter")]
public class DeltaMM: MarketAnalyzerColumn
.
.
.
.
.
#region Properties
[NinjaScriptProperty]
[Display(ResourceType = typeof(Custom.Resource), Name = "Delta", Description = "", GroupName = "Parameters", Order = 0)]
[RefreshProperties(RefreshProperties.All)]
public Delta Delta
{
get { return choose; }
set { choose = value; }
}
[NinjaScriptProperty]
[Display(ResourceType = typeof(Custom.Resource), Name = "UserDefinedClose", GroupName = "Parameters", Order = 1)]
public double UserDefinedClose
{
get { return userDefinedClose; }
set { userDefinedClose = value; }
}
#endregion
}
public class DeltaMMTypeConverter : NinjaTrader.NinjaScript.IndicatorBaseConverter
{
public override bool GetPropertiesSupported(ITypeDescriptorContext context) { return true; }
public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes)
{
PropertyDescriptorCollection propertyDescriptorCollection = base.GetPropertiesSupported(context) ? base.GetProperties(context, value, attributes) :
TypeDescriptor.GetProperties(value, attributes);
Delta Delta = (Delta) value;
Delta selectedDelta = Delta.actual_bar;
if (selectedDelta == Delta.first_bar_back)
return propertyDescriptorCollection;
PropertyDescriptorCollection adjusted = new PropertyDescriptorCollection(null);
foreach (PropertyDescriptor thisDescriptor in propertyDescriptorCollection)
{
if (thisDescriptor.Name == "UserDefinedClose")
adjusted.Add(new PropertyDescriptorExtended(thisDescriptor, o => value, null, new Attribute[] {new BrowsableAttribute(false), }));
else
adjusted.Add(thisDescriptor);
}
return adjusted;
}
}
}
I would like show row "UserDefinedClose" when enum Delta = first_bar_back...
Comment