signal — Sinyal Scalping M3/M5 via Débat 2 IA

Génère des signaux de scalping (BUY/SELL LIMIT/STOP) sur M3/M5 avec SL max $3, TP RR 1:1.5/1:2, via un débat entre 2 IA (technique vs risque) + un juge neutre, basé sur les données MT5 locales.

Qu'est-ce que M5 via Débat 2 IA ?

Ce skill permet à un agent IA (comme Claude Code ou Cursor) de fournir des signaux de scalping ultra-rapides sur les timeframes M3 et M5, en utilisant exclusivement les données locales de MT5 (sans appel web). Le processus repose sur un débat structuré entre deux agents spécialisés : un Analyste Technique qui définit l'entrée, le stop-loss et le take-profit, et un Gestionnaire de Risques qui valide les niveaux, les ratios risque/récompense et la taille de position. Un Juge neutre (le modèle exécutant la session) orchestre le débat, vérifie les règles strictes (SL ≤ 3 $, TP RR 1:1.5/1:2, ordres limit/stop uniquement) et tranche le vote. Avant chaque débat, le juge consulte un historique des trades (track record stocké sur Google Drive) pour éviter les erreurs passées. L'utilisateur peut déclencher la génération d'un signal avec `signal-<pair>` (ex: `signal-xauusd`) et enregistrer le résultat avec `signal-result win/lose [raison]`. Les signaux sont sauvegardés sur Google Drive, et le système apprend en continu des résultats rapportés.

Compatible avec~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/ClayKW/skill/tree/HEAD/signal

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

SKILL : signal — Sinyal Scalping M3/M5 via Débat 2 IA

1. DÉCLENCHEURS ET MODE

DéclencheurSignification
signal-<pair> (ex. signal-xauusd, signal-eurusd)Générer un signal d'ordre pending entry sur M3/M5
signal-result win / signal-result lose [raison]L'utilisateur rapporte le résultat du dernier signal → enregistré dans l'historique
  • <pair> = symbole MT5 local. Résoudre avec ~/.local/share/mt5-venv/bin/python scripts/mt5_query.py symbols <query>. Si introuvable, afficher les candidats les plus proches, ne pas inventer.
  • Ne pas poser de questions si la paire est évidente. Ne pas se précipiter — 3 à 5 échanges de débat sont normaux, la qualité prime sur la vitesse.

2. RÈGLES DE TRADING STRICTES (vérifiées par le JUGE, pas par l'analyste)

  1. Type d'ordre : BUY/SELL LIMIT ou STOP uniquement (ordre pending à un niveau technique). L'ordre au marché n'est autorisé que si les deux analystes conviennent que le prix est exactement au niveau et que cela est explicitement écrit.
  2. SL maximum 3 $ par signal (lot 0.01) — PAS 300 points fixes. Conversion automatique par paire à partir du bloc risk de la sortie mt5_query.py scalp : sl_max_points = risk.sl_max_points (XAUUSD ≈ 300 points = 3 $ ; autres paires automatiquement différentes). Tout SL d'analyste qui dépasse cela = REJETÉ par le juge, renvoyé pour correction.
  3. TP = RR 1:1,5 ou 1:2 par rapport à la distance du SL. Choisir l'un des deux, préciser le RR utilisé.
  4. Timeframe d'analyse : M3 + M5 (principaux) + H1 (tendance générale rapide).
  5. Spread raisonnable : si le spread > ~20 % de la distance du SL proposé, l'analyste doit le signaler (l'ordre limit est plus sûr en cas de spread large).

3. DONNÉES (exclusivement MT5 local — PAS de web/websearch, pour rester rapide)

Commande unique :

~/.local/share/mt5-venv/bin/python ~/.config/opencode/skills/signal/scripts/mt5_query.py scalpe <SYMBOL>

Sortie JSON : bid/ask, spread, risk (usd/point, sl_max_points), variation journalière, M3/M5/H1 (ATR14, EMA20/50, tendance, S/R, plage, dernière bougie + direction du corps). Fournir cette sortie brute aux DEUX analystes. Interdiction d'inventer des données MT5.

Fuseau horaire : indiquer l'heure en WIB + heure serveur MT5 (UTC+3) entre parenthèses, exemple 21:45 WIB (17:45 serveur). WIB = serveur + 4 heures.

4. APPRENTISSAGE À PARTIR DE L'HISTORIQUE (OBLIGATOIRE AVANT LE DÉBAT)

  1. Avant le round 1, le juge récupère l'historique : rclone cat gdrive:Linux-Server/signals/track-record.md (si 404/introuvable = encore vide, continuer sans historique — le signaler).
  2. Résumer les tendances des derniers résultats (ex. « les 5 dernières pertes sont toutes des sell-limit en tendance baissière ») et les TRANSMETTRE aux deux analystes comme contexte d'apprentissage : les schémas gagnants peuvent être répétés, les schémas perdants doivent être évités ou contredits par l'analyste expliquant pourquoi cette fois est différente.
  3. Le signal est enregistré dans gdrive:Linux-Server/signals/<YYYYMMDD>-<pair>/signal.md statut PENDING (voir §7).

5. DÉBAT (2 analystes + 1 juge, 3 à 5 échanges)

Rôles et modèles (utiliser l'outil subagent, agent general, paramètre model explicite) :

RôleModèleTâche
Analyste 1 — Technique Entréeopencode/step-5-preview-freeStructure M3/M5, type d'ordre (limit/stop), entrée, SL, TP, timing
Analyste 2 — Gestionnaire de Risquesopencode/nemotron-3.5-lightning-freeValidation SL/TP, R:R, pièges de niveau (stop hunt, spread, session), dimensionnement de position
Juge = agent principal, modèle DE LA SESSION EN COURS (dynamique)—Neutre : orchestration, envoi des données, vérification des règles strictes (§2), comptage des votes, rédaction de la sortie. INTERDICTION d'analyser/donner un avis sur la direction du marché. Le juge = le modèle IA exécutant cette session — peut être n'importe quel fournisseur ; ne pas supposer qu'il est toujours custom/auto. Lors de la rédaction de la sortie, vérifier votre propre modèle et écrire son nom réel.

Déroulement :

  1. Round 1 (indépendant) : envoyer les données MT5 + le résumé de l'historique aux deux analystes. Chacun propose : direction, type d'ordre, entrée, SL (points & $), TP (RR), confiance %, raison.
  2. Rounds de débat (1-3 rounds) : échange de textes. Possibilité de demander de nouvelles données MT5 (relancer scalp — le prix bouge). Se concentrer sur les différences d'opinion réelles : niveaux, type d'ordre, validité du SL.
  3. Position finale : chacun énonce sa position finale.
  4. Vote : si les deux analystes sont d'accord → signal valide. Désaccord = NO TRADE (sortie officielle : pas de signal + brève raison). C'est un résultat valide et normal, ne pas forcer.

Modèles de repli en cas de limite de débit (ordre Tier 1) : opencode/longcat-2.5-preview-free → opencode/space-bunny-free → opencode/cat-jam-free ; Tier 2 max 1 analyste : 9roy/9router_combo ; Tier 3 : custom/auto (« babu ») — seulement si le juge n'est PAS custom/auto (un modèle ne peut pas jouer deux rôles). Ne pas utiliser deux analystes du même fournisseur s'il existe une alternative. Retry erreur max 2× ; si les deux analystes échouent complètement = signaler et arrêter.

6. BUDGET

Calcul simple : 1 appel analyste = 3, retry/repli = 1, tool call juge = 1. Objectif total 12-27 (2-3 appels analyste × ~3 rounds + tool). Écrire en sortie : Budget : X/27 (méthode : poids-signal). Ne pas dépasser 27 — 3 à 5 échanges de débat suffisent, au-delà arrêter et rédiger la sortie.

7. SORTIE & STOCKAGE (rclone, zéro fichier local)

a) Signal (si valide)

Format de réponse à l'utilisateur (résumé du débat d'abord, résultat tout en bas) :

  • Résumer le débat : propositions initiales, points clés du débat (inclure de brèves citations), résultat du vote + modèles IA utilisés par rôle.
  • Puis TOUT EN BAS le bloc signal :
🔔 SIGNAL <PAIR> — <BUY/SELL> <LIMIT/STOP>
Entrée : <prix>  |  SL : <prix> (<X> points = $<Y>, max 3 $)
TP : <prix> (RR 1:<r>)  |  Confiance : <Z>%
Raison : <1-2 phrases en langage humain — pourquoi ce niveau et cette direction, depuis le débat>
Valable : <note de timing/expiration, ex. annulé si le prix a déjà dépassé le niveau>
  • Enregistrer via rclone rcat gdrive:Linux-Server/signals/<YYYYMMDD>-<PAIR>/signal.md contenant : date, paire, signal complet, arguments des deux analystes, vote, modèles, budget, statut : PENDING.

b) Pas de trade (vote différent / données invalides)

Sortie : "🚫 NO TRADE — <brève raison depuis le débat>", enregistrer dans le même dossier avec le statut NO-TRADE.

c) Commande signal-result win|lose [raison]

  1. Chercher le dernier signal PENDING : rclone lsf gdrive:Linux-Server/signals/ --dirs-only | sort | tail → lire signal.md via rclone cat. S'il n'y a pas de PENDING, demander à l'utilisateur de quel signal il s'agit (autoriser une question en retour dans ce mode).
  2. Mettre à jour signal.md sur Drive : statut → WIN/LOSE, ajouter une ligne de résultat + raison de l'utilisateur + date de clôture.
  3. Ajouter à l'historique gdrive:Linux-Server/signals/track-record.md (créer s'il n'existe pas) une ligne : YYYYMMDD | pair | direction+type | entrée | résultat WIN/LOSE | raison utilisateur.
  4. Répondre brièvement à l'utilisateur : résultat enregistré + statistiques de l'historique en cours (ex. XAUUSD : 4W-2L, winrate 67 % — calculer à partir de l'historique).

d) Signal expiré

Si l'utilisateur signale que le signal n'a jamais atteint son entrée (prix passé/inversé), l'enregistrer comme LOSE avec la raison de l'utilisateur (ex. « moment manqué ») — cela reste un apprentissage valide.

8. INTERDICTIONS

  • Interdiction d'utiliser websearch/web fetch — données exclusivement MT5 local.
  • Interdiction d'inventer des prix/ATR/niveaux.
  • Interdiction de donner un signal si le spread est extrême ou le marché fermé (tick_time obsolète) — sortie NO TRADE.
  • Interdiction de SL supérieur à 3 $, TP en dehors de RR 1:1,5/1:2, ordre au marché sans accord des deux analystes.
  • Interdiction pour le juge d'évaluer la direction du marché.
  • Interdiction pour le juge d'analyser/donner un avis — même si le modèle du juge est intelligent, son rôle est purement modérateur. L'analyse reste le travail des analystes.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés