SCALPING CAC40 10 SECONDS

SCALPING CAC40 10 SECONDS

Here is a Supertrend strategy for very short term trading on French CAC40. Let’s break it down for you. Let’s take a step-by-step look at what this algorithm does.

1. Setup:

  • Timeframes: The primary timeframe for this script is set to 10 seconds, meaning it processes price data every 10 seconds. However, the code switches between various timeframes – from 30 seconds up to 10 minutes – depending on the calculations.
  • Capital & Position Sizing: Your initial capital is set at 500 units, and the position size (the number of shares/contracts to trade) is calculated based on a percentage of the closing price. There’s also a mechanism (MM) to adjust position size based on the strategy’s profit, ensuring you don’t overcommit or underutilize your capital.

2. Identifying Trading Conditions:

The algorithm uses several indicators and conditions to decide when to trade:

  • Supertrend: A common trend-following indicator, this script calculates the Supertrend on multiple timeframes.
  • Day & Time Conditions: The script checks the time of day and day of the week. There are very specific conditions – for instance, a particular hour on a Tuesday or a certain timeframe on Fridays.

3. Trade Execution:

  • Buy Conditions:
    • If the current price is lower than the price 80 bars ago (close[80]).
    • It’s within the trading hours (from 9:10 AM to 5 PM).
    • The stopa condition (a complex mix of time and Supertrend) is not active.

    If all these conditions are met, the algorithm buys n shares at the market price.

  • Sell Conditions:
    • If the current price is higher than the price 30 bars ago (close[30]).
    • It’s within the trading hours (from 9 AM to 5 PM).
    • The stopv condition (another complex mix of time and Supertrend) is not active.

    When these are met, the algorithm sells short n shares at the market price.

4. Risk Management:

  • Stop Loss: After entering a trade, if the price goes against the trade by 38 units, the position will be automatically closed to limit the loss.
  • Target Profit: If the trade reaches a profit of 5 units, it will be closed. This target increases to 6 units if the time is between 4 PM and 5 PM.

Conclusion:

This trading algorithm is built on a combination of trend-following techniques, specific time conditions, and risk management rules. By looking at the current price in relation to past prices and the Supertrend, it makes buy or sell decisions. The added time conditions likely aim to avoid certain market anomalies that can occur at specific times.

It’s essential to test any trading strategy on historical data and in a simulated environment before going live. Remember, past performance doesn’t guarantee future results. Stay safe, and happy trading!

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Alsofreezing • 11/03/2023 #

    Les résultats sont très flatteurs. Bravo.

  2. bousalahane • 11/03/2023 #

    merci pour le partage, la stratégie marche bien sur 200k mais dès que vous mettez le 1M pour élargir la période, la stratégie n’est plus rentable.

    • WE ARE SOCIETY • 11/03/2023 #

      Bonjour, effectivement, il convient d’adapter chaque semaine les variables (ici 80 et 30) des lignes 82 et 89 afin de s’adapter aux fluctuations des cours, je ne sais pas si c’est automatisable ?

  3. LucasBest • 11/03/2023 #

    Merci pour le partage. Malgré le stop loss à 38, il y a eu un gros plouf de plus de 1000€ le 31 octobre… Je crois comprendre que Mr est fan du Supertrend… As tu essayé les indicateurs supertrend améliorés (supertrend+, superjump HTF, etc que l’on peut trouver sur TV) ?

    • WE ARE SOCIETY • 364 days ago #

      je n’ai pas de plouf, et je n’ai jamais eu de plouf qui dépasse le stop loss à moins d’un effondrement de la bourse et d’un manque de liquidités sur le marché
      Je n’ai d’ailleurs pas de pertes sur ce code sur la période 200k en 10 secondes
      je vais regarder les autres supertrend

  4. Hypersimo • 11/03/2023 #

    Ciao WE ARE SOCIETY, non riesco ad andare live su demo con la tua strategia. non capisco perche’
    puoi aiutarmi? grazie

    • WE ARE SOCIETY • 11/03/2023 #

      il ne doit pas y avoir de problèmes, je suis chez ig sur le france 40 = cac 40 en 10 secondes, avec les horaires de trading français, à moins que tu as une version prorealtime limitée ?

  5. WE ARE SOCIETY • 11/03/2023 #

    Bonjour LucasBest, je n’ai pas connu le plouf car j’actualise chaque semaine les variables permettant d’éviter les erreurs et non je ne connaissais pas ces supertrend améliorées, faudrait essayer, par facilité j’ai utilisé la fonction intégrée à PR qui je trouve est déjà assez efficace en mutlitimeframe

  6. LucasBest • 11/03/2023 #

    Pour de ce qui est de l’actualisation automatique hebdomadaire des variables permettant “d’éviter les erreurs” (lignes 82 et 89 ? “afin de s’adapter aux fluctuations des cours”), c’est forcément automatisable s’il y a une logique derrière… Encore faudrait-il connaitre la logique. 🙂

    • WE ARE SOCIETY • 11/03/2023 #

      Salut LucaBest, j’aime ta positivité, après il faut la traduire en algorithme, ces variables veulent dire : “sommes nous trop haut pour acheter ou sommes nous trop bas pour vendre”

  7. Fabian • 11/03/2023 #

    La logique sera probablement de backtester les variables sur la période précédente à un intervalle fixe (toutes les semaines, toutes les deux semaines, etc.) ? Il serait intéressant de comprendre quand quelles valeurs ont le mieux fonctionné, s’il y a des saisonnalités, etc. Ou si d’autres valeurs peuvent être prises en fonction de l’heure (matin ou après-midi) et de la volatilité. J’ai déjà fait cela avec un autre système (Breakout), cela peut fonctionner.

    • WE ARE SOCIETY • 11/03/2023 #

      Salut Fabian, on peut complexifier à souhait mais tu ne gagneras plus d’argent car ton algo va intervenir 1 fois par semaine, si tu veux des tunes, tu dois être actif

  8. David Daget • 11/03/2023 #

    Bonjour ! Interessant ton algo ! au backtest ce matin, 2 trades. Par contre j’ai tenté de le faire tourner en démo depuis 3 jours, et il n’a pas pris position alors qu’il aurait du. Une idée ? pourquoi ne s’est t’il pas déclenché ?

    • WE ARE SOCIETY • 11/03/2023 #

      Salut David, pareil chez moi. C’est que tout simplement il n’y a pas d’opportunités, je lui ai interdit tous les moment risqués de la journée et si il n’y a pas de bonnes occasions pendant les périodes intéressantes et autorisées, ben il n’y va pas. C’est là tout l’intérêt du robot car il a une mémoire sans faille et ne fera pas la même erreur que l’être humain qui intervient au mauvais moment, juste pour dire de faire quelque chose en espérant gagner et patatra, grosse perte. J’ai arrêté de trader manuellement.

  9. David Daget • 11/03/2023 #

    Merci pour ta réponse. Cela signifie donc que les résultats du backtest ne refléte pas la réalité ?

    • WE ARE SOCIETY • 11/03/2023 #

      Si, le backtest est forcément juste mais au moment où tu le fais. Cependant moi j’actualise tous les week-ends les variables des lignes 82 et 89. Faudrait pour être juste publier un backtest chaque semaine avec les nouvelles variables. Je n’ai pas encore trouvé le moyen d’automatiser ce paramétrage.

  10. Cheu • 11/03/2023 #

    Hello WE ARE SOCIETY,
    Merci pour ton code !
    Comment tu actualises les variables des lignes 82 et 89 ?
    quel chiffre tu mets en fonction de “sommes nous trop haut pour acheter ou sommes nous trop bas pour vendre” ?
    As tu des exemples concrets stp ?
    Merci !!

    • WE ARE SOCIETY • 11/03/2023 #

      je fais un walkforward entre 20 et 100 pour chaque variable en non ancrée, 1 seule occurrence et 99% dans l’échantillon

    • Cheu • 365 days ago #

      merci pour ta réponse. Par contre je suis novice sur prorealcode et ne suis pas sûr de bien comprendre toute ta réponse.
      en gros tu backtest chaque variable entre 20 et 100 jusqu’à obtenir un taux de réussite de 99% ? j’imagine que non car ça doit prendre un temps de dingue
      ou alors en fonction du marché tu sais si l’une ou l’autre variable est proche d’un certain chiffre et tu affines après ?

    • WE ARE SOCIETY • 364 days ago #

      tu vas dans optimisation des variables, tu rentres les variables par exemple x et y que tu mets dans ton code également, et tu les fais tourner de 20 à 100
      tout se fait automatiquement et une fois toutes les solutions calculées, il te donne le résultat de x et y pour le gain maximal
      c’est La Fonction Majeure de Prorealtime, si il faut connaitre une chose, c’est bien cette fonction qu’on appelle Walk Forward

    • Cheu • 362 days ago #

      Merci !!!
      j’ai trouvé.
      par contre, tu fais un walk forward sur combien d’unités pour avoir les variables les plus justes ? 25k, 50k, 200k ??
      merci !

    • WE ARE SOCIETY • 362 days ago #

      moi je fais 200k ça représente 1,5 mois, c’est déjà pas mal car le marché change et pour que le robot soit toujours actif, il faut l’adapter régulièrement aux fluctuations du marché

    • Cheu • 362 days ago #

      Ok ! donc walkforward sur 200k chaque weekend.
      merci pour toutes tes explications !

    • WE ARE SOCIETY • 360 days ago #

      dans l’idéal faudrait faire un walkforward tous les jours mais je trouve que 1 par semaine c’est déjà bien
      j’avais demandé un jour à prorealtime de faire des variables qui s’auto-ajustent chaque jour, une sorte de walkforward automatique, du coup ils ont rajouté un bouton “ajuster automatiquement” mais qui ne fonctionne pas

    • Cheu • 360 days ago #

      ça marche!
      ça te prend combien de temps de faire un walkforward 200k ?
      car de mon côté c’est vraiment très très (trop) long… (peut être du à mon ordi)

    • WE ARE SOCIETY • 360 days ago #

      ça prend environ 3 à 5 minutes de mémoire, avec proorder il n’y a pas de calculs qui se passent chez toi, tout est calculé par les serveurs de prorealtime, peu importe que ton ordinateur est 10 ans ou que ce soit un gamer ultrapuissant, celà ne changera rien

    • Cheu • 360 days ago #

      Curieux car de mon côté, ça prend des heures…
      Dans la fenêtre de probacktest je remplace les variables mentionnées par X et Y dans le code
      Puis j’ouvre l’optimisateur j’ajoute les variables X et Y avec un intervalle entre 20 et 100
      je règle en non ancrée, 1 seule occurrence et 99% dans l’échantillon
      je ferme la fenêtre et lance le backtest.
      et là, c’est super mega long !
      même en 50k c’est très long (bien plus que 3/5min)
      il doit y avoir un souci quelque part. il faut que je creuse et que je trouve.

    • WE ARE SOCIETY • 360 days ago #

      ok j’ai compris c’est par ce que dans la case “pas (intervalle)” tu dois mettre 10, c’est à dire que l’on teste 20,30,40,…,90,100
      ça fait bcp moins de combinaisons, aucun intérêt de tester 1 par 1

    • Cheu • 358 days ago #

      Aaaahhh ! 😉
      Roger that !
      c’est bien plus rapide. Merci à toi pour ton aide et pour ce code !!
      ça fait combien de temps que tu le fais tourner en live sans avoir de perte (en fonctionnant de cette manière) ?

    • WE ARE SOCIETY • 357 days ago #

      ça fait maxi 1,5 mois, avant il avait fait quelques erreurs que j’ai corrigé au fil du temps, je pense qu’il n’est pas possible de faire un algo qui ne fait jamais d’erreur car tu peux acheter et que ça descende pendant 6 mois et là tu perds tout. C’est pourquoi il faut un stop loss qui met fin à la partie, un stop loss de 38 points, c’est acceptable. En ce moment il ne fait pas grand chose car le cours du cac40 est bloqué trop haut et il n’y a pas assez de fluctuation. J’envisage d’adapter ce programme à l’EUR/USD qui fait + de fluctuations dans un même range.

    • Cheu • 356 days ago #

      ok.
      bien sûr, il faut un stop loss pour limiter les pertes.
      mais je me demande à quel point le fait d’optimiser les variables régulièrement peut limiter le fait d’avoir des pertes.
      yes, ça pourrait être intéressant sur l’EURUSD!

    • Cheu • 339 days ago #

      hello We Are Society, quelles sont tes variables cette semaine 60 et 100 ?
      j’ai eu deux pertes hier et aujourd’hui
      a voir ce que cela donne demain et semaine prochaine

    • Cheu • 338 days ago #

      Merci
      un changement dans le code ou ton walkforward te donne 60 et 30 ?

    • WE ARE SOCIETY • 337 days ago #

      j’ai juste rajouter 5 minutes d’interdiction pour qu’il n’y ait pas de mauvais trade, ce n’est pas forcément la bonne solution mais c’en est une. Le problème c’est que à force d’interdire des plages horaires d’activité, au fil du temps, ton algo trade de moins en moins. Il faut donc à un moment alléger les interdictions afin de l’adapter au marché. Perso je considère qu’un algo qui ne fait pas d’erreurs sur 200k de 10 secondes (uniquement accessible en version complète proorder) c’est déjà trés bien.

  11. alessiopippo • 11/03/2023 #

    code intéressant, puis-je connaître le nombre de bougies que vous utilisez pour mettre à jour les variables ?

    • WE ARE SOCIETY • 11/03/2023 #

      je fais un walkforward entre 20 et 100 pour chaque variable en non ancrée, 1 seule occurrence et 99% dans l’échantillon

  12. David Daget • 11/03/2023 #

    Bonjour. Je suis en démo depuis le 03/11. Le backtest indique 22 trades. Pourtant aucune position n’a été prise. Je comprends que le robot ne prenne pas position aux moments risqués de la journée, mais pourquoi donc retrouve t’on ces trades dans le backtest ? S’il n’y a pas de défaut dans le codage, il a donc choisi de ne prendre aucune position sur les 22 opportunités qu’il a eu, et dans ce cas, ca n’est pas rentable.

  13. LucasBest • 363 days ago #

    Je pense qu’il y a moyen d’automatiser (simuler) le walkforward entre 20 et 100 pour chaque variable (x et y), en utilisant plusieurs tableaux de dimension x*y avec pour objectif de calculer les gains pour chaque pair x et y ; puis d’ajouter à une certain heure de la semaine la mise à jour des variables x et y à utiliser pour la période suivant… Je ne sais pas si cela a déjà été fait sur le forum mais je vois bien le code dans ma tête (pas trop compliquer normalement).

    • WE ARE SOCIETY • 362 days ago #

      là par contre celà dépasse mes compétences actuelles sur proorder

  14. Bibi83 • 361 days ago #

    Bonjour à tous et grand merci à ” WE ARE SOCIETY ” pour ton partage.
    Je suis nouveau sur Prorealcode et j’aimerais savoir si quelqu’un parmi vous pourrais m’aider ?
    Je viens de copier/coller le code cependant celui çi affiche plusieurs “erreur”..
    Ligne 1, 15,17,18,19,21,23,28,29,32,33…
    Avez vous eu le même cas ?
    Par avance merci 😉

    • WE ARE SOCIETY • 360 days ago #
    • LucasBest • 360 days ago #

      Il faut copier l code (ou encore mieux importer le fichier ITF dans la section proorder (probacktest) et non dans l’onglet probluider

    • Bibi83 • 358 days ago #

      Bonsoir Lucas
      Merci pour ta réponse, j’ai télécharger le fichier c’est bon 😉
      Cependant actuellement sur le backtest cela ne me sort aucun résultat en graph 10sec
      Je vais continuer de pofiner cela .
      Si vous avez des idées d’amélioration je suis preneur.

  15. eckaw • 357 days ago #

    Je reçois également 0 transaction lorsque je fais des backtests sur cette stratégie. Y a-t-il une idée sur la façon de résoudre ce problème ? J’ai essayé de changer la taille de la position en 1 au lieu de la formule, mais cela n’a pas aidé. (Google Traduction)

  16. eckaw • 357 days ago #

    Ignorez ce qui précède, je pense que j’ai sélectionné le mauvais marché… !

  17. YvesRobert • 355 days ago #

    Bonjour , comment pouvez vous prévoir à l’avance le type de journée pour paramétrer certaines variables même pour la période suivante ? On ne peut pas le savoir. La matinée peut etre calme et à partir de 15h30 ca part en tendance ou l’inverse. Si vous avez une explication ? Merci

    • WE ARE SOCIETY • 355 days ago #

      Bonjour, effectivement les performances du passé ne permettent pas de prédire l’avenir. Cependant, on se projette en se disant que les niveaux de cours actuels représentent la fourchette de prix actuelle et celle de demain : actuellement le cac40 oscille entre 7200 et 7280, il y a 3 semaines on était plutôt entre 6900 et 7100. Du coup, quand le cac40 explose à la hausse et touche les 7300, l’algo ne tente rien car c’est trop haut donc trop risqué, il n’intervient que dans le range 7200 -7280 max qu’il a connu sur les derniers jours. Du coup, moi je mets à jour les variables une fois par semaine pour que l’algo puisse se situer dans les prix et travailler dans ce range. Pour faire simple, il aime bien acheter pas cher en période haussière et aime bien vendre cher en période baissière. Ce sont les éléments déclencheurs, les règles qui lui permettent de ne pas tout perdre. L’être humain oublie vite ces limites de risque et à part les scalpeurs qui prennent beaucoup de petits profits (et donc logiquement aussi de petites pertes), ceux qui misent sur du moyen terme subissent le marché, ceux qui misent sur le long terme, perdent la totalité de ce qu’ils ont engagé.

  18. David Daget • 354 days ago #

    Bonjour, aujourd’hui le backtest indique 5 trades, 4 longs et 1 court. pourtant le bot ne s’est pas déclenché. je n’arrive pas comprendre ce décalage entre le test et la réalité

    • Cheu • 354 days ago #

      hello David,
      curieux. de mon côté tout s’est déclenché normalement.
      il y avoir qqch qui bloque ton bot

  19. David Daget • 354 days ago #

    Hello! oui tres certainement. mais je ne vois pas quoi. je suis en demo, et toi en reel ?

    • WE ARE SOCIETY • 353 days ago #

      de mon côté les 5 trades ont bien été passés, c’est certain tu as un problème majeur, peut-être que tu n’es pas sur france40 mini 1€ et du coup tu ne mets pas suffisamment de fonds sur le compte ?
      Ce qui est certain c’est qu’aucun code ne fonctionnera chez toi, si celui ci ne fonctionne pas, aucun autre ne fonctionnera

    • Cheu • 353 days ago #

      en réel oui

  20. Smlok • 353 days ago #

    Bonjour, merci pour cet excellent code.
    IG vient de mettre à jour la démo vers la V12, cependant, les résultats des backtesting et forward testing sont complètement différents entre la V11 et la V12. Toutes les dates et heures et le marché CAC40 correspondent exactement.
    Pourquoi les résultats sont-ils si différents ?

    • WE ARE SOCIETY • 346 days ago #

      bonjour @Smlok, je suis sur la V12 et tout est ok, c’est une question de réglage, par exemple la taille du spread, cocher la case backtest en tick par tick, le fuseau horaire français, etc ………

    • Germano77 • 340 days ago #

      Moi pareil, sur IG, V12 et en réel – les backtest indiquent des ordres passées, mais en vrai les trades ne se sont jamais déclenchés. J’ai appliqué le code sur le marché PXI, qui réplique le CAC 40 à 1 Euro le point. Tout mes autres robots fonctionnent sans problème. Si qq trouve la solution…

  21. David Daget • 353 days ago #

    Je suis sur IG et tout mes bots sur à 1€ le pt, donc ca ne vient pas de là…

  22. David Daget • 353 days ago #

    Apres pour l’instant je l’ai mis en démo. il est possible que la demo buggue un peu

  23. Toto_lefrenchie • 352 days ago #

    Thank you “We are society”
    It work very well on my side. I have it on backtest since 2 weeks and it’s at 100% win for 18 trades for now. I realy like the way you made it.

    • WE ARE SOCIETY • 347 days ago #

      Merci @Toto_lefrenchie, il fonctionne plutôt bien même si a un moment il finira par perdre mais il aura déjà gagné plein de pips !! 4 trades réalisés de 5/12/2023 et 4 trades le 6/12/2023 !!

  24. YvesRobert • 350 days ago #

    Pour la taille ce ne serait pas plutôt 5.5% du capital divisé par le cours du buy -> (capital*5.5/100) / close ? car là on divise le capital par 5.5% du close ? Merci WE ARE SOCIETY.

  25. YvesRobert • 350 days ago #

    Autre question WE ARE SOCIETY, les lignes 70,76,82 et 89 dépendent de l’istrument ? Dans ton code ci-dessus c’est pour le CAC40. Si c’est pour le DAX il faut les reformuler ? Merci

    • WE ARE SOCIETY • 349 days ago #

      Bonjour, ça peut être 5.5 du buy, si tu achètes ou du sell si tu vends, celà ne changera pas grand chose en terme de volumes puisqu’il n’y a que le spread de 1 entre les deux chez IG
      Ce qu’il faut c’est que tu es assez de fonds pour assumer un stop loss
      Ce programme est vraiment uniquement pour le CAC40, car j’ai étudié les moments dangereux du CAC, pas ceux du DAX qui est un animal bien + dangereux
      Entre le montant du DAX et du CAC on est quasiment à DAX=2*CAC, donc tous les niveaux sont pour le CAC, indice + doux et humble que le DAX Allemand

  26. KumoNoJuzza • 349 days ago #

    Bonsoir à tous,
    Merci @We are society. Ton algo est très intéressant. L’as tu testé sur un compte IB ? Recalculer le range toutes les semaines pour ne pas prendre de longs trop hauts et de shorts trop bas est un grand challenge pour ne pas partir en drawdown pendant des semaines. Je ne suis pas encore ceinture noire de pro order (ça se dit encore ?) mais j’ai hâte de bosser dessus et de voir ce qu on peut en dériver pour des indices plus volatiles comme le Nasdaq ou la paire USD / JPY.

    • WE ARE SOCIETY • 349 days ago #

      Salut, non je ne l’ai pas testé sur IB, je ne sais pas si c’est un spread ou des frais. Chez IG c’est un SPREAD variable suivant les heures. Sur cet Algo je backtest avec un spread de 1, ce qui n’est pas juste le matin et le soir car le spread est supérieur en réalité
      Mon idée est de faire un robot scalper qui coupe sa perte suffisamment tôt si la tendance s’inverse, mais ce n’est pas simple
      En + faire un algo qui reste actif tout le temps et qui ne fait pas d’erreurs pendant une longue période, c’est encore + difficile, j’ai déjà essayé avec le VIC (indice de la peur) ou avec plein de stochastiques mais sans succès

  27. Gerf11 • 348 days ago #

    Merci! Comment modifier le MM pour tester sur le DAX ou S&P par exemple car je constate que c’est là aussi pertinent?

    • WE ARE SOCIETY • 348 days ago #

      Bonjour @Gerf11 , en fait j’ai intégré dans ce code ma connaissance du CAC40, comment il réagit, quand il est dangereux, quand il fait souvent la même chose, de combien de pips il est capable de monter ou de descendre. En clair, cet algorithme n’est pas du tout adaptable à un autre support car pour celà il faudrait connaitre par coeur le Dax ou le S&P en les pratiquant depuis longtemps
      Pourquoi j’ai choisi le CAC40 : c’est parce que c’est avec lui que je gagne le +, je peux le maitriser, et en + je suis bien placé en spread chez IG

  28. slippy • 338 days ago #

    bonjour, excusez mon français, je suis gallois et j’utilise Google Translate

    J’utilise votre algorithme depuis le 12 décembre, mais il n’a pas encore effectué d’échange. Si j’exécute un backtest, il montre une transaction le 13 décembre.
    J’utilise mon système IG sur UTC +1 pour l’heure européenne, avez-vous une idée sur le problème ?

    merci beaucoup

    salutations
    Mike

    • WE ARE SOCIETY • 335 days ago #

      Bonjour, oui je crois que celà correspond :
      1 transaction le 12, 1 transaction le 13 puis 3 transactions le 18

  29. David Daget • 333 days ago #

    Bonjour ! As tu reussi a éviter les pertes du 13, 14 et 19 decembre ? Je suis assez curieux ^^

    • WE ARE SOCIETY • 333 days ago #

      Salut David, ben moi je regarde les cours graphiques au moment où il est intervenu et j’essaie d’analyser comment lui dire de ne pas le faire, parfois je ne trouve pas d’autres solutions que d’interdire cette plage horaire mais c’est une solution que je n’aime pas car ça diminue son temps d’intervention, donc son gain potentiel, parfois je trouve une solution intelligente pour lui faire comprendre qu’il a acheté trop cher pour un matin ou qu’il s’est positionné trop bas a la vente pour l’après -midi. Par exemple en fin d’année, il y a un rallye a la hausse et il est dangereux de se positionner a la baisse, particulièrement après 13h30.

  30. Gerf11 • 329 days ago #

    Bonjour, pas de pertes de mn côté sur les 15 derniers jours. Mon sous jacent les les futur Cac40. Je viens de passer sur FCE FULL0124. En 10 secondes. J’a toutefois tendance à me dire que les derniers gains furent vraiment chanceux car passé overnight et assez prche du stop qui mange 7 performances de gains…Je me demande si cela ne serait pas intéressant de calculer si pas de stop win dans les 2h après achat, de clôturer la postiion…As-tu déjà tenté “@We Are SOCIETY”?
    Pour le reste je fais l’optimisation des variables le dimanche, uniquement deux variables (lignes 82 et 89 dans ton code ci-dessus). En fais-tu davantage?

    • WE ARE SOCIETY • 329 days ago #

      Bonjour Gerf11, il est possible de mettre un stop loss + loin et d’améliorer ce code afin qu’il intervienne + souvent en supprimant des interdictions horaires et en les remplaçant par du code + intelligent. Pour ma part, je n’utilise plus ce code depuis un bon moment car chaque week-end, j’aime inventer des codes différents et essayer de faire mieux. Les banques ont souvent plusieurs algos lancés en simultanés et ensuite ils font des arbitrages. Si tu testes ce code sur une longue période 1M (8 mois environ) sur la version complète de proorder, il ne donne pas de bons résultats. Après moi je ne veux pas d’un algo qui soit bon toute l’année, je préfère un dynamique qui intervient souvent. La problématique est toujours la même, faire un algo qui suit la tendance et qui intervient dans un canal (+haut et +bas) bien déterminé.

    • Gerf11 • 327 days ago #

      intéressant…merci pour ton opinion. En tout cas, testé en réel et à toujours fonctionné…je constate simplement que dans ce code, les sorties en gains se sont faites au max dans les deux heures, après c’est davantage de la chance… je vais tester pour paramétrer de la sorte car actuellement les différents ratios sont excellents. Bravo à toi!

  31. Patrice210 • 314 days ago #

    Bonjour, la stratégie ne fonctionne pas à 1M même en changeant les variables 1 fois par semaine.
    Dommage

  32. josef1604 • 310 days ago #

    Bonjour, comment puis-je passer au graphique du Dow Jones ? J’ai essayé et cela a été impossible
    @NOUS SOMMES LA SOCIÉTÉ

    • WE ARE SOCIETY • 309 days ago #

      Bonjour , hélas je ne pratique pas le Dow Jones car c’est un étalon sauvage par rapport au petit mouton suiveur du CAC40, les fluctuations du DJ sont tellement importantes qu’il faut soit avoir énormément d’argent et du temps, soit couper court rapidement quand on n’est pas dans la tendance, c’est compliqué. Le DAX est moins dangereux et aussi intéressant pour un trading manuel car il fait du bruit : des fluctuations constantes qui permettent de faire beaucoup d’aller retour en intraday

  33. WE ARE SOCIETY • 309 days ago #
    • josef1604 • 306 days ago #

      Bonjour, merci beaucoup d’avoir répondu. Tu as raison pour le DJ, mais c’est aussi celui qui peut donner le plus d’argent, même s’il est le plus dangereux. Mais pourriez-vous me faire la faveur de me mettre dans le même bot pendant les heures de marché aux États-Unis, s’il vous plaît ?

    • josef1604 • 305 days ago #

      JOUER AU PING-PONG AVEC MEDIANPRICE CAC40 EN 10 LIGNES DE CODE SEULEMENT
      Une question, pourquoi ce bot n’est-il pas visible dans prorealcode ? Je pense que ça devrait être intéressant. Comment pouvez-vous nous contacter en privé ? grâce du nouveau

    • WE ARE SOCIETY • 305 days ago #

      Bonjour, je ne pratique pas le DJ et donc il me faudrait bcp trop de temps pour faire un algo dessus et en + avec peu de chances d’y parvenir. Pour l’algo “jouer au ping pong avec medianprice”, l’administrateur ne l’ a pas valider et donc il n’ apparait pas.

  34. KumoNoJuzza • 282 days ago #

    Bonjour. Je le teste depuis lundi. Je suis à 37 points de gain sur la semaine soit 37 € à 1€ du point sur le CAC40 / PXI. Avec respectivement des périodes de 90 et de 35 pour les périodes à optimiser. Quelqu’un a fait mieux ?
    Je n’arrive pas encore à reproduire la super perf du backtest ci-joint.
    Merci à @wearesociety, tu me donnes du grain à moudre pour ce soir 🙂

    • WE ARE SOCIETY • 281 days ago #

      Bonjour KumoNoJuzza, en réalité ça dépend aussi de la volatilité, chaque période est différente. Si tu veux qu’il soit + actif, tu dois retirer des plages horaires d’interdiction en les remplaçant par quelque chose de + intelligent comme par exemple if close>highest[30][1]-15 par exemple

  35. winnie37 • 237 days ago #

    bonjour, une petite idée d’ajout mais que je ne saurai coder, ajouter au stop loss un break even qui déclenche un stop suiveur pour profiter de la tendance si elle se poursuit…

  36. sfl • 236 days ago #

    This is dangerous, did you see aug 2023 ? I would not run live this algo, need more daata to test, tested with 1M from jul 23 to march, not enugh data in my opinion to be sure there is an edge. Tf so small always suffers a lot of noise. OOS equity dosent look good at all. tested with sp 10 and sl 38 which is the best configuration In Sample until January, from jan to March performance is not consistent.

  37. winnie37 • 235 days ago #

    could you post the backtest please ?

  38. sfl • 229 days ago #

    Here: https://imgur.com/a/07T1HGF

    set stop loss 38
    set target profit 10

    2 point spread ( CASH France 1euro )

  39. sfl • 229 days ago #

    winnie37, as you can see from my screenshots seems like the strategy has been optimized on the 200k backtest, then running on the cash 1euro makes no sense since avgtrade is too small to generate profits, you need CAC cash 10euro to get avgtrade around 20euro per trade, it looks good but who knows, too fews data for backtesting in my opinion, we should have at least 5-8years of data at 10seconds to validate this strategy.

    Then, I am very doubful about these lines of code:

    if (time>=100000 and time<103000) or (time>130500 and time<140000) or (dayofweek=5 and (time>103000 and time<121000)) or (dayofweek=4 and close<(lowest[45][1]+12)) or (dayofweek=2 and (haut3=1 or haut30s=1)) or (dayofweek=4 and haut3=1) or ((dayofweek=5 or dayofweek=3) and (close<(lowest[150][1]+19) or (close<(lowest[60][1]+25)))) or (time>162500 and time<170000) or (dayofweek=1 and (close<(lowest[40][1]+10) or (time>=091000 and time<104500))) or (time>093000 and time<100000) or (dayofweek=2 and time>120000 and time<130000) or (dayofweek=4 and ((time>111500 and time<130000) or (time>144500 and time<150000))) or (dayofweek=1 and haut3=1) or ((dayofweek=4 or dayofweek=5) and ((close<(lowest[150][1]+21)) or (time>151000 and time<153000))) or (dayofweek=4 and time<091000) or (dayofweek=4 and (close<(lowest[50][1]+15))) or (dayofweek=2 and ((time>110000 and time<111500) or (time>142500 and time<150000))) or (dayofweek=1 and time>133000 and time<143000) or (dayofweek=2 and time>161000 and time<163000) or (close<lowest[90][1]+10) or (dayofweek=2 and time>150000 and time<153000) or (dayofweek=1 and ((haut10=1) or (time>120000 and time<130000 and close<(lowest[40][1]+15)))) then
    stopv=1
    else
    stopv=0
    endif

    I apologize but this code looks like overfitting to me.

  40. sfl • 229 days ago #

    Removing the short side will help, I would like to know from the author where are the condition coming from, are they a “standard” BIAS on CAC40 ? I am talking about these line of code:
    if (time>100000 and time<110000) or (time>123500 and time<133000) or (dayofweek=2 and ((time>110000 and time<144000)or time>165000)) or (dayofweek=3 and ((time>121500 and time<131500) or haut3=0)) or (time>160000 and time<161500) or (dayofweek=1 and time<100000) or (dayofweek=4 and ((haut10=0 or haut3=0) or (time>093000 and time<100000))) or (dayofweek=1 and (haut3=0 or close>(highest[40][1]-10))) or (dayofweek=2 and haut3=0 and time<110000) or (dayofweek=4 and (close>(highest[60][1]-10))) or (dayofweek=5 and close>(highest[60][1]-10)) or (dayofweek=4 and time>153000 and time<170000) or (dayofweek=5 and time<110000) or (haut10=0 and close>(highest[40][1]-15)) or (dayofweek=5 and (haut30s=0 or haut3=0) and time<120000)or (dayofweek=1 and ((haut10=0) or close>(highest[40][1]-15))) or (dayofweek=3 and time>143000 and haut30s=0) or ((dayofweek=4 or dayofweek=1) and haut5m=0) or ((dayofweek=4) and (close>(highest[50][1]-15)) and time<153000) or (dayofweek=5 and time>152900 and time<154000) or (dayofweek=5 and haut30s=0 and time>140000 and time<153500) or ((dayofweek=2 or dayofweek=3) and (time>150000 and time<153500)) or (dayofweek=2 and time>152900 and time<154500)or (dayofweek=3 and time>110000 and time<113500) or (time>=161500 and time<163000) or (dayofweek=5 and haut30s=0) then
    stopa=1
    else
    stopa=0
    endif

  41. WE ARE SOCIETY • 227 days ago #

    DEFPARAM cumulateOrders = False
    rem CAC40 (france40) en 10 secondes
    rem à la ligne ci-dessous mettre le montant engagé
    capital=500
    capital2=capital+STRATEGYPROFIT[0]
    taille=(capital2/(close*6/100))
    if taille<1 then
    taille=1
    endif
    n=taille
    rem les tendances
    timeframe(10 minute)
    if (supertrend[3,10]-6)=<close then
    haut10=1
    endif
    if (supertrend[3,10]+3)>close then
    haut10=0
    endif
    TIMEFRAME(3 minute)
    if (supertrend[3,3]-3)=<close then
    haut3=1
    endif
    if (supertrend[3,3]+1)>close then
    haut3=0
    endif
    timeframe (30 second)
    if (supertrend[3,6]-1)=<close then
    haut30s=1
    endif
    if (supertrend[3,6]+7)>close then
    haut30s=0
    endif
    timeframe (5 minute)
    if (supertrend[3,10]-3)=<close then
    haut5m=1
    endif
    if (supertrend[3,10]+3)>close then
    haut5m=0
    endif
    timeframe (10 second)
    rem les horaires interdits à l’achat
    if (time>095000 and time<110000) or (dayofweek=2 and ((time>110000 and time<144000)or time>165000)) or (dayofweek=3 and ((time>121500 and time<133000) or haut3=0)) or (time>160000 and time<161500) or (dayofweek=4 and ((haut10=0 or haut3=0) or (time>093000 and time<100000))) or (dayofweek=1 and (haut3=0 or close>(highest[40][1]-10))) or (dayofweek=4 and (close>(highest[80][1]-15))) or (dayofweek=5 and close>(highest[60][1]-10)) or (dayofweek=4 and time>153000 and time<170000) or (dayofweek=5 and time<110000) or (haut10=0 and close>(highest[40][1]-15)) or (dayofweek=5 and (haut30s=0 or haut3=0) and time<120000)or (dayofweek=1 and ((haut10=0) or close>(highest[40][1]-15))) or (dayofweek=3 and time>143000 and haut30s=0) or ((dayofweek=4 or dayofweek=1) and haut5m=0) or (dayofweek=5 and haut30s=0 and time>140000 and time<153500) or (dayofweek=2 and ((time>152900 and time<154500)or time<100000)) or (dayofweek=3 and time>091500 and time<113500) or (time>=161500 and time<163000) or (dayofweek=5 and haut30s=0) then
    stopa=1
    else
    stopa=0
    endif
    rem les horaires interdits à la vente
    if (time>=100000 and time<104500) or (time>130500 and time<140000) or (dayofweek=5 and (time>090000 and time<121000)) or (dayofweek=4 and close<(lowest[45][1]+12)) or (dayofweek=2 and (haut3=1 or haut30s=1)) or (dayofweek=4 and haut3=1) or ((dayofweek=5 or dayofweek=3) and (close<(lowest[150][1]+19) or (close<(lowest[60][1]+25)))) or (time>162500 and time<170000) or (dayofweek=1 and (close<(lowest[40][1]+10) or (time>=091000 and time<104500))) or (time>093000 and time<100000) or (dayofweek=2 and time>120000 and time<130000) or (dayofweek=4 and ((time>111500 and time<130000) or (time>144500 and time<150000))) or (dayofweek=1 and haut3=1) or ((dayofweek=4 or dayofweek=5) and ((close<(lowest[150][1]+21)) or (time>151000 and time<153000))) or (dayofweek=4 and time<091000 or (time>092000 and time<100000)) or (dayofweek=4 and (close<(lowest[50][1]+15))) or (dayofweek=2 and ((time>110000 and time<111500) or (time>142500 and time<150000))) or (dayofweek=1 and time>133000 and time<143000) or (dayofweek=2 and time>153000 and time<163000) or (close<lowest[90][1]+10) or (dayofweek=2 and time>150000 and time<153000) or (dayofweek=1 and ((haut10=1) or (time>120000 and time<130000 and close<(lowest[40][1]+15)))) or (dayofweek=2 and time<130000) or (dayofweek=1 and time>100000) then
    stopv=1
    else
    stopv=0
    endif
    rem les horaires autorisés avec les niveaux décidants si achat ou vente
    IF (time>=091000 and time<170000) and close<(close[90]) then
    feuvert=1
    else
    feuvert=0
    endif
    if (time>=090000 and time<170000) and close>(close[40]) then
    feurouge=1
    else
    feurouge=0
    endif
    rem les ordres
    if feuvert=1 and not onmarket and stopa=0 then
    buy n share at market
    endif
    if feurouge=1 and not onmarket and stopv=0 then
    sellshort n share at market
    endif
    set stop loss 38
    set target profit 5
    if time>160000 and time<170000 then
    set target profit 6
    endif

  42. David Daget • 216 days ago #

    Bonjour. A noter que cette stratégie fonctionne aussi sur le ftse. Ce qui n’est pas surprenant puisque ce sont 2 indices avec une dynamique plutot similaire

  43. InTrouble • 172 days ago #

    Bonjour, je découvre que l’on peut faire des trades auto sur des timeframe de 10 secondes; Vous me confirmez ?

    • Nicolas • 170 days ago #

      Oui on peut même jusqu’au 1 seconde.

  44. InTrouble • 163 days ago #

    Entendu, merci. Mais pas en tick, c’est bien çà?

  45. pdrh • 156 days ago #

    Bonjour WE ARE SOCIETY,Vous optimisez toujours votre Algo chaque

    • WE ARE SOCIETY • 116 days ago #

      Bonjour, je l’optimise et l’améliore chaque semaine en évitant au maximum les interdictions horaires et en les remplaçant plutôt par des if close>highest[40][1]-15 then stopachat=1 endif

  46. dammon • 108 days ago #

    c’est un bien beau code que tu nous sors là. il m’a fallu du temps pour bien tout comprendre mais au final tout y est… (même un trop un mon gout) mais c’est top . Evidement à rafraichir en temps et en heure avec les variables. mais bravo…. je ne suis juste pas trop d’accord avec les ratios gains pertes mais bon ca ça dépend de chacun.

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
roccafragius Hello Ivan, very good job! May I ask you to translate teh script from TradingView named Tre...
Iván Hi! yes. You can ask for it here: https://www.prorealcode.com/free-code-conversion/
roccafragius Thank you so much Ivan! I created this request in english Translate from TradingView Indicat...
Faisalx ChatGPT Hola Iván. Gracias por tu excelente trabajo. Te agradecería si pudieras echarle un...
Iván ok, perfecto! me pongo con ello
Iván Allora crei un nuovo post. Lo aspetterò.
Stenozar Ciao Ivan, ho inserito il post con la richiesta di traduzione. Se puoi vedere, grazie!
Iván perfect!
Iván
9 months ago
Iván I personally like it in daily timeframe
oliTR Many thanks Ivan, I copy/paste your code to try it but could only get a constant stable unif...
Iván Hi, I've copied the code above and it works... what asset are you trying? $indices array ...
Iván
9 months ago
Madrosat Hello Ivan You have interesting topics on indicators , smart supertrend, optimised trend t...
Iván Hi! thanks. All of these codes are translations requested in the forum. I've on mind to back...
Raspete01 Buenos días Iván, estoy intentando llevar el código eliminando los colores y pasando un Back...
Stanko Ciao Crusoe, grazie per il commento: confermo che il trailing stop non funziona bene. Provo ...
taklause I was wondering, you said it works on the 1 min Chart, but you never use it in the code as t...
Stanko Ciao taklause. Utilizzando il grafico a 1 minuto e fino al grafico a 15 minuti il codice fun...
FXtonio Nicolas.... MERCI 1 millions de fois, cet indicateur gagne dans 75% des cas en scalping m1 ...
davy42 bonjour, à quel moment apparait le fleche, à l'ouverture ou la fermeture de la bougie? merci
Freezer Bonjour, est-il possible d'ajouter une alarme sonore sur PRT à l'apparition des flèches ? Br...
Ciccarelli Franco Hai ragione, mi dava valori alti perchè usavo questo loss "SET STP LOSS 1xAverageTrueRange{1...
YvesRobert Hello davidelaferla, how do you put a stop loss and where exactly ? the moment you enter on ...
Hypersimo Buongiorno Davide a quale distanza inserire stop loss e tp nella strategia? grazie
ProRealAlgos.com Hi JohnScher. Yes I think you refer to the strategy called "Turnaround tuesday". This strate...
JohnScher I am not alluding to the turnaround tuesday. The general opinion is that Turnaroundtuesday ...
ProRealAlgos.com Yeah that's maybe not of importance. Anyway. Enjoy! :)
Patrice210 bonjour STANKO, effectivement la première ligne apparait en anomalie et je ne comprend pas v...
KumoNoJuzza Hi guys, Thanks @Stanko and everyone for your contributions. I have been playing around ...
Stanko Hi KumoNoJuzza, thanks for the post. I also tried your code with Dax and the performance is ...
AndPar Buongiorno Nicolas, vorrei provare questo indicatore, ma quando lo inserisco in PRT mi vengo...
Nicolas Basta aggiungerlo al prezzo https://www.prorealcode.com/blog/video-tutorials/how-to-add-an-i...
Aragorna hello Nicolas, this indicator works with the last Beta version of PRT? Ive seen tha many in...
mickey992 salut merci pour ton partage et ton travaille
patapouf Hi Vivien René I just discovered your “Ordered trend-following stocks Screener”. Great work...
Nicolas Oui le code est correct et il fonctionne, j'ai de bons résultats sur la liste NASDAQ par exe...
pincherman Bonjour :-) J'ai coller le script dans prorealtime pour jouer avec le supertrend et j'ai un...
Nicolas Vous l'avez sans doute collé au mauvais endroit, dans l'éditeur de code pour les stratégies,...
Nicolas Just add it on the price series.
yomisadiku Hello Nicolas, Can I use high and low price at lines hh=max(hh,close) and ll=min(ll,close) ...
Nicolas Yes you can do that, the impact will be that the trailing stop line will be much close to th...
Dom Hello, hello....je commence le trading et découvre par la même occasion le codage....et ce n...
Nicolas Merci, ça fait plaisir !
Be-n Bonjour tout le monde ! Dans l'indicateur de tendance, j'ai du mal à saisir la nuance entre ...
AlgoAlex
5 years ago
Marcot18 Alex ti sei superato
AlexF Esagerato!
SL Hi, Fer666 Thank you for sharing. If I want to show daily ST on a 10_min intraday chart...
SL correction above... system had remove"not equal" signs Line 19 : change to if WeekNo "Not...
SL OK... I had figured out... need more than that. Thank you anyway.
Juan Salas Hi FULVIO09, Nice piece of work. It seems to work very well. Does only work for INDEXES??...
Johann Hi @FULVI09, I understand the instructions however I'm not too sure how to determine the "p...
Player8520 Hello, It doesn't work with me either. However, I changed AA to 180 on line 15, added th...
Geronima Ortiz I watched the video three times, but I can not put the npips parameter as a variable. I do...
Geronima Ortiz I think the video is for an old version of prorealtime, the images do not correspond at all ...
Nicolas indicator1 = CALL “PRC_StopReversal”[npips, 1] and define npips in the optimization window ...

Top