"Humans cannot compete on speed;
it's as simple as that."Ten years ago, John Coates was a trader in Wall Street.Today, he is a neuroscientist at Cambridge University, and spends his days monitoring traders' hormones to see what makes them tick."There are simple tests you can do. When you see a green light... you click a mouse. The fastest you can do that is 100 to 120 milliseconds. Any basic cognitive processing, figuring things out, then maybe 200 to 300 milliseconds.
"The trouble is, the boxes - last time I looked - they were processing a trade in 10 milliseconds, and today I think... we're talking about millionths of a second."Those "boxes" are the robot traders - computers that make their own decisions about when to buy and sell, but a thousand times faster than any human can.When you think of a trading floor in London or New York, perhaps you imagine a gaggle of sweaty men elbowing each other out of the way as they use elaborate finger movements to convey their frantic orders.For the fact is that financial trading has undergone a computerised revolution akin to Amazon's takeover of the High Street.
All the real action has moved to cyberspace.Different algo traders use very different strategies. But they all share the need to identify trading opportunities - fleeting discrepancies between the available market price and where the computer deems the price ought to be - and then react to them faster than anyone else.
SIMPLE AMPLIFIED TREND STRATEGY (PART 1)
DUKASCOPY VISUAL JFOREX
INDICATORS AND SETTINGS
A) 2 SMA
B) BOLLINGAR BAND and RSI
C)TIME FRAME 10MINS
D) INSTRUMENT GBP/USD
E)TRADE SIZE 5mio
Before i dive into creating the strategy, I will first explain some terms for easy understanding.
- Visual JForex strategy contains, default Global (Global - is a variable setting, which defines what variable will be the parameter when the strategy runs) parameters: default Instrument, default Period, default Slippage, defaultTradeAmount, defaultStopLoss and defaultTakeProfit.
- it is a type of Block, which contains various base functionalities. Component blocks are supported and implemented by Dukascopy
- it is type category type of Block. An Indicator returns at least one output value, which should be filled obligatory. Each Indicator has at least three obligatory input parameters: Instrument, Period and shift Integer values and those values are filled with predefined values. In most cases they also have their own unique parameters. Instrument - the instrument the indicator bases the data calculation on; Period - the aggregation period of candles/bars which indicator uses; and shift - the numeric number from the last current candle.
- is the building stone of Visual Forex, which allows one operation. Blocks can be three types: Component, Indicator and Strategy. The blocks are the main pieces of any strategy. Each Block has a unique algorithm, for example the Block could draw an indicator, compare two indicators or make a trade. To add a Block to the strategy, select it from the menu on the right and drag it to the workspace.
- is a classification identifying one of various types of data, which are used in Visual JForex as data types of variables. In Visual JForex, the following Data Types can be found: Integer,Date and Time,(Long ) Double Boolean String, Message Type, Offer Side Instrument, Period Command State ,Applied Price Signal ,Type MA Type,Position Message ,Tick Candle Signal Positions Candles Signals.
- Variable is a symbolic name given to some known or unknown quantity or information, for the purpose of allowing the name to be used independently of the information it represents. Each variable must have an unique name, value and Data Type. As you can see in the image, when adding the variable you need to define at least two fields: Name and Type.
START POINT - is an event, which is generated by the system. Each event will trigger (run) the strategy. The Start Point can be connected with any block and several Start Points can call the same block. It is not possible to call Start Point, it's a system generated event. There are three types of Start Points: I) Trade Event- will start your strategy on every new trade event;2on Candle - will start your strategy on every new candle;3) On Tick - will start your strategy on every new tick.
CREATING A STRATEGY
A) Register and open a community account
B) Right click and drag IF BLOCK to the workspace
C) Right click and drag POSITION AMOUNT into the IF BLOCK.
d) Set POSITION AMOUNT TO 1 ( strategy will execute trade order if position is less and 1
E) CONNECT IF BLOCK TO THE STARTING POINT ( ON TICK)
Note: SMA output variables can be renamed, but used small and current for easy understanding.
ADD 4 SMA BLOCKS TO THE WORK SPACE
(To generate a crossover signal with 2 SMA Indicator we need 4 sma blocks)
A) Configure each sma10 blocks OUTPUT VARIABLES with (smaSmallCurrent, smaSmallPrev)
B) Configure each sma 30 blocks OUTPUT VARIABLES with (smaBigCurrent, smaBigPrev)
C) Connect all blocks together connecting to IF BLOCK ( less than )
A) Add BOLLINGAR BAND and RSI INDICATORS
B) Indicators on default time periods
C) Connect both indicators together with 10 SMA, 30 SMA .
CREATING 2 SMA CROSS OVER CONDITION
A) Right click and drag 3 IF BLOCKS it to the workspace
B) Configure the first IF BLOCK with ( smaSmallCurrent) (smaBigCurrent)
C) Configure the second IF BLOCK with (smaSmallPrev) (smaBigPrev)
D) Configure the 3rd IF BLOCK with (SmaSmallPrev) (smaSmallPrev)
E) Connect the 1 IF BLOCK to RSI INDICATOR
F) CREATING A CROSS OVER SELL CONTIONS: ( connect IF smaSmallCurrent SIGNAL)is less than smaBigCurrent and smaSmallSmallPrev is more than smaBigPrev SELL
G) CREATING A CROSSOVER BUY CONDITION; ( connect IF smaSmallCurrent is more than smaBigCurrent and smaSmallPrev is less than smaBigPrev BUY SIGNAL)
ADDING AND CONNECTING BOLLINGAR INDICATOR BUY AND SELL SIGNAL
A) Right click and drag 2 IF BLOCKS to the workplace) TO CONFIGURE THE FIRST IF BLOCK. Move the mouse pointer to left hand side of the workspace, Right click and drag (last Ask candle ) to the first column on IF BLOCK, AND also Right click and drag (Bollinger upper value) to the second column on IF BLOCK
B) TO CONFIGURE THE SECOND IF BLOCK. Move the mouse pointer to left hand side of the workspace, Right click and drag (Last Ask candle) to the first column on IF BLOCK. AND also Right click and drag (Bollinger lower value) to the second column on the IF BLOCK.
D) CONNECTING BOLLINGAR BAND SELL SIGNAL ( connect IF Last Ask candle is more than bollingar upper value and IF smaSmallSmallPrev is more than smaBigPrev and IF smaSmallCurrent is less than smaBigCurrent) SELL SIGNAL
E) CONNECTING BOLLINGAR BAND BUY SIGNAL: ( Connect IF Last Ask candle is more than bollingar lower value AND IF and smaSmallPrev is less than smaBigPrev AND IF smaSmallCurrent is more than smaBigCurrent BUY SIGNAL)
ADDING AND CONNECTING RSI INDICATOR
A) Right click and drag 2 IF BLOCKS to the workspace
B) TO CONFIGURE THE FIRST IF BLOCK: Move the mouse pointer to left hand side of the workspace, Right click and drag RSI OUTPUT variables to the first column on the IF BLOCK and Type 70 on second column
C) TO CONFIGURE THE SECOND IF BLOCK : Move the mouse pointer to left hand side of the workspace, Right and drag RSI OUTPUT variables to the first column on the workspace, and Type 30 on the second column
D) CONNECTING RSI SELL SIGNAL : ( Connect IF RSI is more than 70 AND IF Last Ask candle is more than bollingar upper value and IF smaSmallSmallPrev is more than smaBigPrev and IF smaSmallCurrent is less than smaBigCurrent) SELL SIGNAL
E) CONNECTING A BUY SIGNAL : ( Connect IF RSI is less than 30 AND IF Last Ask candle is more than bollingar lower value AND IF and smaSmallPrev is less than smaBigPrev AND IF smaSmallCurrent is more than smaBigCurrent BUY SIGNAL) STE
BUY OR SELL TRADE COMMAND
A). Right click and drag 2 OPEN AT MARKET BLOCKS
B). Configure each on BUY AND SELL
C). CONNECT SELL TRADE COMMAND : ( Connect IF RSI is more than 70 AND IF Last Ask candle is more than bollingar upper value and IF smaSmallSmallPrev is more than smaBigPrev and IF smaSmallCurrent is less than smaBigCurrent SELL SIGNAL)
D) CONNECT BUY TRADE COMMAND : ( Connect IF RSI is less than 30 AND IF Last Ask candle is more than bollingar lower value AND IF and smaSmallPrev is less than smaBigPrev AND IF smaSmallCurrent is more than smaBigCurrent BUY SIGNAL)
COMPILE THE STRATEGY ,BUILD, RUN TEST ON HISTORICAL TESTER AND SEND THE STRATEGY TO CONTEST.