Евгений индикатор прикольный, только я не понял как ему поменять направление, в шорте тренд падает а он ругается, а отрастает он веселится)
Soltek6:
... не помешало вывести в настройки отключение звука в то или другое направление,....
Спасибо за оценку !
//+------------------------------------------------------------------+ //| Step_Sound_v02.mq4 | //+------------------------------------------------------------------+ #property copyright "Inkov Evgeni" #property link "ew123@mail.ru" //+------------------------------------------------------------------+ #property version "1.00" #property indicator_chart_window //---------------------------------- extern int Step=5; extern bool Comm=true; extern bool on_UP=true; extern bool on_DW=true; //---------------------------------- double pr; int pr_mod, pr_tek, pr_sound; color col; //+------------------------------------------------------------------+ int deinit() { ObjectDelete("Prg"); return(0); } //+------------------------------------------------------------------+ int start() { pr=NormalizeDouble(Bid/Point,0); pr_mod=MathMod(pr,Step); pr_tek=NormalizeDouble(pr-pr_mod,0); if (pr_sound==0) { pr_sound=pr_tek; col=Green; } if((pr_mod==0 || MathAbs(pr-pr_sound)>Step) && pr_sound!=pr_tek) { if (pr_tek>pr_sound) { if (on_UP) { PlaySound("alert2.wav"); col=Green; } } else if (on_DW) { PlaySound("timeout.wav"); col=Red; } pr_sound=pr_tek; } if (Comm) { string s=DoubleToStr(pr_sound*Point,Digits); if (pr_mod>0) { int n=NormalizeDouble(Bid/Point-pr_sound,0); if (n>0)s=s+"+"; s=s+DoubleToStr(n,0); } put_txt("Prg",s,Bid,Time[0]+10*Period()*60,col); } else ObjectDelete("Prg"); return(0); } //---------------------------------------------- void put_txt(string name, string Zn, double pr1, datetime t1,color col1) { if (ObjectFind(name)<0)ObjectCreate(name, OBJ_TEXT, 0,0,0); ObjectSet(name, OBJPROP_PRICE1, pr1); ObjectSet(name, OBJPROP_TIME1, t1); ObjectSetText(name, Zn, 10, "Arial Black", col1); } //----------------------------------------------
//https://www.mql5.com/ru/code/11158
//+------------------------------------------------------------------+
//| Step_Sound_v01.mq4 |
//+------------------------------------------------------------------+
#property copyright "Inkov Evgeni ew123@mail.ru edit nicetru"
#property link "+7-988-140-68-11"
//+------------------------------------------------------------------+
#property version "1.00"
#property indicator_chart_window
//----------------------------------
extern int Step=20;
extern bool Comm=true;
extern bool on_UP=true;
extern bool on_DW=true;
//----------------------------------
double pr;
int pr_mod, pr_tek, pr_sound;
color col;
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete("Prg");
return(0);
}
//+------------------------------------------------------------------+
int start()
{
pr=NormalizeDouble(Bid/Point,0);
pr_mod=MathMod(pr,Step);
pr_tek=NormalizeDouble(pr-pr_mod,0); if (pr_sound==0)
{
pr_sound=pr_tek;
col=clrDarkSlateGray;
}
if( MathAbs(pr-pr_sound)>Step || ( pr_mod==0 && pr_sound!=pr_tek ) )
{
if (pr_tek>pr_sound)
{
col=clrGreen;
if (on_UP){PlaySound("alert2.wav");}
pr_sound=pr_sound+Step;
}
else
{
col=clrRed;
if (on_DW){PlaySound("timeout.wav");}
pr_sound=pr_sound-Step;
}
}
if (Comm)
{
string s=DoubleToStr(pr_sound*Point,Digits);
int n=NormalizeDouble(Bid/Point-pr_sound,0);
if (n>=0&&n<10)s=s+"+"+"0";
if (n>=10)s=s+"+";
if (n<0&&n>-10)s=s+"-"+"0";
if (n<=-10)s=s+"-";
s=s+DoubleToStr(MathAbs(n),0);
put_txt("Prg",s,Bid,Time[0]+15*Period()*60,col);
}
else{ObjectDelete("Prg");}
return(0);
}
//----------------------------------------------
void put_txt(string name, string Zn, double pr1, datetime t1,color col1)
{
if (ObjectFind(name)<0)ObjectCreate(name, OBJ_TEXT, 0,0,0);
ObjectSet(name, OBJPROP_PRICE1, pr1);
ObjectSet(name, OBJPROP_TIME1, t1);
ObjectSetText(name, Zn, 10, "Arial Black", col1);
}
//----------------------------------------------
- голосов: 39
- 2014.03.25
- Evgeniy Inkov
- www.mql5.com
//https://www.mql5.com/ru/code/11158
//+------------------------------------------------------------------+
//| Step_Sound_v01.mq4 |
//+------------------------------------------------------------------+
#property copyright "Inkov Evgeni ew123@mail.ru edit nicetru"
#property link "+7-988-140-68-11"
//+------------------------------------------------------------------+
#property version "1.00"
#property indicator_chart_window
//----------------------------------
extern int Step=20;
extern bool Comm=true;
extern bool on_UP=true;
extern bool on_DW=true;
//----------------------------------
double pr;
int pr_mod, pr_tek, pr_sound;
color col;
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete("Prg");
return(0);
}
//+------------------------------------------------------------------+
int start()
{
pr=NormalizeDouble(Bid/Point,0);
pr_mod=MathMod(pr,Step);
pr_tek=NormalizeDouble(pr-pr_mod,0);
if (pr_sound==0)
{
pr_sound=pr_tek;
col=clrDarkSlateGray;
}
if( MathAbs(pr-pr_sound)>Step || ( pr_mod==0 && pr_sound!=pr_tek ) )
{
if (pr_tek>pr_sound)
{
col=clrGreen;
if (on_UP){PlaySound("alert2.wav");}
pr_sound=pr_sound+Step;
}
else
{
col=clrRed;
if (on_DW){PlaySound("timeout.wav");}
pr_sound=pr_sound-Step;
}
}
if (Comm)
{
string s=DoubleToStr(pr_sound*Point,Digits);
int n=NormalizeDouble(Bid/Point-pr_sound,0);
if (n>=0&&n<10)s=s+"+"+"0";
if (n>=10)s=s+"+";
if (n<0&&n>-10)s=s+"-"+"0";
if (n<=-10)s=s+"-";
s=s+DoubleToStr(MathAbs(n),0);
put_txt("Prg",s,Bid,Time[0]+15*Period()*60,col);
}
else{ObjectDelete("Prg");}
return(0);
}
//----------------------------------------------
void put_txt(string name, string Zn, double pr1, datetime t1,color col1)
{
if (ObjectFind(name)<0)ObjectCreate(name, OBJ_TEXT, 0,0,0);
ObjectSet(name, OBJPROP_PRICE1, pr1);
ObjectSet(name, OBJPROP_TIME1, t1);
ObjectSetText(name, Zn, 10, "Arial Black", col1);
}
//----------------------------------------------
function coloriseBlock(text)
{
return(MQTE.Highlight('mql',text).value.replace(/\n/g,'
').replace(/ /g," "));
}
mqGlobal.AddOnLoad(function()
{
var d = document.getElementById("code_content"),
text = d.innerHTML.replace(/\
/gi,"\n").replace(/&([#a-z0-9]+);/gi,
function (str,p)
{
switch(p.toUpperCase())
{
case 'AMP':
return '&';
case 'QUOT':
return '"';
case 'LT':
return '';
case '#039':
return "'";
case 'NBSP':
return ' ';
}
return p;
}
);
d.innerHTML = coloriseBlock(text);
});
function LoadCode(link) {
Ajax.get(link.href, { tmp: Math.round(Math.random() * 10000) },
{
onready: function(text) {
var d = document.getElementById("code_content");
d.innerHTML = coloriseBlock(text);
d = link.parentNode.firstChild;
while (d) {
if (d.nodeType == 1)
{
if (d == link) d.className = "attachItem selected";
else d.className = "attachItem";
}
d = d.nextSibling;
}
},
onerror: function() {
}
});
return(false);
}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Sound Step:
Author: Evgeni Inkov