Grafikusan megjeleníteni az aktuális trend minden időkeretben egy egyszerű panel ...

Grafikusan jelenítik meg az aktuális trend minden időkereteket egy egyszerű panel – mutatója MetaTrader 4

11695
0
OSSZA MEG

Tedd az összes trendek többszörös időkeret egy panel. Declutter és átveheti fókusz.

Ez egy grafikus kijelző alapján lejtő irányú trend indikátor, amely értelmében közzétételre került több más formák.

Ott már több változatban ez a mutató megjelent már, de egyik sem jelenik meg minden időkeretben egyetlen grafikus panel a képernyőn.

Egy kereshet https://www.mql5.com/en/search#!keyword=slope%20direction%20line hogy több találat.

Vettem ezt a mutatót, és tette egy grafikus panel megjelenítő összes időkeretek és egy pár kis módosításokkal az eredeti kódot. Ezek közül az egyik, hogy lehetővé teszi a felhasználó számára, hogy kiválassza a második mozgóátlag módszer simítás. Az eredeti kód lineáris súlyozott annak második menetben a számokat, míg adok a felhasználó a lehetőséget, hogy válasszon az eljárás simító. Ha lineáris súlyozott engedély számítások, ez teszi a kijelző túl érzékeny, és így esetleg hamis leolvasás a jelenlegi trend. Ha használjuk Egyszerű, mint a második átlagoló eljárás megkapjuk a tendencia, hogy inkább jelzi, ahol az ár megy.

A másik változás, hogy tettem az a képesség, hogy ne csak kap az irányt a trend (fel, le vagy lapos) hanem kap érték. Fogok beszélni erről egy másik cikkben azt tervezem, kiadói sokkal, hogyan kell használni a kettős SlopeDirection mutató és hozzon létre egy Expert Advisor vele.

De most, vessünk egy gyors pillantást a kódot. Először határozza meg az összes objektum nevét fogom használni. Az ok, amiért ez jó gyakorlat, hogy nem az, hogy minden egyes alkalommal, amikor egy objektumot nevét idézőjelbe, kiosztása helyet a programban érte. Tehát azok meghatározása egyszer (segítségével határozza nyilatkozat) csak akkor használja fel a teret a kódot egyszer.

// Adjuk trend irányokat

#meghatározzák emelkedés 1

#meghatározzák hanyatlás -1

#meghatározzák FLATTREND 0

 

// Adjuk Objectcs

#meghatározzák TrendPanel “trend panel”

#meghatározzák InfoLine1 “InfoLine1”

#meghatározzák InfoLine2 “InfoLine2”

#meghatározzák TrendLabel “Irányzat: M1 M5 M15 M30 H1 H4 D1 W1 MN”

#meghatározzák TrendUp “233”

#meghatározzák TrendDown “234”

#meghatározzák TrendFlat “232”

#meghatározzák TrendUnknown “251”

#meghatározzák StatObjectError “%s(%d) Nem sikerült létrehozni a „% s”. Hiba =% d”

Következő, Azt határozza meg két tömböt. Az egyik a pixel helyzetét az egyes 9 határidők és a második az időkeretek. Ezek olyan globális változók.

// Globális változók meghatározásához

int TrendPosition[] = { 44, 64, 88, 114, 136, 156, 174, 194, 216 };

int TrendPeriods[] = { PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1 };

A mutató OnInit() függvényhívásokkal a funkcióra, a panel és a tárgyakat a panel. Ugyancsak nem gyors “Dumn Dumn” ellenőrizze a rúd kiszámításához használt trend. Kevesebb, mint 3 a fajta értelmetlen.

//+——————————————————————+

//| Egyéni mutató inicializálási funkció |

//+——————————————————————+

int OnInit()

{

// Ide objektumok létrehozására irányuló jelzőfénypanel

ha(Create_Panel() && BarCount >= 3)

Visszatérés(INIT_SUCCEEDED);

más

Visszatérés(INIT_FAILED);

}

Nem fogom részletezni, hogyan a GetTrend() funkció tényleg működik, van-e már a jó dokumentáció ezen az oldalon, hogy a. Majd csak megnézzük a grafikus DisplayTrend() funkció.

//+——————————————————————+

//| A kijelző a jelenlegi trend az összes időkeretek

//+——————————————————————+

void DisplayTrend(üres)

{

int i, cntr, Irányzat, Az utolsó trend;

húr str;

 

mert(i = 1; én<10; i ++)

{

str = “Irányzat” + DoubleToStr(én, 0);

trend = (int)GetTrend(trend időszakok[i-1], BarCount, Módszer);

ha(Trend == FLATTREND)

{

// Én lapos, megtalálja az utolsó trend iránya

cntr = 1;

csinál

{

Az utolsó trend = (int)GetTrend(trend időszakok[i-1], BarCount, Módszer, hamis, cntr ++);

} míg(Az utolsó trend == Trend);

ObjectSetText(str, trend Flat, 8, “WingDings”, (Az utolsó trend == emelkedés ? Zöld : Piros));

ObjectSetInteger(0, str, OBJPROP_YDISTANCE, 6);

}

más

{

ObjectSetText(str, (Trend == emelkedés ? TrendUp : TrendDown), 8, “WingDings”, (Trend == emelkedés ? Zöld : Piros));

ObjectSetInteger(0, str, OBJPROP_YDISTANCE, 5 + (Trend == emelkedés ? 1 : -1));

}

}

}

Alapvetően, egyszerűen hurok végig az TrendPeriods[] sor (hogy minden időkeretek) és állítsa be a tendencia nyíl szerint ennyi idő alatt a trend irányába. Ha a trend lakás, találjuk az első irány, amely nem lapos, hogy hol a trend jött megjelenítése érdekében az oldalsó nyíl a színe az irányba.

a Create_Panel() funkció a mi OnInit() létrehozza az objektumokat rögzítve a bal alsó sarkában a képernyő, és használja TrendPosition[] helyezni a nyilak a megfelelő helyen.

//+——————————————————————+

//| Hozza létre a trend panel alján a képernyő bal

//+——————————————————————+

bool Create_Panel(üres)

{

int i;

húr str;

// Hozza létre a trend jelző ablak

ha(ObjectCreate(trend panel, OBJ_RECTANGLE_LABEL, 0, 0, 0))

{

ObjectSetInteger(0, trend panel, OBJPROP_XDISTANCE, 1);

ObjectSetInteger(0, trend panel, OBJPROP_YDISTANCE, 29);

ObjectSetInteger(0, trend panel, OBJPROP_XSIZE, 240);

ObjectSetInteger(0, trend panel, OBJPROP_YSIZE, 26);

ObjectSetInteger(0, trend panel, OBJPROP_BGCOLOR, fehér);

ObjectSetInteger(0, trend panel, OBJPROP_BORDER_TYPE, 0);

ObjectSetInteger(0, trend panel, OBJPROP_CORNER, CORNER_LEFT_LOWER);

ObjectSetInteger(0, trend panel, OBJPROP_COLOR, Piros);

ObjectSetInteger(0, trend panel, OBJPROP_STYLE, STYLE_SOLID);

ObjectSetInteger(0, trend panel, OBJPROP_WIDTH, 2);

ObjectSetInteger(0, trend panel, OBJPROP_BACK, hamis);

ObjectSetInteger(0, trend panel, OBJPROP_SELECTABLE, hamis);

ObjectSetInteger(0, trend panel, OBJPROP_SELECTED, hamis);

ObjectSetInteger(0, trend panel, OBJPROP_HIDDEN, igaz);

ObjectSetString(0, trend panel, OBJPROP_TOOLTIP, “n”);

}

más

{ PrintFormat(StatObjectError, __FUNKCIÓ__, __VONAL__, trend panel, GetLastError()); Visszatérés(hamis); }

ha(ObjectCreate(InfoLine1, OBJ_LABEL, 0, 0, 0))

{

ObjectSet(InfoLine1, OBJPROP_CORNER, CORNER_LEFT_LOWER);

ObjectSet(InfoLine1, OBJPROP_XDISTANCE, 6);

ObjectSet(InfoLine1, OBJPROP_YDISTANCE, 15);

ObjectSetInteger(0, InfoLine1, OBJPROP_SELECTABLE, hamis);

ObjectSetInteger(0, InfoLine1, OBJPROP_HIDDEN, igaz);

ObjectSetString(0, InfoLine1, OBJPROP_TOOLTIP, “n”);

ObjectSetText(InfoLine1, TrendLabel, 8, “Arial”, Fekete);

}

más

{ PrintFormat(StatObjectError, __FUNKCIÓ__, __VONAL__, InfoLine1, GetLastError()); Visszatérés(hamis); }

 

ha(ObjectCreate(InfoLine2, OBJ_LABEL, 0, 0, 0))

{

ObjectSet(InfoLine2, OBJPROP_CORNER, CORNER_LEFT_LOWER);

ObjectSet(InfoLine2, OBJPROP_XDISTANCE, 6);

ObjectSet(InfoLine2, OBJPROP_YDISTANCE, 5);

ObjectSetInteger(0, InfoLine2, OBJPROP_SELECTABLE, hamis);

ObjectSetInteger(0, InfoLine2, OBJPROP_HIDDEN, igaz);

ObjectSetString(0, InfoLine2, OBJPROP_TOOLTIP, “n”);

ObjectSetText(InfoLine2, ” ” + DoubleToStr(BarCount, 0) + ” / ” + DoubleToStr(Módszer, 0), 8, “Arial”, Fekete);

}

más

{ PrintFormat(StatObjectError, __FUNKCIÓ__, __VONAL__, InfoLine2, GetLastError()); Visszatérés(hamis); }

// Készítsen trendobjektum, és megjeleníti az aktuális trend

mert(i = 1; én<10; i ++)

{

str = “Irányzat” + DoubleToStr(én, 0);

ha(ObjectCreate(str, OBJ_LABEL, 0, 0, 0))

{

ObjectSet(str, OBJPROP_CORNER, CORNER_LEFT_LOWER);

ObjectSet(str, OBJPROP_XDISTANCE, trend pozíció[i-1]);

ObjectSet(str, OBJPROP_YDISTANCE, 5);

ObjectSetInteger(0, str, OBJPROP_SELECTABLE, hamis);

ObjectSetInteger(0, str, OBJPROP_HIDDEN, igaz);

ObjectSetString(0, str, OBJPROP_TOOLTIP, “n”);

}

más

{ PrintFormat(StatObjectError, __FUNKCIÓ__, __VONAL__, str, GetLastError()); Visszatérés(hamis); }

}

// Ide jelenítik meg az aktuális trend

DisplayTrend();

// Minden rendben

Visszatérés(igaz);

}

Ez igazat fog visszaadni, ha sikerült létrehozni az összes objektum, vagy FALSE értékkel tér vissza, ha hiba történt létrehozása egy objektum. A szép dolog az, hogy a kijelző megjeleníti a szakértői lapján a konzol a hibakódot és a vonal kód számát, ahol a hiba történt.

Azt is frissíteni kell a trendet mutató minden egyes új tick megkaptuk. Ez úgy történik, hívja DisplayTrend() a mi kezdő() funkció.

//+——————————————————————+

//| Egyéni mutató iterációs függvény |

//+——————————————————————+

int Start()

{

// A kijelző az aktuális trend minden időkeretek

DisplayTrend();

Visszatérés(0);

}

Végül, elpusztítjuk az összes objektum által létrehozott mutató, amikor bezárja a mutató.

//+——————————————————————+

//| Deinitialization funkció |

//+——————————————————————+

voidOnDeinit(constint ok)

{

// Törlés jelzés tárgyai

ha(ObjectFind(trend panel) >= 0) ObjectDelete(trend panel);

ha(ObjectFind(InfoLine1) >= 0) ObjectDelete(InfoLine1);

ha(ObjectFind(InfoLine2) >= 0) ObjectDelete(InfoLine2);

mert(int i = 1; én<10; i ++)

ha(ObjectFind(“Irányzat”+DoubleToStr(én, 0)) >= 0) ObjectDelete(“Irányzat”+DoubleToStr(én, 0));

}

Ez alapvetően azt. Most már van egy szép kijelző panel mutatja az aktuális trend minden időkereteket a bal alsó a képernyő.

MT4 indikátorok – Letöltési utasítások

Grafikusan jelenítik meg az aktuális trend minden időkereteket egy egyszerű panel – mutatója MetaTrader 4 egy Metatrader 4 (MT4) jelző és a lényege a forex indikátor, hogy átalakítsa a felhalmozott történetét adatok.

Grafikusan jelenítik meg az aktuális trend minden időkereteket egy egyszerű panel – mutatója MetaTrader 4 biztosítja a lehetőséget, hogy érzékeli a különböző sajátosságokat és a minták dinamikája, amely láthatatlan a szabad szemmel.

Ezen információk alapján, kereskedők feltételezhetjük további ármozgás és állítsuk be a stratégiát ennek megfelelően.

Hogyan kell telepíteni grafikusan megjeleníteni az aktuális trend minden időkeretben egy egyszerű panel – mutatója MetaTrader 4.mq4?

  • Töltse grafikusan megjeleníteni az aktuális trend minden időkeretben egy egyszerű panel – mutatója MetaTrader 4.mq4
  • Másolás grafikusan megjeleníteni az aktuális trend minden időkeretben egy egyszerű panel – mutatója MetaTrader 4.mq4 a Metatrader Directory / szakértők / mutatók /
  • Vagy újraindítani a Metatrader Client
  • Válassza ki a diagram és időn belül, ahol szeretné, hogy tesztelje a mutató
  • Keresés “Egyéni indikátorok” a Navigator többnyire maradt a Metatrader Client
  • Jobb klikk a grafikusan megjeleníteni az aktuális trend minden időkeretben egy egyszerű panel – mutatója MetaTrader 4.mq4
  • Tulajdonítanak a chart
  • Módosíthatja a beállításokat, vagy nyomja meg az OK
  • Indikátor grafikusan megjeleníteni az aktuális trend minden időkeretben egy egyszerű panel – mutatója MetaTrader 4.mq4 elérhető az ábra

Hogyan lehet eltávolítani grafikusan megjeleníteni az aktuális trend minden időkeretben egy egyszerű panel – mutatója MetaTrader 4.mq4 saját Metatrader 4 Táblázat?

  • Válassza ki a kör, ahol az a mutató futó Metatrader Client
  • Kattintson a jobb egérgombbal a kör
  • “Mutatók listája”
  • Válassza ki a mutató, és törölje

xm-no-betét-bónusz
MT4 indikátorok letöltése alábbi:

Grafikusan jelenítik meg az aktuális trend minden időkereteket egy egyszerű panel – mutatója MetaTrader 4

NINCS HOZZÁSZÓLÁS

VÁLASZOLJ