Visibility is very important for this site. Web Text Replacer 3d Printing. Small Profitable Site Profitable Site: The first thing that you will notice, is the fact, that this time, by more carefully choosing the parameters of our trading system, we were able to find profitable combinations even for CLV range equals 0.
The problem is in the drawdown of our trading systems, which is inacceptably large. Also, the sahpe of the profit curve for any of our combinations of parameters is far from linear. As we were not trying to create a perfect trading system, it is OK. We have now the basics, and we can try to figure out what else should be improved, but, as I have mentioned already, this is not the purpose of this book. However, one thing should be mentioned. Lets take another look at one of the charts: We can see, that winning and loosing trades are going in series.
This certainly can be used to improve out results in one of two ways. Of course, this approach will not work, if we have series of loosing trades, with single winning trade between them, so it is necessary to do a careful study of the profit curve. This approach is an example of money management strategy, and it can improve some trading systems dramatically. The fact that our system is sometimes working and sometimes does not, means that there is a factor or few factors unaccounted for.
We need to look for these factors, and to adjust the system, for example, by adding an extra indicator, or by modifying the exixting one. For example, if our system is profitable only when the price goes up, all we need to do is to add a condition: This approach can help a lot sometimes, however, it may require changing the code a bit. It is also possible, as I already mentioned, that the indicator is not good enough for a job. What if the system works fine while the range is between and points, and does not work when it is larger it means, the system does not work well, when the price moves too fast.
Then we need to change the indicator, to compensate for a speed of a price change, and MAYBE our results will improve. Once again, this is beyond the scope of this text. Finally, this system is too risky, as it uses very large value for stop loss, so again, it is just an example.
As Cortex is just a simulator, it cannot be used for trading in a real time. Getting weights of the NN Of course, it is possible to use the "run by timer" feature, and to perform file input and output, so that Cortex gets new quotes from the file, and writes results to the file.
The Trading Platform you use will read the results, use them to trade, and then, as new quotes become available, write them to file. This is not a very good approach.
It is clumsy, and it can be error prone. Another approach is to use Cortex API. The third approach uses DDE and ActiveX, but as Cortex does not provide this kind of functionality, it cannot be used. But again, it is an extra layer of complexty, so the current approach is still better.
The solution we suggest is to use ONLY scripting language of the trading platform of your choice. First of all, we need to create the NN and to teach it.
We did it in the chapters above, the result is the file with. In the following chapters we are going to: This is not a promotion, and if you prefer other platforms, use them. The code, responsible for creating and teaching the NN is commented in the script below.
When you run it for the first time, you need to uncomment it, of course. After that, you don't need to recreate the same NN over and over again, so if you want to run the script for the second time, you may want to set comments back again.
Exporting NN weights The next step is to export weights of the NN to the scripting language of a trading platform of our choice. To do it, we add couple of PRINT statements to the tsc file above, and it will produce the necessary output. To do it, we simply insert the following code: It means, that we will not use functions of the scripting language, that are related with the NN functionality of Cortex, instead, we are going to emulate them.
This approach will allow us in the next chapter to move the code to almost ANY scripting language, even if it does not have NN functionality. For example, to the scripting language of your favorite trading platform.
First of all, lets take a look at the code that Cortex uses. This is just an illustration. Keep in mind, that it is a "feedforward" part of the code.
The complex one, that also takes a lot of resources to run, is the "backpropagation" one. But after the NN is created, we do not need it anymore. As in examples before, we will keep the overall structure of the code, so that this example looks familiar. The code that we do not use such as cycles is commented, but not removed.
Briefly, the output of this script is formated to be compatible with the MQL, MetaTrader's scripting engine. MetaTrader is a trading platform we use, if you want something different, like TradeStation, for example, you will have to alter the code to comply to its syntax. Then, in the following chapters, we are going to insert this code in the MetaTrader's indicator, and to use it to trade. Porting script to trading platform The next step is not really required, but it is something, that may be useful.
The reason is, in the next chapter we are going to port it to the scripting language of a MetaTrader trading platform, so it is a good idea to make sure everything works. Note, that there is a difference at the beginning of the charts, as "our" NN does not try to process the data at the beginning where lag is incomplete , while the built-in NN does not "know" about this problem. Of course, it doesn't affect the result, as the beginning of the chart is ignored by using the nRemoveFirst parameter in our script set to , which is guaranteed to be larger, then our lag.
Using third-party trading platform We have the NN that more or less can be used. Now we are going to port it to the trading platform that can be used for the real trading, which means it can contact brocker, place orders and earn or loose money. As a trading platform, I am going to use MetaTrader Disclaimer: I am not related to MetaQuotes in any way.
I do not work for them, I am not their affiliate and so on. I find this program user-friendly, flexible and powerful, and "not a monster". Also, it is free compare to other packages of this class. The only minor problem is that it is not always easy to find the dealer using MT in your area.
Then, when you do a research, you may find couple of brockers, with screenshots on their web sites, that look suspiciously familiar. Yes, they use MetaTrader, but they don't call it MetaTrader! I have asked for clarification at the company's forum, and they have told me, that they don't reveal brockers using their services. One of the brockers that is not hiding the fact they use MT, is Alpari. They will allow you to open a Demo account, so that you can trade in a real time, but without risking your money.
I am not going to recommeng services of Alpari. Once again, I am not being paid for that. Try their Demo account, and use your own judgement. Or you can start your own research at Internet forums. Finally, if you do not like the MT, you can probably follow the example below using TS, MS or some other trading platform. This is just an example. Our MT-based trading system will include two files, the indicator and an expert. The indicator implements the neural network and draws a chart. An expert takes these data and does trading.
As MetaTrader has a "strategy tester", we will be able to test our strategy, to see how good it is. Finally, I am using the code structure, that is borrowed from MetaQuotes forum, permission to use it the author of the corresponding posts had granted me permission to use fragments of his code.
Also, as some of our MetaTrader code is the same for all experts and indicators, we moved it to a separate library file. MetaTrader's libraries are nothing but includable files. This library takes care of synhronization, when two or more expert are trying to run in the same time, as well as of few other things. If you use MetaTrader, it will help you to create robust experts, in any case, the MQL language is easy to understand.
For trading, you don't have to draw both indicator lines, of course see MQL tutorials to learn how to do it , but I have decided to show them together, so you can compare.
Another difference, that you should know about, is the way MT performs testing. It may, in some cases, be more accurate, then one we did we did the worse case scenario. Of course, you can always to change the SLANG script from the examples above, to implement any logic you want. The result of our testing in MT is a bit better, then in Cortex, due to all these reasons. Keep in mind,that MT calculates the DD in a different way.
I still think, that my way is better. In should be especially noted, that no additional optimization had been performed using MetaTrader's optimizer. We have just plugged our MTS mechanical trading system in, and it worked as expected. You can now create Cortex Neural Network, optimize it to do trading, and to port it to the trading platform of your choice.
If you like it please link to this URL.More...