Répondre

Exclusion des transactions qui se chevauchent - Aidez-moi

5 réponses

tassa1975

Abonné, bbp_participant, communauté, 3 réponses.

Visiter le profil

Il y a 8 ans #114585

Bonjour l'équipe,

 

J'aimerais comprendre ce que fait exactement l'option "Exclure les transactions qui se chevauchent" dans la section "What If".

 

J'ai un panier d'EA avec un certain nombre de paires de devises.

 

Lorsqu'un signal est déclenché dans une paire, plusieurs transactions simultanées sont effectuées.

 

Si je coche la case ci-dessus et qu'une autre paire est déclenchée pour être négociée "en même temps" alors que le premier lot de positions est encore ouvert, cela sera-t-il ignoré ?

 

Exclut-il les transactions qui se chevauchent au moment où les transactions sont initiées/ouvertes OU empêche-t-il simplement la négociation de plus d'une paire de devises à N'IMPORTE QUEL moment ?

 

Santé

 

Chris

0

Tamas

Client, bbp_participant, community, sq-ultimate, 73 réponses.

Visiter le profil

Il y a 8 ans #134659

Bonjour tassa1975,
 
"Exclure les échanges qui se chevauchent" 
 
il supprime les transactions qui ont été ouvertes avant la clôture de la transaction précédente.
 
Voir l'extrait dans QuantEditor.
C'est très simple et direct.
 
Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,
Tomas

0

Chris

Abonné, bbp_participant, 1 réponses.

Visiter le profil

il y a 5 mois #284098

Bonjour,

J'ai également du mal à comprendre la fonction "exclure les transactions qui se chevauchent". J'ai joint une image contenant une liste de transactions (côté gauche) montrant le portefeuille original, et une liste de transactions (côté droit) montrant le portefeuille après avoir appliqué le filtre des transactions qui se chevauchent. Puisque le premier trade USDCAD a été fermé le 01.10.2012 à 11:00:00, le trade EURCAD surligné dans la liste de gauche ne devrait-il pas être ouvert ensuite puisqu'il a été ouvert le 01.10.2012 à 16:00:00 ou même le trade suivant EURGBP 02.10.2012 à 06:00:00 au lieu du trade AUDCAD 02.10.2012 à 19:00:00 ? Ou est-ce que j'ai raté quelque chose ? Il semble également que toutes les transactions d'une durée supérieure à 8 jours ont été ignorées, même si elles étaient sur le point d'être ouvertes.

J'admire vraiment ce logiciel et je commence à développer un certain niveau de dépendance à son égard, mais ce problème diminue ma confiance. J'espère qu'il y a quelque chose qui m'échappe.

Merci pour votre temps !

Chris

Pièces jointes :
Vous devez être connecté pour visualiser les fichiers joints.

1

SantiagoKM

Abonné, bbp_participant, 3 réponses.

Visiter le profil

Il y a 3 mois #285019

<span class="Y2IQFc" lang="en">Hello, I am also in the same situation. Since the simulation results were too good it seemed very strange to me, and when I compared the list of trades I found inconsistencies. The simulation skips positions that should have been opened, and what is more striking, the positions that it does not take into account are the ones that cause losses. This results in a very harmonious curve, with a very high profit and a minimum drawdown. Something that is far from reality. I would greatly appreciate an explanation if I am wrong. Best regards</span>

0

SantiagoKM

Abonné, bbp_participant, 3 réponses.

Visiter le profil

Il y a 3 mois #285042

I did the simulation in Excel by adding code to a new module in the csv file downloaded from QA, corresponding to the original portfolio.

The code was the following:

 

SubDeleteRows()

Dim i As Long

Dim lastRow As Long

Dim iterationCounter As Long

 

‘Set the iteration limit

Const iterationLimit As Long = 20000

 

‘ Find the last row with data in column A

lastRow = Cells(Rows.Count, 1).End(xlUp).Row

 

‘Start from the third row and loop until the last row

i = 3

iterationCounter = 0

 

Do While i <= lastRow

‘ Check if A(i) is less than B(i-1)

If Cells(i, 1).Value < Cells(i – 1, 2).Value Then

‘Delete row i

Rows(i).Delete

‘ Update the last row after deleting a row

lastRow = lastRow – 1

‘Do not increment i since a row has been deleted

Else

‘Increment the counter to analyze the next row

i = i + 1

End If

 

‘Increment the iteration counter

iterationCounter = iterationCounter + 1

 

‘ Add a condition to exit after 20000 iterations

If iterationCounter >= iterationLimit Then

MsgBox “The limit of 20000 iterations has been reached. The process has been stopped.”

Exit Sub

End If

Loop

End Sub

 

I attach screenshots of the original portfolio, the one created by QA and the one created by Excel. I hope this helps to understand the differences.

Meilleures salutations

Pièces jointes :
Vous devez être connecté pour visualiser les fichiers joints.

0

SantiagoKM

Abonné, bbp_participant, 3 réponses.

Visiter le profil

Il y a 3 mois #285048

Well, I already found where the difference is in the interpretation of the data, and it depends on how the list of trades is ordered. I was able to reproduce this in Excel.

For the “Exclude overlapping trades” function to make the simulation according to reality, the list of trades should be ordered with the number “1” in the filter. If the list does not have the number “1”, the Excel simulation obtains a result exactly the same as QA.

The downside is that Quant Analiyzer, by default, always takes the sorted list without the number “1”, so it always results in the same smoothed curve.

I did not identify what the trade ordering criteria is when the filter does not have the number “1”.

I know you have a lot of work, but I hope this feature can be corrected in subsequent updates. QA is really an excellent platform.

Meilleures salutations

Pièces jointes :
Vous devez être connecté pour visualiser les fichiers joints.

0

Affichage de 5 réponses de 1 à 5 (sur un total de 5)