MT5 and trans2quik.dll - page 9

 
prostotrader:

"Termial (a group of advisors) in action.

Today, the first trade(s) on the real was made.


Synthetic bond?

Especially for this I opened EBS in the opening. Made a robot in lua in QuickBooks. But in % it turned out no better than just buying Bonds. That is why I gave it up.

 

the current interest rate is as follows (including fees and tax)

contango

 
Volokola:

Synthetic bond?

Especially for this I opened EBS in the opening. I made a lua robot in QuickBooks. But in %, it turned out to be no better than just buying OFZs. That is why I gave it up.

Guess I'll have to give it up too, too bad....

Added by

But from your table it is clear that you do not count something correctly (my percentage is much higher, although I even count the percentage when the money comes back in 15 days)

 
Yuriy Asaulenko:

Delays when building a table, cat then through the DDE.

Insert some print() into program, and feel the difference).

Of course, it's bad that lags, but it's not a problem (limit is not executed in time, never mind, it will work next time).

The worst thing is that trans2quik.dll itself is a TROUBLE!

When there is a command to sell futures, it won't send data to the DDE, but expects reply from trans2quik.dll.

and a pseudo-market trade is executed (no shares can be bought on the market)

From the picture you can see more than 200 ms later there was a response trade (working only with trans2quik.dll)

This is a real account.

 
prostotrader:


But your table shows that you are counting something wrong (my percentage is much higher, although I am even counting the percentage when the money is returned after 15 days)

I have counted and recalculated everything.

You can see everything in the table:

we take the bid of the futures+ask of the stock.

Gazprom: 16753 = 165.78

"Dirty" spread = 175 rubles (or 0.9% of the deposit = GO futures + stock price)

commission = 27 rubles

consists of

brok_comiss_mmvb=0.06 --in % commission from broker on MICEX

brok_comiss_forts=1.00 -- in % commission from broker on FORTS. Rubles per contract per round.

comiss_mmvb=0.009 -- in % commission of Stock Exchange on MICEX

comiss_forts=0.006 -- in % commission of Stock Exchange on FORTS


the percentage may have changed slightly now.

and minus 13% = 129rub "pure" spread (0.66% of my deposit)

50 days till expiration = 129/50*365 = RUB 940 or 4.81% of my deposit amounting to 19537rb

****

If there is a mistake = I would be grateful if you could point it out.


 
Volokola:

All counted and recalculated.

The table shows everything:

we take the futures bid + the stock.

gazprom: 16753 = 165.78

"dirty" spread = 175 rubles (or 0.9% of the deposit = GO futures + stock price)

commission = 27 rubles

consists of

brok_comiss_mmvb=0.06 --in % commission from broker on MICEX

brok_comiss_forts=1.00 -- in % commission from broker on FORTS. Rubles per contract per round.

comiss_mmvb=0.009 -- in % commission of Stock Exchange on MICEX

comiss_forts=0.006 -- in % commission of Stock Exchange on FORTS


the percentage may have changed slightly now.

and minus 13% = 129rub "pure" spread (0.66% of my deposit)

50 days before expiration = 129/50*365 = 940 RUB or 4.81% of the deposit amounting to 19537 RUB.


I have these commissions for Gazprom


Added

At these commissions (taking into account that they will hold my funds (13%)) + 1 day of expiration (to trade on the last day)

This is what it turns out

Added

Expiry commissions are different for different instruments

if (Pos('(SBERP)', aNAme) > 0) then BiExpEdit.Text:= '0,5' else
  if (Pos('(MOEX)', aNAme) > 0) then BiExpEdit.Text:= '1,0' else
  if (Pos('(SBER)', aNAme) > 0) then BiExpEdit.Text:= '1,0' else
  if (Pos('(TATN)', aNAme) > 0) then BiExpEdit.Text:= '1,0' else
  if (Pos('(VTBR)', aNAme) > 0) then BiExpEdit.Text:= '1,0' else
  if (Pos('(HYDR)', aNAme) > 0) then BiExpEdit.Text:= '1,0' else
  if (Pos('(AFLT)', aNAme) > 0) then BiExpEdit.Text:= '1,0' else
  if (Pos('(MGNT)', aNAme) > 0) then BiExpEdit.Text:= '1,6' else
  if (Pos('(TRNF)', aNAme) > 0) then BiExpEdit.Text:= '4,0' else
    BiExpEdit.Text:= '2,0';
 
Send me your calculation formula and I will compare it with mine
 
prostotrader:

Of course, it's bad that it slows down, but it's not a problem (the limit is not executed in time, whatever, it will work next time).

The worst thing is that trans2quik.dll itself is a TROUBLE!

When there is a command to sell futures, it won't send data to the DDE, but expects reply from trans2quik.dll.

and a pseudo-market trade is executed (no shares can be bought on the market)

From the picture you can see that there was a response deal after 200 ms (only trans2quik.dll is working)

I do not trade by market limits (only hands, occasionally) - there are up to a hundred deals per second, it is clear the price will go, and God only knows how long to wait.

Bids to buy a bit higher than the market, sales a bit lower, well, + slippage - will be executed by market glass, in general, instantly. In principle, you can use limits, but make the price +/- 5-7 points to the market on futures.

And about trans2quik.dll. Do you probably use it in synchronous mode? Then yes, you have to wait for the response. You don't have to wait for anything in asynchronous mode - just shoot and forget about it). Result by event or request.

 
Yuriy Asaulenko:

I do not trade by market limits (only with my hands, occasionally) - there are up to a hundred deals per second, it is clear the price will go, and God only knows how long to wait.

Bids to buy a bit higher than the market, sales a bit lower, well, + slippage - will be executed by market glass, in general, instantly. In principle, you can use limits, but make the price +/- 5-7 points to the market on futures.

And about trans2quik.dll. Do you probably use it in synchronous mode? Then yes, you have to wait for the response. You don't have to wait for anything in asynchronous mode - just shoot and forget about it). Result by event or request.

Futures should ONLY be sold by a Limit order - fine, no - good for nothing, wait for the next run.

No, trans2quik.dll is in asynchronous

Added

Let me explain why this is the right way to trade.

The density of rates on the spot (even in low liquid instruments) is very high, while the

and the density of the futures is weak, so we sell the futures strictly limit (at the price we need), and the

The SPOT is a pseudo-market.

 
prostotrader:

Guess I'll have to give it up too, too bad....

Added

But from your table it looks like you are counting something wrong (my percentage is much higher, although I am even counting the percentage when the money is returned in 15 days)

Did such an EA on pure MT5. I tested it in tester based on real ticks, all trades are on market. Although if I use Limit order in real trade the result should be better.

Commissions have been considered, taxes have not been taken into account. This is what I have got for GAZP:

Almost 10% for a month.

p.s. if anyone is interested, i can put it in my kodobase