lacostes
lacostes личный блог
19 сентября 2014, 11:02

Кто может написать индикатор для КВИКА?

Есть очень удобный индикатор
Daily Fibonacci Pivot, я им пользовался, когда торговал на форе в МТ4
Выглядит он так:

Кто может написать индикатор для КВИКА?


О
чень удобная штука, скажу я…  Только я не владею наукой и мастерством написания. Если найдется умелец-волонтер ))) написать данный индикатор для КВИКА-скажу спасибо! Да и пусть все желающие опробуют. Может кто то возьмет его на вооружение и станет торговать по нему.

Идея проста: Цена над пунктиром-идем вверх до первого уровня, пробили-до следующего и тд. Вниз аналогично...

Вот код MQL4--------------------

 
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Yellow
#property indicator_color2 Magenta
#property indicator_color3 Magenta
#property indicator_color4 Aqua
#property indicator_color5 Aqua
#property indicator_color6 Yellow
#property indicator_color7 Yellow
//---- buffers
double P1Buffer[];
double P2Buffer[];
double P3Buffer[];
double P4Buffer[];
double P5Buffer[];
double P6Buffer[];
double P7Buffer[];
int myPeriod=PERIOD_D1;

double PP,R1,S1,R2,S2,R3,S3,Q;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0,P1Buffer);
SetIndexBuffer(1,P2Buffer);
SetIndexBuffer(2,P3Buffer);
SetIndexBuffer(3,P4Buffer);
SetIndexBuffer(4,P5Buffer);
SetIndexBuffer(5,P6Buffer);
SetIndexBuffer(6,P7Buffer);
SetIndexStyle(0,DRAW_LINE,STYLE_DASHDOTDOT,0);
SetIndexStyle(0,DRAW_LINE,STYLE_DASHDOTDOT,0);
SetIndexStyle(0,DRAW_LINE,STYLE_DASHDOTDOT,0);
SetIndexStyle(0,DRAW_LINE,STYLE_DASHDOTDOT,0);
SetIndexStyle(0,DRAW_LINE,STYLE_DASHDOTDOT,0);
SetIndexStyle(0,DRAW_LINE,STYLE_DASHDOTDOT,0);
SetIndexStyle(0,DRAW_LINE,STYLE_DASHDOTDOT,0);


return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete(«WeekP»);
ObjectDelete(«WeekR1»);
ObjectDelete(«WeekR2»);
ObjectDelete(«WeekR3»);
ObjectDelete(«WeekS1»);
ObjectDelete(«WeekS2»);
ObjectDelete(«WeekS3»);
ObjectDelete(«txtWeekP»);
ObjectDelete(«txtWeekR1»);
ObjectDelete(«txtWeekR2»);
ObjectDelete(«txtWeekR3»);
ObjectDelete(«txtWeekS1»);
ObjectDelete(«txtWeekS2»);
ObjectDelete(«txtWeekS3»);
Comment("");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i,dayi,counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;

for(i=limit-1; i>=0; i--)
{
dayi=iBarShift(Symbol(), myPeriod, Time[i],false);

Q=(iHigh(Symbol(), myPeriod,dayi+1)-iLow(Symbol(), myPeriod,dayi+1));

PP=(iHigh(Symbol(), myPeriod,dayi+1) +
iLow(Symbol(), myPeriod,dayi+1) +
iClose(Symbol(), myPeriod,dayi+1)) / 3;


R1=PP + (Q * 0.38);
S1=PP — (Q * 0.38);
R2=PP + (Q * 1.00);
S2=PP — (Q * 1.00);
R3=PP + (Q * 1.38);
S3=PP — (Q * 1.38);
P1Buffer[i]=PP;
SetPrice(«WeekP»,Time[i],PP,Yellow);
SetText(«txtWeekP»,«WP»,Time[i],PP,Yellow);
P2Buffer[i]=R1;
SetPrice(«WeekR1»,Time[i],R1,Magenta);
SetText(«txtWeekR1»,«W-R38%»,Time[i],R1,Magenta);
P3Buffer[i]=S1;
SetPrice(«WeekS1»,Time[i],S1,Magenta);
SetText(«txtWeekS1»,«W-S38%»,Time[i],S1,Magenta);
P4Buffer[i]=R2;
SetPrice(«WeekR2»,Time[i],R2,Aqua);
SetText(«txtWeekR2»,«W-R100%»,Time[i],R2,Aqua);
P5Buffer[i]=S2;
SetPrice(«WeekS2»,Time[i],S2,Aqua);
SetText(«txtWeekS2»,«W-S100%»,Time[i],S2,Aqua);
P6Buffer[i]=R3;
SetPrice(«WeekR3»,Time[i],R3,Yellow);
SetText(«txtWeekR3»,«W-R138%»,Time[i],R3,Yellow);
P7Buffer[i]=S3;
SetPrice(«WeekS3»,Time[i],S3,Yellow);
SetText(«txtWeekS3»,«W-S138%»,Time[i],S3,Yellow);
}
//----
return(0);
}
void SetPrice(string name,datetime Tm,double Prc,color clr)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_ARROW, 0, Tm, Prc);
ObjectSet(name, OBJPROP_COLOR, clr);
ObjectSet(name, OBJPROP_WIDTH, 2);
ObjectSet(name, OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
}
else
{
ObjectSet(name, OBJPROP_TIME1, Tm);
ObjectSet(name, OBJPROP_PRICE1, Prc);
ObjectSet(name, OBJPROP_COLOR, clr);
ObjectSet(name, OBJPROP_WIDTH, 2);
ObjectSet(name, OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
}
}
void SetText(string name,string txt,datetime Tm,double Prc,color clr)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_TEXT, 0, Tm, Prc);
ObjectSetText(name,txt, 9, «Arial», clr);
ObjectSet(name, OBJPROP_CORNER,2);
}
else
{
ObjectSet(name, OBJPROP_TIME1, Tm);
ObjectSet(name, OBJPROP_PRICE1, Prc);
ObjectSetText(name,txt, 9, «Arial», clr);
ObjectSet(name, OBJPROP_CORNER,2);
}
}
//+------------------------------------------------------------------+
 
7 Комментариев
  • Scorpi_999
    19 сентября 2014, 11:12
    У SECRET спроси он роботами занимается ) Вон и ЛЧИ выиграл в прошлом году )
  • 12015
    19 сентября 2014, 11:13
    в xtick-е есть в качестве индиктора
  • Serg
    19 сентября 2014, 11:14
    Есть просто пивот уровни, и не индикатор (для квика они пишутся на LUA), а типа робота (на QPILE). Можно взять за основу, показывает только текущие уровни. Ссылка yadi.sk/d/ujtmujxJVo5no.
  • 12015
    19 сентября 2014, 11:19
    по ссылке пишут «ничего на найдено»
  • 12015
    19 сентября 2014, 11:24
    а вообще в тиковском Pivot Points кто нибудь смысл увидел? я наблюдаю, но все бес толку
    • Serg
      19 сентября 2014, 11:28
      Нестеров Алексей, че то странное с я.диском. Снова открыл папку, но ссылка поменялась: yadi.sk/d/hKy8wcnkbYtfL
  • 12015
    19 сентября 2014, 11:36
    атака пиндосов, я так понимаю
    все открылось благодарю

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн