Proorder de PRT fonctionne t'il correctement ?

Forum sur le trading automatique et algorithmique : systèmes, backtests, robots de trading, résultats et limites, code à l'appui.
Avatar du membre
Stark
Compagnon Jedi
Messages : 1482
Enregistré le : 01 nov. 2015 10:06

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Stark »

Salut G'sT, j'utilise tous les jours ProOrder en réel, et mes résultats sont semblables à mes backtests. Je pense qu'il faut que tu intègres tes indicateurs maisons directement dans ton robot ProOrder.

N'hésite pas si tu as besoin d'un coup de main ;)
Avatar du membre
Benoist Rousseau
Trader Futures / CME Member
Messages : 174758
Enregistré le : 06 sept. 2011 22:45

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/src/Extension/CoreExtension.php on line 570: strtr(): Ignoring replacement of empty string
Benoist Rousseau
»

vu ce que tu décris c'est un problème de if G'sT, perso je n'ai pas de soucis avec proorder

les if then else if ça me rappelle le Turbo Pascal et ses boucles infinies :)
G'sT
Maître Jedi
Messages : 4719
Enregistré le : 01 mars 2012 18:45

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par G'sT »

Msg recu Stark ;-)
J examinerai tout ca ce soir. Merci a tous pour votre collaboration collective.
En y reflechissant a nouveau, je viens de prendre conscience (grace a vous ;-) ) de la necessite d alleger, de simplifier mon "code proorder".

Effectivement ma 3e variable (signal.bdc achat") fait appel a un indicateur maison binaire qui lui meme fait appel (puisqu il est binaire) a un autre indicateur maison externe "bdc".

Proorder fait donc reference a 2 indicateurs externes imbriques.
De meme l'indicateur "signal bdc achat", contient aussi un if/then qui entre peut etre "en conflit" avec mon if/then dans proorder.
Idem pour une nomenclature "A=" qui intervient dans BDC / signal bdc achat / et proorder... d ou peut etre une confusion des genres....

Je vais simplifier mon code proorder et je vous tiendrai informés
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Jim »

Hello G'sT,

Je suis un utilisateur régulier de ProOrder, et je suis souvent agacé par des différences avec PBT. Les conséquences peuvent être très lourdes. A titre personnel, pour un même système de trading, j'ai un code spécifique pour PBT et un code spécifique pour ProOrder.

J'ai lu que tu utilises des Close et des Close[1] dans ton code, et là je dis : Aïe ! Perso, quand je passes de PBT à PO, je remplace les Close par des Close[1], et les Close[1] par des Close[2].
En effet, PBT fait un test de condition en fin de chandelier, et si le test est positif il ouvre une position en début de chandelier suivant. PO fait un test de condition en début de chandelier, et si le test est positif il ouvre une position immédiatement.
En conséquence, tu te retrouves avec Close = Close[1] (si absence de glissement).
Avatar du membre
Stark
Compagnon Jedi
Messages : 1482
Enregistré le : 01 nov. 2015 10:06

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Stark »

Jim a écrit :En effet, PBT fait un test de condition en fin de chandelier, et si le test est positif il ouvre une position en début de chandelier suivant. PO fait un test de condition en début de chandelier, et si le test est positif il ouvre une position immédiatement.
Chez moi, ProOrder ne prend position qu'en clôture de bougie, je suis surpris de ça Jim.
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Jim »

Stark,
Ca m'intrigue aussi ce que tu me dis. Il faut croire qu'on fait une utilisation différente de ProOrder, ou bien on a des éléments de langage différents.

Je vais te donner un bout de code, et tu me diras si tu obtiens le même résultat :
IF TIME = 130500 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
En UT 1 min, ProOrder effectuera le test entre 13h05m00s et 13h05m02s environ, puis IG essaiera d'ouvrir une position dans la foulée. Si IG rejette l'ordre, il retentera de passer l'ordre vers 13h05m05s. Bref, l'ordre est exécuté au début de la bougie qui va de 13h05m00s à 13h06m00s.

En tout cas, Stark, si tu disposes d'une méthode pour exécuter les ordres en fin de bougie, je suis très intéressé !
Avatar du membre
Stark
Compagnon Jedi
Messages : 1482
Enregistré le : 01 nov. 2015 10:06

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Stark »

Ok je vais essayer. Après j'utilise l'UT 10 secondes pour mes codes, peut-être que cela joue.
Avatar du membre
kero
Compagnon Jedi
Messages : 1317
Enregistré le : 22 juil. 2015 09:08

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par kero »

Bah 2 IF/THEN ou un IF+ELSIF, ça ne donne pas le même algorythme.

En fait, le mieux serait de le voir, ce code.
Avatar du membre
plataxis
Membre du Conseil Jedi
Messages : 5049
Enregistré le : 30 avr. 2014 03:12

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par plataxis »

c'est surtout que Jim ouvre une position sans autre condition que l'heure. Peut-être Stark met-il une condition de prix ou d' indicateur ou de n'importe quoi qui fait que PRT attend la cloture d'une bougie ?
Avatar du membre
Stark
Compagnon Jedi
Messages : 1482
Enregistré le : 01 nov. 2015 10:06

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Stark »

Oui c'est tout à fait ça plataxis, j'ai des conditions en mode CLOSE, donc forcément mon code attend la fin de la bougie pour déterminer si les conditions d'entrées sont réunies, et seulement à l'ouverture de la bougie suivante il rentre.

Voilà pourquoi on a une différence Jim ;)
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Jim »

les amis, vous êtes parvenus à me faire douter :?

Etant persuadé que ce n'est pas une affaire de Close ou autre, j'ai lancé le système suivant sur le DOW, en UT 1 min :

DEFPARAM CumulateOrders = True
if close >0 then
buy 1 contract at market
endif


Le système a été lancé à 12h42m15s (heure US). Le résultat obtenu est décrit dans le tableau ci-dessous.
On voit clairement que les positions sont ouvertes en début de bougie.


Donc je maintiens que ProOrder ouvre une position en début de bougie quelque soit la condition d'entrée.
Alors c'est vrai que souvent il y a du glissement. Le record que j'ai obtenu est de 75 secondes pour fermer une position sur le indice anglais. :shock:
Fichiers joints
Nouvelle-image-8-ConvertImage.jpg
Nouvelle-image-8-ConvertImage.jpg (41.46 Kio) Vu 2212 fois
Avatar du membre
Stark
Compagnon Jedi
Messages : 1482
Enregistré le : 01 nov. 2015 10:06

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Stark »

Tu es sur un compte démo ou réel pour faire ton test ?
Avatar du membre
Jim
Chevalier Jedi
Messages : 2373
Enregistré le : 24 févr. 2016 10:39

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Jim »

Je suis bien entendu sur un compte démo pour ce test...
ladefense92800
Maître Jedi
Messages : 4289
Enregistré le : 18 déc. 2011 18:21

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par ladefense92800 »

Merci jim pour ces indications qui me sont tres utiles .

ça pourrait bien resoudre mes soucis .
G'sT
Maître Jedi
Messages : 4719
Enregistré le : 01 mars 2012 18:45

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par G'sT »

Bon voilà je viens de terminer le bricolage de la machine.

J'ai opté pour tout réécrire dans une version "prooder V2" dans l'optique dans un 1er temps de la backtester et comparer ce backteste avec celui de la V1 ; ça va le résultat du backtest de cette réécriture est le même que la V1.

Pour réécrire cette V2 j'ai suivi vos 2 recommandations principales :
1) j'ai inclus les indicateurs en lien externes dans prooder sous formes de calculs
2) j'ai conçu les 3 variables différemment afin d’alléger le If/then et n'avoir plus qu'un seule variable associé à 1 seul if/then dans la ligne de l'ordre d'achat/vente.


Ainsi le code se présente sous "l'architecture" suivante :

//REM CALCUL BDC SIGNAL D'ACHAT
Signaldachat=0
IF
ici je mets une formule qui calcule BDC
then
Signaldachat=1
endif

//REM CALCUL BDC SIGNAL DE VENTE
Signalvente=0
IF
ici je mets une formule qui calcul BDC
then
Signalvente=1
endif

// REM CALCUL DE LA PLAGE DE TRADING
heuredebut =XXXXX
heurefin=YYYYY
heuretrading=0
if time>heuredebut and time<heurefin then
then heuretrading=1
endif

//REM CALCUL VARIABLE PRIX
variableprixachat=0
If
ici je met une formule spécifique
then
variableprixachat=1
endif
variableprixvente=0
If
ici je met une formule spécifique
then
variableprixvente=1
endif

//REM CALCUL POSITION
Achat=signaldachat+heuretrading+variableprixachat
vente=signalvente+heuretrading+variableprixvente


// Conditions pour ouvrir une position acheteuse

IF NOT ONMarket AND Heikin Ashi=3 THEN
BUY 1 CONTRACTS AT MARKET
ENDIF


// Conditions pour ouvrir une position en vente à découvert
IF NOT ONMarket AND VTE=3 THEN
SELLSHORT 1 CONTRACTS AT MARKET
ENDIF


// Stops et objectifs
SET TARGET PROFIT
SET STOP LOSS



Voilà j'essayerai cette nouvelle version demain.
Avatar du membre
Stark
Compagnon Jedi
Messages : 1482
Enregistré le : 01 nov. 2015 10:06

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Stark »

Un conseil, pour tes IF, utilise plutôt celui là :

IF (Ton calcul de BDC) THEN
Signaldachat = 1
ELSE
Signalachat = 0
ENDIF

Sinon tu risques d'avoir ton Signalachat qui reste bloqué à 1 dans certains cas (pareil pour tes autres variables).

Et Perso je raccourcirai comme suit :

IF NOT ONMarket AND Signalachat = 1 AND heuretrading = 1 AND variableprixachat = 1 THEN
BUY 1 CONTRACTS AT MARKET
SET TARGET PROFIT
SET STOP LOSS
ENDIF

(Et pareil pour la vente)
G'sT
Maître Jedi
Messages : 4719
Enregistré le : 01 mars 2012 18:45

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par G'sT »

Ok merci du conseil Stark, je reverrais ca ce soir ; la je l ai lance hier soir, plus de possibilite de le changer via mon tel.
G'sT
Maître Jedi
Messages : 4719
Enregistré le : 01 mars 2012 18:45

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par G'sT »

Bon il est 9h02 et ma V2 n a pas encore lancé de trade contrairement a ma v1 qui avant hier avait commencé les trades a 9h01...... ce qui semble etre de bon augure......
G'sT
Maître Jedi
Messages : 4719
Enregistré le : 01 mars 2012 18:45

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par G'sT »

Super proorder a lancé un.trade et l a deboucle a son TP...
Ca marche :-)
Avatar du membre
Stark
Compagnon Jedi
Messages : 1482
Enregistré le : 01 nov. 2015 10:06

Re: Proorder de PRT fonctionne t'il correctement ?

Message non lu par Stark »

@Jim > C'est drôle je viens de tester ton code, effectivement en UT 1min, il se déclenche au bout de 5s en moyenne (latence ?).

Par contre, en UT 10s, il se déclenche très bien en temps voulu
Spoiler:
Test.jpg
Test.jpg (41.81 Kio) Vu 2150 fois