Доработка ботов (советников, индикаторов) vol. 2

1_Lexa

Активный участник
Очень неплохой советник для торговли, но для того чтобы его использовать, нужно довести до ума. С отложками здесь никто не смог мне помочь, ну и ладно
 

Вложения

  • WSFR.mq4
    WSFR.mq4
    162,9 КБ · Просмотры: 96

1_Lexa

Активный участник
ButtonCreate(0,"cm off",0,225,y,210,20,Text(LANGUAGE,"Отключение после взятия профита","Shutdown after taking profit"),"Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE);
В этой TradeOFF из-за этой функции останавливался или зависал тест
Посмотреть вложение 509367
код немного изменил, и все стало намного лучше, если бы еще кто-нибудь кнопки переделал, чтобы отдельно удалять отложки, а не в пассивном состоянии
Здесь я понял в чем моя проблема и подредактировал код
OT=OrderType();
if(tip==OP_BUY && (OT==OP_BUYLIMIT || OT==OP_BUYSTOP)) error=OrderDelete(Ticket=0);
if(tip==OP_SELL && (OT==OP_SELLLIMIT || OT==OP_SELLSTOP)) error=OrderDelete(Ticket=0);
Сейчас намного лучше
 

1_Lexa

Активный участник
Здесь я понял в чем моя проблема и подредактировал код
OT=OrderType();
if(tip==OP_BUY && (OT==OP_BUYLIMIT || OT==OP_BUYSTOP)) error=OrderDelete(Ticket=0);
if(tip==OP_SELL && (OT==OP_SELLLIMIT || OT==OP_SELLSTOP)) error=OrderDelete(Ticket=0);
Сейчас намного лучше

1683967805246.png
Для теста норм, а в торговле все будет по другому. Потому что мы не любим ждать, и всегда хотим больше
 

1_Lexa

Активный участник
Прикрутил трал к лимиту, но тест через определенное время останавливается
Уважаемые программисты помогите с кнопками пожалуйста
Код:
Expand Collapse Copy
 EventSetTimer(1);
   LANGUAGE=TerminalInfoString(TERMINAL_LANGUAGE)=="Russian";
   if(IsTesting()) ObjectsDeleteAll(0);
   val=AccountCurrency();
   string GVn=StringConcatenate("cm mg ",AN," ",Symbol());
   if(IsTesting()) GVn=StringConcatenate("Test ",GVn);
   GV_kn_BS=StringConcatenate(GVn," BS");
   GV_kn_SS=StringConcatenate(GVn," SS");
   GV_kn_BL=StringConcatenate(GVn," BL");
   GV_kn_SL=StringConcatenate(GVn," SL");
   GV_kn_TrP=StringConcatenate(GVn," TrP");
   GV_kn_CBA=StringConcatenate(GVn," CBA");
   GV_kn_CSA=StringConcatenate(GVn," CSA");
   GV_kn_CA=StringConcatenate(GVn," CA");
   GV_kn_TR=StringConcatenate(GVn," TR");

   RectLabelCreate(0,"cm F",0,229,2,220,304,clrIvory);
   DrawLABEL("cm шт",Text(LANGUAGE,"шт","pcs"),95,10,clrBlack,ANCHOR_CENTER);
   DrawLABEL("cm шаг",Text(LANGUAGE,"шаг","step"),40,10,clrBlack,ANCHOR_CENTER);
   int y=40;
   DrawLABEL("cm fs",Text(LANGUAGE,"расстояние до первого Stop","distance to the first Stop"),220,26,clrBlack,ANCHOR_LEFT);
   ButtonCreate(0,"cm Trailing Stop",0,225,y,100,20,"Trailing Stop","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_TR));y+=22;
   ButtonCreate(0,"cm Buy Stop",0,225,y,100,20,"Buy Stop","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_BS));y+=22;
   ButtonCreate(0,"cm Sell Stop",0,225,y,100,20,"Sell Stop","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_SS));y+=22;
   DrawLABEL("cm fl",Text(LANGUAGE,"расстояние до первого Limit","distance to the first Limit"),220,y+10,clrBlack,ANCHOR_LEFT);y+=22;
   ButtonCreate(0,"cm Buy Limit",0,225,y,100,20,"Buy Limit","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_BL));y+=22;
   ButtonCreate(0,"cm Sell Limit",0,225,y,100,20,"Sell Limit","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_SL));

   y=40;
   EditCreate(0,"cm TrailingStop",0,120,y,50,20,IntegerToString(OrdersBuyStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm OrdersBuyStop",0,120,y,50,20,IntegerToString(OrdersBuyStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm OrdersSellStop" ,0,120,y,50,20,IntegerToString(OrdersSellStop),"Arial",8,ALIGN_CENTER,false);y+=44;
   EditCreate(0,"cm OrdersBuyLimit" ,0,120,y,50,20,IntegerToString(OrdersBuyLimit),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm OrdersSellLimit",0,120,y,50,20,IntegerToString(OrdersSellLimit),"Arial",8,ALIGN_CENTER,false);

   y=40;
   EditCreate(0,"cm FirstLevelStop",0,65,y,50,20,IntegerToString(FirstLevelStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm StepBuyStop",0,65,y,50,20,IntegerToString(StepBuyStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm StepSellStop",0,65,y,50,20,IntegerToString(StepSellStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm FirstLevelLimit",0,65,y,50,20,IntegerToString(FirstLevelLimit),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm StepBuyLimit",0,65,y,50,20,IntegerToString(StepBuyLimit),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm StepSellLimit",0,65,y,50,20,IntegerToString(StepSellLimit),"Arial",8,ALIGN_CENTER,false);y+=22;

   DrawLABEL("cm lot",Text(LANGUAGE,"Лот","Lot"),220,y+10,clrBlack,ANCHOR_LEFT);
   EditCreate(0,"cm Lot",0,175,y,50,20,DoubleToString(Lot,2),"Arial",8,ALIGN_CENTER,false);
   EditCreate(0,"cm LotPlus",0,120,y,50,20,DoubleToString(LotPlus,2),"Arial",8,ALIGN_CENTER,false);
   EditCreate(0,"cm K_Lot",0,65,y,50,20,DoubleToString(K_Lot,2),"Arial",8,ALIGN_CENTER,false);
   DrawLABEL("cm +","+",125,y+10,clrBlack,ANCHOR_LEFT);
   DrawLABEL("cm x","x",70,y+10,clrBlack,ANCHOR_LEFT);y+=22;

   DrawLABEL("cm prof",Text(LANGUAGE,"Взятие прибыли","Profit taking"),220,y+10,clrBlack,ANCHOR_LEFT);
   DrawLABEL("cm val",val,95,y+10,clrBlack,ANCHOR_CENTER);y+=22;

   ButtonCreate(0,"cm Close Buy",0,225,y,100,20,"Close Buy");
   EditCreate(0,"cm CloseProfitB",0,120,y,50,20,DoubleToString(CloseProfitB,2),"Arial",8,ALIGN_CENTER,false);
   ButtonCreate(0,"cm Close Buy A",0,65,y,50,20,"auto","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_CBA));y+=22;

   ButtonCreate(0,"cm Close Sell",0,225,y,100,20,"Close Sell");
   EditCreate(0,"cm CloseProfitS",0,120,y,50,20,DoubleToString(CloseProfitS,2),"Arial",8,ALIGN_CENTER,false);
   ButtonCreate(0,"cm Close Sell A",0,65,y,50,20,"auto","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_CSA));y+=22;

   ButtonCreate(0,"cm Close",0,225,y,100,20,"Close");
   EditCreate(0,"cm ProfitClose",0,120,y,50,20,DoubleToString(ProfitClose,2),"Arial",8,ALIGN_CENTER,false);
   ButtonCreate(0,"cm Close A",0,65,y,50,20,"auto","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_CA));y+=22;

   ButtonCreate(0,"cm Tral Profit",0,225,y,100,20,Text(LANGUAGE,"Трал профита","Tral profit"),"Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_TrP));
   EditCreate(0,"cm TralStart",0,120,y,50,20,DoubleToString(TralStart,2),"Arial",8,ALIGN_CENTER,false);
   EditCreate(0,"cm TralClose",0,65,y,50,20,DoubleToString(TralClose,2),"Arial",8,ALIGN_CENTER,false);y+=22;

   ButtonCreate(0,"cm off",0,225,y,210,20,Text(LANGUAGE,"Отключение после взятия профита","Shutdown after taking profit"),"Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE);

   ButtonCreate(0,"cm Clear",0,75-X,25-Y,70,20,Text(LANGUAGE,"Очистка","Clear"),"Times New Roman",8,clrBlack,clrGray,clrLightGray,clrNONE,false,CORNER_RIGHT_LOWER);
   return(INIT_SUCCEEDED);
  }
 

FxMen

VIP-участник
Привет! Пожалуйста, переместите информацию!
 

Вложения

  • gbp.jpg
    gbp.jpg
    211,6 КБ · Просмотры: 262
  • Recent Candles.mq4
    Recent Candles.mq4
    75,6 КБ · Просмотры: 20
Последнее редактирование:

A.S.V.

VIP-участник
Привет! Пожалуйста, переместите информацию!
Привет! Переместил.
Если изменить масштаб графика, с приходом нового тика текст будет автоматически приближаться либо удаляться от вертикальной оси нулевой свечи. В выходной день перемещение текста после изменения масштаба графика можно увидеть через клик правой кнопки мыши на графике и клик левой по "Обновить ".
 

Вложения

  • 2.png
    2.png
    29,7 КБ · Просмотры: 163
  • Recent Candles.mq4
    Recent Candles.mq4
    78,1 КБ · Просмотры: 45

FxMen

VIP-участник
Привет! Переместил.
Если изменить масштаб графика, с приходом нового тика текст будет автоматически приближаться либо удаляться от вертикальной оси нулевой свечи. В выходной день перемещение текста после изменения масштаба графика можно увидеть через клик правой кнопки мыши на графике и клик левой по "Обновить ".
Спасибо вам добрый человек!
 

1_Lexa

Активный участник
Уважаемые программисты помогите с кнопками пожалуйста
Код:
Expand Collapse Copy
 EventSetTimer(1);
   LANGUAGE=TerminalInfoString(TERMINAL_LANGUAGE)=="Russian";
   if(IsTesting()) ObjectsDeleteAll(0);
   val=AccountCurrency();
   string GVn=StringConcatenate("cm mg ",AN," ",Symbol());
   if(IsTesting()) GVn=StringConcatenate("Test ",GVn);
   GV_kn_BS=StringConcatenate(GVn," BS");
   GV_kn_SS=StringConcatenate(GVn," SS");
   GV_kn_BL=StringConcatenate(GVn," BL");
   GV_kn_SL=StringConcatenate(GVn," SL");
   GV_kn_TrP=StringConcatenate(GVn," TrP");
   GV_kn_CBA=StringConcatenate(GVn," CBA");
   GV_kn_CSA=StringConcatenate(GVn," CSA");
   GV_kn_CA=StringConcatenate(GVn," CA");
   GV_kn_TR=StringConcatenate(GVn," TR");

   RectLabelCreate(0,"cm F",0,229,2,220,304,clrIvory);
   DrawLABEL("cm шт",Text(LANGUAGE,"шт","pcs"),95,10,clrBlack,ANCHOR_CENTER);
   DrawLABEL("cm шаг",Text(LANGUAGE,"шаг","step"),40,10,clrBlack,ANCHOR_CENTER);
   int y=40;
   DrawLABEL("cm fs",Text(LANGUAGE,"расстояние до первого Stop","distance to the first Stop"),220,26,clrBlack,ANCHOR_LEFT);
   ButtonCreate(0,"cm Trailing Stop",0,225,y,100,20,"Trailing Stop","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_TR));y+=22;
   ButtonCreate(0,"cm Buy Stop",0,225,y,100,20,"Buy Stop","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_BS));y+=22;
   ButtonCreate(0,"cm Sell Stop",0,225,y,100,20,"Sell Stop","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_SS));y+=22;
   DrawLABEL("cm fl",Text(LANGUAGE,"расстояние до первого Limit","distance to the first Limit"),220,y+10,clrBlack,ANCHOR_LEFT);y+=22;
   ButtonCreate(0,"cm Buy Limit",0,225,y,100,20,"Buy Limit","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_BL));y+=22;
   ButtonCreate(0,"cm Sell Limit",0,225,y,100,20,"Sell Limit","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_SL));

   y=40;
   EditCreate(0,"cm TrailingStop",0,120,y,50,20,IntegerToString(OrdersBuyStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm OrdersBuyStop",0,120,y,50,20,IntegerToString(OrdersBuyStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm OrdersSellStop" ,0,120,y,50,20,IntegerToString(OrdersSellStop),"Arial",8,ALIGN_CENTER,false);y+=44;
   EditCreate(0,"cm OrdersBuyLimit" ,0,120,y,50,20,IntegerToString(OrdersBuyLimit),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm OrdersSellLimit",0,120,y,50,20,IntegerToString(OrdersSellLimit),"Arial",8,ALIGN_CENTER,false);

   y=40;
   EditCreate(0,"cm FirstLevelStop",0,65,y,50,20,IntegerToString(FirstLevelStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm StepBuyStop",0,65,y,50,20,IntegerToString(StepBuyStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm StepSellStop",0,65,y,50,20,IntegerToString(StepSellStop),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm FirstLevelLimit",0,65,y,50,20,IntegerToString(FirstLevelLimit),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm StepBuyLimit",0,65,y,50,20,IntegerToString(StepBuyLimit),"Arial",8,ALIGN_CENTER,false);y+=22;
   EditCreate(0,"cm StepSellLimit",0,65,y,50,20,IntegerToString(StepSellLimit),"Arial",8,ALIGN_CENTER,false);y+=22;

   DrawLABEL("cm lot",Text(LANGUAGE,"Лот","Lot"),220,y+10,clrBlack,ANCHOR_LEFT);
   EditCreate(0,"cm Lot",0,175,y,50,20,DoubleToString(Lot,2),"Arial",8,ALIGN_CENTER,false);
   EditCreate(0,"cm LotPlus",0,120,y,50,20,DoubleToString(LotPlus,2),"Arial",8,ALIGN_CENTER,false);
   EditCreate(0,"cm K_Lot",0,65,y,50,20,DoubleToString(K_Lot,2),"Arial",8,ALIGN_CENTER,false);
   DrawLABEL("cm +","+",125,y+10,clrBlack,ANCHOR_LEFT);
   DrawLABEL("cm x","x",70,y+10,clrBlack,ANCHOR_LEFT);y+=22;

   DrawLABEL("cm prof",Text(LANGUAGE,"Взятие прибыли","Profit taking"),220,y+10,clrBlack,ANCHOR_LEFT);
   DrawLABEL("cm val",val,95,y+10,clrBlack,ANCHOR_CENTER);y+=22;

   ButtonCreate(0,"cm Close Buy",0,225,y,100,20,"Close Buy");
   EditCreate(0,"cm CloseProfitB",0,120,y,50,20,DoubleToString(CloseProfitB,2),"Arial",8,ALIGN_CENTER,false);
   ButtonCreate(0,"cm Close Buy A",0,65,y,50,20,"auto","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_CBA));y+=22;

   ButtonCreate(0,"cm Close Sell",0,225,y,100,20,"Close Sell");
   EditCreate(0,"cm CloseProfitS",0,120,y,50,20,DoubleToString(CloseProfitS,2),"Arial",8,ALIGN_CENTER,false);
   ButtonCreate(0,"cm Close Sell A",0,65,y,50,20,"auto","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_CSA));y+=22;

   ButtonCreate(0,"cm Close",0,225,y,100,20,"Close");
   EditCreate(0,"cm ProfitClose",0,120,y,50,20,DoubleToString(ProfitClose,2),"Arial",8,ALIGN_CENTER,false);
   ButtonCreate(0,"cm Close A",0,65,y,50,20,"auto","Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_CA));y+=22;

   ButtonCreate(0,"cm Tral Profit",0,225,y,100,20,Text(LANGUAGE,"Трал профита","Tral profit"),"Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE,GlobalVariableCheck(GV_kn_TrP));
   EditCreate(0,"cm TralStart",0,120,y,50,20,DoubleToString(TralStart,2),"Arial",8,ALIGN_CENTER,false);
   EditCreate(0,"cm TralClose",0,65,y,50,20,DoubleToString(TralClose,2),"Arial",8,ALIGN_CENTER,false);y+=22;

   ButtonCreate(0,"cm off",0,225,y,210,20,Text(LANGUAGE,"Отключение после взятия профита","Shutdown after taking profit"),"Arial",8,clrBlack,clrLightGray,clrLightGray,clrNONE);

   ButtonCreate(0,"cm Clear",0,75-X,25-Y,70,20,Text(LANGUAGE,"Очистка","Clear"),"Times New Roman",8,clrBlack,clrGray,clrLightGray,clrNONE,false,CORNER_RIGHT_LOWER);
   return(INIT_SUCCEEDED);
  }
1684100004493.png
Сам все сделал
 

ZenFX

Почетный гражданин
Как тут можно что-то там пытаться придумывать выдумывать, в "ручном" советнике, я вот чот этого не пойму вот никак, и чота там доделывать, если там всё уже сделано... ). Какие-то там графики еще выкладывать ))). Загадка конечно, однако ).
 
Последнее редактирование:

andd7272

Местный знаток
Уважаемые программисты, приходит алерт с информацией о паре, но нет инфы в этом алерте с какого ТФ сигнал. Если, возможно, добавьте пожалуйста. Заранее благодарен.
 

Вложения

zhserg

Местный знаток
Уважаемые программисты, приходит алерт с информацией о паре, но нет инфы в этом алерте с какого ТФ сигнал. Если, возможно, добавьте пожалуйста. Заранее благодарен.
:)
 

Вложения

1_Lexa

Активный участник
Вы панель прикрутили от
cm manual grid
,а как в вашем советнике реализован трал ордеров(вы же этого хотели) судя по кнопкам изменения нет ?
Я панель переделал, теперь можно внешне управлять тралам отложек. Надеялся мне здесь помогут, но че то никого нет
 

Veroniy

Местный житель
Добрый вечер! Если возможно то добавьте в этого старого малость пожованного робота время работы и по окончании которого он должен удалить отложки а в начале работы сново выставить пока не сольёт депозит. Пожалуйста!!!
я насколько знаю смилиона все ненавидят и вопрос о времени работы тоже фигня
почему ???
 

A.S.V.

VIP-участник
Привет! Переместил.
Если изменить масштаб графика, с приходом нового тика текст будет автоматически приближаться либо удаляться от вертикальной оси нулевой свечи. В выходной день перемещение текста после изменения масштаба графика можно увидеть через клик правой кнопки мыши на графике и клик левой по "Обновить ".
Спасибо вам добрый человек!
Добавил во входные параметры новую переменную UseCandleAutoWidth
При UseCandleAutoWidth = true параметр переменной CandleWidth (толщина свечей индикатора) игнорируется и при изменении масштаба графика толщина свечей индикатора тоже изменяется автоматически с приходом нового тика.
 

Вложения

  • Recent Candles.mq4
    Recent Candles.mq4
    79 КБ · Просмотры: 36
  • 2.png
    2.png
    89,9 КБ · Просмотры: 177

FxMen

VIP-участник
Добавил во входные параметры новую переменную UseCandleAutoWidth
При UseCandleAutoWidth = true параметр переменной CandleWidth (толщина свечей индикатора) игнорируется и при изменении масштаба графика толщина свечей индикатора тоже изменяется автоматически с приходом нового тика.
От души , душевно , в душу!!!
 

FxMen

VIP-участник
Сделайте плиз апгрейд на индюк 2005 г, а то совсем пусто)))
По возможности настройте алерт, что бы реже звучал и добавьте название пары и время!
 

Вложения

YuMy

Новичок форума
Hello programmers.
Can someone help me to change the EA: it opens the first position when there is an indicator signal. But this is until the moment the grid starts to build, after which it opens not by signal but towards the first position in the grid at a distance of a certain step. Can anyone help fix it to open average positions not by a certain step but by a new signal?
Thank you very much
 

Вложения

  • EA.mq4
    EA.mq4
    23,9 КБ · Просмотры: 14
  • i-CAi.ex4
    i-CAi.ex4
    9,2 КБ · Просмотры: 26
  • Ind-GG01.ex4
    Ind-GG01.ex4
    13,9 КБ · Просмотры: 26

Alchu

Местный знаток
Парни привет! Нашёл индикатор на просторах этого сайта. Слов нет, какой он отличный! Индикатор-"МОЛОДЧИНА"! Я всё вижу, что происходит на одной вкладке. Просьба, сделайте пожалуйста загорание вкладки (по выбранному цвету), а на выбор, то мигание этой клетки, если цена подходит к "Отложеннику". Индикатор отличный, но вот эта функция небыла предусмотрена. Сами понимаете, что, если вовремя это увидеть, то можно или предупредить катастрофу или хорошо заработать. Спасибо за понимание.

Много слов и наверное непонятна суть просьбы. Вкрадце: всё оставить, как есть и только, если цена подходит к отложке (в терминале загорается красным или зелёным цветом пара, как на картинке), то что бы в индикаторе подмигивала (или пусть горела на выбор цвета) эта кнопка пары. Понятно объяснил?

Так на картинке понятно, наверное, показал.
 

Вложения

  • Мигание.png
    Мигание.png
    135 КБ · Просмотры: 273
  • Symbol changer - vspat 1.2.3.mq4
    Symbol changer - vspat 1.2.3.mq4
    15,2 КБ · Просмотры: 36
  • миг2.png
    миг2.png
    279,2 КБ · Просмотры: 257

Посмотрели (318) Посмотреть

Смотрят сейчас (5) Посмотреть

Отслеживают (1806) Посмотреть

Верх