smallcaps90 ![]() (1022
msg) #499775Posté
le : le 15-06-2006 17:41:27 ====================================================
Afin de complèter la comparaison précédente, je vous soumets ce graphe qui comporte,
outre l'EPMA, la moyenne arithmétique, la moyenne exponentielle, la moyenne pondérée
et la moyenne de Hull, toutes calculées sur 10 périodes glissantes. On remarque nettement que la moyenne de Hull possède de très bonnes qualités de lissage avec un lag mini et des points de retournement qui apparaissent souvent simultanément avec ceux de l'EPMA, voire parfois1 à 2 periodes avant ceux-ci. ![]() Peut-on envisager une anticipation de ceux-ci sur une Hull...? FOKI où en es-tu? A suivre...
FOKI ![]() (2011
msg) FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #499791Posté
le : le 15-06-2006 19:56:45 FOKI - FOKI - ====================================================
Bonjour Smallcaps MP dans ta bal.
Laisser au marché, nous donner la direction...
glave79 ![]() (11
msg) glave79' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #499796Posté
le : le 15-06-2006 20:37:25 glave79 - glave79 - ====================================================
Bonsoir Smallcaps, Bien évidemment un grand merci et vraiment bravo pour ton érudition. 1) effectivement la moyenne EPMA et l'indicateur de régression linéaire sont très proches; 2) la moyenne de HULL donne également des résultats intéressants, qui méritent d'être comparés avec ceux de l'EPMA (le Pb est de savoir comment les comparer); Au fait cette moyenne de HULL, comment l'obtient t-on (excuse mon ignorance) ? En fait mon idée de départ est toute simple : l'EPMA me semblant réaliser un bon lissage avec, et surtout une bonne anticipation, je voulais l'utiliser pour détecter au plus tôt les changements de tendance : au moment ou la dérivée de la courbe EPMA est nulle, pour celà j'affectais une moyenne mobile exponentielle à l'EPMA, de période nettement plus courte (2 pour 10 par ex.), le croisement étant censé répondre à peu prêt à mon objectif. Bref, voilà, est-ce vraiment une bonne idée ? J'en profite pour me présenter : je teste en ce moment la version de démo de Graphe AT PRO, mais sans aucune hésitation je vais en faire l'achat, ses possibilités de programmation sont très intéressantes, quant au prix, il est sans concurrence. Jusqu'à maintenant j'utilisais une vieille version de Waldata, que je laisse tomber (ne gère pas les codes ISIN). Cordialement et à bientôt.
FOKI ![]() (2011
msg) FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #499827Posté
le : le 15-06-2006 22:55:22 FOKI - FOKI - ====================================================
Bonsoir Glave79 Tu trouveras des infos sur la Moyenne de Hull en page 57 de cette même file FOKI
édité le : 15-06-2006
23:01:09Laisser au marché, nous donner la direction...
glave79 ![]() (11
msg) glave79' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #499836Posté
le : le 15-06-2006 23:30:11 glave79 - glave79 - ====================================================
Merci FOKI ![]()
augusseau ![]() (178
msg) #500175Posté
le : le 17-06-2006 15:12:11 augusseau - augusseau - ====================================================
bonjour a tous, un indicateur de plus pour ceux que ca interesse voici le code pour représenter un pseudo market profile ///// Z1(0)=0 Z2(0)=0 Z3(0)=0 Z4(0)=0 Z5(0)=0 Z6(0)=0 Z7(0)=0 Z8(0)=0 Z9(0)=0 Z10(0)=0 Z11(0)=0 ZC1(0)=0 ZC2(0)=0 ZC3(0)=0 ZC4(0)=0 ZC5(0)=0 ZC6(0)=0 ZC7(0)=0 ZC8(0)=0 ZC9(0)=0 ZC10(0)=0 ZC11(0)=0 POC(0)=0 M=MOIS J=JOUR H(0)=HAUT ZPOC(0)=0 COMPT(0)=0 i = 0 TantQue i<JOUR Faire si MOIS(I)=M ALORS NBJOUR(0)=NBJOUR(0)+1 i = i + 1 FinTantQue HIGH=MAX(HAUT,NBJOUR) MINU=MIN(BAS,NBJOUR) ECART(0)=(HIGH-MINU)/11 i = 0 tantQue i<NBJOUR Faire si haut(i)<HIGH-ECART alors Z1=Z1 sinon Z1=Z1+1 si HAUT(i)<=(HIGH-2*ECART) ou BAS(i)>=(HIGH-1*ECART) alors Z2=Z2 sinon Z2=Z2+1 si HAUT(i)<=(HIGH-3*ECART) ou BAS(i)>=(HIGH-2*ECART) alors Z3=Z3 sinon Z3=Z3+1 si HAUT(i)<=(HIGH-4*ECART) ou BAS(i)>=(HIGH-3*ECART) alors Z4=Z4 sinon Z4=Z4+1 si HAUT(i)<=(HIGH-5*ECART) ou BAS(i)>=(HIGH-4*ECART) alors Z5=Z5 sinon Z5=Z5+1 si HAUT(i)<=(HIGH-6*ECART) ou BAS(i)>=(HIGH-5*ECART) alors Z6=Z6 sinon Z6=Z6+1 si HAUT(i)<=(HIGH-7*ECART) ou BAS(i)>=(HIGH-6*ECART) alors Z7=Z7 sinon Z7=Z7+1 si HAUT(i)<=(HIGH-8*ECART) ou BAS(i)>=(HIGH-7*ECART) alors Z8=Z8 sinon Z8=Z8+1 si HAUT(i)<=(HIGH-9*ECART) ou BAS(i)>=(HIGH-8*ECART) alors Z9=Z9 sinon Z9=Z9+1 si HAUT(i)<=(HIGH-10*ECART) ou BAS(i)>=(HIGH-9*ECART) alors Z10=Z10 sinon Z10=Z10+1 si bas(i)>(HIGH-10*ECART) alors Z11=Z11 sinon Z11=Z11+1 i = i + 1 FinTantQue ZPOC=Z1 COMPT=1 si Z2>=ZPOC alors ZPOC=Z2 COMPT=2 finsi si Z3>=ZPOC alors ZPOC=Z3 COMPT=3 finsi si Z4>=ZPOC alors ZPOC=Z4 COMPT=4 finsi si Z5>=ZPOC alors ZPOC=Z5 COMPT=5 finsi si Z6>=ZPOC alors ZPOC=Z6 COMPT=6 finsi si Z7>ZPOC alors ZPOC=Z7 COMPT=7 finsi si Z8>ZPOC alors ZPOC=Z8 COMPT=8 finsi si Z9>ZPOC alors ZPOC=Z9 COMPT=9 finsi si Z10>ZPOC alors ZPOC=Z10 COMPT=10 finsi si Z11>ZPOC alors ZPOC=Z11 COMPT=11 finsi POC=HIGH-(COMPT-0.5)*ECART POC2(0)=HIGH-(COMPT-0.5)*ECART i=1 TantQue i<=NBJOUR Faire si Z1>=i alors ZC1(NBJOUR-i)=HIGH-0.5*ECART sinon ZC1(NBJOUR-i)=0 si Z2>=i alors ZC2(NBJOUR-i)=HIGH-1.5*ECART sinon ZC2(NBJOUR-i)=0 si Z3>=i alors ZC3(NBJOUR-i)=HIGH-2.5*ECART sinon ZC3(NBJOUR-i)=0 si Z4>=i alors ZC4(NBJOUR-i)=HIGH-3.5*ECART sinon ZC4(NBJOUR-i)=0 si Z5>=i alors ZC5(NBJOUR-i)=HIGH-4.5*ECART sinon ZC5(NBJOUR-i)=0 si Z6>=i alors ZC6(NBJOUR-i)=HIGH-5.5*ECART sinon ZC6(NBJOUR-i)=0 si Z7>=i alors ZC7(NBJOUR-i)=HIGH-6.5*ECART sinon ZC7(NBJOUR-i)=0 si Z8>=i alors ZC8(NBJOUR-i)=HIGH-7.5*ECART sinon ZC8(NBJOUR-i)=0 si Z9>=i alors ZC9(NBJOUR-i)=HIGH-8.5*ECART sinon ZC9(NBJOUR-i)=0 si Z10>=i alors ZC10(NBJOUR-i)=HIGH-9.5*ECART sinon ZC10(NBJOUR-i)=0 si Z11>=i alors ZC11(NBJOUR-i)=HIGH-10.5*ECART sinon ZC11(NBJOUR-i)=0 si ZPOC>=i alors POC(NBJOUR-i)=HIGH-(COMPT-0.5)*ECART sinon POC(NBJOUR-i)=0 Z1(NBJOUR-i)=Z1 Z2(NBJOUR-i)=Z2 Z3(NBJOUR-i)=Z3 Z4(NBJOUR-i)=Z4 Z5(NBJOUR-i)=Z5 Z6(NBJOUR-i)=Z6 Z7(NBJOUR-i)=Z7 Z8(NBJOUR-i)=Z8 Z9(NBJOUR-i)=Z9 Z10(NBJOUR-i)=Z10 Z11(NBJOUR-i)=Z11 COMPT(NBJOUR-i)=COMPT POC2(NBJOUR-i)=POC2 i = i + 1 FinTantQue // calcul de value area CAL(0)=Z1 CAL(1)=Z2 CAL(2)=Z3 CAL(3)=Z4 CAL(4)=Z5 CAL(5)=Z6 CAL(6)=Z7 CAL(7)=Z8 CAL(8)=Z9 CAL(9)=Z10 CAL(10)=Z11 VARIABILITE(0)=ECARTYPE(CAL,10) si MOIS(1)<>MOIS(0) alors VA(1)=POC2(1)-VARIABILITE(1)*ECART(1) VA(2)=POC2(1)+VARIABILITE(1)*ECART(1) sinon VA=0 ////// le principe retenu est le suivant : pour la représentation, je prends en compte les cotations du mois, je decompose en 11 zones de prix de larguer égale, à partir du plus haut et du plus bas du mois je comptabilise durant le mois le temps passé dans chaque zone je représente le temps passé dans chaque zone le temps passé en bleu pour chque zone, en vert le POC (zone ou le temps passé est maximale) je représente, centré sur le POC, la distribution des cours à un écart type (en jaune) au final, voir la littérature pour l'exploitation application concrête, le POC ou les extremités de la value area en jaune peuvent servir de support/résistance ![]() carca
augusseau ![]() (178
msg) #500177Posté
le : le 17-06-2006 15:14:12 augusseau - augusseau - ====================================================
et on obtient des graphes comme celui ci ![]() a titre d'exemple, on voit bien que l'extremite basse de la value area de mai a servi de resistance (segment jaune)
carca
jmc ![]() (46
msg) jmc' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #500293Posté
le : le 19-06-2006 08:07:10 jmc - jmc - ====================================================
Un grand merci à jean-luc M. pour le document word : je ne me rappelle plus ton
pseudo ici .... signé : bge-37@.....com
michka ![]() (26
msg) michka' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #500500Posté
le : le 19-06-2006 21:16:05 michka - michka - ====================================================
Bonjour jmc Je t'en pris, ce n'est qu'une simple participation au travail de tous les acteurs de cette file. ![]() Cordialement
glave79 ![]() (11
msg) glave79' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #501020Posté
le : le 21-06-2006 15:36:43 glave79 - glave79 - ====================================================
Retour sur la moyenne mobile EPMA Smallcaps90, je reviens te solliciter, j'ai retranscrit textuellement ton programme sur l'indicateur EPMA_10 (quand même après l'avoir compris !); mais mille fois hélas, l'indicateur reste contamment à zéro (bouton "tester"), ainsi bien sur, que la courbe associée. Visiblement quelque chose m'échappe ! Un petit coup de main serait le bienvenu. ![]() Cordialement
smallcaps90 ![]() (1022
msg) #501161Posté
le : le 21-06-2006 20:53:10 ====================================================
Bonsoir glave79, As-tu vérifié le contenu de ta fenêtre Propriétés de l'indicateur?
glave79 ![]() (11
msg) glave79' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #501172Posté
le : le 21-06-2006 22:16:27 glave79 - glave79 - ====================================================
Bonsoir Smallcaps90 J'ai trouvé mon erreur due à ma grande ignorance : la courbe résultat doit être désignée par "Courbe1" et non par "EPMA", c'est aussi bête que cela. Mais n'est-ce pas grace à ses erreurs que l'on progresse ? Il faut dire que dans mon cas la route est longue.... Etant d'un naturel têtu et laborieux, je commence par étudier chacune des 78 pages du forum. Encore merci smallcaps90 et à bientôt. Cordialement ![]()
smallcaps90 ![]() (1022
msg) #501209Posté
le : le 22-06-2006 08:10:29 ====================================================
Bonjour glave79, Il n'est pas nécessaire que la courbe de l'indicateur soit désignée par "Courbe1" pour quelle apparaisse sur le graphe. Le programme définit la variable EPMA et la fenêtre Propriétés de la règle comporte bien EPMA dans le champ "Nom" de la courbe1, avec Simple dans le champ "Affichage"...Par conséquent si tu as bien coché la case "Affichage sur les cours", la courbe de l'EPMA doit apparaître sur les cours... Pour ce qui concerne les 78 pages de la file, il est vrai qu'il n'est pas très facile d'y retrouver qq chose vu que la fonction "Rechercher" n'accède pas à la page où se trouve le sujet qui t'intéresse...Néanmoins tu peux demander à Longway de t'envoyer son tableau Excel qui résout ce problème. Michka et jlr ont réalisé des documents Word reprenant l'intégralité de la file également. Cà aide bien! Merci à eux ... Cordialement.
glave79 ![]() (11
msg) glave79' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #501881Posté
le : le 25-06-2006 19:23:55 glave79 - glave79 - ====================================================
Merci smallcaps90, J'ai enfin compris, qu'il est nécessire de conserver la cohérence entre l'appellation de la courbe, déclarée dans l'onglet "Propriétés", et celle utilisée dans le corps du programme, chose que je n'avais pas faîte ! (dur, dur). Je suis bien évidemment preneur de tout programme qui établit une synthèse des 78 pages du forum (j'en suis actuellement à la 4ème !) et j'en remercie à l'avance les auteurs, qui voudront bien me le faire parvenir (ordi.tel@free.fr). Cordialement. glave79
FOKI ![]() (2011
msg) FOKI' style='text-decoration:none;'>PROFIL NON RENSEIGNÉ #503002Posté
le : le 29-06-2006 12:42:20 FOKI - FOKI - ====================================================
Bonjour
Visuellement la Hull semble être intéressante ... ici appliquée sur le CAC avec un réglage de 10 ![]() MAIS qu'en est il numériquement ... pourrait-on en faire un système de trading ?? Les outils utilisés : Programme de la Hull avec segment de couleur : //==== //HULL //==== //Moyenne de Hull //V1.0 du 29/06/2005 //V2.0 du 16/05/2006 // M_HULL = PONDERE(2*PONDERE(CLOTURE,P1/2)- PONDERE(CLOTURE,P1),RACINE(P1)) //Tracé des segments croissants en vert //des segments décroissants en rouge pour M_HULL //1- Initialisations SI RANGHISTO=2 ALORS SI M_HULL>=M_HULL(1) ALORS V(0)=1 R(0)=0 SINON V(0)=0 R(0)=1 FINSI FINSI //3- Détermination de la tendance SI RANGHISTO>2 ALORS SI M_HULL(1)>M_HULL ALORS R=1 V=0 FINSI SI M_HULL(1)<M_HULL ALORS V=1 R=0 FINSI SI M_HULL(1)=M_HULL ALORS SI V(1)=1 ALORS V=V(1) SI R(1)=1 ALORS R=R(1) FINSI //Traitement des tracés // //Segments verts // SI V=1 ET V(1)=0 ALORS SI A=0 ALORS M_HULL_V1(1)=M_HULL(1) M_HULL_V1=M_HULL SINON M_HULL_V2(1)=M_HULL(1) M_HULL_V2=M_HULL FINSI FINSI SI V=1 ET V(1)=1 ALORS SI A=0 ALORS M_HULL_V1=M_HULL SI A=1 ALORS M_HULL_V2=M_HULL FINSI SI V=0 ET V(1)=1 ALORS SI A=0 ALORS M_HULL_V1(1)=M_HULL(1) SI A=1 ALORS M_HULL_V2(1)=M_HULL(1) A=NON(A) FINSI //Segments rouges // SI R=1 ET R(1)=0 ALORS SI B=0 ALORS M_HULL_R1(1)=M_HULL(1) M_HULL_R1=M_HULL SINON M_HULL_R2(1)=M_HULL(1) M_HULL_R2=M_HULL FINSI FINSI SI R=1 ET R(1)=1 ALORS SI B=0 ALORS M_HULL_R1=M_HULL SI B=1 ALORS M_HULL_R2=M_HULL FINSI SI R=0 ET R(1)=1 ALORS SI B=0 ALORS M_HULL_R1(1)=M_HULL(1) SI B=1 ALORS M_HULL_R2(1)=M_HULL(1) B=NON(B) FINSI FINSI ![]() Programme de détection d'inversion de sens de la HULL : //============== //CONV_CONC_HULL //============== //Recherche des zones convexes/concaves et ascendantes/descendantes //sur une moyenne de Hull //le 30/06/2005 // M(0)=HULL.M_HULL CONVEXE = (M-2*M(1)+M(2)>=0) //Approximation de la dérivée seconde CONCAVE = NON(CONVEXE) ASCENDANT = (M>M(1)) DESCENDANT = NON(ASCENDANT) HAUSSE_DEBUT = CONVEXE ET ASCENDANT HAUSSE_FIN = CONCAVE ET ASCENDANT BAISSE_DEBUT = -(CONCAVE ET DESCENDANT) BAISSE_FIN = -(CONVEXE ET DESCENDANT) ![]() Le programme de test : Voici la structure des répertoires : ![]() Programme "Trading system HULL" : //================= // Trading System 2 //================= // Similaire à "Trading System" avec en plus utilisation de la fenêtre // d'affichage des règles pour un rapport de backtest (voir règle "Trad Gains 2") //Système basé sur la Concavité de la moyenne de HULL ACHAT=HULL.M_HULL_V1(2)=0 ET HULL.M_HULL_V1(1)<>0 ET HULL.M_HULL_V1<>0 OU HULL.M_HULL_V2(2)=0 ET HULL.M_HULL_V2(1)<>0 ET HULL.M_HULL_V2<>0 VENTE=HULL.M_HULL_R1(2)=0 ET HULL.M_HULL_R1(1)<>0 ET HULL.M_HULL_R1<>0 OU HULL.M_HULL_R2(2)=0 ET HULL.M_HULL_R2(1)<>0 ET HULL.M_HULL_R2<>0 //Signal Achat/Vente : 1 = Achat, 0 = Neutre, -1 = Vente SIGNAL = Achat - Vente ![]() Le programme "Trad AchatVente HULL" // Position Acheteuse ou Vendeuse ACHATVENTE = GAINS2.POS ![]() Le programme "Trad AV sur cours HULL" //================== //TradAV sur cours 2 //================== // Signal d'achat/Vente sur les cours (flèches) Si SIGNAL = 1 Alors FACHAT = -1 // Achat : flèche haut en dessous des cours Si SIGNAL = -1 Alors FVENTE = 1 // Vente : flèche bas au dessus des cours Si GAINS2.SIGNALSTOP = 2 Alors FACHAT = 1 // Achat par Stop loss Vente Si GAINS2.SIGNALSTOP = -2 Alors FVENTE = -1 // Vente par Stop loss Achat COURBE_UP1=HULL.M_HULL_V1 COURBE_UP2=HULL.M_HULL_V2 COURBE_DN1=HULL.M_HULL_R1 COURBE_DN2=HULL.M_HULL_R2/blue ![]() Le programme "Trad Gains HULL" // Calcul de la courbe des gains du Signal d'Achat/Vente // et des statistiques sur les opérations dans la fenêtre d'Affichage (rapport de backtest) // P1 = 0 : Opération au cours de Cloture du jour du signal // P1 = 1 : Opération au cours d'Ouverture du jour suivant le signal // P1 = 2 : Opération au cours moyen du jour suivant le signal // P2 : Stop de protection à -P2% de perte // P2 = 0 : Pas de stop de protection // P3 = 1 : Affichage de chaque opération d'Achat/Vente dans la fenêtre d'affichage des règles GAINS = GAINS(1) GAINSREEL = GAINSREEL(1) BUYANDHOLD = BUYANDHOLD(1) Pos = Pos(1) SIGNALSTOP=SIGNAL // Affichage des statistiques sur les opérations Si RANGHISTO=FINHISTO Alors Afficher "" Afficher "======== Statistiques sur les opérations d'Achat/Vente SUR HULL " Afficher "" Afficher "Nombre d'opérations : " & Trade & " Gagnantes : " & Win & " (" & ARRONDI(Win/Trade*100,2) & "%)" & " Perdantes : " & Lost & " (" & ARRONDI(Lost/Trade*100,2) & "%)" Afficher "" Afficher "Total des gains : " & ARRONDI(GAINSREEL,2) & " Des opérations gagnantes : " & ARRONDI(SomWin,2) & " Des opérations perdantes : " & ARRONDI(SomLost,2) Afficher "Moyenne des gains : " & ARRONDI(GAINSREEL/Trade,2) & " Des opérations gagnantes : " & ARRONDI(SomWin/Win,2) & " Des opérations perdantes : " & ARRONDI(SomLost/Lost,2) Afficher "" Afficher "Meilleur opération gagnante : " & ARRONDI(MaxWin,2) & " Plus petite opération gagnante : " & ARRONDI(MinWin,2) Afficher "Plus grande opération perdante : " & ARRONDI(MaxLost,2) & " Plus petite opération perdante : " & ARRONDI(MinLost,2) Afficher "" Afficher "Maximum d'opérations gagnantes consécutives : " & ARRONDI(MaxNbConsWin,2) & " Gain total : " & ARRONDI(MaxConsWin,2) Afficher "Maximum d'opérations perdantes consécutives : " & ARRONDI(MaxNbConsLost,2) & " Perte totale : " & ARRONDI(MaxConsLost,2) Afficher "" Afficher "Perte maximale atteinte en intraday (MaxIntraDrawDown) : " & ARRONDI(MaxIntraDrawDown,2) & " (le " & DateMaxIntra$ & ")" Afficher "" Afficher "====================================================" Afficher "" FinSi // Calcul cours de l'opération Si P1=0 Alors CoursOper = Cloture // Opération au cours de Cloture si P1=0 Sinon Si RANGHISTO=FINHISTO Alors Stop Si P1=1 Alors CoursOper = Ouverture(-1) // Opération au cours d'ouverture du jour suivant si P1=1 Sinon CoursOper = (Haut(-1) + Bas(-1) + Cloture(-1)) / 3 // Opération au cours moyen du jour suivant si P1=2 FinSi Si RANGHISTO = 1 Alors // Début historique Cours0 = CoursOper Pos = SIGNALSTOP CoursDebOper = CoursOper Stop FinSi // Stop de protection Si P2>0 ET Pos<>0 ET SIGNALSTOP=0 Alors Si Pos>0 Alors Perte = (CoursDebOper-Bas)/CoursDebOper Sinon Perte = (Haut-CoursDebOper)/CoursDebOper Si Perte >= P2% Alors SIGNALSTOP = -2 * Pos CoursOper = CoursDebOper * (1-Pos*P2%) Si CoursOper>Haut Alors CoursOper = Haut Si CoursOper<Bas Alors CoursOper = Bas Finsi FinSi // Calcul de la courbe des Gains PlusValue = (CoursOper - CoursDebOper) * Pos GAINS = GAINSREEL + PlusValue BUYANDHOLD = CoursOper - Cours0 // Calcul du MaxIntraDrawDown Si Pos<>0 Alors Si Pos>0 Alors Perte = Bas-CoursDebOper Sinon Perte = CoursDebOper-Haut Si Perte>0 Alors Perte = 0 PerteTotale = (GAINSREEL-MaxGains)+Perte Si PerteTotale<MaxIntraDrawDown Alors MaxIntraDrawDown = PerteTotale DateMaxIntra$ = DateHisto$ FinSi FinSi // Calcul des statistiques de fin d'opération Si Pos<>SIGNALSTOP ET SIGNALSTOP<>0 ET Pos<>0 Alors Trade = Trade+1 Si GAINS>MaxGains Alors MaxGains = GAINS Si PlusValue>0 Alors Win = Win+1 SomWin = SomWin+PlusValue Si Win=1 Alors MinWin = PlusValue Si PlusValue<MinWin Alors MinWin = PlusValue Si PlusValue>MaxWin Alors MaxWin = PlusValue ConsWin = ConsWin+PlusValue Si ConsWin>MaxConsWin Alors MaxConsWin = ConsWin NbConsWin = NbConsWin+1 Si NbConsWin>MaxNbConsWin Alors MaxNbConsWin = NbConsWin ConsLost = 0 NbConsLost = 0 Sinon Lost = Lost+1 SomLost = SomLost+PlusValue Si Lost=1 Alors MinLost = PlusValue Si PlusValue>MinLost Alors MinLost = PlusValue Si PlusValue<MaxLost Alors MaxLost = PlusValue ConsLost = ConsLost+PlusValue Si ConsLost<MaxConsLost Alors MaxConsLost = ConsLost NbConsLost = NbConsLost+1 Si NbConsLost>MaxNbConsLost Alors MaxNbConsLost = NbConsLost ConsWin = 0 NbConsWin = 0 FinSi FinSi // Affichage des opérations si P3=1 Si P3=1 ET Pos<>SIGNALSTOP ET SIGNALSTOP<>0 ET Pos<>0 Alors Si Pos>0 Alors Operation$="ACHAT" Sinon Operation$="VENTE" DateFinOper$ = DateHisto$ Afficher Operation$ & " " & DateDebOper$ & " " & CTXT$(CoursDebOper,2) & " " & DateFinOper$ & " " & CTXT$(CoursOper,2) & " " & CTXT$((CoursOper-CoursDebOper)/CoursDebOper*Pos*100,2) & "%" FinSi // Début d'une nouvelle opération (ou seulement fin de la précédente) Si Pos<>SIGNALSTOP ET SIGNALSTOP<>0 Alors GAINSREEL = GAINS Si ABSOLU(SIGNALSTOP)=1 ALors // Début d'une nouvelle opération Pos = SIGNALSTOP CoursDebOper = CoursOper DateDebOper$ = DateHisto$ Sinon Pos = 0 // Arrêt de l'opération à cause d'un stop loss FinSi Finsi ![]() RESULTAT DES COURSES A SUIVRE ...
édité le : 29-06-2006
19:43:15Laisser au marché, nous donner la direction...
78
|