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.