T3 - 页 40

 
mladen:
这将是基于猜谜游戏完成的版本

例子是将计数设置为1、2、3、4和5。周期和 "热 "字段对所有实例都是一样的。

PS:这是将计数设置为3,与原来的Tim Tillson T3完全一样。这个版本不包括Fulks/Matulich的计算。

非常感谢Mladen!我将试一试。

 

它正在工作。非常感谢你,Mladen。因为它取的是1期移动平均线的中位数,所以我很容易把它改成我需要的MA。

谢谢你。非常感谢。

 
mladen:
你是否有T3的NinjaTrader版本的源代码? 我不使用NinjaTrader,所以我才问。

下午好mladen。

他之前没有看到你的申请。

如果有帮助的话,这里仍然有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的系统指标,不会重绘。

所附的版本只是根据指标的斜率改变其颜色。

快速和肮脏。添加了Paintbars。

一个问候。

赫莫

附上用于NinjaTrader的代码

附加的文件:
 
Hermo:
下午好mladen。

他之前没有看到你的申请。

如果有帮助的话,这里仍有一个很好的忍者交易员T3的代码。

谢谢你Hermo。

Mladen的适应工作非常好。

 

不过有一件小事

忍者允许两个额外的设置。

收盘时计算(如果为真,则在收盘时计算指标值,否则在每一个进入的点上计算)。

移位(将指标移位n个柱子。例如,位移=1意味着,前一个条形图的指标值被绘制出来)

因此,例如,当你设置计算条形收盘价为 "真 "和位移为 "1 "时,你将在当前条形0中绘制前一个条形的数值。

 
bennetmeadows:
但有一件小事,

忍者允许2个额外的设置。

收盘时计算(如果为真,则在收盘时计算指标值,否则在每一个进入的点上计算)。

移位(将指标移位n个柱子。例如,位移 = 1 意味着绘制前一个条形图的指标值。)

因此,例如,当你设置计算条形收盘价为 "真 "和位移为 "1 "时,你将会把前一个条形的值绘制在当前条形的0中。

本尼特梅多

给你。

增加了两个参数:价格移动(1意味着使用第一个闭合柱的价格,以此类推)和T3移动(按照你的意愿将整个值向左或向右移动

t3_nt_2.mq4
附加的文件:
t3_nt_2.mq4  5 kb
 
mladen:
Bennetmeadows

给你。

增加了两个参数:价格移动(1意味着使用第一个闭合柱的价格,以此类推)和T3移动(按你希望的方式向左或向右移动整个值

t3_nt_2.mq4

谢谢你!自从我开始这段旅程的3年以来,我一直在努力。

自从3年前我开始这段旅程并接触到TSD以来,我看到你一直在帮助人们。我真的很感谢你愿意帮助别人。每次你做这些事情的时候,你都不知道你是如何帮助别人的。所以谢谢你,Mladen!

 

mladen或mrtools

你能为这个指标增加一个额外的"t3原始 " 功能 吗?

谢谢你的帮助。

附加的文件:
uni_cross.mq4  5 kb
 

mladen或mrtools

这个帖子似乎被错过了... T3 basic mtf 2.01https://www.mql5.com/en/forum/172884

gincius:
亲爱的Mladen

你能为这个指标添加一个插值功能吗?

369号帖子

谢谢你
 
gincius:
毫升登或毫升托尔斯(mrtools)。

你能为这个指标增加一个额外的"T3原始 " 功能吗?

预先谢谢你。

琴斯

给你。试试吧:uni_cross_2.mq4

PS:对于那些不熟悉这个指标的人来说,它需要蛇形指标来工作,由于蛇形是一个居中的TMA,所以它会重新计算(重绘)。

附加的文件: