NeedForTrade Blog
NeedForTrade Studio Blog

Creating BollingerBands_LE Strategy

December 26, 2007 23:03 by support

Creating BollingerBands_LE Strategy

There is a detailed description of creation of BollingerBands_LE strategy.

At first:

  1. Use the File menu.
  2. Select New.

    image

  3. Select Strategy.

Now you can see Code Editor. It's empty.

image

Click with the right mouse button anywhere in the Code Editor window.

image

In the shortcut menu select Properties and enter strategy name in the field Analysis Technique|Name at the Properties window.

image 

Enter the name: "BollingerBands_LE". "_LE" means that this strategy produces only Long Enter orders, this is a good practice to mark strategies in such way (although it's not required). After filling name field this strategy name will appear at the end of the list of strategies in Browser. We want to write this strategy on C# so keep field Language without changes too.

image 

Click the right mouse button anywhere in the Code Editor window again. Now in the shortcut menu select Parameters. We need to enter input parameters for this strategy:

  1. BollingerPrice parameter (it will tell strategy against what price bollinger band must be calculated).
  2. TestPrice parameter (specifies prices that will be compared to bollinger band to decide whether trade order should be generated).
  3. Length parameter (specifies number of bars back used to calculate bollinger band).
  4. NumDevsDn parameter (number of deviations down - required to calculate bollinger band).

image

To add parameters click right mouse button on the Parameters box and in the shortcut menu select Add Parameter and special form will appear.

image

In this form enter Parameter name, Parameter type, Parameter default value, Parameter description and if necessary mark that parameter is Reference. Than click Save if you want to save this parameter or Discard if you don't.

Creating BollingerPrice parameter: enter Parameter name ("BollingerPrice") and select Parameter type ("DoubleSeries"), set Parameter default value ("C") and than click Save.

 image

Creating TestPrice parameter: again click right mouse button on the Parameters box and in the shortcut menu select Add Parameter. Now enter Parameter name ("TestPrice") and select Parameter type ("DoubleSeries"), set Parameter default value ("C") and click Save.

 image

Creating Length parameter: again click right mouse button on the Parameters box and in the shortcut menu select Add Parameter. Now enter Parameter name ("Length") and select Parameter type ("Integer"), set Parameter default value ("20") and click Save.

image

Creating NumDevsDn parameter: again click right mouse button on the Parameters box and in the shortcut menu select Add Parameter. Now enter Parameter name ("NumDevsDn") and select Parameter type ("Integer"), set Parameter default value ("2") and click Save.

image

So we filled Parameters box:

image

This strategy uses two functions: BollingerBandFunction and CrossesOver. So we must add them as references. To do it select Functions from Browse for list of Browser window:

image

Browser window will show all available Functions:

image 

Find BollingerBandFunction and drag it with lift mouse button and drop over References window. Proceed the same with CrossesOver function.

After that References window will show that strategy references two functions:

image 

To calculate BollingerBands_LE strategy we need to define variable LowerBand in Variable Store. It will holdseries of values that represent Bollinger Band curve. To define it go to the Variable Store window, right-click on it and select Add Variable from context menu:

image 

Variable edit window will appear:

image

Enter Variable name ("LowerBand") and Variable type ("DoubleSeries"). Click Save.

image

Now enter the code of BollingerBands_LE strategy into the Code Editor window.

image

Strategy is executed on every bar of loaded data range.

At first we are checking that we have enough data:

[code:c#]

if (Bars.Count >= Length)
{
    //we have enough data
}

[/code]

The following line calculates LowerBand by calling BollingerBandFunction:

[code:c#]

LowerBand[0] = BollingerBandFunction(BollingerPrice, Length, -NumDevsDn );

[/code]

This line defines buying condition (Buy if this is not a first bar and TestPrice crosses over LowerBand):

[code:c#]

if ( CurrentBar > 1 && CrossesOver(TestPrice, LowerBand) )

[/code]

Generating Buy order:

[code:c#]

BuyNextBarAtStop("BBandLE", LowerBand[0]);

[/code]

where "BBandLE" - order name and LowerBand[0] - stop price.

 

After all listed actions are done click right mouse button anywhere in the Code Editor window and select Build Analysis Technique. If there are no errors in the Strategy it will appear in the list of functions at Browser with the green tick. Otherwise Task List will appear. For example if you forgot semicolon it will display in Task List with indication of concrete line and file name with error.

image

When you will find the error and correct it click the right mouse button anywhere in the Code Editor window and select Build Analysis Technique again. If there are no errors in the Strategy now Task List will be empty and function name will appear in the list of Strategies at Browser with the green tick.


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Tutorials
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Maximizing Optimization Performance Tips

December 26, 2007 04:39 by support

Maximizing Optimization Performance Tips

To shorten strategy parameters optimization time you need to follow simple rules.

Here presented some tips to maximize optimization performance:

  1. Ensure that all used strategies and functions are compiled with no debug info included. You can use
    "Build->Force No Debug Info" from main menu to rebuild all of your analysis techniques without debug information or set DebugInfo property to No in eqch required analysis techniques, save it and than recompile used strategies. See Debug Information help topic for the details.
  2. Do not run strategy code when not enough data available (causes exceptions). To do that insert conditions in the strategy body e.g.:

    [code:c#]

    if (Bars.Count >= Length ) /*COMMENT: Strategy code will be executed
    only when current bars count is greater
    or equivalent to required count*/

    {
        /*COMMENT: Strategy code goes here*/
    }

    [/code]

    See BollingerBandsLE strategy for full example.

  3. To maximize performance avoid of using expressions (DoubleSeries) as strategy parameters - use only plain types.
  4. Go to offline mode (uncheck "File->Online" from start menu) before doing optimizations. See Online/Offline mode.
  5. Do not attach debugger to NeedForTrade Studio while doing optimizations. See Debugging.
  6. Estimated time is measured very rough. Real optimization time is always shorter.

 

See also Optimization.

If you still have any questions, please feel free to contact us.


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Unique Features

November 20, 2007 07:21 by support

NeedForTrade Studio introduces unique automatic service code generation technology. It allows user to create analysis techniques (strategies, indicators and so on) without programming skills. See Servo:: Technology for details. This ensures unprecedented combination of ease-of-use, functionality and performance!

 

 

Extremely Simple Indicators and Strategies Creation Corresponding Help Topic

 

For relatively easy analysis techniques no special (programming) skills are required. Thanks to our Technology. Code only parts significant to your analysis technique, everything else will be generated automatically. Use Parameter, References and Variable Store panels instead of coding corresponding code manually.

image

 

Analysis techniques are created on C# or Visual Basic languages. This ensures that all power and ease of use of Microsoft .NET Framework is available in your indicators and strategies. Due to our unique automatic service code generator you don't have to know how to program on these languages. Only very easy language syntax constructions are required. Strategy creation just can't be easier. It's just as easy as in TradeStation EasyLanguage*. 

image

 

NeedForTrade Studio combines ease of use of simplest and most convenient systems with the power of .NET-based systems.

 

Screenshots (click to view larger image):

image image image image image image image image

image

image

 

 

Performance Reports Corresponding Help TopicCorresponding Tutorial

Strategy Performance Reports can be used to analyze trade orders produced by strategies during back-test. There are multitude of built-in performance marks and graphs.

 

You can create your own performance marks (report indicators) and custom graphs as easy as simple indicators.

image

 

Screenshots (click to view larger image):

image image image

 

On-Chart Drawing Tools Corresponding Help Topic

You can create your own on-chart drawing tools. It's as simple as to create an indicator.

image

 

Screenshots (click to view larger image):

image image image image image image image image image

   
Full-Featured Debugging Corresponding Help Topic

 

Analysis techniques can be debugged with full-featured FREE .NET debugger (it's shipped with the Microsoft .NET Framework SDK). When debugging only user-created code is shown. Automatically-generated service code is hidden.

image

 

You can step through the code, watch variable values, set breakpoints and so on. Debugger is very powerful an extremely easy to use.

 

Screenshots (click to view larger image):

image image image

 
Full Portfolio Support.

Mix any symbols and/or time intervals. Access data applied to any sub-chart within the chart window with very simple syntax.

To create large portfolios use hidden sub-charts and Data Manager.

image

 

Screenshot (click to view larger image):

image

 

 
Optimization of Strategy Parameters Corresponding Help Topic

Each strategy can have parameters that affect it's execution. Proper optimization lets you find suitable parameter values, maximize strategy revenue, minimize drawdown and so on.

NeedForTrade Studio is supplied with brute-force optimization included.

 

Screenshot (click to view larger image):

image

 

Optimization target function can be specified so you can optimize strategy against any criterion (e.g. maximize). Creating target function is easy as simple creating indicator.

image Corresponding Help Topic

 

Screenshot (click to view larger image):

image

Also you can create your own optimization algorithm. In each case you will not need to learn difficult programming aspects due to our automatic service code generation.

image Corresponding Help Topic

 

*Microsoft .NET Framework, TradeStation, EasyLanguage and other are registered trademarks of their respective owners.


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Servo:: Technology

November 9, 2007 12:18 by support
image Technology.

Introducing the world's first ever trading platform with the image technology.

Servo:: [from servo-, servire (italian, servant, slave)] is a technology that aims to do all dirty work instead of you. In NeedForTrade Studio trading platform it greatly simplifies the process of creating analysis techniques (Indicators, Strategies, Functions and so on) and lets you to implement almost any of your trading ideas without programming knowledge.

Key benefits:

  • If you want to implement a relatively easy idea - just write simple logical operators and get the result. You don't have to bother about any programming tasks and service code.
  • No object-oriented programming skills are required - bringing the simplicity of functional programming to object-oriented world.
  • Unleash the power of Microsoft .NET Framework without any programming skills.
  • Debug only your code. Never see any implementation details. Service code is totally hidden.

Comparing to other approaches:

  .NET Language + image Custom Language .NET Language Excel + VBA (Visual Basic) C++, Java Languages
(or other object-oriented language)
  Ease-of-Use High High Low Medium Very Low
  Flexibility High Low High Medium High
  Performance High Low-to-High
(may vary from
system to system)
High Low Very High
  Required  
  Programming
  Skills
Very Low
(almost none)
Very Low
(almost none)
Medium-to-High
(may vary from
system to system)
Medium Very High
  Debugging  
  Support
Very High* Very Low High Medium High
*You debug only your strategy/indicator code. Service code is hidden.
Code Example (.NET Language + image):

GapUp Long Enter Strategy:

[code:c#]

/*COMMENT: Next statement will buy next bar at market price if low of current bar is higher then high of previous bar*/
if ( Low[0] > High[1] ) BuyNextBarAtMarket();

[/code]

As shown in the example above it took only one simple line of code to create simple strategy. This just couldn't be easier!


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Analysis Techniques Development Features

November 8, 2007 10:30 by support

NeedForTrade Studio introduces unique automatic service code generation technology. It allows user to create analysis techniques (strategies, indicators and so on) without programming skills. See Servo:: Technology for details.

 

Indicators and Strategies Creation Corresponding Help Topic

Analysis techniques are created on C# or Visual Basic languages. This ensures that all power and ease of use of Microsoft .NET Framework is available in your indicators and strategies. Thanks to our unique automatic service code generator you don't have to know how to program on these languages. Only very easy language syntax constructions are required. Strategy creation just can't be easier. It's just as easy as in TradeStation EasyLanguage*.

image

 

NeedForTrade Studio combines ease of use of simplest and most convenient systems with the power of .NET-based systems.

 

Screenshots (click to view larger image):

image image

image

 
Start Working Immediately

You never need to learn any special language. Application uses modern languages - Visual Basic and C# - to create analysis techniques. If you have experience in one of this languages you do not need to learn anything else - just start creating advanced analysis techniques. 

image

 

All analysis techniques shipped with the system are provided with full source codes. You can learn from it and reuse it. Create your new strategies, indicators or functions by modifying existing ones. All common technical analysis approaches are already created in the shipped analysis techniques

   
Full-Featured Debugging Corresponding Help Topic

Analysis techniques can be debugged with full-featured FREE .NET debugger (it's shipped with the Microsoft .NET Framework SDK). When debugging only user-created code is shown. Automatically-generated service code is hidden.

image

 

You can step through the code, watch variable values, set breakpoints and so on. Debugger is very powerful an extremely easy to use.

 

Screenshots (click to view larger image):

image image image

 
Full Portfolio Support

Mix any symbols and/or time intervals. Access data applied to any sub-chart within the chart window with very simple syntax.

To create large portfolios use hidden sub-charts and Data Manager.

 

Screenshot (click to view larger image):

image

 image

 
Detailed Help Corresponding Help Topic and Tutorials Corresponding Tutorial

Help system contains topics covering different aspects of creating analysis techniques. Each user step is described with text and images.

 

Screenshots (click to view larger image):

image image image

*Microsoft .NET Framework, TradeStation, EasyLanguage and other are registered trademarks of their respective owners.


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

User Interface Features

November 8, 2007 05:34 by Support

NeedForTrade Studio user interface provides easy-to-use, intuitive user interface that allows user to focus on the primary work, not on the unnecessary details. It's very easy to learn, thanks to the very well-thought-out Integrated Development Environment (IDE) that uses the best approaches from the best industry-standard IDEs.

 

Simple Analysis Techniques Development Corresponding Help Topic

For relatively easy analysis techniques no special (programming) skills are required. Code only parts significant to your analysis technique, everything else will be generated automatically. Use Parameter, References and Variable Store panels instead of coding corresponding code manually. image

 

Screenshots (click to view larger image):

image image image image image image

image

image

 
Code Syntax Highlighting

Analysis technique editor supports code highlighting. All syntax errors in analysis techniques are shown in the Tasks panel and are underlined in the code. If analysis technique is calling some function you can find out function parameters by pointing mouse cursor on it. Referenced functions are marked with different color.

 

Screenshot (click to view larger image):

image

 
Ease of Use

Drag-and-drop operation ensures highest possible ease of use. To adjust properties of any visual element or parameter of some indicator or strategy just click on it on the chart.

   
Simple and Intuitive Interface

Application interface is intuitive and extremely easy to use. It combines almost all up-to-date interface features of existing applications, such as drag-and-drop, docking panels, multi-document interface with tabbed windows and so on.

 

Screenshot (click to view larger image):

image

 
Workspaces Corresponding Help Topic

Workspaces let you to have as many opened windows as you want but still keep them in perfect order.

 

 
Detailed Help Corresponding Help Topic and Tutorials Corresponding Tutorial

Help system contains topics covering different aspects of using application. Each user step is described with text and images.

 

Screenshots (click to view larger image):

image image image image image


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Technical Analysis Features

November 2, 2007 13:14 by Support

NeedForTrade Studio is shipped with more than two hundred built-in analysis techniques: indicators, strategies, functions, drawing tools and so on. All of them come with complete source code so you can analyze them, use as examples.

 

Indicators Corresponding Help Topic

Indicators are used to visualize results of technical analysis. Platform supports different types of indicators:

 

  • Line
  • Histogram
  • MultiLine
  • Unrestricted indicator (useful for data analyzing purposes - indicator is able to analyze whole data range to calculate all it's all values at once)

Indicator style on the chart can be finely tuned.

 

Screenshot (click to view larger image):

image image image image

image

 
Alerts

Alerts let to notify user about specific event (e.g. when an indicator value meets user-specified conditions). Several types of notifications are supported:

 

  • Visual alerts
  • Sound alerts
  • Alert log

 

Screenshot (click to view larger image):

image

image 

   
Strategies Corresponding Help Topic

Strategies let to define a set of trading rules to make trading decisions. NeedForTrade Studio supports two types of strategies:

 

  • Closed-bar strategy (makes trading decisions on bar close)
  • Real-time strategy (trading decisions can be made on tick-by-tick basis)

On chart strategy style can be adjusted according to your needs.

 

Screenshot (click to view larger image):

image image image image

image

 
On-Chart Drawing Tools Corresponding Help Topic

Wide range of on-chart drawing tools is shipped with the NeedForTrade Studio: Andrew's pitchfork, arrow up, arrow down, line, rectangle, circle, ellipse, text, vertical line, horizontal line, Fibonacci cycles, Fibonacci speed/resistance arcs, Fibonacci speed/resistance fan, Fibonacci trend-based price extension lines, Fibonacci trend-based time lines, Gann square, percent retracement. Style of every drawing tool can be finely tuned (colors, line sizes, text fonts, etc.).

 

Screenshots (click to view larger image):

image image image image image image image image image

You can create your own on-chart drawing tools. It's as simple as to create an indicator. image


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Data Management Features

November 2, 2007 10:52 by Support

NeedForTrade Studio provides convenient access to data from supported data providers as well as to data stored in text files. All data downloaded from data providers is stored locally and will be quickly loaded upon next request of the same data range.

 

Easy-to-Use Symbol Management Corresponding TutorialCorresponding Help Topic

NeedForTrade stores symbols in local data base and provides intuitive interface to request required symbol.

 

Screenshot (click to view larger image):

image image

 
Symbol Properties Adjustment and Manual Symbol Creation Corresponding Tutorial

User is able to edit symbol parameters to adjust required symbol properties or to create symbol manually.

Screenshot (click to view larger image):

image

 
Data Providers Corresponding Help Topic

NeedForTrade Studio works with many FREE and commercial real-time and historical data providers, such as: Interactive Brokers, DTN.IQ(IQFeed), OpenTick, Yahoo!. Also data can be imported from text (ASCII) files of arbitrary format.

For the full list of supported data providers please, visit this link.

 
Historical Data Cache Corresponding Help Topic

All historical data downloaded for any symbol is stored locally. On next request of the same data range data will be loaded from local storage. Missing data will be requested from data provider automatically. This greatly improves performance and helps to minimize network traffic.

   
Automatic Symbol Import From Data Provider Corresponding Tutorial

Symbols can be added to the system by importing them automatically from data providers. Symbol can be found by its name, type and exchange.  This just couldn't be easier.

 

Also the following options are available (if supported by data provider):

 

  • Web lookup
  • Web symbol guide
  • Supported exchanges list

Screenshot (click to view larger image):

image

 

 
Custom Trading Sessions Corresponding Help Topic and Exchanges Corresponding Help Topic

Platform allows to set custom trading sessions and specify additional exchanges. Session templates can be used to simplify setting of trading sessions. Trading session settings can be bound to concrete symbol or to whole exchange.

 

Screenshots (click to view larger image):

image image

 
Importing Data From Text Files (ASCII Import) Corresponding Tutorial

Historical data can be imported from text (ASCII) files. User is able to specify data fields, presented in text file using simple interface and save this settings as a preset for later use.

 

Screenshot (click to view larger image):

image


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Features Header

October 30, 2007 18:44 by Support

NeedForTrade Studio Features

  image   image image image   image image image   image  

Screenshots Gallery

  image image image   image image image   image image   image

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Back Testing Features

October 29, 2007 07:57 by Support

Don’t spend a dollar on a bad idea. Test before trade. Develop and back-test strategies. Use historical data to test your strategy. You can lose your money if you try to use new strategies right away with real money.

 

Strategy Creation Corresponding Help Topic

Strategies are created on C# or Visual Basic languages. Thanks to our unique automatic service code generator you don't have to know how to program on these languages. Only very easy language syntax contractions are required. Strategy creation just can't be easier. It's just as easy as in TradeStation EasyLanguage*.

image

 

See "Strategies and Indicators Creation" tab for more information.

 

 
Strategy Back-Testing on Historical Data

Strategies can be runned against historical data prior using them on real market. This lets you test your ideas and minimize risks.

 

Screenshot (click to view larger image):

image 

 
Performance Reports Corresponding Help TopicCorresponding Tutorial

Strategy Performance Reports can be used to analyze trade orders produced by strategies during back-test. There are multitude of built-in performance marks and graphs.

 

You can create your own performance marks (report indicators) and custom graphs as easy as simple indicators.

image

 

Screenshots (click to view larger image):

image