#ifndef CTRL_PANEL_PARAM_GENERATOR_MQH #define CTRL_PANEL_PARAM_GENERATOR_MQH string GenerateHeader(datetime time=0, long time_msc=0) { string str = StringFormat(CTRL_PANEL_SETKA_VERSION_MSG, VER, IntegerToString(__MQLBUILD__), TimeToString(__DATETIME__, TIME_DATE),MagicNumber); if (time!=0) str+=","+StringFormat(CTRL_PANEL_SETKA_TIME_CURRENT,TimeToString(time,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + ((time_msc==0)?"":("." + ::IntegerToString(time_msc % 1000, 3, '0')))); return str; } string GenerateSetInfo() { string str = StringFormat(CTRL_PANEL_CAPTION_SET_INFO,set_pair,set_name); return str; } string GenerateSetInfo2() { string str = StringFormat(CTRL_PANEL_CAPTION_SET_INFO2,set_author, set_version,MagicNumber ); return str; } string GenerateAccountInfo() { string str = StringFormat(CTRL_PANEL_CAPTION_ACCOUNT_INFO,kernel_account::number() ,kernel_account::currency(), kernel_account::leverage()); return str; } string GenerateStopInfo() { string str, str1=""; if (CloseAllOrders_ByDrawdownMoney!=0) str1=DoubleToString(CloseAllOrders_ByDrawdownMoney,2)+" "+kernel_account::currency(); if (CloseAllOrders_ByDrawdownPercent!=0) str1+=((StringLen(str1)==0)?"":" (")+DoubleToString(CloseAllOrders_ByDrawdownPercent,2)+" %"+ ((StringLen(str1)==0)?"":")"); if (StringLen(str1)==0) str1="X"; str = StringFormat(CTRL_PANEL_CAPTION_STOP_INFO,str1, short_hd._settings.close_all_orders_by_drawdown_stop_trade?"V":"X"); return str; } string GenerateNoFirtsOrderByDrawdownInfo() { string str = StringFormat(CTRL_PANEL_CAPTION_NO_FIRST_ORDER_BY_DRAWDOWN_INFO, (short_hd._settings.no1Order_by_drawdown_percent==0)?"X":(IntegerToString(short_hd._settings.no1Order_by_drawdown_percent)+"%") , (short_hd._settings.no1Order_by_drawdown_percent_off==0)?"X":(IntegerToString(short_hd._settings.no1Order_by_drawdown_percent_off)+"%")); return str; } string GenerateMultyInfo() { string str = StringFormat(CTRL_PANEL_CAPTION_MULTY_INFO, (short_hd._settings.max_trade_pairs==0)?"X":IntegerToString(short_hd._settings.max_trade_pairs) , (short_hd._settings.currency_block==0)?"X":IntegerToString(short_hd._settings.currency_block)); return str; } string GenerateGridWorkInfo(logic_handler* hdl) { string str = StringFormat(CTRL_PANEL_CAPTION_GRID_WORK_INFO, (hdl._settings.open_first_order)?"V":"X" , (hdl._settings.open_positions)?"V":"X"); return str; } string GenerateGridParamInfo(logic_handler* hdl) { double lenMax=0,lotMax=0,lotFirst=0; lotFirst=calc_lot::get(hdl._settings, hdl._order_settings, 1,no_gap,0,false); lotMax=lotFirst; for(int i=2; i<=hdl._settings.max_open_orders; i++) { lenMax+=calc_grid_step::get(hdl._settings,i); double l=NormalizeDouble(calc_lot::get(hdl._settings, hdl._order_settings, i,no_gap,0,false),hdl._settings.lot_exp); lotMax+=l; } string str = StringFormat(CTRL_PANEL_CAPTION_GRID_PARAM_INFO, hdl._settings.max_open_orders, DoubleToString(lenMax,0), DoubleToString(lotFirst,2)+"-"+ DoubleToString(lotMax,2) ); return str; } string GenerateBlockTradeInfo() { string str = ""; if (FinalGridDate