//+------------------------------------------------------------------+ //| Currency2.mq4 | //| Copyright © 2009, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, s05" #property link "selivanov.05@mail.ru" #property indicator_chart_window extern int Залог_от_баланса = 80; extern int Обьем = 1; extern int Стоп_лосс = 15; extern int Угол_привязки = 1; extern int Высота_привязки = 15; extern int Ширина_привязки = 5; color color_0 = White; extern color color_1 = Red; extern color color_2 = Lime; extern color color_3 = Yellow; extern int color_U1 = 3; extern int color_U2 = 10; extern int color_U3 = 999; int Размер_шрифта = 7; string Symbol30 = ""; string Symbol40 = ""; string Symbol50 = ""; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators ObjectCreate("Symbol30",OBJ_LABEL,0,0,0,0,0); ObjectCreate("Symbol40",OBJ_LABEL,0,0,0,0,0); ObjectCreate("Symbol50",OBJ_LABEL,0,0,0,0,0); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- ObjectDelete ("Symbol30"); ObjectDelete ("Symbol40"); ObjectDelete ("Symbol50"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- Строка 2 double sym_3 =(AccountFreeMargin()/(MarketInfo(Symbol(),MODE_MARGINREQUIRED)+MarketInfo(Symbol(),MODE_SPREAD)))*(Залог_от_баланса*0.01); string Symbol_3 =DoubleToStr(sym_3, 2)+" лот при "+Залог_от_баланса+"%"; ObjectSetText("Symbol30",Symbol_3,Размер_шрифта,"Time New Roman",White); ObjectSet("Symbol30",OBJPROP_XDISTANCE,Ширина_привязки); ObjectSet("Symbol30",OBJPROP_YDISTANCE,Высота_привязки+13); ObjectSet("Symbol30",OBJPROP_CORNER,Угол_привязки); //---- Строка 1 double sym_4 = 0; double sym_5 = 0; double sym_6 = AccountFreeMargin()+sym_5; double sym_7 = sym_6/(MarketInfo(Symbol(),MODE_MARGINREQUIRED)+MarketInfo(Symbol(),MODE_SPREAD))*Залог_от_баланса*0.01; if(sym_7>Обьем)sym_4 = 1; double sym_8 = Обьем*Стоп_лосс*(-10); double sym_9 = sym_6+sym_8; double sym_10 = sym_9/(MarketInfo(Symbol(),MODE_MARGINREQUIRED)+MarketInfo(Symbol(),MODE_SPREAD))*Залог_от_баланса*0.01; if(sym_10>Обьем)sym_4 = sym_4+1; // цикл double u=0; double sym_11 = sym_9+sym_8; while(u<999) // до какого количества доступных сделок проверять +2 { double sym_12 = sym_11/(MarketInfo(Symbol(),MODE_MARGINREQUIRED)+MarketInfo(Symbol(),MODE_SPREAD))*Залог_от_баланса*0.01; if(sym_12>Обьем)sym_4 = sym_4+1; else break; sym_11 =sym_11+sym_8; u=u+1; } //---- Цветовая окраска КОЛИЧЕСТВА сделок if(sym_4color_U2)color_0=color_2; if(sym_4>color_U3)color_0=color_3; //---- string Symbol_4=DoubleToStr(sym_4, 0); //---- ObjectSetText("Symbol50",Symbol_4,Размер_шрифта,"Time New Roman",color_0); ObjectSet("Symbol50",OBJPROP_XDISTANCE,Ширина_привязки+161); ObjectSet("Symbol50",OBJPROP_YDISTANCE,Высота_привязки); ObjectSet("Symbol50",OBJPROP_CORNER,Угол_привязки); //---- ObjectSetText("Symbol40"," сделок при "+Залог_от_баланса+"% залога обьеме "+Обьем+" лот",Размер_шрифта,"Time New Roman",White); ObjectSet("Symbol40",OBJPROP_XDISTANCE,Ширина_привязки); ObjectSet("Symbol40",OBJPROP_YDISTANCE,Высота_привязки); ObjectSet("Symbol40",OBJPROP_CORNER,Угол_привязки); //---- return(0); } //+------------------------------------------------------------------+