Pair trading and multicurrency arbitrage. The showdown. - page 255

 
Maxim Kuznetsov #:

can be reduced to natural basket synthetics :-)

euro area synthetic: EURUSD+GBPUSD+10.0/USDSEK (sum of euro pound rates with krona represent europe)

US synthetic: 1.0/USDCAD + 100.0/USDJPY (state oil+grain and their vassal bank)

Asia synthetic: 100.0/USDJPY + NZDUSD (yen with kiwi)

gold synthetic: XAUUSD/troy/100 + AUDUSD + 1.0/USDCHF (gold price in metric system+ for AUD - gold is an export item+ franc is historically with gold).

and additional synthetic UK : 1.0/USDCAD+AUDUSD+NZDUSD+GBPUSD

so at least the logical and economic sense is preserved. Which is unfortunately absent in the selection of all combinations

In the initial data it is necessary to determine the TOTAL width of the channel - what is its width and where it goes - expanding or shrinking.
The channel width has a value for the differential parameters, there either to open a stopper or a limit, as well as closing is related to the differential.
Closing and opening of orders is connected with the value of momentum and differential (limit or stopper).
also according to these data the idealised momentum is determined.
It is necessary to take all 8 currencies
//"USD", "EUR", "GBP", "JPY", "AUD", "CAD", "NZD", "CHF
, data on their strength, and according to them determine the width of the whole channel, direction and momentum.

Differential is when the rear wheels turn one clockwise and the other anti-clockwise.
The point is that if you trade 28 pairs (this is quite enough, gold and Swedish krona are obviously superfluous here)
the point is that you are constantly re-buying or re-selling units, for expanding and contracting.
 
Maxim Kuznetsov #:

so that at least the logical and economical

I have a signal block of algorithm and trading robot separated.
The signal block is a separate utility with initial data taken from indicator buffers,
calculation formulas for equations, parameters of differential, impulse
Algorithm transfers the results of calculation (signal) through global terminal variables to the robot.

for example

if (( AUD1-CAD1)/css1_long > master_midpoint1*((AUD2-CAD2)/css2_long + (AUD3-CAD3)/css3_long + (AUD4-CAD4)/css4_long )/3

&& AUD1 > CAD1 && (AUD1-CAD1) / css1_width>0.025 && GAP1>0)

GlobalVariableSet("bb_trend06_AUDCAD",-1);

The robot receives only a signal, the robot is empty like a drum - all the basic data is packed in the algorithm.

 
Alexander Pryakha #:

I have a signal block of algorithm and trading robot separated.
Signal block is a separate utility with initial data taken from indicator buffers,
calculation formulas for equations, differential and impulse parameters
Algorithm transmits calculation results (signal) through global terminal variables to the robot.

for example

if (( AUD1-CAD1)/css1_long > master_midpoint1*((AUD2-CAD2)/css2_long + (AUD3-CAD3)/css3_long + (AUD4-CAD4)/css4_long )/3

&& AUD1 > CAD1 && (AUD1-CAD1) / css1_width>0.025 && GAP1>0)

GlobalVariableSet("bb_trend06_AUDCAD",-1);

The robot receives only a signal, the robot is empty as a drum - all the basic data is packed in the algorithm.

That's ridiculous.

Why are there several AUD and CAD, why not currency pairs?

For pair trading you use an index indicator or something.

 
Renat Akhtyamov #:
tinny
AUD1 - current AUD strength.
AUD2 - AUD strength on the previous bar
css1_long- sum of all longs current (or half of the total channel width - sum of longs equals sum of shorts)
(AUD1-CAD1)/css1_long - pai (or share) current
(AUD2-CAD2)/css2_long pai (or share) of the previous bar.
master_midpoint1 - idealised momentum

(AUD1-CAD1) / css1_width>0.025 it means that the channel is more than 100% for AUDCAD pair
GAP1>0 differential parameter for GAP1 basket, it means that the channel is compressed and the width of the general channel is less than 100%
GlobalVariableSet("bb_trend06_AUDCAD",-1) transfer of data from the algorithm to the global, the signal to sell
AUD1-CAD1 this value can be both positive and negative, so the strength of the impulse in the formula should be applied to different sides,
depending on who is strongerAUD1 > CAD1
.

The indicator I use was posted in this thread.
It is a hybrid from CCFp, but you can attach another cluster indicator, the main thing is that the order of buffers coincides, or adjust either the indicator or the signal block to fit this case.
In the algorithm of the signal block, the buffers of the cluster indicator are arranged in the following sequence

USD1 = css1 [0];

EUR1 = css1 [1];

GBP1 = css1 [2];

CHF1 = css1 [3];

JPY1 = css1 [4];

AUD1 = css1 [5];

CAD1 = css1 [6];

NZD1 = css1 [7];

For one pair in the algorithm we got 128 lines of code,
(it is 16 equations for 4x4 differential: two limits, two stop orders, 4 baskets). ,
and the total number of lines in the code is 5260
And it is still well pressed.

 
Alexander Pryakha #:

It is necessary to take all 8 currencies
//"USD", "EUR", "GBP", "JPY", "AUD", "CAD", "NZD", "CHF
, data on their strength, and by them determine the width of the whole channel, direction and momentum.

So in natural sets there are all 8...even 9 ;-)

but you can find (and use) really present trends, cycles and tendencies.

And when all combinations are taken, then 1) personal attention is not enough for all of them 2) errors are too easily multiplied in robots. Although to taste and colour...

---

europe cycles and sags every two months (~300 H4, plus or minus from calendar days).

 
Renat Akhtyamov #:
why not currency pairs?

It is useless to watch currency bets and their quotes, they are rubbish.
it is necessary to use the strength of each currency, and this strength should be verified,
so that the indicator shows it correctly.

 
Maxim Kuznetsov #:

Europe cycles and sags every two months (~300 H4, plus or minus from calendar days).

Today there were about 12 reversals of the differential, this is for M30.
Waiting for a prize at the end of the tunnel - a couple of months, etc., is wrong.
In principle, the trade is grabbed from the order 10-20 pips, sometimes 5, rarely 30-40 and then goes to the close.
All squeezes are practically shot off at the top of the squeeze and purchase in the other direction (this is the work of idealised impulse).
If the squeeze is left, then the squeeze does not occur, the order holds on.
Moose are also shot off. If they're really moose. Because they may not be moose, then the martin is switched on at the repeated signal.
There is no need to set stop and take - the closing goes on impulse.

 
Here is a histogram of calculation results from the cluster indicator CCFp_v1.0.3cvert.
timeframe M30 .
Current dynamic values:
CROSS2 channel state (total 4 baskets CROSS1, CROSS2, GAP1, GAP2)
Impulse in the channel 1.106
Control values of currency strength current
Channel is expanding, channel thickness 112%
Total channel strength 186.3.
Also, besides M30 major, M5 minor is used.
Also calculated the state of the M5 channel (GAP1 basket) and the impulse in the M5 channel.
Calculated the weight of the unit of each bet (28 pairs) and what happens to the unit - whether it grows or falls.
These are the results of the calculation, not the incoming values!
According to these obtained values and find the answer to the problem, what signal.
CCFp_v1.0.3cvert indicator see attachment.

Files:
 
Alexander Pryakha #:

It is useless to watch currency bets and their quotes, they are bullshit.
it is necessary to use the strength of each currency, and this strength should be verified,
that the indicator correctly showed it.

What if we consider the strength of the baskets? Level the strength of 4 baskets.

 
mvf358 #:

What if we look at the strength of the baskets? Four baskets.

There is no need to equalise the baskets.
The basket in trading is always one, it is the opening of 28 orders with 1 order per pair - short or long :-)
It is like a trend of bichy (expansion of the basket) and bearish (contraction)
except that the strength of the trend is less than 100% or more than 100%.

Each basket has its own trading range for CROSS and GAP
and its own conditions - it is necessary to open either stop order or limit order,
at the same time, depending on what width of the channel and its state - compression or expansion,
such directions of movement vectors should be taken.
If we use Fibonacci number, which is logical.

/////13,21,34,55,89,144,233,377,610


then if css1_width = 100 is the average width of the trading range,
then the conditions for opening and closing baskets will look like this:

//////////////////////////////////////////////////

//Basket 1 GAP1

//CROSS1 limit css1_width>13 && css1_width<34

//GAP2 limit css1_width>89 && css1_width<233

//GAP1 stop css1_width>34 && css1_width<89


//Basket 2 CROSS1

//CROSS2 limit css1_width>89 && css1_width<233

//GAP1 limit css1_width>55 && css1_width<89

//CROSS1 stop css1_width>13 && css1_width<34


//Basket 3 GAP2

//GAP1 limit css1_width>21 && css1_width<89

//CROSS2 limit css1_width>89 && css1_width<144

//GAP2 stop css1_width>144 && css1_width<233


//Basket 4 CROSS2

//GAP2 limit css1_width>144 && css1_width<233

//CROSS1 limit css1_width>13 && css1_width<89

//CROSS2 stop css1_width>89 && css1_width<144.

The current main basket is always traded by stop order
and half of the orders of the two border baskets are traded by limit orders.
Opposite basket is not traded.
When the basket moves from the current state to the border basket,
then the "old" opposition basket will become a border basket and will start trading.
Є It is the same as in the game of thimbles - but there are not three thimbles, but four,
and you need to watch the thimble where the ball is, and the two neighbouring thimbles.
And provided that you know where the ball is rolling now (trend direction)
and under what thimble (basket) it is now
- in this case, trading will be profitable.
If you do not have this base - there is nothing to do at Forex,
will be shaved under any circumstances.