Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

MetaTrader 4 II.


Sid

Doporučené příspěvky

  • Odpovědí 967
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Ahoj, no stochastik tam mam v nastaveni 533, s tim ze tu "uhlazenejsi" krivku nemam zobrazenou. Jinak muj system je takovy ze si nakreslim trendovou linku pokud trh nekam jde a neni to jen bugr. Pak pockam na rychlou divergenci ve smeru trendovky. Rychlou neznamena jeden vrchol pak se to mrcasi a dalsi vrchol to proste nechci. Pocka se na break, stop pod low ci nad h. a je odmakano. Time frame petiminuta, nebot signalu je pekelne malo dnes byl treba jen jeden ze vsech paru co sleduju. Mej se. honza

Link to comment
Sdílet pomocí služby

Dobrý den.
Potřeboval bych poradit. Mám indikátor (stepAMA_color) a chtěl bych na jeho základě udělat EA ale potřeboval bych aby mě při překlopení ( změna trendu) provedl obchodní příkaz a při dalším překlopení obchod uzavřel a otevřel obráceno pozici. A tak pořád dokola.
Poradí nekdo? Předem moc děkuji.

Kompletní kód indikátoru:


#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int PeriodWATR=100;
extern double Kwatr=1.0000;
extern int Advance=0;
extern int HighLow=0;
//---- indicator buffers
double UpBuffer[];
double DownBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexArrow(0,159);
SetIndexArrow(1,159);
SetIndexShift(0,Advance);
SetIndexShift(1,Advance);
SetIndexBuffer(0,UpBuffer);
SetIndexBuffer(1,DownBuffer);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//---- name for DataWindow and indicator subwindow label
short_name="StepMA("+PeriodWATR+")";
IndicatorShortName(short_name);
SetIndexLabel(0,"UpTrendStepMA");
SetIndexLabel(1,"DownTrendStepMA");
//----
SetIndexDrawBegin(0,PeriodWATR);
SetIndexDrawBegin(1,PeriodWATR);
//----
return(0);
}

//+------------------------------------------------------------------+
//| StepMA_v2 |
//+------------------------------------------------------------------+
int start()
{
int i,shift,trend;
double smin0,smax0,smin1,smax1,AvgRange,dK,WATR;

AvgRange=0;
for (i=PeriodWATR-1;i>=0;i--)
{
dK = 1+(PeriodWATR-i)/PeriodWATR;
AvgRange=AvgRange+ dK*MathAbs(High[i]-Low[i]);
}
WATR = AvgRange/PeriodWATR;
int StepSize=Kwatr*WATR/Point;
Comment(" StepSize = ", StepSize);


for(shift=Bars-1;shift>=0;shift--)
{
if (HighLow>0)
{
smax0=Low[shift]+2*StepSize*Point;
smin0=High[shift]-2*StepSize*Point;

if(Close[shift]>smax1) trend=1;
if(Close[shift] }

if (HighLow == 0)
{
smax0=Close[shift]+2*StepSize*Point;
smin0=Close[shift]-2*StepSize*Point;

if (Close[shift]>smax1) trend=1;
if (Close[shift] }

if(trend>0 && smin0 if(trendsmax1) smax0=smax1;

if (trend>0)
{
UpBuffer[shift]=smin0+StepSize*Point;
DownBuffer[shift]=-1.0;
}
if (trend {
DownBuffer[shift]=smax0-StepSize*Point;
UpBuffer[shift]=-1.0;
}

smin1=smin0;
smax1=smax0;
}
return(0);
}

Link to comment
Sdílet pomocí služby

Uvnitř sekce start napíšeš asi toto:
[ital]
if (TrendUp()) {
CloseShort();
OpenLong();
}
if (TrendDn()) {
CloseLong();
OpenBuy();
}
[/ital]
V tom [ital]TrendUp() a TrendDn() [/ital] použiješ 2x funkci [ital]iCustom() [/ital], která ti vrátí aktuální hodnotu(0) a minulou(1). Ty dvě porovnáš a rozhodneš se, jestli je změna trendu a kam.

Link to comment
Sdílet pomocí služby

No to je jednoduchý. Když mám indikátor který celkem spolehlivě ukazuje na změnu trendu, tak proč ho nepoužít v nějakém obchodním systému? Mě jde jenom o to, jak ho použít pro automatické nákupy a prodeje. Samozřejmě je to jenom impuls k dalšímu experimentování, ale alespoň základní myšlenku bych chtěl vyzkoušet.

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...