Voici le code de l’indicateur ProRealTime GNT@SYS Des questions? Des idées? Des astuces? Venez échanger et discuter sur le forum ! Bons trades. Grégoire Tardy // Grégoire Tardy 01.01.2010 // Update : 01.01.2011 /////// A LIRE ATTENTIVEMENT AVANT L’UTILISATION DU TRADING SEMI AUTOMATIQUE //////// /// LE PROGRAMME CI DESSOUS EST LIBRE DE TOUTE MODIFICATION. EN EFFET, IL VOUS PERMET /// DE CONSTRUIRE VOTRE STRATEGIE DE TRADING ET DE LA COMMUNIQUER AU TRADING SEMI /// AUTOMATIQUE. AVANT TOUTE MODIFICATION, PRENEZ SOINS DE COPIER TOUT SON CONTENU /// DANS UN FICHIER TEXTE QUE VOUS CONSERVEREZ PRECIEUSEMENT. /// LE TRADING SEMI AUTOMATIQUE N’EST PAS UN SYSTEME DE TRADING. AINSI, POUR L’UTILISER /// VOUS DEVEZ LUI ADJOINDRE VOTRE SYSTEME DE TRADING PERSONNEL. POUR CE FAIRE, VOUS /// DEVEZ COPIER ET COLLER VOTRE SYSTEME DE TRADING DANS L’INDICATEUR PROREALTIME /// ‘GNT@SYS’ QUE VOUS TROUVEREZ DANS LA LISTE DES INDICATEURS UNE FOIS LE MODULE /// ‘GNT@TSA’ INSTALLE SUR VOTRE PLATEFORME. L’INDICATEUR ‘GNT@SYS’ EST LE SEUL INDICATEUR /// QUI EST UTILISE PAR LE PROGRAMME ‘GNT@TSA’. /// L’INDICATEUR ‘GNT@SYS’ EST UNE STRUCTURE PROFORMAT POUR VOUS GUIDER DANS LA /// COMMUNICATION DES DONNEES NECCESSAIRES AU FONCTIONNEMENT DU ‘GNT@TSA’ /// A TITRE D’EXEMPLE, UN SYSTEME DE TRADING FICTIF EST FOURNI PAR DEFAUT DANS L’INDICATEUR /// ‘GNT@SYS’. IL PERMET D’ILLUSTRER L’UTILISATION DU ‘GNT@TSA’ SUR LE MARCHE DES DEVISES /// DIT ‘FOREX’. ATTENTION, NE PAS UTILISER CE SYSTEME FICTIF ! /// EN VOICI CI DESSOUS UN DESCRIPTIF. // Signal Alerte : Croissement d’une moyenne mobile exponentielle de 8 périodes avec une // moyenne mobile exponentielle de 21 périodes // Signal Entrée en position : Rebond du cours (prix) sur la moyenne mobile // exponentielle de 21 périodes // Signal d’invalidation : Croissement, dans le sens inverse au signal d’alerte, des deux // moyennes mobiles, rapidement après la prise de position sur le marché. // Signal de prise de bénéfice : Croissement de la moyenne mobile exponentielle de 21 // périodes par le cours de clôture. // Signal de clôture de position : Croissement, dans le sens inverse au signal d’alerte, // des deux moyennes mobiles. // STOP DE PROTECTION A 10 PIPS AU DELA DU PUS HAUT/BAS A L’INSTANT DU SIGNAL // OBJECTIF DE SORTIE A 40 PIPS AU DELA DU PUS HAUT/BAS A L’INSTANT DU SIGNAL ///////////////////////////////////////////////////////////////////////////////////////// // Initialisation des variables ///////////////////////////////////////////////////////////////////////////////////////// /// CI APRES DEUX VARIABLES POUR LA GESTION DE LA TENDANCE DANS LE SYSTEME DE TRADING /// FICTIF Trda = 0 Trdv = 0 /// CI APRES, TOUTES LES VARIABLES NECESSAIRES AU TRADING SEMI AUTOMTIQUE POUR VOUS /// GUIDER DANS LA GESTION DE VOS POSITIONS LgAle = 0 ShAle = 0 LgSig = 0 ShSig = 0 StopPrice = 0 ObjPrice = 0 LgBenSig = 0 ShBenSig = 0 LgOutSig = 0 ShOutSig = 0 LgInvSig = 0 ShInvSig = 0 ///////////////////////////////////////////////////////////////////////////////////////// // Appel des fonctions externes ou calcul d’indicateurs sous jacents à la stratégie ///////////////////////////////////////////////////////////////////////////////////////// EMASh = ExponentialAverage[8](close) EMALg = ExponentialAverage[21](close) ///////////////////////////////////////////////////////////////////////////////////////// // Gestion des filtres ///////////////////////////////////////////////////////////////////////////////////////// /// LA TENDANCE EST DEFINIE PAR LA POSITION DE LA MOYENNE MOBILE COURTE, PAR RAPPORT A LA /// MOYENNE MOBILE LONGUE If EMASh => EMALg Then TRDA = 1 TRDV = 0 Else TRDA = 0 Endif If EMASh < EMALg Then TRDV = 1 TRDA = 0 Else TRDV = 0 Endif ///////////////////////////////////////////////////////////////////////////////////////// // Gestion des signaux ///////////////////////////////////////////////////////////////////////////////////////// // Signal d’alerte // //——————// // LE SIGNAL D’ALERTE ET ISSUE DU CROISSEMENT DES DEUX MOYENNES MOBILES EXPONENTIELLES LgAle = EMASh crosses over EMALg /// Signal d’alerte à la hausse ShAle = EMASh crosses under EMALg /// Signal d’alerte à la baisse // Signal d’entrée en position // //—————————–// // LE SIGNAL D’ENTREE EN POSITION EST ISSU DU REBOND DES PRIX SUR LA MOYENNE MOBILE EXPONENTIELLE DE 21 PERIODES LgSig = TRDA AND ((Close crosses over EMALg) OR (Close > EMALg AND OPEN > CLOSE)) ShSig = TRDV AND ((Close crosses under EMALg) OR (Close EMALg AND CLOSE < EMALg)) AND (OPEN < CLOSE) // Signal d’invalidation de la position // //————————————-// // IL Y A INVALIDATION DU SIGNAL SI NOUVEAU CROISSEMENT, DANS LE SENS INVERSE DES DEUX MOYENNES MOBILES. LgInvSig = EMASh crosses under EMALg ShInvSig = EMASh crosses over EMALg // Si vous ne souhaitez pas utiliser un signal d’invalidation, alors il suffit // d’attribuer la valeur 0 à la variable. Comme ci dessous ! // LgInvSig = 0 // ShInvSig = 0 // Signal de prise de bénéfice // //—————————-// // IL Y A UN SIGNAL DE PRISE DE BENENFICES SI LE COURS EN CLOTURE CROISE LA MOYENNE MOBILE EXPONENTIELLE DE 21 PERIODES LgBenSig = CLOSE crosses under EMALg ShBenSig = CLOSE crosses over EMALg // Si vous ne souhaitez pas utiliser un signal de prise de bénéfice, alors il suffit // d’attribuer la valeur 0 à la variable. Comme ci dessous ! // LgBenSig = 0 // ShBenSig = 0 // Signal de sortie de position // //——————————// // IL Y A SIGNAL DE SORTIE SI NOUVEAU CROISSEMENT, DANS LE SENS INVERSE DES DEUX MOYENNES MOBILES. LgOutSig = EMASh crosses under EMALg ShOutSig = EMASh crosses over EMALg ///////////////////////////////////////////////////////////////////////////////////////////// // Stop & Objectif ///////////////////////////////////////////////////////////////////////////////////////// /// IL EST IMPORTANT DE COMMUNIQUER AU TRADING SEMI AUTOMATIQUE VOTRE NIVEAU DE SORTIE ET /// VOTRE OBJECTIF AU MOMENT OU VOUS AVEC VOTRE SIGNAL D’ENTREE EN POSITION. /// ATTENTION, VOUS AVEZ LA POSSIBILITE DE TRANSMETTRE UNE VALEUR ISSUE D’UN CALCUL FIXE, /// SOIT PRIX/COURS PLUS OU MOINS X% OU X POINTS OU PIPS. MAIS EGALEMENT D’UN INDICATEUR, /// SOIT LA VALEUR D’UNE MOYENNE MOBILE PLUS OU MOINS X% OU X POINTS OU PIPS. /// TOUTEFOIS, CES DONNES NE SONT TRANSMISES QU’A L’INSTANT DU SIGNAL D’ENTREE EN /// POSITION /// SI ENTREE EN POSITION LONGUE //// If LgSig = 1 Then StopPrice = LOW – 0.001 ObjPrice = HIGH + 15 Endif /// SI ENTREE EN POSITION COURTE //// If ShSig = 1 Then StopPrice = HIGH + 0.001 ObjPrice = Low – 15 Endif ///////////////////////////////////////////////////////////////////////////////////////// // Gestion des retours ///////////////////////////////////////////////////////////////////////////////////////// // CI APRES LA LIGNE LA PLUS IMPORTANTE DU PROGRAMME GNT@SYS, CELLE QUI VA PERMETTRE // LA TRANSMISSION DES VALEURS DE VOTRE SYSTEME DE TRADING AU TRADING SEMI AUTOMATIQUE // GNT@TSA // VOUS TROUVEREZ CI APRES 12 VALEURS A RETOURNER. NE PAS MODIFIER CETTE LIGNE AU RISQUE // DE CREER UN DYSFONCTIONNEMENT DU TRADING SEMI AUTOMATIQUE. SI VOUS N’UTILISEZ PAS CERTAINS SIGNAUX, ALORS AFFECTEZ LEUR UNE VALEUR DE 0 DANS LE PROGRAMME CI DESSUS. Return LgAle as « LgAle », ShAle as « ShAle », LgSig as « LgSig » , ShSig as « ShSig » , StopPrice as « StopPrice » , ObjPrice as « ObjectifPrice », LgInvSig as « LgInvSig », ShInvSig as « ShInvSig », LgBenSig as « LgBenSig » , ShBenSig as « ShBenSig », LgOutSig as « LgOutSig », ShOutSig as « ShOutSig »