0
sorusm, здравствуйте.
Удивлён, что это всё кому-то интересно.

Сейчас по БУ, потом по БУ… А когда зарабатывать будем то?
Ваше предложение имеет смысл если в т.5 мы имеем какую-то минимальную прибыль. Так хоть не жаль потерянные годы кропотливого труда.
Иначе ждём точку 9, закрываем все продажи и тралим от т.10 прибыль. При «правильном» шаге можно войти в нирвану.
avatar

kvashnin007

  • 26 декабря 2022, 19:10
0
Советник для малорискового разгона депозита. Циклов может быть и больше. Зависит от того, какой сигнализатор вы будете использовать.
Именно над этим я и работаю.
Да… советник от Андрея не используйте. Он и рядом не стоял с ТЗ. Пустой.
avatar

kvashnin007

  • 17 декабря 2022, 17:42
0
Привет, Борис. Индикатор не совсем удачный.
Фракталы не перерисовываются. Просто перерисовывается канал и свечи «возвращаются» внутрь канала.
Правда перерисовку можно использовать во благо. Например, использовать с шагом для усреднения. Вообще канальные дела красивы только на картинках. А на деле… Попробуйте получив пробой на ТФ М15, перейти на М5 и получить там пробой. Результат улучшится. Дам вам индюка канального, который не перерисовывается. Это в личку. Просто стратегию подкорректруйте.

Это в личку.
avatar

kvashnin007

  • 9 декабря 2022, 18:58
0
Принял.
А в моём топике можно было написать типа: без бабок нифига? Или лень безграничная. Ау… А в ответ — Уа. Честно говоря, я сам не вижу смысла обращаться в стол заказов. Да и вообще. Мало интересно становится.

Удачи вам. И терпения.
avatar

kvashnin007

  • 9 декабря 2022, 18:28
+1
Отстой. Советник рядом не стоял с описанной стратегией. Работа — на отвали. Не стоит потраченного времени на копи-паст.
avatar

kvashnin007

  • 8 декабря 2022, 22:48
0
Уже стало традицией… Опять вежливо послали. Я был более высокого мнения. Да ладно. Перетопчусь.

Без уважения, КАЕ.
avatar

kvashnin007

  • 8 декабря 2022, 21:43
0
Логичнее — % от свободной маржи.
Есть вариант — лот, при получении SL, может дать убыток равный % от свободной маржи.
avatar

kvashnin007

  • 26 ноября 2022, 22:27
0
Можно в советнике «снимать» показания индикатора раз в Period() на открытии новой свечи.
avatar

kvashnin007

  • 26 ноября 2022, 21:53
0
Можно.
И нужно.
avatar

kvashnin007

  • 26 ноября 2022, 21:50
0
Андрей, спасибо большое. Я такой имею. Написал. А можно ли объединить два индюка в один?

Типа того, что я написал, но правильно не работает.Где я пЛОХ?

<code>//+------------------------------------------------------------------+
//|                                           MTF Fractal KAE_v2.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrRed    // Up_Fractal_Color
#property indicator_color2 clrBlue   // Down_Fractal_Color

enum Wight
   {
   Three_Bars,
   Five_Bars,
   Seven_Bars,
   };
extern int     Fractal_Timeframe                = 0;
extern Wight   FractalsWight                    =  Five_Bars;
//extern int     LevelDelta                       = 5;
extern bool    Show_Validation_Candle           = false;
extern bool    Show_Line                        = true;
extern int     HistoryBars                      = 2000;

double UpBuffer[], DnBuffer[], refchk, tempref, level;
int    barc;
double Current;
//+------------------------------------------------------------------+
//|                                                             INIT |
//+------------------------------------------------------------------+

int init() 
{
      SetIndexBuffer(0,UpBuffer); SetIndexStyle(0,DRAW_ARROW, DRAW_ARROW, 1);  SetIndexArrow(0,119);
      SetIndexBuffer(1,DnBuffer); SetIndexStyle(1,DRAW_ARROW, DRAW_ARROW, 1);SetIndexArrow(1,119);
   return(0);
}
//+------------------------------------------------------------------+
//|                                                           DEINIT |
//+------------------------------------------------------------------+
int deinit() 
{
   for (int i = ObjectsTotal(); i >= 0; i--) 
      if (StringSubstr(ObjectName(i),0,12) == "MTF_Fractal_KAE") 
         ObjectDelete(ObjectName(i));
   return(0);
}
//+------------------------------------------------------------------+
//|                                                            START |
//+------------------------------------------------------------------+
int start() 
{
   int i, c, dif;
   tempref = iHigh(Symbol(), Fractal_Timeframe, 1) + 
             iHigh(Symbol(), Fractal_Timeframe, 51) + 
             iHigh(Symbol(), Fractal_Timeframe, 101);
   
   if (barc != Bars || IndicatorCounted() < 0 || tempref != refchk) 
      {
      barc = Bars;
      refchk = tempref;
      } 
   else
      return(0);
      
   if (Fractal_Timeframe <= Period()) 
      Fractal_Timeframe = Period();
   
   dif = Fractal_Timeframe/Period();
   
   if (HistoryBars > Bars) HistoryBars = Bars-10;
   
   for(i = 0; i < HistoryBars; i++) 
      {
      if (iBarShift(NULL,Fractal_Timeframe,Time[i]) < 2) 
         {
         UpBuffer[i] = 0;
         DnBuffer[i] = 0;
         continue;
         }
      if(FractalsWight==Three_Bars)
         {
         //----Fractals up
         Current=High[i];
         if(Current>High[i+1] && Current>=High[i-1])
            UpBuffer[i]=Current;
         //----Fractals down
         Current=Low[i];
         if(Current<Low[i+1] && Current<=Low[i-1])
            DnBuffer[i]=Current;
         }
      if(FractalsWight==Five_Bars)
         {
         //----Fractals up
         Current=High[i];
         if(Current>High[i+1] && Current>High[i+2] && Current>=High[i-1] && Current>=High[i-2])
            UpBuffer[i]=Current;
         //----Fractals down
         Current=Low[i];
         if(Current<Low[i+1] && Current<Low[i+2] && Current<=Low[i-1] && Current<=Low[i-2])
            DnBuffer[i]=Current;
         }
      if(FractalsWight==Seven_Bars)
         {
         //----Fractals up
         Current=High[i];
         if(Current>High[i+3] && Current>High[i+2] && Current>High[i+1] 
           && Current>=High[i-1] && Current>=High[i-2] && Current>=High[i-3])
            UpBuffer[i]=Current;
         //----Fractals down
         Current=Low[i];
         if(Current<Low[i+3] && Current<Low[i+2] && Current<Low[i+1] 
           && Current<=Low[i-1] && Current<=Low[i-2] && Current<=Low[i-3])
            DnBuffer[i]=Current;
         }
      }
   //---   
   if (Show_Line) 
      {
      for(i = 0; i < HistoryBars; i++) 
         {
         if (UpBuffer[i] > 0) 
            {
            level = UpBuffer[i];//+LevelDelta*Point;
            for (c = i; c > 0; c--) 
               {
               if ((Open[c] < level && Close[c] > level) || (Open[c] > level && Close[c] < level)) 
                  break;
               if (Open[c] <= level && Close[c] <= level && Open[c-1] >= level && Close[c-1] >= level) 
                  break;
               if (Open[c] >= level && Close[c] >= level && Open[c-1] <= level && Close[c-1] <= level) 
                  break;
               }
            DrawLine ("H", i, c, level, 0, clrBlue, 0, 2);
            if (Show_Validation_Candle) 
               UpBuffer[i-2*dif] = level;
            i += dif;         
            }
         //---
         }
      for(i = 0; i < HistoryBars; i++) 
         {
         if (DnBuffer[i] > 0) 
            {
            level = DnBuffer[i];//-LevelDelta*Point;
            for (c = i; c > 0; c--) 
               {
               if ((Open[c] < level && Close[c] > level) || (Open[c] > level && Close[c] < level)) 
                  break;
               if (Open[c] <= level && Close[c] <= level && Open[c-1] >= level && Close[c-1] >= level) 
                  break;
               if (Open[c] >= level && Close[c] >= level && Open[c-1] <= level && Close[c-1] <= level) 
                  break;
               }
            DrawLine ("L", i, c, level, 0, clrRed, 0, 2);
            if (Show_Validation_Candle) 
               DnBuffer[i-2*dif] = level;
            i += dif;
            }
         }
      }
   return(0);
}
//+------------------------------------------------------------------+
//|                                                        DRAW LINE |
//+------------------------------------------------------------------+
void DrawLine (string dir, int i, int c, double lev, bool back, color col, int width, int style) 
{
   ObjectCreate("MTF_Fractal_"+dir+i,OBJ_TREND,0,0,0,0,0);
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_TIME1,iTime(Symbol(),Period(),i));
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_PRICE1,lev);
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_TIME2,iTime(Symbol(),Period(),c));
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_PRICE2,lev);
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_RAY,0);
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_BACK,back);
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_COLOR,col);
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_WIDTH,width);
   ObjectSet   ("MTF_Fractal_"+dir+i,OBJPROP_STYLE,style);
}
//+------------------------------------------------------------------+
</code>


Вроде просто, а линии рисует не на всех фракталах. Хотя по коду должен рисовать на всех. Причем, падла, не рисует самые «сладкие». Да и вообще рисует не так, как оригинал.

И что вы можете сказать про дополнительные два буфера хранения ближайших фракталов ниже и выше текущей цены? Если это возможно, то можно ли их значения вывести на график типа:
Фрактал ниже — 0.96744
фрактал выше — 1.00435

Тут возникает дилемма. Если индюк бы рисовал линии по каждому фракталу, то цену бы брали по линии. А так по фракталу. Дело в том, что ближайшие фракталы рассматриваются как уровни для пробоя. Остальные — как цель для ТР. Так вот LevelDelta я бы применял, только для фракталов пробоя. Т.е. ближайших сверху-снизу.

С уважением, КАЕ.
avatar

kvashnin007

  • 26 ноября 2022, 19:09
0
Я не крутой кодер, но позволю себе предложить свой вариант решения.

//Добавить в глобальные переменные
datetime last_enter=0; // время открытия свечи последнего изменения SL
int TF=0; // На текущем таймфрейме
//-------------------------------------------------------------------------

void CheckBE()
{
if (last_enter>=iTime(NULL, TF, 0)) return; // на этом баре корректировали
if(OrderType() == OP_BUY) //если ордер на покупку
{
double NewSL = NormalizeDouble(OrderOpenPrice()+BE_Step*Point,Digits);
if(OrderStopLoss() < NewSL) //если СЛ еще не был перенесен
if((Bid — OrderOpenPrice()) >= TakeProfit*SetBEDistance/100*Point && NewSL != OrderStopLoss())
if(!OrderModify(OrderTicket(), OrderOpenPrice(), NewSL, OrderTakeProfit(), 0, clrNONE))
int Error = GetLastError();
}
if(OrderType() == OP_SELL) //если ордер на продажу
{
double NewSL = NormalizeDouble(OrderOpenPrice()-BE_Step*Point,Digits);
if(OrderStopLoss() > NewSL) //если СЛ еще не был перенесен
if((OrderOpenPrice() — Ask) >= TakeProfit*SetBEDistance/100*Point && NewSL != OrderStopLoss())
if(!OrderModify(OrderTicket(), OrderOpenPrice(), NewSL, OrderTakeProfit(), 0, clrNONE))
int Error = GetLastError();
}
last_enter=iTime(NULL, TF, 0);
}
//---------------------------------------------------------------------------

Удачи.
avatar

kvashnin007

  • 25 ноября 2022, 00:30
0
Игрун, стихи не пробовал писать?
Чего чего, а впечатления явно не трендят.
avatar

kvashnin007

  • 9 октября 2022, 16:12
0
Машка с периодом 1 красИвее рисует.
Игрун, здесь эстетики не очень. Я бы за ней в музей сходил.
Кирпичи от г. РЕНКО имеют размеры и не не имеют времени. Здесь вроде бы тоже кирпичи, но временнЫе. Что из этого можно поиметь? Вот в чём вопрос.
avatar

kvashnin007

  • 8 октября 2022, 22:39
0
Почитал давеча первоисточник. Пишет:
«Физика — наука, изучающая простейшие и вместе с тем наиболее общие закономерности явлений природы, свойства и строение материи и законы её движения. Поэтому понятия Физика и сё законы лежат в основе всего естествознания. Физика относится к точным наукам и изучает количественные закономерности явлений.»

Найдите разницу.
avatar

kvashnin007

  • 7 октября 2022, 17:10
0
Так БСЭ или БРЭ?

Я не обсуждаю. Утверждаю.

Движение из-за взаимодействия бывают. Но и взаимодействия без движения тоже.
Вот и я думаю, что, если кому-то интересно, то он и сам в состоянии набрать в поисковике: «И Хто такой физика?»
Странно другое. Преподаватели у нас были одинаковые, а понятия имеем разные.
avatar

kvashnin007

  • 7 октября 2022, 16:54
0
Кстати, этот индикатор можно использовать для сбора тиковой истории. Немного изменив и… со всеми вытекающими последствиями роста файла МТ4.
avatar

kvashnin007

  • 7 октября 2022, 16:17
0
Я тут не совсем согласен с Большой Российской энциклопедией. Физика еще изучает статику. Да еще много чего.
Видимо плохо переписали из Советской Большой.
Тем более ни слова про физику тренда. А в Советской, наверняка, есть. Игрун же где-то нашёл.
avatar

kvashnin007

  • 7 октября 2022, 16:09
0
Перехай, перелоу — дилемма для всех. Посоветовал бы обратить внимание на ордер-блоки. Но и тут главное не тупо надеяться на отбой или пробой, а тщательно продумать свои действия на случай не оправдания ваших надежд.
Не хочу давать советы, но вы никогда не будете знать на сто процентов куда пойдет цена. Вы играете с очень сильным соперником. А он вас хочет отъиметь. Ваши шансы против его ничтожно малы. Что бы иметь эти шансы, лучше научиться «предугадывать» его действия по характерным «меткам», которые оставляет крупняк. Правда всё равно надо иметь ввиду, что этот крупняк, тоже может быть съеден другим крупняком, который в данный момент оказался пошире в плечах.
avatar

kvashnin007

  • 7 октября 2022, 11:49
0
Вообще-то усреднитель это не про заработок, а о сохранении депозита. Жеджирование из того же пула.

Я считаю сохранение депозита первоочередной задачей. На слитом дэпо денег не заработаешь. Поэтому применять эти технологии надо, но с умом. Например, открыли бай, а цена вниз. Прошла шаг — вы ещё один бай удвоенным лотом. Еще шаг в низ, еще удвоили в бай. А вот попробовать при открытии усредняющего ордера закрывать усредняемый? Разница на дэпо небольшая, а нагрузка на маржу упала более, чем в 2 раза.

Хедж — страховка. Но чтобы застраховать дом от пожара на 1000000, надо 250000 заплатить страхового полиса. А если пожара не будет? А если вы за недорого примете меры? А могли бы на эти бабки и в Лувр съездить.

Вообще мне этот советник не интересен от слова вообще. Он сливной. Видно с первого взгляда. Пытаюсь предупредить о потерянном времени и силах. Кому-то пригодится. А зарабатывать можно на любом советнике. Некоторое время. Главное уметь.

Всем удачи.
avatar

kvashnin007

  • 7 октября 2022, 11:11
0
Я об этом и говорил, чтоб не использовали нулевой бар. Про закрепление свечи говорят, если она закрылась выше-ниже.
avatar

kvashnin007

  • 7 октября 2022, 10:51