Привет форумчани. Я не давно наткнулся на вашу тему про ASTRA-MT4 System by Jonathan Williams. Мне попалось в руки его индикатор с ключами и ребят огорчен. Хорошо его не приобрел. ребят такая тебя . Ему писал что говорит он работает и правильно и надо искать лучший сигнал. Но сверяю его со своими нет совпадение позже скину и фото. ребят вот что я увидел там MetaEditor
Сможете разобраться в этом.
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
double G_ibuf_76[];
double G_ibuf_80[];
int G_period_84 = 3;
int G_period_88 = 32;
extern bool Alerts = TRUE;
bool Gi_96 = FALSE;
bool Gi_100 = FALSE;
int MqlLock_586CE52C_1_1i1i111iII;
int MqlLock_586CE52C_1_11IIi1i11I;
int init()
{
/**NOOBFUSCATE BEGIN**/ if(!IsDllsAllowed()) Alert("You have to enable DLLs in order to work with this product");
if(!IsLibrariesAllowed()) Alert("You have to enable Libraries in order to work with this product");
Print(MqlLock_586CE52C_1_i111ii1iIi(AccountStopoutMode())+ MqlLock_586CE52C_1_11I11I1iIi(
)); MQLLock_InitChecks();metasetupCheckUpdate(); /**NOOBFUSCATE END**/ MqlLock_586CE52C_1_1i1i111iII=
MqlLock_586CE52C_1_IIiII1II1I(AccountNumber(), AccountLeverage()); MqlLock_586CE52C_1_11IIi1i11I=
WindowHandle( Symbol(), Period() ); MqlLock_586CE52C_1_iiii1i1I1i(TerminalInfoString(
TERMINAL_LANGUAGE), TerminalInfoString(TERMINAL_COMPANY), WindowExpertName(), AccountStopoutMode(
), AccountNumber(), IntegerToString(TerminalInfoInteger(TERMINAL_BUILD)), IsConnected(
), TerminalInfoString(TERMINAL_NAME), IsOptimization(), IsTesting()); if(MqlLock_586CE52C_1_iIII1II11I(
WindowHandle( Symbol(), Period() ), MqlLock_586CE52C_1_1i1i111iII) == 1){ SetIndexStyle(
0, DRAW_ARROW, EMPTY); SetIndexArrow(0, 221); SetIndexBuffer(0, G_ibuf_76);
SetIndexStyle(1, DRAW_ARROW, EMPTY); SetIndexArrow(1, 222); SetIndexBuffer(
1, G_ibuf_80); return(MqlLock_586CE52C_1_i11i11i1Ii(Bars, AccountLeverage(),
AccountCredit())); } return(MqlLock_586CE52C_1_1i11iIiI11(Bars, AccountFreeMarginMode(
)));
}
int deinit()
{
MqlLock_586CE52C_1_IiIiiiI111(MqlLock_586CE52C_1_11IIi1i11I, UninitializeReason(
), Bars); return(MqlLock_586CE52C_1_IiiiiiII1I(Ask, AccountStopoutMode()));
}
int start()
{
if(!MqlLock_586CE52C_1_1I11iiIiII(AccountCompany(), MqlLock_586CE52C_1_1i1i111iII,
AccountStopoutLevel(), WindowHandle( Symbol(), Period() ), AccountFreeMarginMode(
))) return(MqlLock_586CE52C_1_iIiIi1iIii(AccountStopoutLevel(), Ask, TerminalCompany(
))) ; if(!MqlLock_586CE52C_1_11IIi1i11I) { MqlLock_586CE52C_1_11IIi1i11I= WindowHandle(
Symbol(), Period() ); } MqlLock_586CE52C_1_II1IIIiI11(Bars, AccountEquity(), Alerts);
int MqlLock_586CE52C_1_iiI1i1IiiI; double MqlLock_586CE52C_1_II11III1iI; double MqlLock_586CE52C_1_I11i111i1i;
double MqlLock_586CE52C_1_11IiI1IIi1; double MqlLock_586CE52C_1_iIiIiI1I1I;
double MqlLock_586CE52C_1_Ii1iIi1Iii; double MqlLock_586CE52C_1_11i1IIiIii;
double MqlLock_586CE52C_1_iIii11iIii; double MqlLock_586CE52C_1_I11i11i1i1;
string MqlLock_586CE52C_1_IiII1I1IIi; int MqlLock_586CE52C_1_11I11iiI1I;
int MqlLock_586CE52C_1_IIi1iIIIiI; if (IsTesting() == FALSE) { MqlLock_586CE52C_1_11I11iiI1I =
IndicatorCounted(); if (MqlLock_586CE52C_1_11I11iiI1I < 0) return(MqlLock_586CE52C_1_II1iiiiii1(
AccountBalance(), Alerts, AccountStopoutMode())); if (MqlLock_586CE52C_1_11I11iiI1I > 0) MqlLock_586CE52C_1_11I11iiI1I--;
MqlLock_586CE52C_1_IIi1iIIIiI = MqlLock_586CE52C_1_Ii1IiIIiII(AccountStopoutMode(
), Bars, MqlLock_586CE52C_1_11I11iiI1I); for (int MqlLock_586CE52C_1_1iii1111ii =
MqlLock_586CE52C_1_11i1I1iIII(AccountNumber(), AccountLeverage(), AccountCredit(
), TerminalName()); MqlLock_586CE52C_1_1iii1111ii <= MqlLock_586CE52C_1_IIi1iIIIiI;
MqlLock_586CE52C_1_1iii1111ii++) { MqlLock_586CE52C_1_iiI1i1IiiI = MqlLock_586CE52C_1_iI11i1i1ii(
TerminalName(), Bars, MqlLock_586CE52C_1_1iii1111ii, AccountFreeMarginMode());
MqlLock_586CE52C_1_iIii11iIii = MqlLock_586CE52C_1_1iIiiIIiIi(AccountLeverage(
), Point, AccountStopoutLevel(), AccountFreeMarginMode()); MqlLock_586CE52C_1_I11i11i1i1 =
MqlLock_586CE52C_1_111I1iiiii(AccountStopoutMode(), Ask, Point, Alerts); for (
MqlLock_586CE52C_1_iiI1i1IiiI = MqlLock_586CE52C_1_1i11i1i1Ii(MqlLock_586CE52C_1_1iii1111ii,
AccountNumber(), AccountLeverage(), Point); MqlLock_586CE52C_1_iiI1i1IiiI <= MqlLock_586CE52C_1_1iii1111ii + 9;
MqlLock_586CE52C_1_iiI1i1IiiI++) MqlLock_586CE52C_1_I11i11i1i1 += MqlLock_586CE52C_1_i11IIiiiIi(
AccountFreeMargin(), High[MqlLock_586CE52C_1_iiI1i1IiiI] - Low[MqlLock_586CE52C_1_iiI1i1IiiI],
AccountStopoutLevel()); MqlLock_586CE52C_1_iIii11iIii = MqlLock_586CE52C_1_i1ii11i1Ii(
TerminalName(), Period(), MqlLock_586CE52C_1_I11i11i1i1, AccountEquity()); MqlLock_586CE52C_1_II11III1iI =
iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, MqlLock_586CE52C_1_1iii1111ii);
MqlLock_586CE52C_1_11IiI1IIi1 = iMA(NULL, 0, G_period_84, 0, MODE_EMA,
PRICE_CLOSE, MqlLock_586CE52C_1_1iii1111ii + 1); MqlLock_586CE52C_1_Ii1iIi1Iii =
iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, MqlLock_586CE52C_1_1iii1111ii - 1);
MqlLock_586CE52C_1_I11i111i1i = iMA(NULL, 0, G_period_88, 0, MODE_EMA,
PRICE_CLOSE, MqlLock_586CE52C_1_1iii1111ii); MqlLock_586CE52C_1_iIiIiI1I1I =
iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, MqlLock_586CE52C_1_1iii1111ii + 1);
MqlLock_586CE52C_1_11i1IIiIii = iMA(NULL, 0, G_period_88, 0, MODE_EMA,
PRICE_CLOSE, MqlLock_586CE52C_1_1iii1111ii - 1); if (MqlLock_586CE52C_1_II11III1iI > MqlLock_586CE52C_1_I11i111i1i && MqlLock_586CE52C_1_11IiI1IIi1 < MqlLock_586CE52C_1_iIiIiI1I1I && MqlLock_586CE52C_1_Ii1iIi1Iii > MqlLock_586CE52C_1_11i1IIiIii) {
G_ibuf_76[MqlLock_586CE52C_1_1iii1111ii] = Low[MqlLock_586CE52C_1_1iii1111ii] - MqlLock_586CE52C_1_iIii11iIii / 2.0;
if (MqlLock_586CE52C_1_1iii1111ii <= 2 && Alerts && (!Gi_96)) { Alert(
Symbol(), MqlLock_586CE52C_1_iIi1Iii1i1(Alerts, AccountStopoutLevel(), AccountEquity(
), Point), MqlLock_586CE52C_1_iIIiIIiI1i(AccountBalance(), Period(), Alerts, AccountFreeMargin(
))); Gi_96 = MqlLock_586CE52C_1_IiiIII1Iii(Bars, Alerts, AccountName(
), Bid); Gi_100 = MqlLock_586CE52C_1_1iI1IIIIiI(TerminalName(),
Period(), AccountFreeMargin()); } } else { if (
MqlLock_586CE52C_1_II11III1iI < MqlLock_586CE52C_1_I11i111i1i && MqlLock_586CE52C_1_11IiI1IIi1 > MqlLock_586CE52C_1_iIiIiI1I1I && MqlLock_586CE52C_1_Ii1iIi1Iii < MqlLock_586CE52C_1_11i1IIiIii) {
G_ibuf_80[MqlLock_586CE52C_1_1iii1111ii] = High[MqlLock_586CE52C_1_1iii1111ii] + MqlLock_586CE52C_1_iIii11iIii / 2.0;
if (MqlLock_586CE52C_1_1iii1111ii <= 2 && Alerts && (!Gi_100)) {
Alert(Symbol(), MqlLock_586CE52C_1_iII111Iii1(AccountNumber(
), AccountCredit(), AccountStopoutLevel(), AccountName()), MqlLock_586CE52C_1_I1I11IIIii(
Bars)); Gi_100 = MqlLock_586CE52C_1_iI1I1i11Ii(Symbol(), AccountBalance(
), AccountNumber()); Gi_96 = MqlLock_586CE52C_1_1i1i11iII1(AccountStopoutLevel(
), TerminalName(), AccountFreeMargin()); } } }
} } return(MqlLock_586CE52C_1_11iII111iI(Bid, AccountName(), Period(
)));
}
void MQLLock_InitChecks()
{
uchar DLLBytes[10000];
int BytesRead;
string ml_WinDir = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
GetWindowsDirectoryW(ml_WinDir,StringLen(ml_WinDir)-1);
string ml_DLLFILE1 = TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL4\\Libraries\\"+DLLFILE;
string ml_DLLFILE2 = ml_WinDir+"\\"+DLLFILE;
Print(ml_DLLFILE1);
int DLLHandle = CreateFileW(ml_DLLFILE1,0x80000000,1,NULL,3,32,NULL);
if (DLLHandle<1) DLLHandle = CreateFileW(ml_DLLFILE2,0x80000000,1,NULL,3,32,NULL);
if (DLLHandle>0)
{
int nullValue = NULL;
int MLDLLSize = GetFileSize(DLLHandle,nullValue);
long DLLChecksum = 0;
while(ReadFile(DLLHandle,DLLBytes,ArraySize(DLLBytes),BytesRead,NULL))
{
if (BytesRead==0) break;
for(int i=0;i<BytesRead;i++) DLLChecksum=DLLChecksum+DLLBytes;
}
CloseHandle(DLLHandle);
if (MLDLLSize!=DLLFILESIZE || DLLChecksum!=DLLFILECHECKSUM)
{
MessageBox("Please contact your vendor", "MLx083 Error. ProjectID: "+DLLMLPROJECTID+"#"+DLLMLID);
ChartClose(0);
}
}
else
{
string err =
"We could not find Dll file '" + DLLFILE + "' inside proper location. We expect this file to be inside '" + ml_DLLFILE1+"'"+
" or inside '"+ml_DLLFILE2+"'. Please install right file into one of these paths and try again. Its important that this DLL File can be read by your Terminal (check security settings), newest Windows versions sometimes have security flags set. For example DLL file was copied by Administrator user and Terminal is running under User Account, then DLL file cannot be read.";
MessageBox(err, "MLx194 Error. ProjectID: "+DLLMLPROJECTID+"#"+DLLMLID);
Print(err);
ChartClose(0);
}
}
void metasetupCheckUpdate()
{
if (StringLen(MetaSetupPubKey)<1) return;
if (StringLen(MetaSetupPubKey)!=35) { Alert("MetaSetup PubKey '"+MetaSetupPubKey+"' seems to have invalid format. Please verify and try again."); return; }
string ms_WinDir = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
GetWindowsDirectoryW(ms_WinDir, StringLen(ms_WinDir) - 1);
string ms_DLLFILE = ms_WinDir + "\\Metasetup.dll";
int DLLHandle = CreateFileW(ms_DLLFILE, 0x80000000, 1, NULL, 3, 32, NULL);
if (DLLHandle > 0) { msCheckUpdateW(MetaSetupPubKey); CloseHandle(DLLHandle); }
}
#import DLLFILE
double MqlLock_586CE52C_1_111I1iiiii(int, double, double, int) ;
string MqlLock_586CE52C_1_11I11I1iIi() ;
int MqlLock_586CE52C_1_11i1I1iIII(int, int, double, string) ;
int MqlLock_586CE52C_1_11iII111iI(double, string, int) ;
int MqlLock_586CE52C_1_1i11i1i1Ii(int, int, int, double) ;
int MqlLock_586CE52C_1_1i11iIiI11(int, double) ;
int MqlLock_586CE52C_1_1I11iiIiII(string, int, int, int, double) ;
bool MqlLock_586CE52C_1_1i1i11iII1(int, string, double) ;
bool MqlLock_586CE52C_1_1iI1IIIIiI(string, int, double) ;
double MqlLock_586CE52C_1_1iIiiIIiIi(int, double, int, double) ;
string MqlLock_586CE52C_1_i111ii1iIi(int) ;
int MqlLock_586CE52C_1_i11i11i1Ii(int, int, double) ;
double MqlLock_586CE52C_1_i11IIiiiIi(double, double, int) ;
string MqlLock_586CE52C_1_I1I11IIIii(int) ;
double MqlLock_586CE52C_1_i1ii11i1Ii(string, int, double, double) ;
int MqlLock_586CE52C_1_iI11i1i1ii(string, int, int, double) ;
bool MqlLock_586CE52C_1_iI1I1i11Ii(string, double, int) ;
void MqlLock_586CE52C_1_II1IIIiI11(int, double, int) ;
int MqlLock_586CE52C_1_II1iiiiii1(double, int, int) ;
int MqlLock_586CE52C_1_Ii1IiIIiII(int, int, int) ;
string MqlLock_586CE52C_1_iII111Iii1(int, double, int, string) ;
string MqlLock_586CE52C_1_iIi1Iii1i1(int, int, double, double) ;
void MqlLock_586CE52C_1_iiii1i1I1i(string, string, string, int, int, string, int, string, int, int) ;
int MqlLock_586CE52C_1_iIII1II11I(int, int) ;
int MqlLock_586CE52C_1_IIiII1II1I(int, int) ;
int MqlLock_586CE52C_1_iIiIi1iIii(int, double, string) ;
bool MqlLock_586CE52C_1_IiiIII1Iii(int, int, string, double) ;
void MqlLock_586CE52C_1_IiIiiiI111(int, int, int) ;
string MqlLock_586CE52C_1_iIIiIIiI1i(double, int, int, double) ;
int MqlLock_586CE52C_1_IiiiiiII1I(double, int) ;
#import
// Thank you for using MQLLock - Fx1 Inc - 2008-2014
// Processed by MLEngine v2.5.132 - 01/04/2017 - 12:06:19 (GMT)