Korábban már volt róla szó, hogy ez egy CCI és ATR alapú indikátor, elég jól használható, amikor a trend irányára vagyunk kíváncsiak. Ez is színváltoztatós indikátor, de nem függ semmilyen másik indikátortól...
Nos, íme a kódja :
//+------------------------------------------------------------------+
//| TrendMagic.mq4 |
//| Copyright © 2010, János Antal |
//| http://tozsdecapak.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, János Antal"
#property link "http://tozsdecapak.blogspot.com"
#include <stderror.mqh>
#include <stdlib.mqh>
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_width1 2
#property indicator_color2 Red
#property indicator_width2 2
extern int CCI = 50;
extern int ATR = 5;
double bufferUp[];
double bufferDn[];
int init()
{
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
SetIndexBuffer(0, bufferUp);
SetIndexLabel(0,"TrendMagic Up");
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);
SetIndexBuffer(1, bufferDn);
SetIndexLabel(1,"TrendMagic Down");
}
int start()
{
double thisCCI;
double lastCCI;
for (int shift = Bars; shift >= 0; shift--)
{
thisCCI = iCCI(NULL, 0, CCI, PRICE_TYPICAL, shift);
lastCCI = iCCI(NULL, 0, CCI, PRICE_TYPICAL, shift + 1);
if (thisCCI >= 0 && lastCCI < 0) bufferUp[shift + 1] = bufferDn[shift + 1];
if (thisCCI <= 0 && lastCCI > 0) bufferDn[shift + 1] = bufferUp[shift + 1];
if (thisCCI >= 0)
{
bufferUp[shift] = Low[shift] - iATR(NULL, 0, ATR, shift);
if (bufferUp[shift] < bufferUp[shift + 1])
bufferUp[shift] = bufferUp[shift + 1];
}
else
{
if (thisCCI <= 0)
{
bufferDn[shift] = High[shift] + iATR(NULL, 0, ATR, shift);
if (bufferDn[shift] > bufferDn[shift + 1])
bufferDn[shift] = bufferDn[shift + 1];
}
}
}
}
Ez egy igen egyszerű, ám igen jól használható indikátor, amely leginkább napon belüli kereskedés fő trendirányának a meghatározására való. Ez igen jó támpont lehet, ha egy másik momentum indikátor jelei alapján szeretnénk pozícióba lépni! Ez az indikátor a mi kis robotunk alapja.
Hamarosan backtest következik.
A backtest fogja megmondani nekünk, hogy a kereskedési elv, amelyet leprogramoztunk.
Addig is azt javaslom, hogy a három indikátort, melyet nem is régen közzétettem (most a TrendMagic, korábban a TVI és a TVI_2color, melyek közül ugyan csak az utóbbit használjuk, mégis az előbbivel együtt képes csak működni), valamint a teljes robotot másoljátok le, fordítsátok le a MetaEditor segítségével és próbálgassátok különféle devizapárokon.
Aki már végzett backtest-et, annak is javaslom, hogy mindenféle devizapáron tesztelje le, nézegesse, aki még sosem tesztelt, annak csak azt javaslom, hogy tegye fel a robotot egy demó számlára tetszőleges devizapárra és nézze meg, mikor köt, jókor köt-e, stb.
FIGYELEM! Jelenleg a profit lényegtelen, csak az a fontos, hogy jól működik-e a program!
Ha bárkinek bármilyen kérdése lenne, írjon bátran, válaszolok szívesen!
Jó szórakozást mindenkinek!