Как из скрипта сделать индикатор?

 
Подскажите, пожалуйста, как из скрипта можно сделать индикатор? Например есть скрипт расчета скорости тренда
//-----------------------------------------
double pr0,prp;
double V,kt,per;
int t0,tp,i0,ip;
//----------------------------------------
int init() 
{
   per=Period();
   kt=60/per;
   
   t0=TimeOnDropped();
   i0=iBarShift(Symbol(),Period(),t0);
   pr0=Close[i0];
   
   ip=i0+40;
   tp=Time[ip];
   prp=Close[ip];
   
   ObjectCreate("LineV",2,0,tp,prp,t0,pr0);
   ObjectSet("LineV",OBJPROP_COLOR,LightSkyBlue);
   
   ObjectCreate("txtLineV",OBJ_TEXT,0,t0,pr0+0.002);
   
   ObjectCreate("txtLeb",OBJ_LABEL,0,0,0);
   ObjectSet("txtLeb", OBJPROP_XDISTANCE, 680);
   ObjectSet("txtLeb", OBJPROP_YDISTANCE,  20);
   ObjectSetText("txtLeb","V  =  ",10,"Arial",Lime);
}
//-----------------------------------------
int start() 
{
  while(IsStopped()==false) 
  {
    tp=ObjectGet("LineV",OBJPROP_TIME1);
    t0=ObjectGet("LineV",OBJPROP_TIME2);
   
    prp=ObjectGet("LineV",OBJPROP_PRICE1);
    pr0=ObjectGet("LineV",OBJPROP_PRICE2);
    
    ip=iBarShift(Symbol(),Period(),tp);
    i0=iBarShift(Symbol(),Period(),t0);
    
    if (t0>Time[0]) i0=(Time[0]-t0)/60/per;
    
    pr0=NormalizeDouble(pr0,4);
    prp=NormalizeDouble(prp,4);
    //----------------------------------------
      
    ObjectMove("LineV",0,tp,prp);
    ObjectMove("LineV",1,t0,pr0);
 
    if (i0!=ip) V=((pr0-prp)/Point)/((ip-i0)/kt); 
    
    ObjectMove("txtLineV",0,t0,pr0+0.002);
    
    ObjectSetText("txtLineV"," "+DoubleToStr(V,2),9,"Arial",Yellow);
    ObjectSetText("txtLeb","V =  "+DoubleToStr(V,2),10,"Arial",Lime); 
    //----------------------------------------
    //========================================================
   
    Comment( "t0 = ",TimeToStr(t0,TIME_DATE|TIME_MINUTES),"\n",
             "tp = ",TimeToStr(tp,TIME_DATE|TIME_MINUTES),"\n",
             "i0 = ",i0,"\n",
             "ip = ",ip,"\n", 
             "pr0 = ",pr0,"\n",
             "prp = ",prp,"\n",
             "V = ",DoubleToStr(V,2));
 
  }//------while--------
  //======================================================================
  return(0);
}
//*********************************
int deinit() 
{ 
   ObjectDelete("LineV"); 
   ObjectDelete("txtLineV"); 
   ObjectDelete("txtLeb");
   Comment(" ");
   return(0);
}
//*********************************
 

Его же показания зависят только от того, как вручную линию установишь. Какой смысл его в индикатор переделывать7

 
Integer:

Его же показания зависят только от того, как вручную линию установишь. Какой смысл его в индикатор переделывать7

Хочется знать на сколько пипсов цена продвигается за х-количество времени (баров)
 
MForex писал (а):
Хочется знать на сколько пипсов цена продвигается за х-количество времени (баров)

А этот скрипт тут причем?
 
Тебе сюда.
Тут написано как делать советников.
http://www.vedikhin.ru/2006/06/expert-advisors-overview.html
 
drknn:
Тебе сюда.
Тут написано как делать советников.
http://www.vedikhin.ru/2006/06/expert-advisors-overview.html

Кто знает, про скорость тренда какие-то наработки где можно почитать?
 
Вот тебе скрипт, который вычисляет скорость движения цены на текущей свече.
В теле скрипта есть моё мыло - ежли чё, пиши туда.

//+------------------------------------------------------------------+
//| Price_Speed.mq4 |
//| Drknn |
//| drknn@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Drknn"
#property link "drknn@mail.ru"


/*

Скрипт предназначен для нахождения скорости движения цены на текущей свече.
Работает на любой валютной паре.

*/


//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----

datetime TimeOpen,TimeTick,TimeRezult;
double Rasstojanie,SpeedPrice;


TimeOpen=Time[0];
Print("Время открытия текущей свечи = ",TimeOpen);

TimeTick=TimeCurrent();
Print("Время последнего тика = ",TimeTick);

TimeRezult=TimeTick-TimeOpen;
Print("С момента открытия свечи прошло ",TimeRezult," секунд");


if(Open[0]>Close[0])//свеча падающая
{
Rasstojanie=(Open[0]-Bid)/Point;
Print("1 Расстояние от открытия = ",Rasstojanie," пунктов");
SpeedPrice=Rasstojanie/TimeRezult;
Print("Текущая скорость = ",SpeedPrice," пунктов в секунду");
}

if(Open[0]<Close[0])//свеча растущая
{
Rasstojanie=(Ask-Open[0])/Point;
Print("2 Расстояние от открытия = ",Rasstojanie," пунктов");
SpeedPrice=Rasstojanie/TimeRezult;
Print("Текущая скорость = ",SpeedPrice," пунктов в секунду");
}
//----
return(0);
}
//+------------------------------------------------------------------+
 
drknn:
Вот тебе скрипт, который вычисляет скорость движения цены на текущей свече.
В теле скрипта есть моё мыло - ежли чё, пиши туда.

//+------------------------------------------------------------------+
//| Price_Speed.mq4 |
//| Drknn |
//| drknn@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Drknn"
#property link "drknn@mail.ru"


/*

Скрипт предназначен для нахождения скорости движения цены на текущей свече.
Работает на любой валютной паре.

*/


//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----

datetime TimeOpen,TimeTick,TimeRezult;
double Rasstojanie,SpeedPrice;


TimeOpen=Time[0];
Print("Время открытия текущей свечи = ",TimeOpen);

TimeTick=TimeCurrent();
Print("Время последнего тика = ",TimeTick);

TimeRezult=TimeTick-TimeOpen;
Print("С момента открытия свечи прошло ",TimeRezult," секунд");


if(Open[0]>Close[0])//свеча падающая
{
Rasstojanie=(Open[0]-Bid)/Point;
Print("1 Расстояние от открытия = ",Rasstojanie," пунктов");
SpeedPrice=Rasstojanie/TimeRezult;
Print("Текущая скорость = ",SpeedPrice," пунктов в секунду");
}

if(Open[0]<Close[0])//свеча растущая
{
Rasstojanie=(Ask-Open[0])/Point;
Print("2 Расстояние от открытия = ",Rasstojanie," пунктов");
SpeedPrice=Rasstojanie/TimeRezult;
Print("Текущая скорость = ",SpeedPrice," пунктов в секунду");
}
//----
return(0);
}
//+------------------------------------------------------------------+


Спасибо большое, ночью буду пробовать, есть разные мысли
 
Integer:

Его же показания зависят только от того, как вручную линию установишь. Какой смысл его в индикатор переделывать7

А в принципе трудно переделать скрипт в индикатор?
 
MForex:
Integer:

Его же показания зависят только от того, как вручную линию установишь. Какой смысл его в индикатор переделывать7

А в принципе трудно переделать скрипт в индикатор?
Это зависит от сложности скрипта и от того, что должен уметь индикатор. В простом случае не сложно :)


Кстати, раз уже заговорили о кодах. Вот свежий советник - только что сделал (на одном из форумов парню понадобился).
Советник закрывает все ордера по достижении заданного количества денег в статье "Средства".
Встроенная настройка параметра DelOtlozh позволяет определиться надо ли удалять при этом и отложенные ордера, или их не трогать.
Пользуйтесь :)
Файлы:
Причина обращения: