Du får en handelssignal i Telegram, du agerar snabbt, och sedan inser du att du glömde att logga den. Eller värre: du genomförde ett skakigt upplägg eftersom du inte pausade länge nog för att validera kontexten.
Den här Telegram Coinbase-automationen träffar aktiva traders först. Men marknadsföringsdrivna founders som driver communities och ops-ansvariga som behöver strukturerad rapportering känner igen samma röra: för många signaler, för lite konsekvens och inget revisionsspår när du behöver det.
Det här flödet granskar handelssignaler från Telegram med AI och sessionsregler, exekverar bara de bra via Coinbase och loggar både affärer och avvisningar i Notion så att du kan granska, lära och hålla disciplinen.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Telegram till Coinbase: filtrerade affärer med Notion-logg
flowchart LR
subgraph sg0["Telegram Signal Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Parse Signal Metrics", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Validate Session Window"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Coinbase Market Info"]
n3@{ icon: "mdi:robot", form: "rounded", label: "Run ICT AI Review", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Interpret AI Review"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter by Quality & Session", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Place Trade Order"]
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg' width='40' height='40' /></div><br/>Log Trade to Notion"]
n8@{ icon: "mdi:robot", form: "rounded", label: "Draft Trade Notification", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Dispatch Telegram Alert"]
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg' width='40' height='40' /></div><br/>Record Rejected Signal"]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Telegram Signal Trigger"]
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Return Webhook Result"]
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Post to External Webhook"]
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Retrieve Telegram Chat"]
n13 --> n14
n3 --> n4
n6 --> n7
n12 --> n13
n1 --> n2
n4 --> n5
n0 --> n1
n10 --> n12
n9 --> n12
n2 --> n3
n7 --> n8
n8 --> n9
n11 --> n0
n5 --> n6
n5 --> n10
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n11 trigger
class n3,n8 ai
class n5 decision
class n7,n10 database
class n2,n6,n12,n13 api
class n1,n4 code
classDef customIcon fill:none,stroke:none
class n1,n2,n4,n6,n7,n9,n10,n11,n12,n13,n14 customIcon
Utmaningen: snabba signaler, stökig exekvering, noll pappersspår
Telegram är bra för hastighet och uselt för disciplin. Signaler flyger in, chatten scrollar och du fattar beslut i en stökig tråd utan en konsekvent checklista. Även om du är noggrann skapar manuell trading friktion vid sämsta möjliga tillfälle: du växlar skärmar, kopierar symboler, dubbelkollar priser och försöker sedan komma ihåg att dokumentera efteråt. Och senare, när du vill utvärdera vad som fungerade, försöker du pussla ihop en berättelse av halva anteckningar, skärmdumpar och “jag tror att jag gick in ungefär här”-gissningar. Ärligt talat är det ingen strategi. Det är hopp med extra steg.
Friktionen bygger på. Här är var det faller isär.
- Du exekverar affärer utifrån ofullständiga signaler, eftersom det är svårt att verifiera sessionstiming och struktur i stunden.
- Självförtroende och risk bedöms inkonsekvent, vilket gör att “bra” trades och “dåliga” trades kan se identiska ut vid entry.
- Loggningen hamnar efter, så du tappar förmågan att granska beslut och förbättra processen.
- Avvisade setups försvinner i chatthistoriken, trots att de ofta är den mest värdefulla lärdatan.
Lösningen: granska signaler, handla på Coinbase, logga allt i Notion
Det här flödet gör Telegram till en kontrollerad inkorg istället för en reaktiv tradingtrigger. När en signal når din Telegram-bot tolkar flödet meddelandet (symbol, riktning, pris och eventuella inkluderade mätvärden), kontrollerar om du är inom en giltig “kill zone”-session, och hämtar sedan färsk marknadsdata från Coinbase Advanced Trading. Därefter granskar GPT-4 upplägget med prompts för ICT och Smart Money Concepts, och tar fram en confidence score och en risketikett som du faktiskt kan jämföra mellan trades. Bara signaler som uppfyller dina kvalitetsregler skickas vidare till exekvering. Allt annat registreras som en avvisning, med orsak sparad, så att du kan se mönster senare.
Flödet börjar med en Telegram-signaltrigger. Därifrån validerar det sessionstid, berikar signalen med marknadsinfo från Coinbase och kör en AI-granskning som ger confidence och risk. Till sist lägger det antingen ordern via Coinbase och loggar den i Notion, eller loggar avvisningen och skickar en tydlig Telegram-uppdatering.
Vad som förändras: före vs. efter
| Det här tar bort | Effekten du kommer att se |
|---|---|
|
|
Verklig effekt
Säg att du granskar 10 Telegram-signaler om dagen. Manuellt är det lätt att lägga cirka 10 minuter per signal på att kontrollera sessionstid, hämta Coinbase-data, fatta beslut och sedan logga utfallet, vilket är ungefär 1,5 timme per dag. Med det här flödet skummar du den formaterade Telegram-utmatningen och går bara in när du vill överstyra eller sätta annan storlek; resten kör i bakgrunden och loggar sig självt. Även om du fortfarande lägger 2 minuter per signal på granskning får du tillbaka ungefär en timme om dagen och din Notion-journal förblir komplett.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Telegram-bot för att ta emot och skicka handelsmeddelanden.
- Coinbase Advanced Trading API för marknadsdata och orderläggning.
- Notion för att lagra genomförda trades och avvisade signaler.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard).
Kunskapsnivå: Medel. Du kopplar konton, lägger in API-nycklar och klistrar in några databas-ID:n och miljövariabler.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet, steg för steg
En Telegram-signal startar allt. Din Telegram-bot tar emot ett meddelande (eller webhook-event), och sedan hämtar n8n den chattkontext som behövs för att svara i rätt tråd.
Signalen struktureras och valideras. Flödet extraherar nyckelfälten och kontrollerar sedan aktuell GMT-tid mot ICT kill zones så att signaler utanför tiderna inte slinker igenom.
Coinbase-data + AI-granskning avgör nästa steg. Det hämtar marknadsinfo i realtid från Coinbase Advanced Trading och analyserar sedan upplägget med GPT-4 via ICT-specifika prompts, vilket ger en confidence score och en risknivå (LOW/MEDIUM/HIGH).
Trades exekveras eller avvisas, och båda spåren dokumenteras. Om kvalitets- och sessionsvillkoren godkänns lägger flödet ordern via Coinbase, loggar traden i Notion och skickar en formaterad Telegram-avisering. Om det misslyckas loggar det den avvisade signalen i en separat Notion-databas och skickar ändå ett tydligt meddelande så att du vet varför den blockerades.
Du kan enkelt ändra conficence-tröskeln för att matcha din risktolerans utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Telegram-triggern
Sätt upp Telegram-lyssnaren som tar emot inkommande handelssignaler och startar arbetsflödet.
- Lägg till och öppna Telegram Signal Trigger.
- Ställ in Updates på
message. - Inloggningsuppgifter krävs: Anslut era Telegram API-inloggningsuppgifter för Telegram Signal Trigger.
- Koppla Telegram Signal Trigger till Parse Signal Metrics för att följa exekveringsvägen.
Steg 2: Normalisera signaldata och validera handelssession
Tolka inkommande signalfält och validera ICT kill zone innan ni anropar extern marknadsdata.
- I Parse Signal Metrics ställer ni in varje fält med uttryck:
- rsi →
{{ $json.rsi || null }} - macd →
{{ $json.macd || null }} - volume →
{{ $json.volume || null }} - symbol →
{{ $json.symbol || $json.text?.match(/\b[A-Z]{3,6}-[A-Z]{3,6}\b/)?.[0] || 'BTC-USD' }} - action →
{{ $json.action || ($json.text?.toLowerCase().includes('buy') ? 'BUY' : $json.text?.toLowerCase().includes('sell') ? 'SELL' : 'HOLD') }} - price →
{{ $json.price || '0' }} - timestamp →
{{ $now }} - source →
{{ $json.source || 'Telegram_ICT' }} - quantity →
{{ $json.quantity || '10' }} - session_time →
{{ $now.format('HH:mm') }} - trading_session →
{{ $now.hour() >= 0 && $now.hour() < 3 ? 'Asian_KZ' : $now.hour() >= 7 && $now.hour() < 10 ? 'London_KZ' : $now.hour() >= 12 && $now.hour() < 14 ? 'NY_KZ' : $now.hour() >= 15 && $now.hour() < 17 ? 'London_Close_KZ' : 'Off_Hours' }}
- rsi →
- Öppna Validate Session Window och behåll den angivna jsCode för att beräkna fält i
session_validation. - Koppla Parse Signal Metrics → Validate Session Window → Fetch Coinbase Market Info.
Steg 3: Hämta marknadsdata och kör AI-analys
Hämta live-marknadsinfo från Coinbase och använd AI för att utvärdera kvaliteten på ICT-signalen innan handel.
- I Fetch Coinbase Market Info ställer ni in URL till
https://api.coinbase.com/api/v3/brokerage/products/{{ $json.symbol }}. - Inloggningsuppgifter krävs: Anslut era coinbaseAdvancedApi-inloggningsuppgifter i Fetch Coinbase Market Info.
- I Run ICT AI Review ställer ni in Model på
gpt-4ooch behåller den angivna prompten med uttryck som{{ JSON.stringify($json, null, 2) }}och{{ $json.session_validation.current_kill_zone }}. - Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i Run ICT AI Review (AI används direkt i den här noden).
- Verifiera flödet Fetch Coinbase Market Info → Run ICT AI Review → Interpret AI Review.
Steg 4: Konfigurera kvalitetsfiltrering och exekvering av affär
Routa signaler baserat på AI:ns kvalitetskontroller och lägg sedan ordern när villkoren uppfylls.
- I Filter by Quality & Session säkerställer ni att följande villkor är satta:
- signal_quality är inte lika med
LOWmed{{ $json.ai_analysis?.signal_quality }} - confidence_score är större än eller lika med
60med{{ $json.ai_analysis?.confidence_score }} - trading_allowed är lika med
truemed{{ $json.session_validation?.trading_allowed }} - session_alignment är lika med
truemed{{ $json.ai_analysis?.ict_analysis?.session_alignment }}
- signal_quality är inte lika med
- Konfigurera Place Trade Order med:
- URL →
https://api.coinbase.com/api/v3/brokerage/orders - Method →
POST - Body Parameters:
- product_id →
{{ $json.symbol }} - side →
{{ $json.action.toLowerCase() }} - order_configuration →
{{ { "market_market_ioc": { "quote_size": $json.quantity || "10" } } }}
- product_id →
- URL →
- Inloggningsuppgifter krävs: Anslut era coinbaseAdvancedApi-inloggningsuppgifter i Place Trade Order.
- Koppla Filter by Quality & Session → Place Trade Order för godkända signaler, och till Record Rejected Signal för avvisade.
Steg 5: Logga resultat, notifiera Telegram och returnera webhook-svar
Logga affärer och avvisningar i Notion, skapa ett Telegram-meddelande och returnera en webhook-payload för nedströms system.
- I Log Trade to Notion ställer ni in Database ID till
{{ $vars.NOTION_TRADING_DB_ID }}och behåller de mappade egenskaperna som{{ $json.symbol }}och{{ $json.ai_analysis.confidence_score }}. - Inloggningsuppgifter krävs: Anslut era Notion API-inloggningsuppgifter i Log Trade to Notion och Record Rejected Signal.
- I Draft Trade Notification behåller ni Model satt till
gpt-4ooch prompten med{{ JSON.stringify($json, null, 2) }}. - Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i Draft Trade Notification.
- I Dispatch Telegram Alert ställer ni in Chat ID till
{{ $vars.TELEGRAM_CHAT_ID }}och behåller Text-uttrycket:{{ $('Draft Trade Notification').first().json.message.content || $json.fallback_notification || '🎯 ICT Trade Executed\n\n📊 Symbol: ' + $json.symbol + '\n🎯 Action: ' + $json.action + '\n⏰ Kill Zone: ' + $json.ai_analysis.ict_analysis.current_kill_zone + '\n📈 Confidence: ' + $json.ai_analysis.confidence_score + '%\n\n🚀 Trade processed successfully!' }} - Inloggningsuppgifter krävs: Anslut era Telegram API-inloggningsuppgifter i Dispatch Telegram Alert och Retrieve Telegram Chat.
- I Return Webhook Result behåller ni Respond With satt till
jsonoch Response Body-uttrycket:{{ { "status": "success", "message": "ICT signal processed", "symbol": $json.symbol, "action": $json.action, "kill_zone": $json.ai_analysis?.ict_analysis?.current_kill_zone, "confidence": $json.ai_analysis?.confidence_score, "session_strength": $json.ai_analysis?.ict_analysis?.session_strength, "ict_factors": { "structure_break": $json.ai_analysis?.ict_analysis?.structure_break, "liquidity_grab": $json.ai_analysis?.ict_analysis?.liquidity_grab, "fair_value_gap": $json.ai_analysis?.ict_analysis?.fair_value_gap, "order_block": $json.ai_analysis?.ict_analysis?.order_block_present } } }} - Ställ in Post to External Webhook:
- URL →
{{ $vars.WEBHOOK_URL || 'https://webhook.site/[YOUR_ID]' }} - Body Parameters:
- signal_data →
{{ JSON.stringify($json) }} - timestamp →
{{ $now }} - workflow_id →
ICT_Trading_Bot_2025
- signal_data →
- URL →
- Bekräfta slutet på flödet: Dispatch Telegram Alert → Return Webhook Result → Post to External Webhook → Retrieve Telegram Chat.
Steg 6: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta end-to-end-signalhantering innan ni aktiverar i produktion.
- Klicka på Execute Workflow och skicka ett testmeddelande i Telegram som innehåller en symbol som
BTC-USDoch en åtgärd somBUY. - Verifiera att Parse Signal Metrics ger ut ifyllda fält och att Validate Session Window sätter
session_validation. - Bekräfta att Run ICT AI Review returnerar analys-JSON och att Filter by Quality & Session routar korrekt.
- För en godkänd signal kontrollerar ni att Place Trade Order, Log Trade to Notion och Dispatch Telegram Alert körs utan fel.
- För en avvisad signal bekräftar ni att Record Rejected Signal körs och att Return Webhook Result fortfarande returnerar ett JSON-svar.
- Slå på arbetsflödet till Active för att aktivera live-bearbetning.
Se upp med
- API-inloggningsuppgifter för Coinbase Advanced Trading kan löpa ut eller sakna behörigheter. Om det skapar fel, börja med att kontrollera inställningar för din Coinbase API-nyckel och IP-restriktioner.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Cirka en timme om dina API-nycklar och Notion-databaser är redo.
Ja, men du vill ha någon som är bekväm med API-nycklar och att copy-pasta ID:n. Ingen kodning krävs för en grundsetup.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-användning (ofta några cent per analys) samt eventuella begränsningar i Coinbase och Notion.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.
Du kan justera filterreglerna i logiken “Filter by Quality & Session” så att den matchar din stil (striktare confidence, andra sessioner eller ett hårt stopp på HIGH risk). Om du vill ha annan formulering i aviseringar, byt prompten i “Draft Trade Notification”. Många team lägger också till regler för positionsstorlek precis innan “Place Trade Order”, så att boten använder ditt kontosaldo och risk per trade automatiskt.
Oftast beror det på att bot-token eller chatt-ID är fel, eller att boten inte får läsa meddelanden i den chatten. Kontrollera din Telegram Bot-token igen, bekräfta att TELEGRAM_CHAT_ID matchar destinationen och se till att boten har lagts till i gruppen (med behörighet att posta). Om du triggar via en webhook-till-Telegram-väg, bekräfta också att steget “Retrieve Telegram Chat” pekar på samma konversation som du förväntar dig.
I de flesta upplägg är det enkelt att hantera dussintals signaler per dag. n8n Cloud Starter räcker för typisk volym för solo eller små team, och högre nivåer täcker fler exekveringar. Om du kör egen hosting beror volymen främst på serverstorlek och hur snabbt externa API:er svarar, eftersom AI-granskningen är den långsammaste delen.
Ofta ja, eftersom det här flödet kräver förgrenad logik, villkorsbaserad filtrering och berikning i flera steg (Telegram → Coinbase → AI → routning → Notion), vilket blir klumpigt i enklare verktyg. n8n ger dig också ett alternativ för egen hosting, vilket är praktiskt om du vill ha obegränsade körningar utan att betala per task. Zapier eller Make kan fortfarande fungera om du bara vill “skicka signal till Notion” utan exekvering och med minimal logik. Avvägningen är kontroll. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din volym och dina riskregler.
Du får färre impulsiva entries och en Notion-logg du faktiskt kan lita på. Sätt upp det en gång och låt sedan flödet upprätthålla reglerna när chatten blir stökig.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.