Future of Algostudio
Hello everybody! In this topic I want to discuss future development of Algostudio. So it happened historically that we were more focused on terminal, but as we see from our users feedback, Algostudio - is also very important part of trading platform. We have rethought our nearest plans and main part of our team will start working on AlgoStudio from next week (we don't forgot about new integrations - next in our list is CQG). It will be set of tasks, among them: improving documentation, new functionality, API extending, improving stability, course of video lessons, etc. Some of them is simple enough and require only our time and efforts, but some no so trivial and I would like to hear opinion from our traders.
Hi Alexey,
I have to admit, this is a tough question. But I guess I can start off by telling you where I spend most of my time when I was writing strategies; it was in AlgoStudio. I use Visual Studio for only writing plugins.
Why?
It integrates into everything well. I can take advantage of dictionary. I can switch between backtesting, optimization, and etc. Basically, everything is there on one window. That was the annoying thing that turned me away from Ninjatrader in addition to other things; I had to have a window for everything and couldn't attached them to one.
Now, let's talk about this if we used Visual Studio as our editor. PFSoft created documentation on the web and Visual Studio has a web browser panel similar to the plugin that I created in the code base. Users can just open up that panel and attached it to the side, similar to how we do it in AlgoStudio. Visual Studio also has intellisense, which works similar to how it works in AlgoStudio. To use the backtester, all they have to do is minimize Visual Studio and they will be right they looking at the backtester.
If one is using the debugger, then that could be a challenge, somewhat. You just have to pull up two windows, side-by-side. But in this case, I probably would just go back to AlgoStudio to do this task.
Yes, Visual Studio is difficult when you need to use third-party libraries for C++. It is a lot in the settings section and it can be hard to pick the right combination. However, if you're just writing code, then it isn't too bad.
So this may make you believe that I'm neutral about which one we should use, but it isn't what it appears. I'm more in favor with sticking with AlgoStudio, only because I feel that a focus on backtesting and optimization is more urgent. AlgoStudio just takes some getting used to. However, Visual Studio is there for those that need it. I do feel that it would be convient for Protrader to have a button that would launch Visual Studio.
I'm very, very excited about what is to come. Let's change things and give out to the public good technology that was only previously available to banks. Once people really see the potential in algotrading, then they will be hooked. There are some false myths that it is impossible to create profitable algoBots. But if one knows anything about programming, then they would know that what you can do manually, can also be done automatically with the exception of algoBots reading forex news and making a decision.
I'm agree with Alexey, the professional developers will use a Visual studio, anyway. In my opinion ,efforts towards bring advanced features to Algostudio, to satisfy an experienced developers, may be a waste of time and resources.
Yeah Algostudio is a good point to start learning how to write strategies/indicators.The dictionary feature very helpful. And at the moment it is cover all entry level needs.
I would use Algostudio for quick editing or to write something simple, but it takes same or more time to load project, compared to VS... so i prefer the last one.
With regard to newbies. I think it would be helpfull to make starter project templates for Visual Studio.
Hi all,
When I watched the video that uses Visual Studio to create and debug an indicator my eyes went wide open.
I had been working with AlgoStudio Editor for a week or two and it was OK, but limited. I mean, to create a "toy" strategy it is enough, but once you want to reuse components, integrate with other assemblies (add references), debug or watch/inspect complex structures it becomes a little bit "cumbersome". It has a tough competitor with Visual Studio and in my opinion it is not worth the effort. Will you create a better debugger? A better editor and more configurable than offered by Visual Studio? Or things like integration with testing or source control?
Ok, so far all these things could be only important for "experienced" programmers. But I think Visual Studio is better for newbies too. You have many levels of "newbies". From those that have never programmed anything about trading (like me :)) to those that have never programmed anything at all. But in the middle you can have people that already know Visual Studio or C# or whatever combination of programming language and developement environment. Having something that is general purpose lke C# and Visual Studio is a great advantage. You can get help from "anyone" about C# or Visual Studio. I tend to see it as an SDK for Protrader. I build an indicator or strategy with Visual Studio to run it on Protrader.
For those completely new to programming... well... they will have a hard time regardless the IDE. But, using Visual Studio they will have a lot easier to find Hello World examples :).
I would focus on key features in AlgoStudio like Backtesting (where you can run and test strategies) and Optimization tabs.
Hope it helps.
dreyes
I really think that small retail traders will simply be overwhelmed by the VisualStudio installation and tweaking to get going coding with Protrader indicators. The ratio of "serious" programmers to users is miniscule. Expect the same in Protrader. Simple coding tasks in AlgoStudio is needed to satisfy the needs of the simple coders. The pros and those that want to do all the complex things possible with Visual Studio will of course use Visual Studio. But I am confident there will not be many of this caliber of coders around. So there must be an option, like AlgoStudio, that appeals to a larger user base than that.
I don't think you can "dumb-down" enough installation, setup, and getting started in coding in Visual Studio.
I agree that people is a big target. I don't know the right answer on how to attract them. But from my developer point of view Protrader has a big advantage. It uses a general programming language like C#, not an esoteric C++ like language.
Yes, I have to admit that I have a biased opinion toward development, but if Protrader doesn't want to depend on other languages and wants to promote C# as the main development language I don't see the point on "wasting" effort in improving the editing mode. Other companies, with their l, has no option because they are forced to maintain their own compiler and IDE because nobody is going to do it for them :).
So, is it really worth to maintain "yet another C# IDE"? Is so overwhelming to use Visual Studio that pays off the effort?
I think that newbies will not want to run VisualStudio alongside PTMC. Right now, PFSoft needs a user base. So there needs to be incentive to get small retail traders to come. Having AlgoStudio, with all of its useful features, built-in makes it more attractive.
In spite of having so many limitations, why does other companies continue to be so popular with small retail traders? Because there are so many indicators and EAs available, and users in the forums often help out with custom coding, even supplying the source code.
But really, other languages are not so easy to grasp for the average guy. Look at the forums and see how many requests there are for indicator modifications. If PFSoft provides good beginner tutorials in custom indicator construction, I think amateur coding newbies will be able to finally create custom indicators and EAs.
Several forums discussed ProTrader earlier. People were ready to try PT, but it had hardly any brokers using it, so they didn't want to "waste time" trying it. Now that there are brokers, it's time to get the tutorials and demos going.
Thank you all for participation! We, with our analytics team, continue working out this question. Write our current thoughts.
There are a lot of advantages in case of moving editing and debuging functionality in Visual Studio - we dont need to support editor, watch, output, properties panels and we can concentrate our efforts on something more important for traders. But there are also disadvantages, Chris told about one of them - it is switching between Algostudio and Visual Studio. Its really inconvenient. It is better, when all required functionality exist in one application. Algostudio includes all, but it has problems, I described in first post, so maybe we should go another way and... teach Visual Studio to make backtesting and optimization. We just need to buy Microsoft with all their developers, and they'll implement this. :-)
If seriously, it can be done. Microsoft always offered tools for extending Visual studio and with each new version they become more powerfull. At the moment it is possible to customize almost every part, add new functionality and even add support of new programming language. So, all we need - develop backtester and optimizator panel, extend standard menu and toolbars, add required templates for projects (indicator/strategy/plugin) and new Algostudio, includes advantages of both products, is ready. Tried to prepare some images to show, how I see it (just for example):
Quick way to create project - templates:
Will wait for your comments - let's create ideal platform together!
Holy Cow!!
That is impressive! This is why I'm excited. We have the right guys on the job. I know that the finished product will be something that we all can be proud of. I don't see why this wouldn't bring in a ton of programmers from other trading platforms. What dreyes said, I've been in agreement with for many months now. It has many thousands of indicators and EA's. But hopefully, we can get more of them to come here and develop apps. I wish I can give you guys more tips on bringing in more people, but it will ultimately come down to quality of product and lots of luck. But with hard work, I believe we can increase our chances :)
If Visual Studio allows this sort of customization why not just extend it with the specific tools. Let's integrate the other way. An example of thinking out of the box. I take my hat off to you guys.
This would mean that you just need to click play in Visual Studio to run your code. It will solve the window switching and the need to manually attach to another process. Just play and go. And more important, you get all Visual Studio has to offer for free.
For developers this is heaven. But, what about those guys that only grab a compiled module (the .dll) and just want to perform some manual backtesting or optimization? Those that don't know or don't want to know about code or debugging. Is Visual Algo Studio going to be their tool too? I mean, it is going to be possible to just load a dll and run it, isn't it?
I really think that decisions like using a general language and a widespread accepted IDE lower the barrier to entry to developers. Give them good tools and code will come (see @William or @mmpk01). I don't want to know how many lines of code would take to create the same economic news indicator ... Web request, parse XML, ufff... developers are lazy. Would have @mmpk01 even tried ?
Hi all,
I coudn't agree more with Alexey's first post, It's impossible to create a better programming environment for c# than Visual Studio without dedicating a similar amount of effort.
My opinion is that ProTraders' effort should concentrate on what gives unique value to the platform, and that is the backtesting and optimization features, not the editing and debugging ones.
From a developer point of view, the solution proposed by Alexey looks ideal, as the main disadvantage of programming in one platform and debugging a backtest in the other is the waiting time for the debugger to attach to the Algostudio process (I'm sure that anyone that has taken this approach will agree). And integrating the backtesting panel with Visual Studio looks like a perfect solution to this.
About new vs. experienced programmers, for new programmers, Visual Studio is even better for them. We experienced programmers have seen a lot of IDEs and languages and we can adapt to whatever we need to use, but for a beginner ... the amount of learning resources available to visual studio users is orders of magnitude bigger than what we could possibly achieve. Let's take advantage of it :).
Just to put an example, imagine you begin to learn to use Algostudio. It works just fine at the beginning, but you get more ambitious with your code you find that you cannot add an external library to your project or use multiple files (references and includes, to put 2 current limitations od Algostudio).Then you have 2 options, reprogram the code of whatever this external reference does, or learn visual studio... when you reach that point if you could go backwards in time, would you choose Algostudio over Visual again?. I think as an experienced programmers we should encourage people beginning to program to take a path that will lead them further on the long term even if at the beginning seems more difficult.
On the other hand, like dreyes said, there will be people wanting to backtest strategies without knowing how to program (i.e. a person hiring a programmer to automate his strategy), that's where the use of Visual Studio seems odd. But my personal though on that if the procedure is simple enough, they will get it pretty quickly. And in that regard the use of Visual Studio only to do backtesting is not much different of doing it with Algostudio (you just to have to ignore a lot of other things that don't matter to you ;) )
To summarize, my opinion leans to favor Visual Studio as a programming environment rather than algostudio and use the freed up resources to improve backtesting and optimization.
That being said, I'll take this opportunity to commend the Protrader team for the great work they are doing. I really think that the Protrader platform is on another level compared to any other trading platform that I have seen, not only because of what is already done (that is a lot), but because of the (still) unexploited potential that it has.
I strongly believe that the key to success is to support integrated debugging in Visual Studio... to cite an example in a different field, I have been a Unity 3D game developer for about 7 years. They(Unity) tried to support Mono as a development environment, but a small company built a solid Visual Studio integration and made a fortune when Microsoft bought them and now provides a free VS integration toolset. On the Mac some folks still use Mono but no-one's really happy. And Mono is an IDE that's been around for a very long time trying to provide an alternative to VS. It's very difficult.
I disagree with the idea that installing and configuring VS Community edition is complicated - but I've been using VS since 1999 so may have lost perspective. I think AlgoStudio has a lot of value for running/testing existing indicators, writing basic tools.
But if someone needs more complicated functionality and is able to code it themselves, I think they'll be able to figure out how to install Visual Studio. And I think the productivity gain from using VS would be well worth it.
btw -I'm really impressed by how the PTMC team is engaging "we the people"!
Good day. I have an account with Velocity Trade South Africa, using the ProTrader 3 platform.
I am interested in using an ea for forex trading, but only came across two strategies: "Classic Turtle trader" and the regression trader. The regression trader is useless, as it does not offer stop losses to protect my account, although it shows more profit at back testing: 24.39% profit for the Eur/Usd, 30 min chart during a month, where the "Classic Turtle trader" shows 2.15% profit on the same criteria.
The problems I also experience is that I only have data for 1 month on this currency pair, and when I try to update the database it gives “an error occurred during updating Demo_DB database” screen.
My questions now are: are there more strategies to choose from,
and how can I get more data to do the backtesting?
Your help in this regard will be appreciated.
Regards
Hello everybody!
While we are still working on our Algo extension for Visual Studio we've decided to involve traders into its development.
So, at the moment everybody, who wants to try current version, can download it via this link. It is just Preview version and in a few weeks we will publish extension to Visual Studio MarketPlace and you will be able to download in a standard way.
If you have any suggestions, you can write to support or directly to me via my contacts in profile. Also, we have organized special Skype chat with traders using Algo in PTMC and our developers. Here you can get help, propose your idea, etc.
Some of key points of our new AlgoStudio:
- AlgoStudio it is an extension for Visual Studio. You can use Visual Studio Community version which is free (we are testing on VS2015 and VS2017):
- We've added predefined templates for all Algo objects: indicators, strategies, etc. Also, you can create your code based on our built-in examples:
- New Algo, as an old version, is also working with databases, but now you can create your database with multi-asset brokers.
- You can specify default PTMC terminal in general settings, so after compilation your indicator/strategy will be automatically copied to appropriate folders and you will see changes on the fly:
- All you need to start backtesting - specify script settings and click "Start" button:
- We've organized all Algostudio panels and functionality in separate menu item:
Please try it, we are always open for your feedback!
This looks great! A real differentiator from other trading platforms.
Any plans to enable a back test and an algo on multiple instruments simultaneously? I.e. I create an algo and want to backtest it across all major FX pairs, can I do this without having to run an individual backtest for each FX pair?
Thanks
Hi tdouglas01, thank you for your feedback.
"Any plans to enable a back test and an algo on multiple instruments simultaneously? I.e. I create an algo and want to backtest it across all major FX pairs, can I do this without having to run an individual backtest for each FX pair?"
At the moment - no. We will think about your proposition, thank you.