Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это будет версия, сделанная на основе игры в угадайку
Пример с подсчетами, установленными на 1,2,3,4 и 5. Периоды и "горячие" поля одинаковы для всех экземпляров.
PS: это с подсчетом, установленным на 3, точно так же, как оригинальный Tim Tillson T3. Расчеты Фулкса/Матулича в этой версии не рассматриваются.Большое спасибо, Младен! Я попробую.
Все работает. Большое спасибо Младену. И поскольку он берет медианную цену скользящей средней за 1 период, мне было легко изменить ее на нужную мне MA.
Спасибо. Очень признателен.
У вас случайно нет исходников версии 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
Добрый день, Младен:
Он не видел вашего приложения раньше.
Если это поможет здесь еще есть хороший код для Ninja Trader T3.
Спасибо Гермо,
Младен адаптация работает отлично.
Однако есть одна маленькая деталь.
Ninja позволяет использовать 2 дополнительные настройки:
Рассчитывать по закрытию бара (Если true, значения индикаторов рассчитываются по закрытию бара, иначе по каждому входящему тику).
Смещение (Смещение индикаторов на n баров. Например, смещение = 1 означает, что будет построено значение индикатора на предыдущем баре).
Так, например, если вы установите Calculate of bar close True и Displacement 1, то значение предыдущего бара будет нарисовано и отображено на текущем баре 0.
Но есть одна маленькая вещь
Ninja позволяет использовать 2 дополнительные настройки:
Рассчитывать по закрытию бара (Если true, значения индикаторов рассчитываются по закрытию бара, иначе по каждому входящему тику).
Смещение (Смещение индикаторов на n баров. Например, смещение = 1 означает, что будет построено значение индикатора на предыдущем баре).
Например, если вы установите Calculate of bar close True и Displacement 1, то значение предыдущего бара будет нарисовано и построено в текущем баре 0.bennetmeadows
Вот, пожалуйста:
Добавлены два параметра: сдвиг цены (1 означает, что используется цена первого закрытого бара и так далее) и сдвиг T3 (сдвиг всего значения влево или вправо, как вы хотите).
bennetmeadows
Вот, пожалуйста:
Добавлены два параметра: сдвиг цены (1 означает использовать цену с первого закрытого бара и так далее) и сдвиг T3 (чтобы сдвинуть все значение влево или вправо, как вы хотите).
Спасибо!
С тех пор, как я начал это путешествие 3 года назад и наткнулся на TSD, я видел, как много вы помогаете людям. Я очень ценю вашу готовность помогать другим. Каждый раз, когда вы делаете такие вещи, вы даже не представляете, как вы кому-то помогаете. Так что спасибо вам, Младен!
mladen или mrtools
Можете ли вы добавить дополнительную функцию " t3 original" к этому индикатору?
Заранее спасибо.
mladen или mrtools
Этот пост, кажется, был пропущен... T3 basic mtf 2.01 https://www.mql5.com/en/forum/172884
Уважаемый Младен
Не могли бы Вы добавить функцию интерполяции в этот индикатор?
сообщение 369
Заранее спасибоmladen или mrtools
Можете ли вы добавить дополнительную функцию " t3 original" к этому индикатору?
Заранее спасибо.gincius
Вот, пожалуйста. Попробуйте: uni_cross_2.mq4
PS: для тех, кто не знаком с индикатором - для его работы нужен индикатор snake, а так как snake - это центрированный TMA, то он пересчитывается (перерисовывается)