The purpose of this sub-forum

Discuss potential trading platforms to replace Empty4.
Post your assessments of alternatives that you have tried.
sanook
Posts: 8
Joined: Sun Mar 31, 2013 10:04 am

Re: The purpose of this sub-forum

Post by sanook »

Wiggy1965 wrote:What are people thoughts about NinjaTrader.....?

One more thing, i have seen mass protest of a product and or service in that past and one suggestion could be a rolling campaign where we as traders refuse to take trades on a particular day...This could (if enough people were involved) put financial pressure on the brokers, who intern would put financial pressure on Metaquotes... Obviously, this would need to take some organising and would require the use of social media.... If social media can bring down a government, then surly it can be used to change the behavior of a company....

Just some thoughts.....

Wiggy
This might be a very efficient weapon....
And still trying to find another platform with the other hand.
User avatar
Jemook
Trader
Posts: 1085
Joined: Thu May 10, 2012 10:19 am
Location: Bondi, Sydney, Australia

Re: The purpose of this sub-forum

Post by Jemook »

I never felt like a ninja when I used Ninjatrader..
Please note I am no longer affiliated with Global Prime. I've moved on to my next adventure with Afterprime.

Catch me here: https://www.afterprime.com
User avatar
jakatarung
Trader
Posts: 14
Joined: Sat Apr 27, 2013 2:55 am

Re: The purpose of this sub-forum

Post by jakatarung »

Jemook wrote:I never felt like a ninja when I used Ninjatrader..
Before you trade using ninjatrader, be sure to watch this quick video.. this pretty girl will show you how to be a ninja while trade using ninjatrader in 30 sec..with no brain! :mrgreen: :geek: http://www.youtube.com/watch?v=9Pobuw7Wk2k
Balinese Fx Trader.
Tidak pernah patah semangat untuk belajar dan melakukan yang terbaik! -
Never discouraged to learn and do my best!
User avatar
simplex
Trader
Posts: 127
Joined: Thu Feb 07, 2013 5:21 pm
Location: An insignificant small town close to an insignificant former capital at the Rhine River.

TradeStation

Post by simplex »

fxprotrader wrote:Being a US resident I have limited choices. So I've decided to open an account at TradeStation and for Forex trading there is no monthly service charge just pay the Spread.
... As I understand it they will set up one account for you and then you can login to either trade Live or trade Demo but not both simultaneously at least not from the same computer.
...
To me sounds a bit like CrapTS ...

-simplex
If you can't explain it simply, you don't understand it well enough. (Albert Einstein)
It appears that the Weighted Moving Average was invented by a trader who did not have a firm grasp of filter theory in hopes of reducing lag. (John F. Ehlers)
User avatar
simplex
Trader
Posts: 127
Joined: Thu Feb 07, 2013 5:21 pm
Location: An insignificant small town close to an insignificant former capital at the Rhine River.

Re: The purpose of this sub-forum

Post by simplex »

ToeCutter wrote:
followNev wrote:Should we not start at industry standard and work our way down :? , i was thinking starting with any platform that has API, FIX protocol , and is with a regulated ECN broker or the likes of Marex Spectron
That way we wouldn't be caught in a platform trap in the future.
Jforex - has all of this, and is JAVA based. From what I've read in this thread, as well as Steve's previous messages about the Metaquotes folks, I think it might be time for me to have a serious crack at learning coding for this. I have always thought jforex might be something I'd love to learn more about. Perhaps some of you can wrap your head around it easier than I. I've always been looking for redundancy from Empty4.

There is a free Empty4 code conversion tool: http://www.dukascopy.com/swiss/english/ ... converter/

as well as a bridge to Empty4: http://www.dukascopy.com/swiss/english/ ... ex_bridge/

Yes, I am a client of Dukascopy (ECN), but have only very limited use of these tools.

...

Cheers,

Matt

free Empty4 code conversion tool: in those 25 years I'm working professionally in the IT business I stumbled upon several automated conversion tools ... well: all of them managed to convert a Hello World code properly. Most of them managed to convert a fancy coloured Hello World code properly. All of them failed one way or the other when they had to deal with something more sophisticated, closer to real world programs. Did anybody try to automatically convert a full featured EA with a dashboard GUI? I'd be interested very much to see the result.

bridge to Empty4: This is something that might work. Server sided bridging should result in some kind of protocol conversion which usually is much easier to achieve compared to program code conversion.

Both options as well as a third one (Empty4 code compatibility on the target platform) would have to be tested thoroughly.

Cheers,

Jürgen
If you can't explain it simply, you don't understand it well enough. (Albert Einstein)
It appears that the Weighted Moving Average was invented by a trader who did not have a firm grasp of filter theory in hopes of reducing lag. (John F. Ehlers)
User avatar
SteveHopwood
Owner
Posts: 9904
Joined: Tue Nov 15, 2011 8:43 am
Location: Misterton - an insignificant village in England. Very pleasant to live in.

Re: The purpose of this sub-forum

Post by SteveHopwood »

I received this pm from babalu4u a few minutes ago.
babalu4u wrote:Hi Steve,

I was thinking maybe it will be good that you open one topic for cAlgo/cTrader for indicators and EA's becaus I already decide that I will never go back to Empty4. I see coding is not dificult in cAlgo and I think a lot of members will do a same for this is good to have all staff related to cAlgo/cTrader in one place.....

p.s.: I am already finishing TMA Slope for cAlgo and now is calculating right.... :roll:
One of the many great thingies about being a PCA is that I can instantly implement a good idea.

I have created a new forum, Alternative Platforms; find it at the end of the Index page. This forum will actually consist of sub-forums, each dedicated to a different platform. The structure of each sub-forum will consists of further sf's, each dedicated to different aspects. At the mo, there is only one, for Ctrader and cAlgo, so its structure is:
  • cTrader and cAlgo
    • General discussion
    • Indicators
    • Robots
I am unfamiliar with these platforms, so let me know if this structure is incorrect and I will alter it.

PM me with your requests to add further sf's for your favoured platform. I will need its name and the sf structure you require. It is a bit of a time-consuming faff setting this up, so it will take a while if I receive a large number of requests.

-----------------------------------------------------------------------------------------------------------------

I agree with Jem that a change of platform needs to arise from the membership rather than coming from the brokers - although that may happen anyhow if Crapperquotes continues to piss off the brokers. :lol:

Basic to any change would be easy conversion of all our EA's, indi's, utilities and scripts. I don't fancy saying to those who have produced such fantastic stuff here, "Erm. Please could you rewrite the 15 indi's in your thread in a different language. Please.....pretty please." I might receive some ripe language right back.

I would not object to having to learn a 'proper' language such as C# or C++, but I really do not fancy then re-writing mptm. Mind, I would write it better second time around. :lol:

:D
Read the effing manual, ok?

Afterprime is the official SHF broker. Read about them at https://www.stevehopwoodforex.com/phpBB3/viewtopic.php?p=175790#p175790.

I still suffer from OCCD. Good thing, really.

Anyone here feeling generous? My paypal account is always in the market for a tiny donation. pianodoodler@hotmail.com is the account.

To see The Weekly Roundup of stuff you guys might have missed Click here

My special thanks to Thomas (tomele) for all the incredible work he does here.
f451
Trader
Posts: 85
Joined: Thu Nov 24, 2011 9:44 am
Location: Melbourne, Australia

Re: The purpose of this sub-forum

Post by f451 »

I'm a pretty serious JForex coder. A couple of points to note

1/ Dukascopy is an excellent broker. Narrow spreads, excellent fills, great reputation for service. They are basically only in the Forex market, not futures , CFDs or other markets. You can get a permanent Dukascopy demo, but it may require you to be persuasive or have a live account.

2/ JForex is really rather tricky. It is much, much harder to code decent indicators in JForex than Empty4. The JForex java interface paradigm is confusing, and revolves deeply around consumable arrays as input and output, which even after 2 years JForex experience, still causes me confusion. I have written probably over a hundred JForex indicators. ON this forum I am an intermediate level programmer - good enough without being really top notch. I have periodically attempted to port CSS - without getting a working version. I have ported TMA and TMA True, and a couple of NB 10.2 indicators. I'm still working on a set of pivots that is adjustable to NY close. You'd think this would be comparatively easy, but it's not, because the dukascopy feed in java is structured in mostly useful ways, but you need to re-work it yourself if you want to do anything non-standard, like timeshift bars. As a result, writing multi-timeframe indicators is hard (lining up the outputs from different timeframes to display on the screen is tricky). I am still yet to finish a decent multi-timeframe indicator template that can be easily re-applied to a range of even basic indicators - e.g. MACD - because of the input/output, auto-bar-feed-alignment array functionality. The JForex indicator interface is essentially a template for transforming inputs to outputs (as it should be), but these restrictions make many obviously useful things hard to do. On the upside, feed formats such as range bar, renko and point and figure are built into the platform.

Strategy (EA) writing in JForex is non trivial. It becomes exceptionally non-trivial if you want to do anything semi-complex. I recently rewrote a major multi-timeframe strategy from the standard bar inputs (where a 30M bar is received every thirty minutes, an hour bar every hour, and custom time periods like 2hr, received every two hours) to running against a primary timeframe (30M) in order to allow indicators from different timeframe charts to be recalculated every 30M instead of every bar on their on own timeframe. (if you don't understand why this was necessary, imagine trying to make trading decisions on the instruments state every 30M, but having to rely on 1hr and 2hr indicator reads that lag by from 30 to up to 90 minutes).

My final solution was to construct and maintain my own instrument history for every bar, on every timeframe I needed and then apply my complex custom indicator calculations on these as arrays to get the current indicator value (Empty4 coders think iMAOnArray on multi-dimensional steroids).

The good news is you do have the flexibility of Java so you can do these things. It's a pain, but pretty much anything can be done.

The bad news is that the community using JForex is tiny compared to Empty4, and the support available from Dukascopy is not particularly good. Obvious bugs still exist in the trading client. Backtesting is built in (visual mode, or non-visual modes and the tick data quality is significantly better than Empty4, but there are variation between the live and demo version of the API - live is more stable but API version lags a little, and this can result in serious automated strategy coders wasting time running up paths that work in demo but don't work in live. You can check for this, but my advice would be to check early and check often.) To give you a size of community comparison, I've probably written around a hundred JForex indicators - and while I haven't published the vast majority of them back to the JForex community, I suspect I would be in the top ten twenty most prolific indicator coders.

In summary - JForex with Dukascopy has some advantages - java, great broker, although limited instruments, solid ECN/STP Forex feed, not quite the interbank feed but probably as good as you'll get from a retail broker, the platform is probably not as bug free or stable as I would hope for, although this does seem to be improving, coding complex stuff is extremely difficult, but if can be done, and I'm sure there are better coders here than me who would make that happen faster than I can. The Empty4 code conversion tool is OK - but not for anything complex.
T
he bridge from Empty4 to Dukascopy does work, and is excellent. It's basically and EA (strategy in Jforex terms) that mirrors trades from the Empty4 log to the Dukascopy trading platform, and will allow you get a better price - which you will on Dukascopy.

I've quickly looked at cTrader and I'd probably rate its platform as slicker, more stable and better than the JForex trading client, and it seems to have a bigger indicator base. Don't really know anything about the other two parts of the equation for cTrader though - broker options and quality and easy of extension/indicator writing and trading strategy automation.

ToeCutter wrote:
Jforex - has all of this, and is JAVA based. From what I've read in this thread, as well as Steve's previous messages about the Metaquotes folks, I think it might be time for me to have a serious crack at learning coding for this. I have always thought jforex might be something I'd love to learn more about. Perhaps some of you can wrap your head around it easier than I. I've always been looking for redundancy from Empty4.

There is a free Empty4 code conversion tool: http://www.dukascopy.com/swiss/english/ ... converter/

as well as a bridge to Empty4: http://www.dukascopy.com/swiss/english/ ... ex_bridge/

Yes, I am a client of Dukascopy (ECN), but have only very limited use of these tools.

One weakness I see is the Dukascopy 14 day demo expiry, although I have extended indefinitely on occasion - just not sure if this was because I was a client or not. That being said, I think the development environment is stand alone and non-expiring - I think... Of course, Dukascopy is not the only broker using jforex.

They say you can become a programmer "in 30 minutes" with their tutorial: http://www.dukascopy.com/wiki/#Visual_JForex

I am also aware of this, although I don't understand it fully: http://dukascopy-Empty4.fairtradingtech.com/

Just thought I'd throw this into the mix as it seems to be what you're looking for. I have tried the code conversion tools, but they can be buggy (for me - in the older versions), and require a coder to make little changes here and there to the output, as I understand it. As I'm not a coder in any way, I have had varied success with the tool. That being said, I have heard that many are using the conversion tools just fine. Worth a look anyway.

Standard chart options include: Customizable P&F, Pip, Tick, Tick Bars, Renko, Range, nSeconds/Minutes/Hours/Days/Weeks/Months. You can undock and pin charts. You can use chart templates and themes. There's all the usual drawing tools and a couple of handy widgets built in. This could be the end of offline charts. I use the undocking to move the charts around multiple monitors etc..

Has backtester / optimizer, historical data manager, Price Alerts etc..

.... and we all know about the Dukascopy data that can be used for backtesting. Apparently one of the best data sets available.

Here's a page with what looks like pretty good info on the platform and it's coding: http://www.dukascopy.com/wiki/#Create_a_strategy

As for the vanilla platform, there are a vast amount of "standard" indicators available, and - again anecdotally - some folks can really make this this sing with a bit of coding knowledge.

Bill Williams:
AC - Accelerator/Decelerator Oscillator
ALLIGATOR - Alligator
AWESOME - Awesome Oscillator
BWMFI - Market Facilitation Index
FRACTAL - Fractal indicator
GATOR - Gator Oscillator

Cycle Indicators:
HT_DCPERIOD - Hilbert Transform - Dominant Cycle Period
HT_DCPHASE - Hilbert Transform - Dominant Cycle Phase
HT_PHASOR - Hilbert Transform - Phasor Components
HT_SINE - Hilbert Transform - SineWave
HT_TRENDMODE - Hilbert Transform - Trend vs Cycle Mode

Math Operators:

ADD - Vector Arithmetic Add
DIV - Vector Arithmetic Div
MAX - Highest value over a specified period
MIN - Lowest value over a specified period
MINMAX - Lowest and highest values over a specified period
MULT - Vector Arithmetic Mult
SUB - Vector Arithmetic Substraction
SUM - Summation

Math Transform:
ACOS - Vector Trigonometric ACos
ASIN - Vector Trigonometric ASin
ATAN - Vector Trigonometric ATan
CEIL - Vector Ceil
COS - Vector Trigonometric Cos
COSH - Vector Trigonometric Cosh
EXP - Vector Arithmetic Exp
FLOOR - Vector Floor
LN - Vector Log Natural
LOG10 - Vector Log10
SIN - Vector Trigonometric Sin
SINH - Vector Trigonometric Sinh
SQRT - Vector Square Root
TAN - Vector Trigonometric Tan
TANH - Vector Trigonometric Tanh

Momentum Indicators:
ADX - Average Directional Movement Index
ADXR - Average Directional Movement Index Rating
APO - Absolute Price Oscillator
AROON - Aroon
AROONOSC - Aroon Oscillator
BEARP - Bear Power
BOP - Balance Of Power
BULLP - Bull Power
CCI - Commodity Channel Index
CMO - Chande Momentum Oscillator
DMI - Average Directional Movement Index
DX - Directional Movement Index
FORCEI - Force Index
KAIRI - Kairi
KDJ - Random Index
LAGACS1 - Laguerre-ACS1
MACD - Moving Average Convergence/Divergence
MACDEXT - MACD with controllable MA type
MACDFIX - Moving Average Convergence/Divergence Fix 12/26
MFI - Money Flow Index
MINUS_DI - Minus Directional Indicator
MINUS_DM - Minus Directional Movement
MOM - Momentum
MURRCH - Murrey Channels
OSMA - Moving Average of Oscillator
PERSBBANDS - Percent Bollinger Bands
PLUS_DI - Plus Directional Indicator
PLUS_DM - Plus Directional Movement
PPO - Percentage Price Oscillator
RMI - Relative Momentum Index
ROC - Rate of change : ((price/prevPrice)-1)*100
ROCP - Rate of change Percentage: (price-prevPrice)/prevPrice
ROCR - Rate of change ratio: (price/prevPrice)
ROCR100 - Rate of change ratio 100 scale: (price/prevPrice)*100
RSI - Relative Strength Index
RVI - Relative Vigor Index
SMI - Stochastic Momentum Index
STOCH - Stochastic
STOCHF - Stochastic Fast
STOCHRSI - Stochastic Relative Strength Index
TD_I - Tom DeMark Indicator
TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
ULTOSC - Ultimate Oscillator
WILLR - Williams' %R

Overlap Studies:
BBANDS - Bollinger Bands
BUTTERWORTH - Butterworth Filter
CAMPIVOT - Camarilla Pivots
DEMA - Double Exponential Moving Average
EMA - Exponential Moving Average
EMAENVELOPE - EMA Envelope
FIBPIVOT - Fibonacci Pivot
HMA - Hull Moving Average
HT_TRENDLINE - Hilbert Transform - Instantaneous Trendline
ICHIMOKU - Ichimoku
KAMA - Kaufman Adaptive Moving Average
KELTNER - Keltner Channel
LWMA - Linear Weighted Moving Average (LWMA)
MA - Moving average
MAENVELOPE - MA Envelope
MAMA - MESA Adaptive Moving Average
MAVP - Moving average with variable period
MIDPOINT - MidPoint over period
MIDPRICE - Midpoint Price over period
PCHANNEL - Price Channel
PIVOT - Pivot
SAR - Parabolic SAR
SAREXT - Parabolic SAR - Extended
SMA - Simple Moving Average
SMMA - Smoothed Moving Average (SMMA)
T3 - Triple Exponential Moving Average (T3)
TD_S - TD Sequential
TEMA - Triple Exponential Moving Average
TRENDENVELOPES - Trend Envelope
TRIMA - Triangular Moving Average
VOLUMEWAP - Volume Weighted Average Price
WMA - Weighted Moving Average
WOODPIVOT - Woodie Pivot

Pattern Recognition:
ASC_TRIANGLE - Ascending Triangle Pattern
CDL2CROWS - Two Crows
CDL3BLACKCROWS - Three Black Crows
CDL3INSIDE - Three Inside Up/Down
CDL3LINESTRIKE - Three-Line Strike
CDL3OUTSIDE - Three Outside Up/Down
CDL3STARSINSOUTH - Three Stars In The South
CDL3WHITESOLDIERS - Three Advancing White Soldiers
CDLABANDONEDBABY - Abandoned Baby
CDLADVANCEBLOCK - Advance Block
CDLBELTHOLD - Belt-hold
CDLBREAKAWAY - Breakaway
CDLCLOSINGMARUBOZU - Closing Marubozu
CDLCONCEALBABYSWALL - Concealing Baby Swallow
CDLCOUNTERATTACK - Counterattack
CDLDARKCLOUDCOVER - Dark Cloud Cover
CDLDOJI - Doji
CDLDOJISTAR - Doji Star
CDLDRAGONFLYDOJI - Dragonfly Doji
CDLENGULFING - Engulfing Pattern
CDLEVENINGDOJISTAR - Evening Doji Star
CDLEVENINGSTAR - Evening Star
CDLGAPSIDESIDEWHITE - Up/Down-gap side-by-side white lines
CDLGRAVESTONEDOJI - Gravestone Doji
CDLHAMMER - Hammer
CDLHANGINGMAN - Hanging Man
CDLHARAMI - Harami Pattern
CDLHARAMICROSS - Harami Cross Pattern
CDLHIGHWAVE - High-Wave Candle
CDLHIKKAKE - Hikkake Pattern
CDLHIKKAKEMOD - Modified Hikkake Pattern
CDLHOMINGPIGEON - Homing Pigeon
CDLIDENTICAL3CROWS - Identical Three Crows
CDLINNECK - In-Neck Pattern
CDLINVERTEDHAMMER - Inverted Hammer
CDLKICKING - Kicking
CDLKICKINGBYLENGTH - Kicking - bull/bear determined by the longer marubozu
CDLLADDERBOTTOM - Ladder Bottom
CDLLONGLEGGEDDOJI - Long Legged Doji
CDLLONGLINE - Long Line Candle
CDLMARUBOZU - Marubozu
CDLMATCHINGLOW - Matching Low
CDLMATHOLD - Mat Hold
CDLMORNINGDOJISTAR - Morning Doji Star
CDLMORNINGSTAR - Morning Star
CDLONNECK - On-Neck Pattern
CDLPIERCING - Piercing Pattern
CDLRICKSHAWMAN - Rickshaw Man
CDLRISEFALL3METHODS - Rising/Falling Three Methods
CDLSEPARATINGLINES - Separating Lines
CDLSHOOTINGSTAR - Shooting Star
CDLSHORTLINE - Short Line Candle
CDLSPINNINGTOP - Spinning Top
CDLSTALLEDPATTERN - Stalled Pattern
CDLSTICKSANDWICH - Stick Sandwich
CDLTAKURI - Takuri (Dragonfly Doji with very long lower shadow)
CDLTASUKIGAP - Tasuki Gap
CDLTHRUSTING - Thrusting Pattern
CDLTRISTAR - Tristar Pattern
CDLUNIQUE3RIVER - Unique 3 River
CDLUPSIDEGAP2CROWS - Upside Gap Two Crows
CDLXSIDEGAP3METHODS - Upside/Downside Gap Three Methods
CHANNEL_DOWN - Channel Down Pattern
CHANNEL_UP - Channel Up Pattern
DESC_TRIANGLE - Descending Triangle Pattern
DOUBLE_BOTTOM - Double Bottom Pattern
DOUBLE_TOP - Double Top Pattern
FALLING_WEDGE - Falling Wedge Pattern
HEAD&SHLDRS - Head and Shoulders Pattern
INVERSE_HEAD&SHLDRS - Inverse Head and Shoulders Pattern
INVERSE_RECT - Inverse Rectangle Pattern
PENNANT - Pennant Pattern
RECTANGLE - Rectangle Pattern
RISING_WEDGE - Rising Wedge Pattern
THRUSTBAR - Thrust Bar
THRUSTOUTSIDEBAR - Thrust Outside Bar
TRIANGLE - Triangle Pattern
TRIPLE_BOTTOM - Triple Bottom Pattern
TRIPLE_TOP - Triple Top Pattern

Price Transform:
AVGPRICE - Average Price
MEDPRICE - Median Price
TYPPRICE - Typical Price
WCLPRICE - Weighted Close Price

Statistic Functions:
BETA - Beta
CORREL - Pearson's Correlation Coefficient (r)
LINEARREG - Linear Regression
LINEARREG_ANGLE - Linear Regression Angle
LINEARREG_INTERCEPT - Linear Regression Intercept
LINEARREG_SLOPE - Linear Regression Slope
STDDEV - Standard Deviation
TSF - Time Series Forecast
VAR - Variance

Volatility Indicators:
ATR - Average True Range
DONCHIANCHANNEL - Donchian Channel
NATR - Normalized Average True Range
TRANGE - True Range

Volume Indicators:
AD - Chaikin A/D Line
ADOSC - Chaikin A/D Oscillator
OBV - On Balance Volume
TVS - Time Segmented Volume
VOLUME - Volumes
VOLUMEEXT - Volume indicator with customizable drawing style




Anyway, I'm not pointing anyone in the direction of Dukascopy, just towards the Jforex platform itself. The links from Dukas above are there because they are the places I'm familiar with and can find information on the platform. I have zero affiliation with Dukascopy.

Cheers,

Matt
ianj
Trader
Posts: 81
Joined: Sat Feb 09, 2013 2:07 am

Re: The purpose of this sub-forum

Post by ianj »

Wiggy1965 wrote: Anyway, the US government charged them with predatory behaviors and forced to remove the locks.... It may only be a matter of time before Metaquotes comes to attention of the US government for similar predatory behaviors and are forced to unwind what it is doing....

I found a link to the Metaquotes contacts pages, so maybe we could all send a message detailing our objections as a starter....see below
You misunderstand the US govt approach - they don't want you to trade AT ALL !
And its clear that Metaquotes will not capitulate until FORCED and only competition can do that
CNS VPS - it just works :-)
xrismak
Trader
Posts: 710
Joined: Tue Apr 24, 2012 9:43 pm

Re: The purpose of this sub-forum

Post by xrismak »

f451 wrote:I'm a pretty serious JForex coder. A couple of points to note

1/ Dukascopy is an excellent broker. Narrow spreads, excellent fills, great reputation for service. They are basically only in the Forex market, not futures , CFDs or other markets. You can get a permanent Dukascopy demo, but it may require you to be persuasive or have a live account.

2/ JForex is really rather tricky. It is much, much harder to code decent indicators in JForex than Empty4. The JForex java interface paradigm is confusing, and revolves deeply around consumable arrays as input and output, which even after 2 years JForex experience, still causes me confusion. I have written probably over a hundred JForex indicators. ON this forum I am an intermediate level programmer - good enough without being really top notch. I have periodically attempted to port CSS - without getting a working version. I have ported TMA and TMA True, and a couple of NB 10.2 indicators. I'm still working on a set of pivots that is adjustable to NY close. You'd think this would be comparatively easy, but it's not, because the dukascopy feed in java is structured in mostly useful ways, but you need to re-work it yourself if you want to do anything non-standard, like timeshift bars. As a result, writing multi-timeframe indicators is hard (lining up the outputs from different timeframes to display on the screen is tricky). I am still yet to finish a decent multi-timeframe indicator template that can be easily re-applied to a range of even basic indicators - e.g. MACD - because of the input/output, auto-bar-feed-alignment array functionality. The JForex indicator interface is essentially a template for transforming inputs to outputs (as it should be), but these restrictions make many obviously useful things hard to do. On the upside, feed formats such as range bar, renko and point and figure are built into the platform.

Strategy (EA) writing in JForex is non trivial. It becomes exceptionally non-trivial if you want to do anything semi-complex. I recently rewrote a major multi-timeframe strategy from the standard bar inputs (where a 30M bar is received every thirty minutes, an hour bar every hour, and custom time periods like 2hr, received every two hours) to running against a primary timeframe (30M) in order to allow indicators from different timeframe charts to be recalculated every 30M instead of every bar on their on own timeframe. (if you don't understand why this was necessary, imagine trying to make trading decisions on the instruments state every 30M, but having to rely on 1hr and 2hr indicator reads that lag by from 30 to up to 90 minutes).

My final solution was to construct and maintain my own instrument history for every bar, on every timeframe I needed and then apply my complex custom indicator calculations on these as arrays to get the current indicator value (Empty4 coders think iMAOnArray on multi-dimensional steroids).

The good news is you do have the flexibility of Java so you can do these things. It's a pain, but pretty much anything can be done.

The bad news is that the community using JForex is tiny compared to Empty4, and the support available from Dukascopy is not particularly good. Obvious bugs still exist in the trading client. Backtesting is built in (visual mode, or non-visual modes and the tick data quality is significantly better than Empty4, but there are variation between the live and demo version of the API - live is more stable but API version lags a little, and this can result in serious automated strategy coders wasting time running up paths that work in demo but don't work in live. You can check for this, but my advice would be to check early and check often.) To give you a size of community comparison, I've probably written around a hundred JForex indicators - and while I haven't published the vast majority of them back to the JForex community, I suspect I would be in the top ten twenty most prolific indicator coders.

In summary - JForex with Dukascopy has some advantages - java, great broker, although limited instruments, solid ECN/STP Forex feed, not quite the interbank feed but probably as good as you'll get from a retail broker, the platform is probably not as bug free or stable as I would hope for, although this does seem to be improving, coding complex stuff is extremely difficult, but if can be done, and I'm sure there are better coders here than me who would make that happen faster than I can. The Empty4 code conversion tool is OK - but not for anything complex.
T
he bridge from Empty4 to Dukascopy does work, and is excellent. It's basically and EA (strategy in Jforex terms) that mirrors trades from the Empty4 log to the Dukascopy trading platform, and will allow you get a better price - which you will on Dukascopy.

I've quickly looked at cTrader and I'd probably rate its platform as slicker, more stable and better than the JForex trading client, and it seems to have a bigger indicator base. Don't really know anything about the other two parts of the equation for cTrader though - broker options and quality and easy of extension/indicator writing and trading strategy automation.

ToeCutter wrote:
Jforex - has all of this, and is JAVA based. From what I've read in this thread, as well as Steve's previous messages about the Metaquotes folks, I think it might be time for me to have a serious crack at learning coding for this. I have always thought jforex might be something I'd love to learn more about. Perhaps some of you can wrap your head around it easier than I. I've always been looking for redundancy from Empty4.

There is a free Empty4 code conversion tool: http://www.dukascopy.com/swiss/english/ ... converter/

as well as a bridge to Empty4: http://www.dukascopy.com/swiss/english/ ... ex_bridge/

Yes, I am a client of Dukascopy (ECN), but have only very limited use of these tools.

One weakness I see is the Dukascopy 14 day demo expiry, although I have extended indefinitely on occasion - just not sure if this was because I was a client or not. That being said, I think the development environment is stand alone and non-expiring - I think... Of course, Dukascopy is not the only broker using jforex.

They say you can become a programmer "in 30 minutes" with their tutorial: http://www.dukascopy.com/wiki/#Visual_JForex

I am also aware of this, although I don't understand it fully: http://dukascopy-Empty4.fairtradingtech.com/

Just thought I'd throw this into the mix as it seems to be what you're looking for. I have tried the code conversion tools, but they can be buggy (for me - in the older versions), and require a coder to make little changes here and there to the output, as I understand it. As I'm not a coder in any way, I have had varied success with the tool. That being said, I have heard that many are using the conversion tools just fine. Worth a look anyway.

Standard chart options include: Customizable P&F, Pip, Tick, Tick Bars, Renko, Range, nSeconds/Minutes/Hours/Days/Weeks/Months. You can undock and pin charts. You can use chart templates and themes. There's all the usual drawing tools and a couple of handy widgets built in. This could be the end of offline charts. I use the undocking to move the charts around multiple monitors etc..

Has backtester / optimizer, historical data manager, Price Alerts etc..

.... and we all know about the Dukascopy data that can be used for backtesting. Apparently one of the best data sets available.

Here's a page with what looks like pretty good info on the platform and it's coding: http://www.dukascopy.com/wiki/#Create_a_strategy

As for the vanilla platform, there are a vast amount of "standard" indicators available, and - again anecdotally - some folks can really make this this sing with a bit of coding knowledge.

Bill Williams:
AC - Accelerator/Decelerator Oscillator
ALLIGATOR - Alligator
AWESOME - Awesome Oscillator
BWMFI - Market Facilitation Index
FRACTAL - Fractal indicator
GATOR - Gator Oscillator

Cycle Indicators:
HT_DCPERIOD - Hilbert Transform - Dominant Cycle Period
HT_DCPHASE - Hilbert Transform - Dominant Cycle Phase
HT_PHASOR - Hilbert Transform - Phasor Components
HT_SINE - Hilbert Transform - SineWave
HT_TRENDMODE - Hilbert Transform - Trend vs Cycle Mode

Math Operators:

ADD - Vector Arithmetic Add
DIV - Vector Arithmetic Div
MAX - Highest value over a specified period
MIN - Lowest value over a specified period
MINMAX - Lowest and highest values over a specified period
MULT - Vector Arithmetic Mult
SUB - Vector Arithmetic Substraction
SUM - Summation

Math Transform:
ACOS - Vector Trigonometric ACos
ASIN - Vector Trigonometric ASin
ATAN - Vector Trigonometric ATan
CEIL - Vector Ceil
COS - Vector Trigonometric Cos
COSH - Vector Trigonometric Cosh
EXP - Vector Arithmetic Exp
FLOOR - Vector Floor
LN - Vector Log Natural
LOG10 - Vector Log10
SIN - Vector Trigonometric Sin
SINH - Vector Trigonometric Sinh
SQRT - Vector Square Root
TAN - Vector Trigonometric Tan
TANH - Vector Trigonometric Tanh

Momentum Indicators:
ADX - Average Directional Movement Index
ADXR - Average Directional Movement Index Rating
APO - Absolute Price Oscillator
AROON - Aroon
AROONOSC - Aroon Oscillator
BEARP - Bear Power
BOP - Balance Of Power
BULLP - Bull Power
CCI - Commodity Channel Index
CMO - Chande Momentum Oscillator
DMI - Average Directional Movement Index
DX - Directional Movement Index
FORCEI - Force Index
KAIRI - Kairi
KDJ - Random Index
LAGACS1 - Laguerre-ACS1
MACD - Moving Average Convergence/Divergence
MACDEXT - MACD with controllable MA type
MACDFIX - Moving Average Convergence/Divergence Fix 12/26
MFI - Money Flow Index
MINUS_DI - Minus Directional Indicator
MINUS_DM - Minus Directional Movement
MOM - Momentum
MURRCH - Murrey Channels
OSMA - Moving Average of Oscillator
PERSBBANDS - Percent Bollinger Bands
PLUS_DI - Plus Directional Indicator
PLUS_DM - Plus Directional Movement
PPO - Percentage Price Oscillator
RMI - Relative Momentum Index
ROC - Rate of change : ((price/prevPrice)-1)*100
ROCP - Rate of change Percentage: (price-prevPrice)/prevPrice
ROCR - Rate of change ratio: (price/prevPrice)
ROCR100 - Rate of change ratio 100 scale: (price/prevPrice)*100
RSI - Relative Strength Index
RVI - Relative Vigor Index
SMI - Stochastic Momentum Index
STOCH - Stochastic
STOCHF - Stochastic Fast
STOCHRSI - Stochastic Relative Strength Index
TD_I - Tom DeMark Indicator
TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
ULTOSC - Ultimate Oscillator
WILLR - Williams' %R

Overlap Studies:
BBANDS - Bollinger Bands
BUTTERWORTH - Butterworth Filter
CAMPIVOT - Camarilla Pivots
DEMA - Double Exponential Moving Average
EMA - Exponential Moving Average
EMAENVELOPE - EMA Envelope
FIBPIVOT - Fibonacci Pivot
HMA - Hull Moving Average
HT_TRENDLINE - Hilbert Transform - Instantaneous Trendline
ICHIMOKU - Ichimoku
KAMA - Kaufman Adaptive Moving Average
KELTNER - Keltner Channel
LWMA - Linear Weighted Moving Average (LWMA)
MA - Moving average
MAENVELOPE - MA Envelope
MAMA - MESA Adaptive Moving Average
MAVP - Moving average with variable period
MIDPOINT - MidPoint over period
MIDPRICE - Midpoint Price over period
PCHANNEL - Price Channel
PIVOT - Pivot
SAR - Parabolic SAR
SAREXT - Parabolic SAR - Extended
SMA - Simple Moving Average
SMMA - Smoothed Moving Average (SMMA)
T3 - Triple Exponential Moving Average (T3)
TD_S - TD Sequential
TEMA - Triple Exponential Moving Average
TRENDENVELOPES - Trend Envelope
TRIMA - Triangular Moving Average
VOLUMEWAP - Volume Weighted Average Price
WMA - Weighted Moving Average
WOODPIVOT - Woodie Pivot

Pattern Recognition:
ASC_TRIANGLE - Ascending Triangle Pattern
CDL2CROWS - Two Crows
CDL3BLACKCROWS - Three Black Crows
CDL3INSIDE - Three Inside Up/Down
CDL3LINESTRIKE - Three-Line Strike
CDL3OUTSIDE - Three Outside Up/Down
CDL3STARSINSOUTH - Three Stars In The South
CDL3WHITESOLDIERS - Three Advancing White Soldiers
CDLABANDONEDBABY - Abandoned Baby
CDLADVANCEBLOCK - Advance Block
CDLBELTHOLD - Belt-hold
CDLBREAKAWAY - Breakaway
CDLCLOSINGMARUBOZU - Closing Marubozu
CDLCONCEALBABYSWALL - Concealing Baby Swallow
CDLCOUNTERATTACK - Counterattack
CDLDARKCLOUDCOVER - Dark Cloud Cover
CDLDOJI - Doji
CDLDOJISTAR - Doji Star
CDLDRAGONFLYDOJI - Dragonfly Doji
CDLENGULFING - Engulfing Pattern
CDLEVENINGDOJISTAR - Evening Doji Star
CDLEVENINGSTAR - Evening Star
CDLGAPSIDESIDEWHITE - Up/Down-gap side-by-side white lines
CDLGRAVESTONEDOJI - Gravestone Doji
CDLHAMMER - Hammer
CDLHANGINGMAN - Hanging Man
CDLHARAMI - Harami Pattern
CDLHARAMICROSS - Harami Cross Pattern
CDLHIGHWAVE - High-Wave Candle
CDLHIKKAKE - Hikkake Pattern
CDLHIKKAKEMOD - Modified Hikkake Pattern
CDLHOMINGPIGEON - Homing Pigeon
CDLIDENTICAL3CROWS - Identical Three Crows
CDLINNECK - In-Neck Pattern
CDLINVERTEDHAMMER - Inverted Hammer
CDLKICKING - Kicking
CDLKICKINGBYLENGTH - Kicking - bull/bear determined by the longer marubozu
CDLLADDERBOTTOM - Ladder Bottom
CDLLONGLEGGEDDOJI - Long Legged Doji
CDLLONGLINE - Long Line Candle
CDLMARUBOZU - Marubozu
CDLMATCHINGLOW - Matching Low
CDLMATHOLD - Mat Hold
CDLMORNINGDOJISTAR - Morning Doji Star
CDLMORNINGSTAR - Morning Star
CDLONNECK - On-Neck Pattern
CDLPIERCING - Piercing Pattern
CDLRICKSHAWMAN - Rickshaw Man
CDLRISEFALL3METHODS - Rising/Falling Three Methods
CDLSEPARATINGLINES - Separating Lines
CDLSHOOTINGSTAR - Shooting Star
CDLSHORTLINE - Short Line Candle
CDLSPINNINGTOP - Spinning Top
CDLSTALLEDPATTERN - Stalled Pattern
CDLSTICKSANDWICH - Stick Sandwich
CDLTAKURI - Takuri (Dragonfly Doji with very long lower shadow)
CDLTASUKIGAP - Tasuki Gap
CDLTHRUSTING - Thrusting Pattern
CDLTRISTAR - Tristar Pattern
CDLUNIQUE3RIVER - Unique 3 River
CDLUPSIDEGAP2CROWS - Upside Gap Two Crows
CDLXSIDEGAP3METHODS - Upside/Downside Gap Three Methods
CHANNEL_DOWN - Channel Down Pattern
CHANNEL_UP - Channel Up Pattern
DESC_TRIANGLE - Descending Triangle Pattern
DOUBLE_BOTTOM - Double Bottom Pattern
DOUBLE_TOP - Double Top Pattern
FALLING_WEDGE - Falling Wedge Pattern
HEAD&SHLDRS - Head and Shoulders Pattern
INVERSE_HEAD&SHLDRS - Inverse Head and Shoulders Pattern
INVERSE_RECT - Inverse Rectangle Pattern
PENNANT - Pennant Pattern
RECTANGLE - Rectangle Pattern
RISING_WEDGE - Rising Wedge Pattern
THRUSTBAR - Thrust Bar
THRUSTOUTSIDEBAR - Thrust Outside Bar
TRIANGLE - Triangle Pattern
TRIPLE_BOTTOM - Triple Bottom Pattern
TRIPLE_TOP - Triple Top Pattern

Price Transform:
AVGPRICE - Average Price
MEDPRICE - Median Price
TYPPRICE - Typical Price
WCLPRICE - Weighted Close Price

Statistic Functions:
BETA - Beta
CORREL - Pearson's Correlation Coefficient (r)
LINEARREG - Linear Regression
LINEARREG_ANGLE - Linear Regression Angle
LINEARREG_INTERCEPT - Linear Regression Intercept
LINEARREG_SLOPE - Linear Regression Slope
STDDEV - Standard Deviation
TSF - Time Series Forecast
VAR - Variance

Volatility Indicators:
ATR - Average True Range
DONCHIANCHANNEL - Donchian Channel
NATR - Normalized Average True Range
TRANGE - True Range

Volume Indicators:
AD - Chaikin A/D Line
ADOSC - Chaikin A/D Oscillator
OBV - On Balance Volume
TVS - Time Segmented Volume
VOLUME - Volumes
VOLUMEEXT - Volume indicator with customizable drawing style




Anyway, I'm not pointing anyone in the direction of Dukascopy, just towards the Jforex platform itself. The links from Dukas above are there because they are the places I'm familiar with and can find information on the platform. I have zero affiliation with Dukascopy.

Cheers,

Matt

Hey Matt, :D

I am with You All the Way with this C-Trader Platform Thinghy, Screw Empty4, it's about time we Give em a Run for their Money and Shift to more Stable Platforms :D


Happy Trading Y'all,

xrismak. ;)
soulfire
Posts: 8
Joined: Tue Mar 27, 2012 4:26 pm

Re: The purpose of this sub-forum

Post by soulfire »

I'm following the discussion and my interest lies in 3 options:
1. cTrader
2. Multicharts
3. Tradable

All 3 seem to be primed for mass adoption by brokers and very positive interaction with traders and third party developers. cTrader has been discussed already so I won't discuss it although it may well be the most promising.

I'm really surprised there isn't more discussion about Multicharts.
It has been around a lot longer than ctrader, is already used at a bunch of brokers and has features that I would think many here would be very interested in such as:

Genetic strategy optimization
http://www.multicharts.com/genetic-stra ... ation-net/

Portfolio backtesting (test multiple strategies and currencies simultaneously)
http://www.multicharts.com/portfolio-backtesting-net/

C# development:
http://www.multicharts.com/strategy-development-net/

A HUGE community of third party add-ons:
http://www.multicharts.com/multicharts/addons/

API available:
http://www.multicharts.com/multicharts/sdk/

It seems like a top quality environment for strategy creation and testing. I know cost is an issue and whether the brokers would be able to offer it free for use to all clients is an open question I guess.
Post Reply

Return to “Finding a new platform”