Comunidad Ninja Trader

Foro dedicado a esta excelente herramienta de desarrollo e implementación de sistemas de trading
Responder
Naker_investmet
Mensajes: 1
Registrado: 07 Abr 2026 13:35

Comunidad Ninja Trader

Mensaje por Naker_investmet »

Me gustaría crear una comunidad para desarrollar estrategias automatizadas para Ninja Trader.
Mi idea seria crear un grupo de Telegram e ir ayudándonos mutuamente.
Si alguien esta interesado que responda a este tema.
Un saludo.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 13500
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Comunidad Ninja Trader

Mensaje por X-Trader »

Buenas Naker_Investment, bienvenido al foro!

¿Y por qué no aprovechar este espacio para ello? ;)

En cualquier caso, en lo que te pueda ayudar me dices.


Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Avatar de Usuario
Fercho
Mensajes: 145
Registrado: 05 Ene 2022 13:48

Re: Comunidad Ninja Trader

Mensaje por Fercho »

Que tal Naker_investmet,

Creo que tiene razón X, lo mejor sería crear un hilo aquí, no es tan dinámico como Telegram, pero lo bueno es que luego queda archivado para lectura pública, además dará acceso a más participantes a largo plazo, y hasta sirve de "backup" por cualquier cosa.

De todas formas, ya tienes 70 estrategias en NT8... o indicadores, aunque todavía no entiendo porque se le llama indicadores a las estrategias (y viceversa). Para colmo agrava el problema de los grados de libertad: estos indicadores que luego son usados en las estrategias, ya consumieron sus respectivos grados de libertad al diseñarse, lo que también provoca el deterioro "mágico" fuera de la muestra (OOS).

Mejor dicho "modelos" ? que sí combinan indicadores con algunas reglas (y hay de las más variadas).

Igual lo veo difícil, cada trader tiene su personalidad, y el problema no es encontrar un modelo, es alinear la psicología propia del trader con reglas que le permitan dormir tranquilo mientras la equitity derivada de su modelo va y viene. Eso es lo que realmente fabrica el trader.

Ayer me enteré de este video, lo dejo para animar el Domingo :twisted:

Última edición por Fercho el 24 May 2026 15:00, editado 1 vez en total.
"Las redes no son sociales, y la IA sabe a edulcorante"
Fersanmito
Mensajes: 1
Registrado: 30 May 2026 17:56

Re: Comunidad Ninja Trader

Mensaje por Fersanmito »

Buenas me presento solamente soy usuario de NT8 y os iré leyendo. Y mi aportación a Indicadores es básica creando algunos de generación de velas y conjunto de velas etc...
memonic
Mensajes: 48
Registrado: 18 May 2017 12:42

Re: Comunidad Ninja Trader

Mensaje por memonic »

Estupendo, uno mas que se une
Avatar de Usuario
Fercho
Mensajes: 145
Registrado: 05 Ene 2022 13:48

Re: Comunidad Ninja Trader

Mensaje por Fercho »

Leía el hilo de Iker de su Optimization Fitness KaC me sirvió para varias cosas, una de ellas fué revisar mi propio ratio el cual lleva como uno de los ingredientes el famoso Sharpe Ratio.

El tema está que Ninja Trader 8 usa su propia fórmula de Sharpe Ratio, y por lo visto en foros no la permiten publicar (?)... da igual, como dije, por más que la compartan, ese o cualquier Optimization Fitness, Función Objetivo, o como le quieran llamar, funcionan, y al final, como siempre, no nos hará ni mejores ni peores traders, ya que cada uno con su humo :twisted:

Lo que sí dejo algo que no tenía, NT8 por diseño de cálculo de su propio Sharpe creo, hace que no funcione tan bién si queremos hacer un Backtest u Optimización del 01/01/año1 al 01/01/año2, ya que toma ese único día del año2, y arma tremeda ensalada con los cálculos que viene acumulando del año anterior donde sí están todos los dias.

El resultado, cualquier cosa.

Y esto es enterarme luego de muchos años de usar Ninja, confiado en su ratio y cálculo. :cry:

Entonces, la solución viene simplemente por elegir períodos del 01/01 al 31/12.

A pesar de haberlo usado siempre como viene ( 01/01/X1 al 01/01/X2 ) el rollo no ha sido tanto, y acá estoy. Lo que demuestra que por más que usemos un ratio mal calculado, el éxito en los mercados pasa por otra cosa...

Y de regalo un tip número 2: este sí es viejo y lo sabía por lo que exporto todos los cálculos con Stream.Write de c#, porque NT8 infla las estadísticas para que se vean mejor y así vender más licencias... no usar Display Mode en porcentaje: usa reinversión de capital al componer la equity reinvierte los PnL, y todo parece "más lindo y feliz" :lol:

Saludos

Libro que trata un poco el tema de Opt.Fit
Última edición por Fercho el 02 Jun 2026 13:57, editado 1 vez en total.
"Las redes no son sociales, y la IA sabe a edulcorante"
Avatar de Usuario
Optiondreamer
Mensajes: 357
Registrado: 28 Mar 2006 08:07
Ubicación: 40.705571, -74.013432

Re: Comunidad Ninja Trader

Mensaje por Optiondreamer »

Aprovecho el hilo para aportar un Optimization Fitness que codifiqué para Ninja allá por 2013: el Positive Trade Ratio (PTR). El origen es de Richard Gardner (Modulus Financial Engineering); yo lo traduje a NinjaScript en su día para el foro de Big Mike's. Está en la misma familia que el Sharpe, beneficio por unidad de riesgo, pero en vez de penalizar toda la volatilidad, solo penaliza el lado malo (una semidesviación a la baja), de modo que no te castiga por tener operaciones muy ganadoras, es un Sortino simplificado, sin necesidad de fijar un MAR.

Aviso: está escrito para NT7(extensión está en .txt, no deja subir .cs), así que en NT8 no compila tal cual. Lo suelto más como otra forma de medir lo mismo y para que el que quiera hacerse sus ratios, vea como puede hacerlo...
Adjuntos
PositiveTradeRatio.txt
(2.55 KiB) Descargado 9 veces
Avatar de Usuario
Fercho
Mensajes: 145
Registrado: 05 Ene 2022 13:48

Re: Comunidad Ninja Trader

Mensaje por Fercho »

el avg trade esta en percent, como decía está inflado en NT8 porque toma TotalReturn/trades y ese TR ninja lo calcula con "reinversión", es decir supone que el trader reinvierte lo que gana, independientemente si luego aplica una técnica de Money Managment o no.
"Las redes no son sociales, y la IA sabe a edulcorante"
Avatar de Usuario
Optiondreamer
Mensajes: 357
Registrado: 28 Mar 2006 08:07
Ubicación: 40.705571, -74.013432

Re: Comunidad Ninja Trader

Mensaje por Optiondreamer »

Buen apunte, tienes razón, y siempre puedes hacer tus propios cálculos y no depender de los valores autocalculados de TradesPerformance, por ejemplo TradeCollection es enumerable, a partir de ahí te puedes cocinar lo que quieras:
var trades = strategy.SystemPerformance.AllTrades;
var r = trades.Select(t => t.ProfitPercent).ToList(); // retornos simples por operación
double mean = r.Average();
Avatar de Usuario
Fercho
Mensajes: 145
Registrado: 05 Ene 2022 13:48

Re: Comunidad Ninja Trader

Mensaje por Fercho »

Excelente dato Optiondreamer, ya me pongo nuevamente a recalibrar con esa info mi ratio, al final la IA nada de esto dice, que sirva como ejemplo a dónde podemos terminar dependiendo de la IA :lol: :lol:

dejo el código PTR para NT8:

Código: Seleccionar todo

using System;

namespace NinjaTrader.NinjaScript.OptimizationFitnesses
{
    /// <summary>
	/// PositiveTrade Ratio is a reward-to-variability ratio similar to Sharpe ratio.
	/// Both provide a measure of profit per unit of risk.
	/// Like the Sharpe ratio, PTR is directly computable from any observed series of returns without need for
	/// additional information surrounding the source of profitability.
	/// PTR was developed to overcome the Sharpe ratio limitation where investments with excessive profits are
	/// effectively punished for being successful, due to the use of standard deviation.
	/// Instead of factoring any deviation from the mean, PTR calculates only the standard deviation of losing trades.
	/// Therefore PTR is similar to the Sortino ratio, except it is simplified in that there is no need for a
	/// Minimum Acceptable Rate of Return (MAR) or Downside Deviation (DD).
	/// Copyright (c) 2011. PTR was developed by Richard Gardner at Modulus Financial Engineering, Inc.
	/// You may copy and distribute this file and or formula provided that this notice including the author's name
	/// and company name remain in place.
    /// </summary>

    public class PTR : OptimizationFitness
    {
        protected override void OnCalculatePerformanceValue(StrategyBase strategy)
        {
            var allTrades = strategy.SystemPerformance.AllTrades;

            int count = allTrades.Count;

            if (count < 2)
            {
                Value = 0;
                return;
            }

            double av = allTrades.TradesPerformance.Currency.AverageProfit;
            double cp = 0;

            for (int i = 0; i < count; i++)
			{
			    double d = allTrades[i].ProfitCurrency - av;

			    if (d < 0)
			        cp += d * d;
			}

			if (cp == 0)
			{
			    Value = 0;
			    return;
			}

            double den = Math.Sqrt(cp / (count - 1));

            Value = av / den;
        }
    }
}
"Las redes no son sociales, y la IA sabe a edulcorante"
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Ninja Trader”