Analysis of multiple currency pairs by currency, your opinion, can this be used? - page 2

 
chv:
Piligrimm:
You are on the right track, group analysis of currency pairs is the future, gradually most traders will come to it. I have been using group analysis for a long time now, and the results of forecasts for a group of currencies are much better than when using one pair with lagging arguments.
I agree with you that multicurrency analysis can provide more information than a single pair. But it can be conducted in different ways. When I get to it tightly, I will do it in a different way, as described in the article 'Theoretical Foundations of Constructing Cluster Indicators for the FOREX Market'.
Multicurrency valuation techniques can be quite different, that's the point.
I didn't mean this article in my reply, I glimpsed it and it didn't interest me at all.
Of course there can be different methods, and the choice of one or the other is determined by the algorithm of your trading strategy, and that is purely individual, and also by your computer resources.
Due to the fact that my laptop is 7 years old and it is too weak to solve complex problems, and I cannot buy a new one, in my analysis I use 15 currency pairs, including gold, and my Expert Advisor barely has time to complete its cycle of calculation before a new bar arrives, working on a 5-minute timeframe and gives a one-hour forecast by High, Low, Close, as well as by the trend set from Close using Vivelet transformation.There are a lot of possibilities to increase the accuracy and depth of predictions, everything depends on the computer resources. I hope I will soon buy a new computer and I will be able to do the same on 1-minute timeframe.
 
Piligrimm:
I didn't mean this article in my reply, I just glanced through it and it didn't interest me at all.
Of course there can be different methodologies, and the choice of one or the other is determined by your trading strategy algorithm, and that is purely individual, and also by your computer resources.
Due to the fact that my laptop is 7 years old and it is too weak to solve complex problems, and I cannot buy a new one, in my analysis I use 15 currency pairs, including gold, and my Expert Advisor barely has time to complete its cycle of calculation before a new bar arrives, working on a 5-minute timeframe and gives a one-hour forecast by High, Low, Close, as well as by the trend set from Close using Vivelet transformation. There are a lot of possibilities to increase the accuracy and depth of predictions, everything depends on the computer resources. I hope I will soon buy a new computer and I will be able to do the same thing on a minute timeframe.

Are the multi-currency forecasts coming true (in time)?
Iron resources are not the main thing. The machine costs a kilobuck and a half, the strategy is more expensive.
 

Resources as needed, you can invest any, up to five kilobucks, a normal server unit will be enough, everything is done out of necessity, if there is this need. My three-year-old machine, not a server that performs server functions, such as sites on the Internet, database and isa, and so enough above the roof, so as not to think about something new. I don't like to load laptops with such things, regular computers are not so good, better a real multiprocessor server, which I don't need to spend money on at the moment. If I work out a real strategy, which will really work, then it will be possible to spend money on the server.

Less than 2 GHz and 2 gigabytes of memory and it's not the same, I'll move to something new, sophisticated and unlikely to support it, notebook doesn't count, because laptops are not able to carry a full load, however sophisticated they may be, the mobile processor is a mobile processor, and a well-chosen computer with a server operating system can do much, though less than the same server unit. Everyone has his own approach, so I won't say what's necessary and what's unnecessary, you can use everything, if it lets you work without problems, but it's unlikely to support... Time goes on and demands are constantly growing, there are new developments that require new investments, so not to think about it does not work, I probably have only this computer is the longest-lived, because of its high stability and lack of problems, but in fact, I think only about a good server. Only the first Intel np was, since then I've been using AMD, even 386 DX 40 (just ripped Intel) and 486 was AMD, I would have forgotten what Intel was if I hadn't been reminded :)

P.S.: Oh it's better let's not speak about hardware otherwise I may be carried away into distant places, about five years ago it was for me an emotionally rich period of debates and disputes when work was corresponding, I remember at the stand-up party of Intel even managed to have fun in plenty when the invited were obviously not supporters of Intel:) Someone is a football fan and someone is an iron fan, although probably in the past :)))

 
xnsnet:

Let's not talk about iron,


That's what I'm saying. On ... the iron, the couple's correlation strategy is more important, is it?
 
chv:
xnsnet:

let's not talk about iron,


That's what I'm saying. On the ... iron, a pairing correlation strategy is more important, is there one?

What can I say, by following the charts and what I saw, like this article and indicators, opinions and many posts, as well as other texts, I am getting closer to the fact that this is really the right direction, when I write something similar to the analyzer, I will be able to say more precisely, at the same time and show what I saw myself:) All forces in this direction at the moment:) I have to finalize all I've done and test it on the market within a week, then I think I will be able to show it to the market. I write without leaving the process, on .NET and can be finished in his own, as the source code will not hide, it would be what to hide, and why, alone it would still make no sense, my brains are not enough unambiguously:)
 
I have not done a full-fledged testing yet, there are some things I need to refine in the program, and testing of my system is only possible on demo or real account. But the preliminary results give quite a decent and encouraging picture. Due to the fact that the expert system retrains and gives a new forecast with every new bar, even if the situation in the market drastically changes, it has time to correct the forecasts. And taking into account the multicurrency analysis and the correct choice of a trading instrument it creates an additional effect of looking ahead, because some instruments react to market changes earlier, some later. If you select a trading instrument that is the most lagging in terms of reaction, you get a very interesting picture. Gold is the instrument I like the most for trading in this respect.
Regarding correlation of pairs, I choose instruments with maximal positive and negative correlation in relation to those on which I intend to trade. In general this question is very complicated. 99% of forecast accuracy depends on the right selection and combination of input parameters, I've already got my knees in it.
Besides selection of parameters largely depends on the strategy itself, what is suitable to one strategy turns out to be inefficient for another one. No recommendations can be given remotely. The only thing I can say based on my years of experience in modeling and forecasting of time series (not only in financial markets), sometimes even weakly correlated parameters may be more effective than using one parameter with high correlation, and there may be different methods of combination, from the simplest multiplication to reduction of single parameters to some non-linear polynomial.
 

Each tick is supplied with server time Srv, time of capture Utc, and price Bid in files for one tick 24 bytes are used, in memory there are approximately 48 bytes in linked collection. I am pondering over the best way to associate symbols with each other as I don't want to use only currency pairs and in general to set some moral restraints in mixing. I'm not going to do graphical visualization, for now I will focus on the numerical data and its mixing, and thus I will expand this very toolbox.

Gathering information from the Expert Advisors is arranged in such a way that for one instrument, there may be launched at least ten Expert Advisors, but the data will be received only from the first in the set of sessions, therefore during the runtime you can start and stop Expert Advisors, it will not affect the information gathering and interaction in the future, for example processing tick events, when stopping all of the instrument sessions, the tick history for the symbol is cleared from the memory and the symbol file is closed.

The number of ticks in the history is not reflected in the performance, only the number of actually processed, but just in case, for each tool in memory is not kept more than 999 999 ticks, files are stored, for each symbol of his file, ticks are written in increments of one hundred megabytes, not to fragment strongly. By the way, I am still wondering about the need to store in the files tick history, it's just fun experimenting for fun :) If you focus only on working in real time, you don't need history in files, but if you use such history in the tester, you may get breaks, though it is possible to restore breaks partially by minutes, but I ask if you really need it. Called, we test in the interval of real time worked, even smiled, and why not, well, it's so the future idea, but now work with the files, I'll rub, because I do not want to work out the possible related errors: )))) As for the rest, everything works fine and error-free, no errors have occurred due to small details :)

The following code is used in the Expert Advisor:

#import "mttermex.dll"
    bool ClasterInitialize( string iContext, string iSimbol, int iDigits, int iSpread, double iPoint );
    bool ClasterFinalize( string iContext );
    bool ClasterUpdate( string iContext, double iBid, string itime );
#import
 
string Context = "                                                                                                                                 ";
 
int init() {
    ClasterInitialize( Context, Symbol(), MarketInfo( Symbol(), MODE_DIGITS ), MarketInfo( Symbol(), MODE_SPREAD ), MarketInfo( Symbol(), MODE_POINT ) );
    return(0);
}
 
int deinit() {
    ClasterFinalize( Context ); 
    return(0);
}
 
int start() {
    ClasterUpdate( Context, MarketInfo( Symbol(), MODE_BID ), TimeToStr( MarketInfo( Symbol(), MODE_TIME ), TIME_DATE|TIME_MINUTES|TIME_SECONDS ) );
    return(0);
}



I did not understand the format of date and time structure, I will deal with it later, but for now I converted it to a string at the input and output to DateTime


 

So I finally got at least one thing figured out, how to implement multi-pair calculation, independently, so that you can freely add new ranges of pairs using at least three currencies, I added four classes of elements and collections

CompareMono
CompareMonoCollection
ComparePair
ComparePairCollection .

These classes are linked in such a way that they are not able to work on the missing pairs, there is a Mono collection of mono elements, we call each element by the name of the currency eg "EUR", "USD", "GBP" and so on, ratio processing is done only if the Expert Advisor runs at least three currencies, although more can be specified, that is nine currency pairs in a squared ratio. For this purpose, we manually add the desired currencies and adding an EA, the analysis will not start until we have added at least nine currency pairs and all have passed at least one tick, for comparative output requires at least two ticks for one currency, while for others from two or more, with a lot of intermediate ticks of other pairs involved in the gap. Time, speed and volume play a role. The missing currencies may be either not processed or processed later taking effect when passing through all blocks, well, approximately. So far, this is just a theory of flow implementation, working out methods of classes.

Besides, nice-looking drawing of ticks will be obtained by combined work; the ticks will be drawn with distance of intermediate ticks. But rendering is only important as an interesting tick indicator. For the same rendering it is necessary to develop a combined flow model, i.e. where ticks are merged into a single stream and a digestible indicator appears, on the basis of which we can not only build a chart but also analyze what is going on.

We obtain a kind of filter of currency pairs flows that doesn't overload a processor with processing, passing all flows once and combining one common one. The idea of drawing is based on passing a thread backward from the last record of a common tick. However, all these are only conventions, or rather ideas which are only as a variant, the filter should be further developed.

 



The actual source code is in the binding, there is also a release folder with two libraries that work in the root folder of the terminal,
when using the above advisor, which should be run on each of the required currency pairs.

Using .NET Framework 2.0 is written in C# and the export library in MC++(the minimum required). For VS.NET 2005

Files:
mtterm11.zip  123 kb
 
//Вместо string itime
bool ClasterUpdate( string iContext, double iBid, string itime )
//можно написать 
bool ClasterUpdate( string iContext, double iBid, datetime itime )

//А в DLL будет функция 
MTExport bool __stdcall ClasterUpdate( char* iContext, double iBid, unsigned int itime )

//Время в секундах с 1971 года и есть unsigned int itime

//Если надо в си преобразовать в строки то можно использовать библиотеку time.h

//Я кстати посмотрю ваш код может быть интерфейсные диалоги на .NET сделаю и из C++ Dll буду вызывать.
//Расчётную часть стратегии думаю лучше написать на с++