//+------------------------------------------------------------------+
//| All_Info_1.5.mq4 |
//| Copyright © 2025, Drknn |
//| drknn@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2025, Drknn"
#property link "drknn@mail.ru"
#property show_inputs
#property strict
extern int HowManyDays=21;// How Many Days
// колиÑеÑÑво дней Ð´Ð»Ñ ÑÑеднеÑÑÑоÑного ÑÑеднего Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð²Ð°Ð»ÑÑной паÑÑ
/*
ÐÐÐÐÐÐÐÐ! ÐеÑед иÑполÑзованием ÑкÑипÑа нÑжно обновиÑÑ Ð³ÑаÑик D1
ÐобавиÑÑ Ð² ÑкÑипÑ:
- РаÑÑÑÑÑ ÑÑоимоÑÑи пÑнкÑа пÑи минималÑном лоÑе
*/
//+------------------------------------------------------------------+
//| СÑаÑÑ ÑабоÑÑ ÑкÑипÑа |
//+------------------------------------------------------------------+
int start(){
string SMB=Symbol();
string Priznak;// ÐÑизнак плаваÑÑего ÑпÑеда
if(SymbolInfoInteger(SMB,SYMBOL_SPREAD_FLOAT)){
Priznak=Text(" (ÐлаваÑÑий)"," (Float)");
}
else{
Priznak=Text(" (ФикÑиÑованнÑй)"," (Fixed)");
}
double Laverage = MarketInfo(SMB,MODE_TICKVALUE)*Bid / MarketInfo(SMB,MODE_MARGINREQUIRED) / MarketInfo(SMB,MODE_POINT);
string NameScript="============ All_Info_1.5 ("+SMB+") ============";
int Zalog=(int)MarketInfo(SMB,MODE_MARGINCALCMODE);//СпоÑоб ÑаÑÑеÑа залоговÑÑ
ÑÑедÑÑв. 0 - Forex; 1 - CFD; 2 - Futures; 3 - CFD на индекÑÑ
int PoSkolkoPunktov=0;
string Type;
if(Zalog==0){
Type="Forex";
}
if(Zalog==1){
Type="CFD";
}
if(Zalog==2){
Type="Futures";//ÑÑÑÑеÑÑÑ
}
if(Zalog==3){
Type="CFD on Index";
}
double FreeMargin=MarketInfo(SMB,MODE_MARGINREQUIRED);
PoSkolkoPunktov=MarketInfo(SMB,MODE_TICKSIZE)/Point;
Alert(Text("УÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð°Ð¼Ð¾Ñозки оÑложеннÑÑ
оÑдеÑов = ","Freezing distance for pending orders = "),MarketInfo(SMB,MODE_FREEZELEVEL)," (pt)");
Alert(Text("ÐÑÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ ÑоÑгов = ","Trade End Time = "),TimeToString(SymbolInfoInteger(SMB,SYMBOL_EXPIRATION_TIME),TIME_DATE|TIME_MINUTES));
Alert(Text("ÐÑÐµÐ¼Ñ Ð½Ð°Ñала ÑоÑгов = ","Trade Start Time = "),TimeToString(SymbolInfoInteger(SMB,SYMBOL_START_TIME),TIME_DATE|TIME_MINUTES));
Alert(Text("ÐиниалÑÐ½Ð°Ñ Ñена ÑÐµÐ³Ð¾Ð´Ð½Ñ = ","Today Min Price = "),MarketInfo(SMB,MODE_LOW));
Alert(Text("ÐакÑималÑÐ½Ð°Ñ Ñена ÑÐµÐ³Ð¾Ð´Ð½Ñ = ","Today Max Price = "),MarketInfo(SMB,MODE_HIGH));
Alert(Text("Своп Ð´Ð»Ñ Ð¡ÐµÐ»Ð»-оÑдеÑов = ","Swap For Sell = "),NormalizeDouble(MarketInfo(SMB,MODE_SWAPSHORT),2)," ($)");
Alert(Text("Своп Ð´Ð»Ñ Ðай-оÑдеÑов = ","Swap for Buy = "),NormalizeDouble(MarketInfo(SMB,MODE_SWAPLONG),2)," ($)");
Alert("TickSize = ",PoSkolkoPunktov," pt");
Alert("Point = ",DoubleToString(Point(),5)," Digits = ",(int)MarketInfo(SMB,MODE_DIGITS));
Alert(Text("СпÑед = ","Spraed = "),(int)MarketInfo(SMB,MODE_SPREAD),Priznak);
Alert("Min Level = ",(int)MarketInfo(SMB,MODE_STOPLEVEL)," pt");
Alert("Lot Step = ",MarketInfo(SMB,MODE_LOTSTEP));
Alert("Max Lot = ",MarketInfo(SMB,MODE_MAXLOT));
Alert("Min Lot = ",MarketInfo(SMB,MODE_MINLOT));
Alert(Text("Ðалог за 1 Ð»Ð¾Ñ = ","Zalog for 1 Lot = "),NormalizeDouble(MarketInfo(SMB,MODE_MARGININIT),2)," ($)");
Alert(Text("ÐонÑÑÐ°ÐºÑ Ð² базовой валÑÑе = ","Contract in base currency = "),MarketInfo(SMB,MODE_LOTSIZE));
Alert(Text("Ð Ð°Ð·Ð¼ÐµÑ Ð·Ð°Ð»Ð¾Ð³Ð¾Ð²ÑÑ
ÑÑедÑÑв Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки оÑкÑÑÑÑÑ
оÑдеÑов в ÑаÑÑеÑе на 1 Ð»Ð¾Ñ = ","Amount of collateral to support open orders per 1 lot = "),NormalizeDouble(MarketInfo(SMB,MODE_MARGINMAINTENANCE),2)," ($)");
Alert(Text("Ð¡Ð²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ Ð¼Ð°Ñжа Ð´Ð»Ñ Ð¾ÑкÑÑÑÐ¸Ñ 1 лоÑа = ","Free Margin for open 1 Lot = "),NormalizeDouble(FreeMargin,2)," ($)");
Alert(Text("ТекÑÑее кÑедиÑное плеÑо 1 : ","Leverage at this point in time 1 : "),NormalizeDouble(Laverage,0));
Alert(Text("Ð ÑÑеднем валÑÑа Ñ
Ð¾Ð´Ð¸Ñ Ð¿Ð¾ ","On average, the currency moves at "),Srednestatistich(HowManyDays),Text(" пÑнкÑов в денÑ"," pt. for 1 day"));
Alert(Text("Тип инÑÑÑÑменÑа - ","Tool Type - "),Type);
Alert(NameScript);
return(0);
}
//+------------------------------------------------------------------+
//| ÐолÑзоваÑелÑÑкие подпÑогÑÐ°Ð¼Ð¼Ñ |
//+------------------------------------------------------------------+
// ================ Srednestatistich(int PeriodSMB) ================================================
// ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ ÑиÑло пÑнкÑов, коÑоÑое Ð´ÐµÐ»Ð°ÐµÑ Ð²Ð°Ð»ÑÑа в ÑÑеднем в денÑ
//-------------
// вÑ
однÑе паÑамеÑÑÑ:
// int PeriodSMB - ÑиÑло дней, на коÑоÑÑÑ
вÑÑиÑлÑеÑÑÑ, ÑколÑко валÑÑа пÑоÑ
Ð¾Ð´Ð¸Ñ Ð¿ÑнкÑов в денÑ
int Srednestatistich(int PeriodSMB){
int PunktovSegodnya=0,Srednee=0;
for(int i=1; i<=PeriodSMB; i++){
PunktovSegodnya=(iHigh(Symbol(),PERIOD_D1,i)-iLow(Symbol(),PERIOD_D1,i))/Point;
if(i==1){
Srednee=PunktovSegodnya;
}
else{
Srednee=Srednee+PunktovSegodnya;
}
}
Srednee=Srednee/PeriodSMB;
NormalizeDouble(Srednee,0);
return(Srednee);
}
// =================== Text ========================================================================
// ФÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ ÑекÑÑ Ð½Ð° вÑбÑаном ÑзÑке ÑеÑминала.
// ÐÑли ÑеÑминал ÑÑÑÑкоÑзÑÑнÑй, Ñо возвÑаÑаеÑÑÑ ÑÑÑока на ÑÑÑÑком. РпÑоÑивном ÑлÑÑае на английÑком.
// -------------------------------------------------------------------------------------------------
string Text(string Russ,string Engl){
if(TerminalInfoString(TERMINAL_LANGUAGE)=="Russian"){
return(Russ);
}
else return(Engl);
}
// ========================== Leverage() ==========================================================
double Leverage(int PoSkPunkt){
double Rez=0;
Rez=PoSkPunkt*Bid/MarketInfo(Symbol(),MODE_MARGINREQUIRED)/Point();
return(Rez);
}
// ФоÑмÑла ÑаÑÑеÑа ÑекÑÑего кÑедиÑного плеÑа:
//Laverage = MarketInfo(SMB,MODE_TICKVALUE)*Bid / MarketInfo(SMB,MODE_MARGINREQUIRED) / MarketInfo(SMB,MODE_POINT);
Comments