Any Good Book/Course Recommendations Please for C#?

Discussion in 'App Development' started by tommo, Dec 26, 2019.

  1. tommo

    tommo

    Hi,

    I've been a professional futures trader for 12 years. I am looking to learn coding for obvious trading/career benefits.

    My plan so far is learn c# basics via traditional learning methods, but want to get working on trading systems asap. I think the only way i'm going to learn properly is by playing around with code in a trading environment as it is not exactly interesting learning abstract concepts with no obvious application to trading. After 6 hours of getting an "if statement" to tell you how old you are i still feel a million miles from ever being able to build a trading system.

    I picked c# as NinjaTrader runs this and is a flexible, inexpensive way to test out my c# skills.

    However, im struggling finding a resource to bridge the gap between books on learning C# fundamentals and something that applies it to trading.

    Are there any good books or courses that take a beginner in c# and blend it with the trading world? I suspect probably not as i've searched a fair bit. But this would be hugely helpful.

    Thanks
     
  2. 2rosy

    2rosy

  3. schizo

    schizo

    If you're a complete noob, then the best resource is to watch YouTube videos. For instance, this one is really good:

    https://www.youtube.com/playlist?list=PLTjRvDozrdlz3_FPXwb6lX_HoGXa09Yef
     
  4. shatteredx

    shatteredx

    1. Build a basic strategy in the Strategy Builder and then Unlock Code to examine the C# to see how a basic strategy is coded.

    2. Look at examples for doing common tasks like setting stops, etc. in the Reference Samples forum. https://ninjatrader.com/support/forum/forum/ninjascript-educational-resources/reference-samples

    3. If the above is too overwhelming, consider using TradeStation instead as it uses a much simpler coding language and there are many full strategy codes floating around online for it.
     
  5. Snuskpelle

    Snuskpelle

    Are you a reader or listener? (I.e. preferred learning medium?)

    One thing that's quite practical these days is there's a lot of sites enabling you to simple type code into a web page without even installing Visual Studio. E.g. https://dotnetfiddle.net/
     
    Last edited: Dec 26, 2019
  6. If you are a complete noob, then I would suggest F#. Less likely to create bugs.
     
  7. Snuskpelle

    Snuskpelle

    I would agree except for progamming language popularity having implications. https://www.tiobe.com/tiobe-index/
     
  8. Not really, the main benefit of dotnet is available to all the languages
     
  9. Snuskpelle

    Snuskpelle

    There are more aspects than that though. For instance ease of hiring someone else to do grunt work, simple asking people for advice.. etc. 50x popularity difference is not small.
     
  10. gaussian

    gaussian

    TIOBE is universally a laughing stock among actual programmers. They use Google searches, which disproportionately benefit high ranking websites like stack overflow that are flooded with Javascript/etc programmers. It is not an indicator of language popularity except in terms of absolute number of Google searches. If you created a brand new language that caught headlines despite being a heaping pile of garbage you'd rank very, very high on TIOBE. You might ask what is a better representation of language popularity? Job searches. This would put the most popular languages as Java, C#, Javascript, Python, C++ in no particular order, and everything else would be a very, very, very distant competitor.

    F# is bad for another reason - if you have no idea how to program you won't understand how to program in a functional programming language. This is hotly contested issue in language design circles (if you start with functional programming you will by definition understand it - a nasty catch 22), but the algebraic nature of functional programming requires mental refinement a novice programmer won't have. The struggle to value ratio is very, very high even among professionals.

    I love F# because its OCaml on .NET. I wouldn't recommend it to a new programmer at all. Having tutored programmers, explaining something as trivial as a flatmap in simple terms is relatively difficult, and having them understand the utility is even more difficult. Whereas there is significant value in functional programming, the value falls on deaf ears to novice programmers. This obviously isn't helped by the absolutely obnoxious programming circles that think not understanding category theory, type theory, and monads makes you a troglodyte.
     
    Last edited: Dec 26, 2019
    #10     Dec 26, 2019