T3 - страница 40

 
mladen:
Это будет версия, сделанная на основе игры в угадайку

Пример с подсчетами, установленными на 1,2,3,4 и 5. Периоды и "горячие" поля одинаковы для всех экземпляров.

PS: это с подсчетом, установленным на 3, точно так же, как оригинальный Tim Tillson T3. Расчеты Фулкса/Матулича в этой версии не рассматриваются.

Большое спасибо, Младен! Я попробую.

 

Все работает. Большое спасибо Младену. И поскольку он берет медианную цену скользящей средней за 1 период, мне было легко изменить ее на нужную мне MA.

Спасибо. Очень признателен.

 
mladen:
У вас случайно нет исходников версии T3 для NinjaTrader? Я не использую NinjaTrader, поэтому и спрашиваю.

Добрый день, Младен:

Он не видел вашего приложения раньше.

Если это поможет здесь еще есть хороший код для Ninja Trader T3.

//

{

#region Variables

private double vFactor = 0.7; // Default setting for VFactor

private int tCount = 3;

private int period = 14;

private bool candles = true;

private bool paintBars = false;

private Color upColor = Color.DeepSkyBlue;

private Color downColor = Color.OrangeRed;

private int plot0Width = 2;

private PlotStyle plot0Style = PlotStyle.Line;

private DashStyle dash0Style = DashStyle.Solid;

private System.Collections.ArrayList seriesCollection;

#endregion

///

/// This method is used to configure the indicator and is called once before any bar data is loaded.

///

protected override void Initialize()

{

Add(new Plot(Color.FromKnownColor(KnownColor.Green), PlotStyle.Line, "T3Colored"));

Overlay = true;

PlotsConfigurable = false;

}

///

///

protected override void OnStartUp()

{

candles = false;

if (ChartControl != null && ChartControl.ChartStyleType == ChartStyleType.CandleStick)

candles = true;

Plots[0].Pen.Width = plot0Width;

Plots[0].PlotStyle = plot0Style;

Plots[0].Pen.DashStyle = dash0Style;

}

///

/// Called on each bar update event (incoming tick)

///

protected override void OnBarUpdate()

{

if (TCount == 1)

{

CalculateGD(Inputs[0], Values[0]);

return;

}

if (seriesCollection == null)

{

seriesCollection = new System.Collections.ArrayList();

for (int i = 0; i < TCount - 1; i++)

seriesCollection.Add(new DataSeries(this));

}

CalculateGD(Inputs[0], (DataSeries) seriesCollection[0]);

for (int i = 0; i <= seriesCollection.Count - 2; i++)

CalculateGD((DataSeries) seriesCollection, (DataSeries) seriesCollection);

CalculateGD((DataSeries) seriesCollection[seriesCollection.Count - 1], Values[0]);

if (Rising(Values[0]))

PlotColors[0][0] = upColor;

else

PlotColors[0][0] = downColor;

if(PaintBars)

{

if (Rising(Values[0]))

{

CandleOutlineColor = upColor;

BarColor = upColor;

}

else

{

CandleOutlineColor = downColor;

BarColor = downColor;

}

if(Open[0] < Close[0] && candles)

BarColor = Color.Transparent;

}

}

private void CalculateGD(IDataSeries input, DataSeries output)

{

output.Set((EMA(input, Period)[0] * (1 + VFactor)) - (EMA(EMA(input, Period), Period)[0] * VFactor));

}

#region Properties

[Description("Numbers of bars used for calculations")]

[GridCategory("Parameters")]

public int Period

{

get { return period; }

set { period = Math.Max(1, value); }

}

[Description("The smooth count")]

[GridCategory("Parameters")]

public int TCount

{

get { return tCount; }

set { tCount = Math.Max(1, value); }

}

[Description("VFactor")]

[GridCategory("Parameters")]

public double VFactor

{

get { return vFactor; }

set { vFactor = Math.Max(0, value); }

}

[Description("Color the bars in the direction of the trend?")]

[Category("Parameters")]

[Gui.Design.DisplayName ("Paint Bars")]

public bool PaintBars

{

get { return paintBars; }

set { paintBars = value; }

}

///

///

[XmlIgnore()]

[Description("Select color for rising T3")]

[Category("Plots")]

[Gui.Design.DisplayName("T3 Rising")]

public Color UpColor

{

get { return upColor; }

set { upColor = value; }

}

// Serialize Color object

public string UpColorSerialize

{

get { return NinjaTrader.Gui.Design.SerializableColor.ToString(upColor); }

set { upColor = NinjaTrader.Gui.Design.SerializableColor.FromString(value); }

}

///

///

[XmlIgnore()]

[Description("Select color for falling T3")]

[Category("Plots")]

[Gui.Design.DisplayName("T3 Falling")]

public Color DownColor

{

get { return downColor; }

set { downColor = value; }

}

// Serialize Color object

public string DownColorSerialize

{

get { return NinjaTrader.Gui.Design.SerializableColor.ToString(downColor); }

set { downColor = NinjaTrader.Gui.Design.SerializableColor.FromString(value); }

}

///

///

[Description("Width for T3 Line.")]

[Category("Plots")]

[Gui.Design.DisplayNameAttribute("Line Width")]

public int Plot0Width

{

get { return plot0Width; }

set { plot0Width = Math.Max(1, value); }

}

///

///

[Description("DashStyle for T3 Line")]

[Category("Plots")]

[Gui.Design.DisplayNameAttribute("Plot Style")]

public PlotStyle Plot0Style

{

get { return plot0Style; }

set { plot0Style = value; }

}

///

///

[Description("DashStyle for T3 Line")]

[Category("Plots")]

[Gui.Design.DisplayNameAttribute("Dash Style")]

public DashStyle Dash0Style

{

get { return dash0Style; }

set { dash0Style = value; }

}

#endregion

}

}

Tillson T3 является системным индикатором NinjaTrader и не перерисовывается.

Прилагаемая версия просто меняет свой цвет в зависимости от наклона индикатора.

Быстро и грязно. Добавлены полосы перекраски.

Приветствие.

Hermo

Прилагаемый код для NinjaTrader

Файлы:
 
Hermo:
Добрый день, Младен:

Он не видел вашего приложения раньше.

Если это поможет здесь еще есть хороший код для Ninja Trader T3.

Спасибо Гермо,

Младен адаптация работает отлично.

 

Однако есть одна маленькая деталь.

Ninja позволяет использовать 2 дополнительные настройки:

Рассчитывать по закрытию бара (Если true, значения индикаторов рассчитываются по закрытию бара, иначе по каждому входящему тику).

Смещение (Смещение индикаторов на n баров. Например, смещение = 1 означает, что будет построено значение индикатора на предыдущем баре).

Так, например, если вы установите Calculate of bar close True и Displacement 1, то значение предыдущего бара будет нарисовано и отображено на текущем баре 0.

 
bennetmeadows:
Но есть одна маленькая вещь

Ninja позволяет использовать 2 дополнительные настройки:

Рассчитывать по закрытию бара (Если true, значения индикаторов рассчитываются по закрытию бара, иначе по каждому входящему тику).

Смещение (Смещение индикаторов на n баров. Например, смещение = 1 означает, что будет построено значение индикатора на предыдущем баре).

Например, если вы установите Calculate of bar close True и Displacement 1, то значение предыдущего бара будет нарисовано и построено в текущем баре 0.

bennetmeadows

Вот, пожалуйста:

Добавлены два параметра: сдвиг цены (1 означает, что используется цена первого закрытого бара и так далее) и сдвиг T3 (сдвиг всего значения влево или вправо, как вы хотите).

t3_nt_2.mq4
Файлы:
t3_nt_2.mq4  5 kb
 
mladen:
bennetmeadows

Вот, пожалуйста:

Добавлены два параметра: сдвиг цены (1 означает использовать цену с первого закрытого бара и так далее) и сдвиг T3 (чтобы сдвинуть все значение влево или вправо, как вы хотите).

t3_nt_2.mq4

Спасибо!

С тех пор, как я начал это путешествие 3 года назад и наткнулся на TSD, я видел, как много вы помогаете людям. Я очень ценю вашу готовность помогать другим. Каждый раз, когда вы делаете такие вещи, вы даже не представляете, как вы кому-то помогаете. Так что спасибо вам, Младен!

 

mladen или mrtools

Можете ли вы добавить дополнительную функцию " t3 original" к этому индикатору?

Заранее спасибо.

Файлы:
uni_cross.mq4  5 kb
 

mladen или mrtools

Этот пост, кажется, был пропущен... T3 basic mtf 2.01 https://www.mql5.com/en/forum/172884

gincius:
Уважаемый Младен

Не могли бы Вы добавить функцию интерполяции в этот индикатор?

сообщение 369

Заранее спасибо
 
gincius:
mladen или mrtools

Можете ли вы добавить дополнительную функцию " t3 original" к этому индикатору?

Заранее спасибо.

gincius

Вот, пожалуйста. Попробуйте: uni_cross_2.mq4

PS: для тех, кто не знаком с индикатором - для его работы нужен индикатор snake, а так как snake - это центрированный TMA, то он пересчитывается (перерисовывается)

Файлы: