//+------------------------------------------------------------------+
//|                                                 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