Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

Soultrader

Programming: Where to Start?

Recommended Posts

Decided to take another stab at learning programming. Its been my number weakness for years and yet Ive been delaying this requirement.

 

Can anyone recommend any programming language and books on where to start? Primarily interested in being able to code strategies for various platforms. So probably best if I begin with something general and compatible with all the mainstream platforms. Thanks!

Share this post


Link to post
Share on other sites

If you want a general idea, I think C++ is a good place to start.

 

C++ Language Tutorial

 

As far as a trading-specific language, I think Easy Language is most widely used, though I have no experience with it:

 

https://www.tradestation.com/support/tutorials/easylanguage.aspx

 

I'm a programming newbie, but I've read a lot about getting started...It's just that I never get past the "getting started" phase. I've written a "hello world" program in c++ many, many times.

Share this post


Link to post
Share on other sites

If you want to be serious :

 

1) Refresh your math skills(take a course, no excuses...I said serious...).

 

2) Have a clear goal what you want to attempt.

 

3) C# is great (Ninja), Easylang is ok(depends on what you want to achieve, thus if you have very very smart ideas (like me ...lol) you will need to exe them on a platform that has no limits ( TS and MC are not the way to go , why ? well these programs cannot calc Multimarket analysis well at all unless you use Global variables, and for that you will need to know C# ...again its all in what you want to attempt).

 

 

4) If you are going for the pro stuff (I have been programming for over a decade , so from experience I must stress that the basics is what counts), you will need 1-2 years of experience to even attempt smart coding , if you want easy lang level - 3-6 months - with proper guidance .

Share this post


Link to post
Share on other sites

as what programmer mentioned, it depends on what you really want to achieve with the programming language you learn.

 

I'm not too sure if EasyLanguage is really classified as a proper programming language, what I do know from my own experience is:

1. C++:

for speed - writing programs (.exe) that speeds processes that you may want to do routinely. e.g. I use the end program to clean up ;arge xls and csv data files for data analysis.

to be noted - strong in arrays, but dont try if you want to manipulate matrices. Its going to be a real pain.

 

2. MATLAB:

for manipulation of matrices, mathematical programming

to be noted - not really portable to other computers (the MCR is a joke...the installation is big and you need to have the MCR relating to the same MATLAB version you created your little program). Its really expensive too.

 

3. R:

for data analysis. its called a statistical analysis environment, but I tend to view it as a general data analysis environment since there are so many packages for different usage asides statistical analysis.

to be noted - its free, but GUI is really limited. console is the main way to do things. If GUI is important, Tinn-R has to be a companion to R. The combination will give a MATLAB-like GUI workspace.

Share this post


Link to post
Share on other sites
Guest TomH

3. R:

for data analysis. its called a statistical analysis environment, but I tend to view it as a general data analysis environment since there are so many packages for different usage asides statistical analysis.

to be noted - its free, but GUI is really limited. console is the main way to do things. If GUI is important, Tinn-R has to be a companion to R. The combination will give a MATLAB-like GUI workspace.

 

R is more of a scripting language than a serious general programming environment, as mentioned above, but for financial analysis you should be able to implement some serious stuff after a few days with packages like R's quantmod - that would take months from a standing start with C++

 

If the original poster wants to learn the principles of programming then C or Java are the sorts of things used in undergraduate CompSci classes. However for day to day rapid development I previously use perl and Java, and more recently hack up financial models in R

 

In the real world, if you learn the principles of loops, conditionals, variable types and functions, then you have the basics of most procedural languages, and converting your knowledge from say VBscript, javascript, Bash, R, perl, and most of the platform specific scripting languages for the trading platform is a matter reading the manual.

Edited by TomH

Share this post


Link to post
Share on other sites

I would recommend (fairly highly) Easylanguage for numerous reasons.

 

It is fast to get results which should a) keep you motivated b) allow you to learn quicker.

 

There are thousands and thousands of studies and code samples. A good way of learning is looking at how other people do it. Again you will get quick practical results modifying someone else's code whilst learning a bit at a time. This leads on to pier support. Just look at TL and ask yourself if I need help which language is best supported?

 

It is based on Pascal.... some might mock that but personally I think its a strong language. One of its design criteria was that it was easy to learn and has stringent compile time checking (it is usually harder to find bugs at run time, though this is less important with 'scripted' stuff). There will always be a flavour of the month language C++, Java, C Sharp, Ruby etc. Fashion plays a big part in programming languages though many are main stream now. If you can program the languages become less important.

 

The biggest challenge you are likely to find is not the language itself but the functions (trendy languages will call them methods) you call to do basic stuff, e.g. read data series, plot something, find out the time etc. EL implements this cleanly and more importantly simply.

 

Nothing wrong with starting a project and just throwing yourself in. (Hello world is a popular one!) despite doing a degree in computer science (in the 70's) I didn't really become accomplished until I actually started writing code professionaly.

Share this post


Link to post
Share on other sites
R is more of a scripting language than a serious general programming environment, as mentioned above, but for financial analysis you should be able to implement some serious stuff after a few days with packages like R's quantmod - that would take months from a standing start with C++

 

If the original poster wants to learn the principles of programming then C or Java are the sorts of things used in undergraduate CompSci classes. However for day to day rapid development I previously use perl and Java, and more recently hack up financial models in R

 

In the real world, if you learn the principles of loops, conditionals, variable types and functions, then you have the basics of most procedural languages, and converting your knowledge from say VBscript, javascript, Bash, R, perl, and most of the platform specific scripting languages for the trading platform is a matter reading the manual.

 

heh, I dont know whether to call MATLAB and R a programming language or not, but, I prefer to use the word environment XD. as Tom has mentioned, it reduces the time from idea to an actual work.

Share this post


Link to post
Share on other sites

I should add my answer was more from the point of view of learning 'general' programming. If your bias was towards statistical analysis and mathematical modelling I'd probably have to modify my answer:)

Share this post


Link to post
Share on other sites

hey I am learning java not because I wanted to do something in TA but because I want to learn some programming language. But after reading above posts I am curious to know where will I stand w.r.t programming for technical and stat analysis visa vis other languages if I learn java language in depth if it is possible. Thanks

Share this post


Link to post
Share on other sites

Hi James,

 

It really doesn't matter IMHO, what matters is that you understand the idioms. How to think about a problem in terms of those idioms.

 

I would not recommend C++ however, as you have to learn too much detail outside of those idioms (pointers, references, other low level intricacies). Focus on higher level languages that allow you to learn the idioms. Some languages that come to mind in this area are:

- Java

- C#

- Ruby

- Pyhthon

 

Once you understand the idioms well and can think about a problem in those idioms, learning another language is strictly syntax. You know how to solve the problem, just need to learn the syntax for it.

 

With kind regards,

MK

Share this post


Link to post
Share on other sites

Thank you all so much for the suggestions. I just got back from the bookstore, got myself some intro books on C++ and Python. I am not looking to do anything fancy as all my strategies are very simple. The only issue was I couldnt even program simple stuff.

 

As for EasyLanguage I am not sure if I will ever use Tradestation as I am pretty much hooked on the CQG platform and hard for me to convert at the moment. I may start flooding the Coding forum with some newbie questions so I hope its okay... hopefully nobody reports it to me :)

 

Are C++ and C# two different languages? Im still unclear regarding the similarities between different languages... I suppose if I learn C++ or Python I could easily adjust to the rest? Thanks!

Share this post


Link to post
Share on other sites

Here's my 2 cents' worth:

 

I say "2 cents" because I am not qualified to give expert advice.

I do not have a computer degree;

I only took ONE programming course in university. (That's only because it was a compulsory credit.)

 

 

Here's my 1st 2 cents; it is not a discouragement, just a reality:

 

If a person has not taken at least one computer course in high school or university,

learning a programming language as an adult will be a daunting task.

 

It is not impossible, it just requires effort.

 

 

Having said that, if you still want to proceed... here are my 2nd 2 cents:

 

I would steer away from C#, C++, Java, etc.,

These are powerful and versatile Object Oriented Programming languages (OOP)...

They are not difficult to learn; there are lots of free tutorial on the web,

...and lots of books in the library.

but I would still steer away from them because these languages require

a different thinking mindset to learn and operate.

You will need to put on a geek's hat to think in C# and the like.

Many people have tried and succeed,

some have tried and "spent time"...

If you want a challenge, by all means go for it.

 

 

Here's my 3rd 2 cents:

 

Those who have read my posts here will know I will "shill" for EasyLanguage. LOL.

 

EasyLanguage is a dedicated programming language specially designed for trading.

 

You can find EasyLanguage's root in Pascal;

Pascal is an English-like teaching language invented in the 60's.

 

Pascal is a procedural programming language;

it employs structured programming and data structuring.

ie. EasyLanguage has taken up Pascal's good programing practices.

Good programming practice saves you time in logic design and headaches in debugging.

 

EasyLanguage has been around for almost 20 years.

It is a product of continuous refinement and enhancement;

thanks to a large community of users that gave valuable feedback and

feature requests over the years, EasyLanguage has become quite a comprehensive

trading engine for amateurs and pros alike.

 

There are lots of free EasyLanguage indicators and strategies on the web.

Anything you can think of, probably it has already been done and the codes posted.

 

EasyLanaguage is supported by a number of programs:

TradeStation (benchmark version)

MultiCharts (enhanced version)

Open E Cry (limited version)

TradersStudio (limited version)

plus a few more...

 

Can EasyLanguage do everything a trader wants?

The short answer is "NO".

e.g. EasyLanguage does not support Level II.

 

Can EasyLanguage be extended by user?

Yes, through DLL and function libraries.

e.g.

Global Variable

http://www.traderslaboratory.com/forums/f46/global-variable-v2-2-a-6023.html

ELCollections - Collections for EasyLanguage

http://www.traderslaboratory.com/forums/f46/collections-easylanguage-5929.html

ADE - All Data Everywhere

http://www.traderslaboratory.com/forums/f46/ade-all-data-everywhere-easylanguage-5934.html

 

 

 

My conclusion:

EasyLanguage is a good place to start for the uninitiated.

If you know some programming basics, then you won't have a problem with C#, etc.

Edited by Tams

Share this post


Link to post
Share on other sites

if you understand the differences,

it will make your choice easier.

 

Procedural vs. Object-Oriented Programming

 

[ame=http://www.youtube.com/watch?v=4_Oj4xcD52A&feature=related]YouTube - Procedural vs. Object-Oriented[/ame]

Share this post


Link to post
Share on other sites

I went down this path for a bit on diff't angle. - I started with v.b.a for excel figuring my familiarity with excel would make this easier. I began learning to declare variables and doing loops etc... But figured out that programming at that level is total overkill. I think it's a good idea to learn intro programming but programming is really for building tailored applications. In this modern age, I believe what most of us want to do is be able to manipulate data easily. And this requires being able to write script within a code editor on an existing application (an app that is highly flexible - like excel and easylanguage). You don't want to be stuck maintaining the syntax of basic instructions to the data-set, such as the syntax associated with telling the computer how to handle an extra space or defining a variable as an integer. These are things that can be worked out at the application layer.

Edited by Frank

Share this post


Link to post
Share on other sites

At the end of the day the language is essentially different syntax though as Tams points out there are a few conceptual differences. It is also 'clear cut', it either is syntactically correct or not.

 

The big issue is the platform because the bulk of what you will be doing is calling functions (or invoking methods) to get stuff in and out of your code. It is how this 'API' stuff is implemented that is likely to prove challenging or not. The nature of programming nowadays is understanding the API you are programming too. Actually IO (input output) and getting stuff to and from the operating system has always been the tricky stuff. The charting app you use is essentially your operating system. Put another way there is not much programming involved in programming :)

 

If you use CQG it would make quite a lot of sense to go with that though it will be hard to get specific help on that platform (though I am sure many can provide general programming help).

 

Why not just dive in and write a simple moving average and see how you get on?

Share this post


Link to post
Share on other sites
At the end of the day the language is essentially different syntax though as Tams points out there are a few conceptual differences. It is also 'clear cut', it either is syntactically correct or not.

 

The big issue is the platform because the bulk of what you will be doing is calling functions (or invoking methods) to get stuff in and out of your code. It is how this 'API' stuff is implemented that is likely to prove challenging or not. The nature of programming nowadays is understanding the API you are programming too. Actually IO (input output) and getting stuff to and from the operating system has always been the tricky stuff. The charting app you use is essentially your operating system. Put another way there is not much programming involved in programming :)

 

If you use CQG it would make quite a lot of sense to go with that though it will be hard to get specific help on that platform (though I am sure many can provide general programming help).

 

Why not just dive in and write a simple moving average and see how you get on?

 

Hi Blowfish,

 

Thanks for the reply. Which language would you be referring to if I was to use CQG? Would C++ be the correct choice? Thanks.

Share this post


Link to post
Share on other sites

Just remember that code you write will need to be maintained. Maintenance is a pain in the ass. If you aren't a programmer by nature (who can maintain code extremely quickly), you will end up spending all your time just determining where the bugs in your program are and have little time left for actually figuring out profitable concepts/strategies.

Edited by Frank

Share this post


Link to post
Share on other sites

There's the rub, CQG is one of the few platforms I know absolutely nothing about (except that it is expensive!).

 

Most Platforms have there own scripting implementation based on one of the popular languages. I know CQG has a formula language but I don't even know if that is appropriate for developing 'full blown' studies to be honest.

Share this post


Link to post
Share on other sites

that video on object oriented computing was not exactly clear...

 

I am not a programmer but read a bit on this and think I understand some of the basics and writing it out probably helps further so I will and will ask for comments.

 

object oriented computing simply means you are interacting at a level that requires less knowledge of basic programming plumbing.

 

Microsofts excel is best example I know of -- Excel knows how to sum numbers etc... and you just have to stick in =2+2 into the cell, you don't have to declare '2' as an integer, you don't have to use headers and announce what you are about to do -- all this stuff is just wasted time, excel is geared specifically for this kind of thing. Easylanguage makes similar assumptions that are essentially a giant time-saver. Programming purists might think that this isn't real programming but guess what -- programmers are the guys who work FOR the the Wharton grads.

 

Now Microsoft wanted to add another level on top of that basic Excel-application level to 'extend' the functionality. So it developed VBA (Visual Basic for Applications) which allows you to now interact more powerfully with a worksheet... or a cell.... or a RANGE of cells. So if you want to work with cells A1:B2 --you can do this as A1:B2 just becomes an 'object' -- and you are interacting with the object -- and the underlying application knows how to interact with the object. In this way, you have taken out a lot of wasted time/complexity code out of the equation. This is a pretty cool structure and so programming becomes less about understanding how to structure a full program --- and more about understanding how to structure the shortcut --- which saves time and allows for MORE actual analysis.

 

The interesting thing is that as Microsoft extends the app with VBA, they also extend the core application -- so that you can actually do many types of loops and manipulate arrays without even writing VBA code into the editor, you just need to know the short-cut and write it into the same space where you enter data --- and they have essentially created dialog boxes to help if you get stuck --- its all just automating the VBA code.

 

I bring this up to show that the lines are all blurring and that understanding basic programming is good in that it helps you more deeply understand what is going on under the hood of the app -- ie, the word 'trim' in programming means clean up a word to get rid of extra spaces around it --- but if you write =TRIM(A1) in excel, it does the exact same thing.... you could write a program to 'trim' the data --- or you could bypass all that and just write =TRIM (cell)...... there are tons of short-cuts like this...

 

as Blowfish stated, there isn't really that much true programming in programming anymore. its all going the way of the business user (knowledge worker) and away from 'full program writers' (ie, the value of understanding the FULL program details matters less and less as time goes on)...

Edited by Frank

Share this post


Link to post
Share on other sites
I would recommend (fairly highly) Easylanguage for numerous reasons.

 

It is fast to get results which should a) keep you motivated b) allow you to learn quicker.

 

There are thousands and thousands of studies and code samples. A good way of learning is looking at how other people do it. Again you will get quick practical results modifying someone else's code whilst learning a bit at a time.

 

I agree with you

 

I've started programming less than a year only in reading code samples in this great site with the help of good teachers.

 

Before I knew only 2+2 results with Excel ( 3 and half, I think ?)

 

Now I can manipulate basic codes and I'm afraid to be not as intelligent as you are to do more because I know my limits in logic.

 

So easyLangage is "easy" for real beginners with strong motivations to do basic things.

 

Good luck in your studies ! :)

Share this post


Link to post
Share on other sites
hey I am learning java not because I wanted to do something in TA but because I want to learn some programming language. But after reading above posts I am curious to know where will I stand w.r.t programming for technical and stat analysis visa vis other languages if I learn java language in depth if it is possible. Thanks

 

Hi Delta,

 

I guess nobody can really answer your question.

But I will tell you what I think.

 

Quite some time ago, I decided to implement an application, that should use

my brokers API. Because there is a Java application and a demo of its use available,

and I liked to learn Java (I have used other object oriented languages before,

my first one was SIMULA) I started to learn Java using NetBeans as development platform.

Btw. an advantage is, that you can use it for free and don't have to buy expensive software.

 

Now, as others have already written here, to learn the language and concepts is one thing,

and I don't know how long a real beginner needs for that, but there is a second point.

 

Are you able to develop all parts of your software alone?!

 

Lets explain, if you like to have charts, will you code all this,

or will you try to use open sources. Then, are there open sources available for your needs. Do you have to modify them?

 

Now to statistics. Same story as above.

 

So my conclusion is, with using Java (or comparable languages) you can do

nearly everything you like. But you have to do it.

 

 

So it is really the big question, what you would like to do with your

application. And before you start to learn Java, you have to check, if there is an easier, cheaper,

more efficient way to solve these tasks.

If there is none, well you might need to implement your application,

but for the majority of people, its easier and better to use already available platforms.

 

Hal

 

P.S.: I still like Java. I go on developing my own ideas, but it was a long tough way so far. And the way goes on.

Last but not least, if I can help you learning Java, just ask, but remember,

I am also still learning it. :helloooo:

Edited by HAL9000

Share this post


Link to post
Share on other sites

Seriously James - stay away from C++ as a first language. You will spend a huge amount of time with the memory management aspect of programming and it just isn't necessary to add that complexity when learning. The languages I listed before relieve you of that. Memory management in languages like C++ of Delphi are where 95% of the bugs reside in professional programs.

 

Sure, you can start here and end up where you want to be. But it will take longer and a lot more effort.

Share this post


Link to post
Share on other sites

The absolutely central question is:

What are you intending to use your code for?

 

The answer to "where to start" will vary strongly depending on your intention.

 

There are several main directions where programming in connection with trading might go:

 

A Statistical evaluations (means, regressions, time series analysis)

B "Old-style" indicators (like variations of MAs, Stoch etc., using price and/or volume to compute new values.

C Extracting new / additional information from high-speed/high-bandwidth datastreams (like CQG), doing computations on bid/ask/trades, Dom-data etc.

 

Please add more that I forgot.

 

Since you said you want to interface to CQG I guess you want to go for the more innovative/high-speed things.

 

 

 

It can be useful to consider several parameters of programming languages:

 

- Speed of execution

- Learning curve for the user

- Support for the user (environment supporting the development, language helps with error checking, debugging helps, language straightforward)

- Mathematical / statistical analysis supported

- Can try truely innovative approaches

- Forums and example programs available

 

 

Some people recommended the use of trading-platform dependent languages like EasyLanguage.

This restricts the user to the possibilities of the platform.

There are always big limitations if the program runs in a "sandbox". Also there may be some day where suddenly there is no more access to the platform (company shuts down). E.g. many OpenTick users are looking in the net for new homes.

This approach is mainly suited if you want to go for "old-style" indicators.

Speed -, Learning+, Support+, Math+/-, Innovations--

 

 

C++

Sure it is the fastest high-level programming language out there and you can nearly do anything with it.

But WARNING it has a very steep learning curve (some of the posters already admitted that he never got beyond "hello world" - this is just the usual outcome for newbies & C++).

Also there are tons of traps hidden in the language and the user has to do many things (checking) that in other languages the compiler does for him. Many examples how you change your code just very slightly and it means something completely different.

Good news: You don't need C++: With modern fast computers mostly you do not need the ultimate speed, fast is good enough. And: When dealing with price, volume and so on you do not need complex language features.

Speed++, Learning--, Support--, Math +/-, Innovations++

 

 

C#

Is very different from C++!

It does error checking, it is much more straightforward in the language construction.

C# is pretty much the same as Visual Basic.

You can just go to MSDN and find hundreds of pages where you see that the language constructs are just a bit different (between C# and VB), the essence is the same.

Example: BitConverter Class (System)

Speed +, Learning+, Support+, Math+/-, Innovations++

 

 

Visual Basic (VB)

In my view better to read (Yes, I admit - I started with Pascal 25 years ago and still like it) and more free support out in the net.

Otherwise with only few exceptions like C#.

Modern processors in connection with VB can easily keep up with a real-time data stream at 100kB/sec and still do quite funny things.

Speed +, Learning+, Support+, Math+/-, Innovations++

 

 

Java

Learning curve pretty much like C# or VB.

Additional advantage of being able to let programs run on different systems (linux).

Personally I prefer anyway the (free) development platforms from Microsoft. They support the user in many ways.

Speed +, Learning+, Support+, Math+/-, Innovations++

 

 

 

Python

Can be learned pretty fast, intelligent language.

But relatively slow, not so much support. May be hard to connect to some data provider API (because you have to write an adaptor in the first place).

Speed -, Learning+, Support +/-, Math+/-, Innovations-

 

 

Mathematical languages (MatLab, R..)

The language is usually quite easy to learn, the mathematics behind you must know before!

You are limited to quant-type strategies.

Speed -, Learning+, Support+, Math++, Innovations-

 

 

Excel

Dead slow. Very easy to learn in the first place.

If you try to do something a little complex you end up with unreadable code.

But good for a quick look at numbers.

Speed --, Learning++, Support+, Math+, Innovations--

 

 

 

Quote from CQG site:

"Samples of how to use the CQG API are provided for C#, C++, MatLab, Microsoft Excel VBA, and Visual Basic 6.0."

 

In this case just follow the precedence CQG has already implied: C#!

Btw if they say C# surely VB is possible also but I don't know if they have sample code.

 

 

Sorry for getting lenghty. It is a complex question.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • Date: 19th April 2024. Weekly Commodity Market Update: Oil Prices Correct and Supply Concerns Persist.   The ongoing developments in the Middle East sparked a wave of risk aversion and fueled supply concerns and investors headed for safety. Hopes for imminent rate cuts from the Federal Reserve diminish while attention is now turning towards the demand outlook. The Gold price hit a high of $2417.89 per ounce overnight. Sentiment has already calmed down again and bullion is trading at $2376.50 per ounce as haven flows ease. Oil prices initially moved higher as concern over escalating tensions with the WTI contract hit a session high of $85.508 per barrel overnight, before correcting to currently $81.45 per barrel. Oil Prices Under Pressure Amid Middle East Tensions Last week, commodity indexes showed little movement, with Oil prices undergoing a slight correction. Meanwhile, Gold reached yet another record high, mirroring the upward trend in cocoa prices. Once again today, USOil prices experienced a correction and has remained under pressure, retesting the 50-day EMA at $81.00 as we moving into the weekend. Hence, despite the Israel’s retaliatory strike on Iran, sentiments stabilized following reports suggesting a measured response aimed at avoiding further escalation. Brent crude futures witnessed a more than 4% leap, driven by concerns over potential disruptions to oil supplies in the Middle East, only to subsequently erase all gains. Similarly with USOIL, UKOIL hovers just below $87 per barrel, marginally below Thursday’s closing figures. Nevertheless, volatility is expected to continue in the market as several potential risks loom:   Disruption to the Strait of Hormuz: The possibility of Iran disrupting navigation through the vital shipping lane, is still in play. The Strait of Hormuz serves as the Persian Gulf’s primary route to international waters, with approximately 21 million barrels of oil passing through daily. Recent events, including Iran’s seizure of an Israel-linked container ship, underscore the geopolitical sensitivity of the region. Tougher Sanctions on Iran: Analysts speculate that the US may impose stricter sanctions on Iranian oil exports or intensify enforcement of existing restrictions. With global oil consumption reaching 102 million barrels per day, Iran’s production of 3.3 million barrels remains significant. Recent actions targeting Venezuelan oil highlight the potential for increased pressure on Iranian exports. OPEC Output Increases: Despite the desire for higher prices, OPEC members such as Saudi Arabia and Russia have constrained output in recent years. However, sustained crude prices above $100 per barrel could prompt concerns about demand and incentivize increased production. The OPEC may opt to boost oil output should tensions escalate further and prices surge. Ukraine Conflict: Amidst the focus on the Middle East, markets overlooking Russia’s actions in Ukraine. Potential retaliatory strikes by Kyiv on Russian oil infrastructure could impact exports, adding further complexity to global oil markets.   Technical Analysis USOIL is marking one of the steepest weekly declines witnessed this year after a brief period of consolidation. The breach below the pivotal support level of 84.00, coupled with the descent below the mid of the 4-month upchannel, signals a possible shift in market sentiment towards a bearish trend reversal. Adding to the bearish outlook are indications such as the downward slope in the RSI. However, the asset still hold above the 50-day EMA which coincides also with the mid of last year’s downleg, with key support zone at $80.00-$81.00. If it breaks this support zone, the focus may shift towards the 200-day EMA and 38.2% Fib. level at $77.60-$79.00. Conversely, a rejection of the $81 level and an upside potential could see the price returning back to $84.00. A break of the latter could trigger the attention back to the December’s resistance, situated around $86.60. A breakthrough above this level could ignite a stronger rally towards the $89.20-$90.00 zone. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Michalis Efthymiou Market Analyst HMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past perfrmance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
    • Date: 18th April 2024. Market News – Stock markets benefit from Dollar correction. Economic Indicators & Central Banks:   Technical buying, bargain hunting, and risk aversion helped Treasuries rally and unwind recent losses. Yields dropped from the recent 2024 highs. Asian stock markets strengthened, as the US Dollar corrected in the wake of comments from Japan’s currency chief Masato Kanda, who said G7 countries continue to stress that excessive swings and disorderly moves in the foreign exchange market were harmful for economies. US Stockpiles expanded to 10-month high. The data overshadowed the impact of geopolitical tensions in the Middle East as traders await Israel’s response to Iran’s unprecedented recent attack. President Joe Biden called for higher tariffs on imports of Chinese steel and aluminum.   Financial Markets Performance:   The USDIndex stumbled, falling to 105.66 at the end of the day from the intraday high of 106.48. It lost ground against most of its G10 peers. There wasn’t much on the calendar to provide new direction. USDJPY lows retesting the 154 bottom! NOT an intervention yet. BoJ/MoF USDJPY intervention happens when there is more than 100+ pip move in seconds, not 50 pips. USOIL slumped by 3% near $82, as US crude inventories rose by 2.7 million barrels last week, hitting the highest level since last June, while gauges of fuel demand declined. Gold strengthened as the dollar weakened and bullion is trading at $2378.44 per ounce. Market Trends:   Wall Street closed in the red after opening with small corrective gains. The NASDAQ underperformed, slumping -1.15%, with the S&P500 -0.58% lower, while the Dow lost -0.12. The Nikkei closed 0.2% higher, the Hang Seng gained more than 1. European and US futures are finding buyers. A gauge of global chip stocks and AI bellwether Nvidia Corp. have both fallen into a technical correction. The TMSC reported its first profit rise in a year, after strong AI demand revived growth at the world’s biggest contract chipmaker. The main chipmaker to Apple Inc. and Nvidia Corp. recorded a 9% rise in net income, beating estimates. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Andria Pichidi Market Analyst HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
    • Date: 17th April 2024. Market News – Appetite for risk-taking remains weak. Economic Indicators & Central Banks:   Stocks, Treasury yields and US Dollar stay firmed. Fed Chair Powell added to the recent sell off. His slightly more hawkish tone further priced out chances for any imminent action and the timing of a cut was pushed out further. He suggested if higher inflation does persist, the Fed will hold rates steady “for as long as needed.” Implied Fed Fund: There remains no real chance for a move on May 1 and at their intraday highs the June implied funds rate future showed only 5 bps, while July reflected only 10 bps. And a full 25 bps was not priced in until November, with 38 bps in cuts seen for 2024. US & EU Economies Diverging: Lagarde says ECB is moving toward rate cuts – if there are no major shocks. UK March CPI inflation falls less than expected. Output price inflation has started to nudge higher, despite another decline in input prices. Together with yesterday’s higher than expected wage numbers, the data will add to the arguments of the hawks at the BoE, which remain very reluctant to contemplate rate cuts. Canada CPI rose 0.6% in March, double the 0.3% February increase BUT core eased. The doors are still open for a possible cut at the next BoC meeting on June 5. IMF revised up its global growth forecast for 2024 with inflation easing, in its new World Economic Outlook. This is consistent with a global soft landing, according to the report. Financial Markets Performance:   USDJPY also inched up to 154.67 on expectations the BoJ will remain accommodative and as the market challenges a perceived 155 red line for MoF intervention. USOIL prices slipped -0.15% to $84.20 per barrel. Gold rose 0.24% to $2389.11 per ounce, a new record closing high as geopolitical risks overshadowed the impacts of rising rates and the stronger dollar. Market Trends:   Wall Street waffled either side of unchanged on the day amid dimming rate cut potential, rising yields, and earnings. The major indexes closed mixed with the Dow up 0.17%, while the S&P500 and NASDAQ lost -0.21% and -0.12%, respectively. Asian stock markets mostly corrected again, with Japanese bourses underperforming and the Nikkei down -1.3%. Mainland China bourses were a notable exception and the CSI 300 rallied 1.4%, but the MSCI Asia Pacific index came close to erasing the gains for this year. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Andria Pichidi Market Analyst HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.vvvvvvv
    • Date: 16th April 2024. Market News – Stocks and currencies sell off; USD up. Economic Indicators & Central Banks:   Stocks and currencies sell off, while the US Dollar picks up haven flows. Treasuries yields spiked again to fresh 2024 peaks before paring losses into the close, post, the stronger than expected retail sales eliciting a broad sell off in the markets. Rates surged as the data pushed rate cut bets further into the future with July now less than a 50-50 chance. Wall Street finished with steep declines led by tech. Stocks opened in the green on a relief trade after Israel repulsed the well advertised attack from Iran on Sunday. But equities turned sharply lower and extended last week’s declines amid the rise in yields. Investor concerns were intensified as Israel threatened retaliation. There’s growing anxiety over earnings even after a big beat from Goldman Sachs. UK labor market data was mixed, as the ILO unemployment rate unexpectedly lifted, while wage growth came in higher than anticipated – The data suggests that the labor market is catching up with the recession. Mixed messages then for the BoE. China grew by 5.3% in Q1 however the numbers are causing a lot of doubts over sustainability of this growth. The bounce came in the first 2 months of the year. In March, growth in retail sales slumped and industrial output decelerated below forecasts, suggesting challenges on the horizon. Today: Germany ZEW, US housing starts & industrial production, Fed Vice Chair Philip Jefferson speech, BOE Bailey speech & IMF outlook. Earnings releases: Morgan Stanley and Bank of America. Financial Markets Performance:   The US Dollar rallied to 106.19 after testing 106.25, gaining against JPY and rising to 154.23, despite intervention risk. Yen traders started to see the 160 mark as the next Resistance level. Gold surged 1.76% to $2386 per ounce amid geopolitical risks and Chinese buying, even as the USD firmed and yields climbed. USOIL is flat at $85 per barrel. Market Trends:   Breaks of key technical levels exacerbated the sell off. Tech was the big loser with the NASDAQ plunging -1.79% to 15,885 while the S&P500 dropped -1.20% to 5061, with the Dow sliding -0.65% to 37,735. The S&P had the biggest 2-day sell off since March 2023. Nikkei and ASX lost -1.9% and -1.8% respectively, and the Hang Seng is down -2.1%. European bourses are down more than -1% and US futures are also in the red. CTA selling tsunami: “Just a few points lower CTAs will for the first time this year start selling in size, to add insult to injury, we are breaking major trend-lines in equities and the gamma stabilizer is totally gone.” Short term CTA threshold levels are kicking in big time according to GS. Medium term is 4873 (most important) while the long term level is at 4605. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Andria Pichidi Market Analyst HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
    • Date: 15th April 2024. Market News – Negative Reversion; Safe Havens Rally. Trading Leveraged Products is risky Economic Indicators & Central Banks:   Markets weigh risk of retaliation cycle in Middle East. Initially the retaliatory strike from Iran on Israel fostered a haven bid, into bonds, gold and other haven assets, as it threatens a wider regional conflict. However, this morning, Oil and Asian equity markets were muted as traders shrugged off fears of a war escalation in the Middle East. Iran said “the matter can be deemed concluded”, and President Joe Biden has called on Israel to exercise restraint following Iran’s drone and missile strike, as part of Washington’s efforts to ease tensions in the Middle East and minimize the likelihood of a widespread regional conflict. New US and UK sanctions banned deliveries of Russian supplies, i.e. key industrial metals, produced after midnight on Friday. Aluminum jumped 9.4%, nickel rose 8.8%, suggesting brokers are bracing for major supply chain disruption. Financial Markets Performance:   The USDIndex fell back from highs over 106 to currently 105.70. The Yen dip against USD to 153.85. USOIL settled lower at 84.50 per barrel and Gold is trading below session highs at currently $2357.92 per ounce. Copper, more liquid and driven by the global economy over recent weeks, was more subdued this morning. Currently at $4.3180. Market Trends:   Asian stock markets traded mixed, but European and US futures are slightly higher after a tough session on Friday and yields have picked up. Mainland China bourses outperformed overnight, after Beijing offered renewed regulatory support. The PBOC meanwhile left the 1-year MLF rate unchanged, while once again draining funds from the system. Nikkei slipped 1% to 39,114.19. On Friday, NASDAQ slumped -1.62% to 16,175, unwinding most of Thursday’s 1.68% jump to a new all-time high at 16,442. The S&P500 fell -1.46% and the Dow dropped 1.24%. Declines were broadbased with all 11 sectors of the S&P finishing in the red. JPMorgan Chase sank 6.5% despite reporting stronger profit in Q1. The nation’s largest bank gave a forecast for a key source of income this year that fell below Wall Street’s estimate, calling for only modest growth. Apple shipments drop by 10% in Q1. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Andria Pichidi Market Analyst HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.