Support Board
Date/Time: Fri, 27 Feb 2026 23:10:11 +0000
Footprint alert example 30x600
View Count: 169
| [2026-01-11 17:15:00] |
| rebeccaemme - Posts: 38 |
|
Hello, I would like to know what is the simplest way to create an alert when, on a 1-minute or 5 minute chart, the Bid volume does not exceed 30 while the Ask volume exceeds 600 (for example 30 x 600). Is it possible to do this without using ACSIL, or a built-in study (because I don’t know how to do it) Thank you in advance for your support. I altready use Large Volume Trade, but to get an alert of less then 30 and more then 600 on ask I have to be more specific. Thank you very much for help |
| [2026-01-12 16:18:37] |
| John - SC Support - Posts: 44849 |
|
Refer to the last two examples for alerts at the following link: Study/Chart Alerts And Scanning: Alert Formula Examples But to do this and check an entire bar creates a very long alert condition, and you may not be able to cover the entire bar (there is a limit to the number of characters that can be used in an alert condition - although we can not remember the value off hand). In the end, it is easiest to do this using a Custom Study. Refer to the following: ACSIL Programming Concepts: Accessing Volume at Price Data Per Bar https://www.sierrachart.com/index.php?page=doc/SierraChartStudyAndSystemProgrammers.php For the most reliable, advanced, and zero cost futures order routing, use the Teton service: Sierra Chart Teton Futures Order Routing |
| [2026-01-13 10:06:04] |
| rebeccaemme - Posts: 38 |
|
Is a full day that I try to setup it and is not working. I would like to receive the allert and the bar color when bid is actually 750 and ask is 0 but is not working. #include "sierrachart.h" SCDLLName("VolumeAtPriceAnalysis") SCSFExport scsf_BidAskVolumeAlert(SCStudyInterfaceRef sc) { // Sezione 1: Configurazione dei parametri e impostazioni predefinite if (sc.SetDefaults) { sc.GraphName = "Bid-Ask Specific Volume Alert"; sc.AutoLoop = 1; sc.GraphRegion = 0; // Obbligatorio per accedere ai dati Volume at Price sc.MaintainAdditionalChartData = 1; sc.Input[0].Name = "Minimum Bid Volume"; sc.Input[0].SetInt(750); sc.Input[1].Name = "Maximum Ask Volume"; sc.Input[1].SetInt(0); sc.Input[2].Name = "Alert Number (1-64)"; sc.Input[2].SetInt(1); return; } // Sezione 2: Elaborazione dati per la barra corrente const int BarIndex = sc.Index; // Accesso al numero di livelli di prezzo (ticks) nella barra int NumLevels = sc.VolumeAtPriceForBars->GetSizeAtBarIndex(BarIndex); if (NumLevels == 0) return; bool ConditionMet = false; // Iterazione attraverso tutti i livelli di prezzo della barra for (int i = 0; i < NumLevels; i++) { s_VolumeAtPriceV2* p_VAP = NULL; // Recupero dei dati Volume at Price per il livello i if (!sc.VolumeAtPriceForBars->GetVAPElementAtIndex(BarIndex, i, &p_VAP)) continue; // Logica di confronto bid/ask if (p_VAP->BidVolume >= (unsigned int)sc.Input[0].GetInt() && p_VAP->AskVolume <= (unsigned int)sc.Input[1].GetInt()) { ConditionMet = true; break; // Esci dal ciclo se la condizione è soddisfatta in almeno un livello } } // Sezione 3: Esecuzione Alert ed Evidenziazione if (ConditionMet) { // Colora la barra sul grafico (Giallo) sc.ColorBar[BarIndex] = RGB(255, 255, 0); // Attivazione dell'alert configurato s_UseControlBarAlert AlertSettings; AlertSettings.AlertNumber = sc.Input[2].GetInt(); AlertSettings.SetInThisFunction = true; sc.SetAlert(AlertSettings, "Soglia Bid/Ask Rilevata"); } } |
| [2026-01-13 10:46:32] |
| rebeccaemme - Posts: 38 |
|
I have semplified with this formula AND(BVAP(L, 0) > 750, AVAP(L, 0) = 0) And seems that work! Thank you! |
To post a message in this thread, you need to log in with your Sierra Chart account:
