Webinar:
Learning How to Write NinjaTrader
Indicators and Strategies
NinjaLaunchPad.com
ninjalaunchpad@gmail.com
Scott Daggett presenting
Topic Outline
2
What knowledge is required?
Minimal C#.NET language and .NET framework
Intro to the NinjaScript code editor
Knowledge needed to write NinjaTrader indicators
Knowledge needed to write NinjaTrader strategies
How to obtain the needed knowledge and experience
10/9/2012
What Knowledge is Required?
3
Trading/Trading Platform
Technical Analysis; price and volume concepts
Charting/Chart
types (bar, candle, range; tick, time, volume, etc.)
Indicators—what they are, how they are used
Automation strategy concepts—if you’re programming them
Trade execution and mgmt concepts (for auto. strategies)
Order
types, Time in Force, bracket orders, etc.
NinjaTrader trading platform
C#.NET Programming with some .NET Framework
NinjaScript (environment, classes, methods, etc.)
Debugging and testing concepts and methods
10/9/2012
C#.NET Language & Framework References
4
C#.NET Language (http://msdn.microsoft.com/en-us/library/default.aspx)
MSDN Library > Development Tools and Languages > Visual
Studio.NET > Visual Basic and Visual C# > Reference > Visual
C# Language
>
C# Language Tour
> C# Programmer’s Reference
See C# book recommendations at:
http://ninjalaunchpad.com/references
.NET Framework (http://msdn.microsoft.com/en-us/library/default.aspx)
MSDN Library > .NET Development > .NET Framework 3.5
(Check
your version of NT for supported framework version)
See C# book references
10/9/2012
Minimal C#.NET Language
5
Object oriented programming principles as
implemented in C#.NET
Objects and classes, inheritance, polymorphism, scope,
properties, constructors, destructors, namespaces, etc.
C# language constructs
Variables, variable types, flow-of-control (if-then-else; switch;
loops), logical operators, try-catch-finally blocks, exceptions,
structs, enums, functions/methods, using statements, etc.
Event-driven, multi-threaded programming (typical
in a graphical user interface; includes market datadriven events)
10/9/2012
Minimal C#.NET Framework
6
You
DON’T
need to
know it
all!
10/9/2012
Minimal C#.NET Framework
7
Key Namespaces & Classes
System
Array, {data type related, like Boolean}, DateTime, TimeSpan, Enum,
Environment, EventArgs, Exception, Math, String
System.Collections & System.Collections.Generic
ArrayList, HashTable, IEnumerable, Dictionary, HashSet, List, Queue,
Stack
(Also the XXXSeries classes in NinjaTrader, like DataSeries)
System.IO
Directory, File, Path
System.Windows.Forms
MessageBox
System.Drawing
Font
10/9/2012
Intro to the NinjaScript Code Editor
8
Control Center > Tools > New/Edit NinjaScript >
Indicator…/Strategy…
New Indicator/Strategy Wizards
For starting afresh
NinjaScript Editor
Color coding
Use of regions
Tool bar features:
Find & Replace
Compile
Outdent / Indent
Comment / Uncomment
Intellisense / Code Completion
10/9/2012
Knowledge Needed for NinjaTrader Indicators
9
Creating Indicators —Wizard > Modify Code
Key Concept - Where's the Data?
User Settings (Properties)
Making Sure Data is There Before You Use It
Input Series and the Input Keyword
Value Series and the Value and Values Keywords
Drawing Text and Images on a Chart
Creating Custom Methods and External Assemblies
(optional)
Multiple Timeframes and Multiple Instruments
10/9/2012
Knowledge Needed for NinjaTrader Strategies
10
Everything Needed for Indicators PLUS:
NinjaTrader’s Trade Management Options for Automation
Strategies
Managed
(easiest; best for newbies)
Advanced Managed (still easy, but more flexible w/greater control)
Advanced Trade Management (ATM) Strategies (give the strategy
user the most automated control over position management)
Unmanaged (for the masochists among us)
Operational Characteristics of Automation Strategies
Various
configuration settings and how they impact working
strategies
Impact of characteristics on design (no fill-or-kill option, for
example, but partial fill is handled for you)
More Advanced Debugging and Testing Skills
10/9/2012
How to Obtain the Needed Knowledge
11
C# and .NET Framework
References already provided on slide 4 (MSDN and books)
UDemy.com and other video-based instruction sites
NinjaScript Programming
NinjaTrader’s Help file and Support forum
NinjaScript Programmer’s Launch Pad eBook
Big Mike’s trading forum, NinjaTrader Programming section
NinjaScript training services (do a web search)
Trading
See ninjalaunchpad.com/references .html for my opinion
10/9/2012
Special Offer: FREE EBook!
12
1.
2.
3.
4.
5.
Go to www.ninjalaunchpad.com and if you liked this webinar and
the information on the site, Like it in Facebook and +1 in Google
Plus (buttons provided on the site).
Follow ninjalaunchpad on Twitter for future announcements, if
you wish; there’s a link on the site for that.
Send an email TODAY to info@ninjalaunchpad.com with
“October 2012 NinjaTrader Webinar FREE eBook offer” in the
subject line. (Request this presentation file if you want it, too.)
You must send the email today.
When you get the return email, follow the link to
Smashwords.com and use the provided coupon to get the
NinjaScript Programmer’s Launch Pad eBook for FREE! Coupon
expires in a few days. Your free book includes free upgrades to all
future editions. You will also receive notices of future educational
products and services from me.
Learn to write your own NinjaTrader Indicators and Strategies!
Thank You!
10/9/2012
© Copyright 2025