Индикаторы: Sound Step

 

Sound Step:

Индикатор выдаёт звуковой сигнал с определённым шагом цены.

Author: Evgeni Inkov

 
Евгений индикатор прикольный, только я не понял как ему поменять направление, в шорте тренд падает а он ругается, а отрастает он веселится)
 
Soltek6:
Евгений индикатор прикольный, только я не понял как ему поменять направление, в шорте тренд падает а он ругается, а отрастает он веселится)
зачем ему менять направление... по звуку и так понятно, куда идет цена...
 
Так то оно так, но когда стоишь в нужном направлении то есть в низ, а там брякает звук ошибки, становиться не по себе, и еще бы не помешало вывести в настройки отключение звука в то или другое направление, скажем так, тихо растем и хорошо, а начали отваливаться он сообщил об этом, бывает что вечером или ночью лишний звук мешает родственникам, а так очень полезный индикатор, не надо постоянно лупиться в MetaTraderа, все видишь ушами) ставлю +10
 

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);
}
//----------------------------------------------

Sound Step
Sound Step
  • голосов: 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); }