Page 1 of 1
Buddy ping after any broken rule within an hour
Posted: Tue Sep 22, 2026 2:42 pm
by LondonScalper
A buddy ping within an hour of a broken rule sounds soft until you try it.
I do not need a coach speech. I need a short message: what rule broke, what I did next, and that I am flat if required. Knowing someone will see the note within the hour makes the break less abstract. Silence is where rationalisations breed overnight.
Ping protocol
- Send within sixty minutes — not Sunday memoir style
- Include the rule name, not a novel
- Next session starts at reduced size after any ping
Accountability is a process tool, not a personality upgrade.
If you use a buddy or desk partner for rule breaks, what makes the ping effective rather than performative?
The buddy does not need to reply with advice. Receipt is enough. Advice can wait for a calm review; the ping job is to interrupt the private rewrite where the broken rule becomes almost fine.
If no buddy is available that week, I still write the ping to a private log with a timestamp. The ritual matters even when the inbox is empty.
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:55 am
by PTScalper
LondonScalper wrote: Tue Sep 22, 2026 2:42 pm
A buddy ping within an hour of a broken rule sounds soft until you try it.
I do not need a coach speech. I need a short message: what rule broke, what I did next, and that I am flat if required. Knowing someone will see the note within the hour makes the break less abstract. Silence is where rationalisations breed overnight.
Ping protocol
- Send within sixty minutes — not Sunday memoir style
- Include the rule name, not a novel
- Next session starts at reduced size after any ping
Accountability is a process tool, not a personality upgrade.
If you use a buddy or desk partner for rule breaks, what makes the ping effective rather than performative?
The buddy does not need to reply with advice. Receipt is enough. Advice can wait for a calm review; the ping job is to interrupt the private rewrite where the broken rule becomes almost fine.
If no buddy is available that week, I still write the ping to a private log with a timestamp. The ritual matters even when the inbox is empty.
Hi LondonScalper,
What makes the ping effective rather than performative is sterility.
Performative accountability is emotional. It includes apologies, adjectives, context, and market blame. It is designed to seek sympathy or absolution from the buddy.
Effective accountability is forensic. It treats a broken rule as a mechanical failure, not a moral one. By removing the "why" and reporting strictly the "what," you starve the ego of the materials it needs to build a rationalization. The receipt from your buddy isn't for forgiveness; it acts as an immutable timestamp on reality before your brain has a chance to alter the memory.
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:55 am
by PTScalper
The Pine Script: Buddy Ping Protocol Log
To automate the ritual, this Pine Script turns TradingView into your private log and ping generator. You can enter the broken rule in the indicator settings and check the "Trigger Ping" box.
It will immediately:
Drop a timestamped label on your chart (your private visual log).
Fire an alert() with the exact text payload, which you can route directly to a Discord or Slack webhook shared with your buddy.
Code: Select all
//@version=5
indicator("Buddy Ping Protocol", overlay = true)
// --- Inputs ---
var string grp = "Ping Details"
ruleBroken = input.string("Max daily drawdown exceeded", title="Rule Broken", group=grp)
actionTaken = input.string("Liquidated all positions. Flat.", title="Action Taken", group=grp)
nextSession = input.string("Next session size reduced by 50%", title="Next Session Setup", group=grp)
triggerPing = input.bool(false, title="Trigger Ping (Check to Log & Alert)", group=grp)
// --- State Management ---
// Ensures the ping only fires once per toggle
var bool pingSent = false
// --- Execution ---
if triggerPing and not pingSent and barstate.islast
// 1. Format the forensic message
string currentTime = str.format("{0,date,yyyy-MM-dd HH:mm:ss}", timenow)
string pingMsg = "🚨 BUDDY PING 🚨\n" +
"Time: " + currentTime + "\n" +
"Rule: " + ruleBroken + "\n" +
"Status: " + actionTaken + "\n" +
"Next: " + nextSession
// 2. Print the Private Log to the Chart
label.new(
x = bar_index,
y = high,
text = pingMsg,
color = color.new(color.red, 20),
textcolor = color.white,
style = label.style_label_down,
size = size.normal
)
// 3. Fire the Alert (Connect this to a Webhook for your buddy)
alert(pingMsg, alert.freq_once_per_bar_close)
// Lock the state so it doesn't spam
pingSent := true
// Reset the state if the user unchecks the box in settings, prepping for the next use
if not triggerPing
pingSent := false
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:56 am
by PTScalper
How to use the script:
1.) Add it to your chart and leave the "Trigger Ping" box unchecked.
2.) When a rule breaks, open the indicator settings. Type the name of the rule, confirm your status is flat, and check the box.
3.) To set up the actual buddy ping, create an Alert in TradingView, select "Buddy Ping Protocol" as the condition, choose alert() function calls, and paste your Discord/Slack Webhook URL in the Notifications tab. The script will handle the formatting.
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:57 am
by PTScalper
In MetaTrader, the most sterile and mechanical way to handle this is not an Indicator, but a Script.
Unlike Pine Script indicators which run continuously, a MetaTrader script executes exactly once on demand and then immediately unloads. You drag it onto the chart, the input box pops up to confirm your forensic details, you click OK, and it fires the alert and drops the visual log.
Here is the setup for both platforms.
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:57 am
by PTScalper
MetaTrader 4 (MQL4) Script
Code: Select all
//+------------------------------------------------------------------+
//| BuddyPingProtocol.mq4 |
//+------------------------------------------------------------------+
#property strict
#property show_inputs
input string RuleBroken = "Max daily drawdown exceeded"; // Rule Broken
input string ActionTaken = "Liquidated all positions. Flat."; // Action Taken
input string NextSession = "Next session size reduced by 50%"; // Next Session Setup
input bool SendPush = true; // Send Mobile Push Notification
void OnStart()
{
// 1. Format the forensic message
string currentTime = TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS);
string pingMsg = "🚨 BUDDY PING 🚨\n" +
"Time: " + currentTime + "\n" +
"Rule: " + RuleBroken + "\n" +
"Status: " + ActionTaken + "\n" +
"Next: " + NextSession;
// 2. Print the Private Log to the Chart
string objName = "BuddyPing_" + IntegerToString((int)TimeCurrent());
ObjectCreate(0, objName, OBJ_TEXT, 0, TimeCurrent(), High[0]);
ObjectSetString(0, objName, OBJPROP_TEXT, "🚨 PING LOGGED: " + RuleBroken);
ObjectSetInteger(0, objName, OBJPROP_COLOR, clrRed);
ObjectSetInteger(0, objName, OBJPROP_FONTSIZE, 10);
// 3. Fire the Local Alert
Alert(pingMsg);
Print(pingMsg);
// 4. Fire the Mobile Push (Routes to MT4 mobile app)
if(SendPush)
{
SendNotification(pingMsg);
}
}
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:57 am
by PTScalper
MetaTrader 5 (MQL5) Script
Code: Select all
//+------------------------------------------------------------------+
//| BuddyPingProtocol.mq5 |
//+------------------------------------------------------------------+
#property script_show_inputs
input string RuleBroken = "Max daily drawdown exceeded"; // Rule Broken
input string ActionTaken = "Liquidated all positions. Flat."; // Action Taken
input string NextSession = "Next session size reduced by 50%"; // Next Session Setup
input bool SendPush = true; // Send Mobile Push Notification
void OnStart()
{
// 1. Format the forensic message
string currentTime = TimeToString(TimeCurrent(), TIME_DATE|TIME_SECONDS);
string pingMsg = "🚨 BUDDY PING 🚨\n" +
"Time: " + currentTime + "\n" +
"Rule: " + RuleBroken + "\n" +
"Status: " + ActionTaken + "\n" +
"Next: " + NextSession;
// 2. Print the Private Log to the Chart
double currentHigh = iHigh(_Symbol, _Period, 0);
string objName = "BuddyPing_" + IntegerToString((int)TimeCurrent());
ObjectCreate(0, objName, OBJ_TEXT, 0, TimeCurrent(), currentHigh);
ObjectSetString(0, objName, OBJPROP_TEXT, "🚨 PING LOGGED: " + RuleBroken);
ObjectSetInteger(0, objName, OBJPROP_COLOR, clrRed);
ObjectSetInteger(0, objName, OBJPROP_FONTSIZE, 10);
// 3. Fire the Local Alert
Alert(pingMsg);
Print(pingMsg);
// 4. Fire the Mobile Push (Routes to MT5 mobile app)
if(SendPush)
{
SendNotification(pingMsg);
}
}
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:58 am
by PTScalper
Implementation Guide
1.) Install as a Script: Open MetaEditor (F4). Go to the Scripts folder in the Navigator (do not put this in the Indicators or Experts folders). Right-click -> New -> Script. Paste the respective code and hit Compile.
2.) Setup Notifications: In your MT4/MT5 terminal, go to Tools > Options > Notifications. Check "Enable Push Notifications" and enter your MetaQuotes ID from your mobile app.
3.) The Workflow: When a rule breaks, drag the BuddyPingProtocol script from the Navigator directly onto your active chart. A window pops up. Type the broken rule, confirm you are flat, and hit OK. The terminal instantly drops a red text marker on your current candle, fires an alert sound, and pushes the text payload to your phone, which you can immediately forward to your buddy.
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:59 am
by PTScalper
In cTrader, there is no separate "Script" category like in MetaTrader. However, you can achieve the exact same mechanical, one-time execution by creating a cBot that immediately terminates itself after running.
By calling Stop() at the end of the OnStart() method, the cBot functions exactly like a script: you launch it, it logs the data, fires the alert, and turns itself off instantly.
Here is the C# code for the cTrader Automate API. It utilizes cTrader's native Custom Notifications API to generate the alert.
cTrader cBot (C#)
Code: Select all
using System;
using cAlgo.API;
namespace cAlgo.Robots
{
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class BuddyPingProtocol : Robot
{
[Parameter("Rule Broken", DefaultValue = "Max daily drawdown exceeded", Group = "Ping Details")]
public string RuleBroken { get; set; }
[Parameter("Action Taken", DefaultValue = "Liquidated all positions. Flat.", Group = "Ping Details")]
public string ActionTaken { get; set; }
[Parameter("Next Session", DefaultValue = "Next session size reduced by 50%", Group = "Ping Details")]
public string NextSession { get; set; }
protected override void OnStart()
{
// 1. Format the forensic message
string currentTime = Server.Time.ToString("yyyy-MM-dd HH:mm:ss");
string pingMsg = $"🚨 BUDDY PING 🚨\n" +
$"Time: {currentTime}\n" +
$"Rule: {RuleBroken}\n" +
$"Status: {ActionTaken}\n" +
$"Next: {NextSession}";
// 2. Print the Private Log to the Chart
var currentBar = Bars.Last(0);
string objName = "BuddyPing_" + Server.Time.Ticks;
Chart.DrawText(objName, $"🚨 PING LOGGED: {RuleBroken}", currentBar.OpenTime, currentBar.High, Color.Red);
// 3. Fire the native UI Popup Alert
Notifications.ShowPopup("Buddy Ping", pingMsg, PopupNotificationState.Information);
// Print to the Automate Log for historical auditing
Print(pingMsg);
// 4. Terminate immediately (Forces the cBot to act like a one-time script)
Stop();
}
}
}
Re: Buddy ping after any broken rule within an hour
Posted: Thu Sep 24, 2026 9:59 am
by PTScalper
Implementation Guide
1.) Install the Tool: Open the Automate tab in cTrader. Click New cBot, name it BuddyPingProtocol, paste the code above, and click Build (or press F6).
2.) Setup Notifications (Optional): If you want this ping pushed to your phone or email, go to Settings (gear icon) > Email / Telegram in cTrader and configure your routing. cTrader natively supports pushing its system alerts directly to Telegram.
3.) The Workflow: When you break a rule, stay on your chart and click the + Add Instance button under your new BuddyPingProtocol cBot. The parameters window will appear. Type out the broken rule, confirm you are flat, and hit Start.
4.) The Result: The cBot instantly drops the red visual timestamp on your current candle, triggers a system popup with the formatted text (which you can screenshot or copy to your buddy), and then immediately shuts itself down, ready for the next use.