TikTakWav
Download scriptThis tool is designed to provide traders with real-time, audible, and visual feedback regarding price movements in the financial markets. Rather than just showing standard charts, it focuses on tracking the specific magnitude of change between consecutive price updates (ticks), translating these movements into immediate sensory alerts.
Core Functionality
The script monitors the live market price and calculates the difference between the current price and the previous one. It specifically looks for "jumps" or "drops" in value to determine how much the price has shifted in a single movement.
Visual Indicators
The tool displays dynamic text directly on your trading screen. It distinguishes between upward and downward movements using high-contrast colors:
- Price Increases: When the market moves up, the indicator displays the change amount in Red.
- Price Decreases: When the market moves down, the indicator displays the change amount in Lime (Green).
By placing these labels clearly on the screen, it allows a trader to instantly see exactly how many points or pips the price moved in the most recent tick without having to manually calculate the difference.
Audio Alerts
One of the primary features of this script is its automated sound system. Based on the size of the price movement, the tool plays different audio files to provide varying levels of urgency:
- Small Movements: For minor fluctuations (1-point changes), it plays subtle notification sounds.
- Moderate Movements: As the price jumps further (2 or 3 points), the audio alerts become more distinct.
- Significant Movements: If the price experiences a large leap (greater than 3 points), it triggers a specific "news" alert sound to catch the trader's attention immediately.
Summary for the User
Think of this script as an "active listener" for your trading platform. It continuously watches every tiny wiggle in the market and translates those movements into a "heartbeat" of color and sound. This allows you to react more quickly to market volatility, giving you a multi-sensory way to track price action without constantly staring at the numbers.
//+------------------------------------------------------------------+
//| TikTakWav.mq4 |
//| Tokman Yuriy |
//| 13 ñåíòÿáðÿ 2008 ãîäà yuriytokman@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Yuriy Tokman"
#property link "yuriytokman@gmail.com"
#property indicator_chart_window
extern bool Play = true;
int price_prev;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
ObjectCreate("sigl",OBJ_LABEL,0,0,0,0,0);
ObjectCreate("sigl2",OBJ_LABEL,0,0,0,0,0);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete ("sigl");
ObjectDelete ("sigl2");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int price=MathRound(Bid/Point),d;
if (price_prev==price) return;
d=price-price_prev;
string name ;
string par = DoubleToStr(d,0);
if (d>0)
{
name = "ÂÂÅÐÕ = ";
ObjectSetText("sigl",name,12,"Arial Black",Red);
ObjectSetText("sigl2",par,12,"Arial Black",Red);
if ( Play == true)
{
if (d==1){PlaySound("tick.wav");}
else if (d==2){PlaySound("alert2.wav");}
else if (d==3){PlaySound("expert.wav");}
else if (d>3) {PlaySound("news.wav");}
}
}
else if(d<0)
{
name = "ÂÍÈÇ = ";
ObjectSetText("sigl",name,12,"Arial Black",Lime);
ObjectSetText("sigl2",par,12,"Arial Black",Lime);
if ( Play == true)
{
if (d==-1){PlaySound("ok.wav");}
else if (d==-2){PlaySound("stops.wav");}
else if (d==-3){PlaySound("timeout.wav");}
else if (d>-3) {PlaySound("disconnect.wav");}
}
}
ObjectSet("sigl",OBJPROP_XDISTANCE,3);
ObjectSet("sigl2",OBJPROP_XDISTANCE,85);
ObjectSet("sigl",OBJPROP_YDISTANCE,30);
ObjectSet("sigl2",OBJPROP_YDISTANCE,30);
price_prev=price;
//----
return(0);
}
//+------------------------------------------------------------------+
Comments