Unity Indicator For MT5
Unity Indicator For MT5 se uporablja za ogled sinhroniziranega gibanja valutnih parov in kovin v platformi. Osnovna izvorna koda tega orodja temelji na objavljenem članku, ki se nanaša na Kohonenovo nevronsko mrežo.
Ker je vdelana koda zasnovana tako, da se ukvarja s skupino valutnih parov, se lahko trgovci zmedejo, če opazujejo pasove drsečega povprečja, ki delujejo kot oscilator. Če pa se zaprete v nastavitve tega kazalnika, boste ugotovili, kako barvna koda predstavlja gibanje vsakega finančnega instrumenta. Če želite ustvariti preprost postopek trgovanja, bi moral uporabnik omejiti uporabo izbranega sredstva. Toda stvari se lahko preveč zapletejo, saj si uporabniki morda ne bodo zapomnili vsega oblikovanja barv. Vendar trgovci s pametnimi valutami pogosto poenostavijo celoten postopek z omejevanjem največjega števila sredstva na 4.
Če pa želite uporabiti to orodje enotnosti, vse potrebne prilagoditve, je treba upoštevati demo račun. Dešifrirajte dinamične nastavitve in se držite praktičnega okolja, dokler ga potrebujete. Vendar se pred uporabo orodij na resničnem trgu počutite pri branju.
Namestitev Unity Indicator For MT5
Ko naložite indikator prek zgornjega obrazca, morate odpreti zip datoteko. Nato morate kopirati datoteko Unity.mq5 v mapo MQL5Indicators vaše namestitve MT5 . Po tem znova zaženite MT5 in takrat boste lahko videli indikator na seznamu indikatorjev.
Parametri Unity Indicator For MT5
Unity Indicator For MT5 ima za nastavitev parametre 10 .
input string _1 = ""; // Cluster Indicator Settings
input string Instruments = "EURUSD,GBPUSD,USDCHF,USDJPY,AUDUSD,USDCAD,NZDUSD"; // · Instruments
input int BarLimit = 500; // · BarLimit
input ENUM_DRAW_TYPE Draw = DRAW_LINE; // · Draw
input ENUM_APPLIED_PRICE PriceType = PRICE_CLOSE; // · PriceType
input bool AbsoluteValues = false; // · AbsoluteValues
input string _2 = ""; // Data Export to CSV
input string SaveToFile = ""; // · SaveToFile
input bool ShiftLastBuffer = false; // · ShiftLastBuffer
input int BarLookback = 1; // · BarLookback
Odbojniki Unity Indicator For MT5
Unity Indicator For MT5 zagotavlja blažilnike 0 .
Glavni deli kodeksa
int n = OnCalculate(Bars(_Symbol, PERIOD_CURRENT), 0, 0, price);
if(n gt 0)
{
EventKillTimer();
ChartSetSymbolPeriod(0, _Symbol, PERIOD_CURRENT);
ChartRedraw();
}
}
else
{
EventKillTimer();
}
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const int begin,
const double& price[])
{
if(!initDone) return 0;
if(LastBarCount == rates_total && prev_calculated == rates_total && PriceType != PRICE_CLOSE)
{
return prev_calculated;
}
if(prev_calculated == 0)
{
for(int i = 0; i lt rates_total; i++)
{
for(int j = 0; j lt BUF_NUM; j++)
{
buffers[j][i] = EMPTY_VALUE;
}
}
}
int limit = MathMin(rates_total - prev_calculated + 1, BarLimit);
for(int i = 0; i lt limit; i++)
{
if(!calculate(i))
{
return 0; // will retry on next tick
}
}
static bool fileSaved = SaveToFile == "";
if(!fileSaved && !AbsoluteValues)
{
SaveBuffersToFile(SaveToFile);
fileSaved = true;
}
LastBarCount = rates_total;
return LastBarCount;
}
double GetBuffer(int index, int bar)
{
return getter[index][bar];
}
bool SaveBuffersToFile(const string filename)
{
int h = FileOpen(filename, FILE_WRITE | FILE_CSV | FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_ANSI, ; );
if(h == INVALID_HANDLE) return false;
string line = "datetime";
for(int k = BarLookback - 1; k gt = 0; k--)
{
for(int i = 0; i lt workCurrencies.getSize(); i++)
{
line += ";" + workCurrencies.getKey(i) + (string)(k + 1);
}
}
if(ShiftLastBuffer)
{
line += ";FORECAST";
}
FileWriteString(h, line + "
");
for(int i = BarLimit - BarLookback; i gt = (ShiftedBuffer gt -1 ? 1 : 0); i--)
{
datetime time[1];
CopyXYZN(Time, i, 1, time);
line = (string)time[0];
for(int k = BarLookback - 1; k gt = 0; k--)
{
for(int j = 0; j lt workCurrencies.getSize(); j++)
{
line += ";" + (string)GetBuffer(j, i + k);
}
}
if(ShiftLastBuffer)
{
line += ";" + (string)GetBuffer(ShiftedBuffer, i - 1); // look into the future for 1 bar
}
FileWriteString(h, line + "
");
}
FileClose(h);
Print("File saved ", filename);
return true;
}