0
Неужели это так интересно в течение 12 часов издеваться над неграмотным в области программирования человеком?
Вместо того, чтобы просто по человечески сбросить готовый файл?
Или в этом есть некий «кайф»?
Не понимаю…
avatar

apologetest

  • 12 июня 2020, 23:07
0
Что значит «заменить первую часть кода»?
Где ее увидеть?
Как ее отличить от второй, третье и т.д.?
avatar

apologetest

  • 12 июня 2020, 22:28
0
Эта, что ли?


Нажал и вставил то, что скопировал в Вашем посте в 12 июня 2020, 11:48

<code>//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BU()
  {
   bool cl=1,m=1;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(Bid>b2 && OrderLots()==Lots)
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),b1,OrderTakeProfit(),0,clrAquamarine);
                  cl=OrderClose(OrderTicket(),OrderLots()/2,Bid,Slip,clrAquamarine);                  
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(Ask<s2 && OrderLots()==Lots)
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),s1,OrderTakeProfit(),0,clrAquamarine);
                  cl=OrderClose(OrderTicket(),OrderLots()/2,Ask,Slip,clrAquamarine);                  
                 }
              }
           }
        }
     }
  }
  //+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   double sl=0;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(Bid-OrderOpenPrice()>TrailingStop*_Point)
                 {
                  sl=NormalizeDouble(Bid-TrailingStop*_Point,_Digits);
                  if(OrderStopLoss()<sl)
                    {          
                     Print("SL: ",sl, " TP: ",OrderTakeProfit());                               
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
                     return;
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()-Ask>TrailingStop*_Point)
                 {
                  sl=NormalizeDouble(Ask+TrailingStop*_Point,_Digits);
                  if(OrderStopLoss()>sl || (OrderStopLoss()==0))
                    {
                     Print("SL: ",sl, " TP: ",OrderTakeProfit());                    
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
                     return;
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      sl=NormalizeDouble(b1,_Digits);
      tp=NormalizeDouble(s3,_Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      sl=NormalizeDouble(s1,_Digits);
      tp=NormalizeDouble(b3,_Digits);
     }

   r=OrderSend(NULL,type,Lots,NormalizeDouble(price,_Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   b1=ObjectGetDouble(0,"B1",OBJPROP_PRICE1);
   b2=ObjectGetDouble(0,"B2",OBJPROP_PRICE1);
   b3=ObjectGetDouble(0,"B3",OBJPROP_PRICE1);

   s1=ObjectGetDouble(0,"S1",OBJPROP_PRICE1);
   s2=ObjectGetDouble(0,"S2",OBJPROP_PRICE1);
   s3=ObjectGetDouble(0,"S3",OBJPROP_PRICE1);

   BU();
   if(TrailingStop>0) Trailing();

   if(CountTrades()<1)
     {
      if(ObjectGetInteger(0,"B",OBJPROP_STATE)==1)
        {
         if(Ask>b1)
            PutOrder(0,Ask);
        ObjectSetInteger(0,"B",OBJPROP_STATE,false); //--- отжать кнопку    
        }
      if(ObjectGetInteger(0,"S",OBJPROP_STATE)==1)
        {
         if(Bid<s1)
            PutOrder(1,Bid);
         ObjectSetInteger(0,"S",OBJPROP_STATE,false); //--- отжать кнопку    
        }
     }

   if(OrdersTotal()>0 && ObjectGetInteger(0,"C",OBJPROP_STATE)==1)
     {
      CloseAll();
      ObjectSetInteger(0,"C",OBJPROP_STATE,false);
     }

   Comment("\n B1: ",b1,
           "\n B2: ",b2,
           "\n B3: ",b3,
           "\n S1: ",s1,
           "\n S2: ",s2,
           "\n S3: ",s3);
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
</code>
avatar

apologetest

  • 12 июня 2020, 22:23
0
Час от часу не легче…
У меня нет такой кнопки code.
По крайне мере я ее не вижу.
avatar

apologetest

  • 12 июня 2020, 22:16
0
Что это вообще такое — дать код?
Как его дать и где найти?
Я знаю хорошо МТ4, но МетаЭдитор и программирование для меня — темный лес.

Я не квалифицированный программист, а трейдер.
С какими-то элементарными понятиями о МетаЭдиторе — скопировать, вставить и нажать кнопку «Компилировать».
avatar

apologetest

  • 12 июня 2020, 21:54
0
Обращение к Андрею-программисту.
======================================
Пожалуйста, при написании советника, обратите внимание на то, чтобы каналы располагались именно так, как на скрине.
И были «лучом».
avatar

apologetest

  • 12 июня 2020, 21:46
0
Еще один вариант записи со звуком и на канале ЮТуб.
youtu.be/ZyZfdtUB9go
avatar

apologetest

  • 12 июня 2020, 21:08
0
Немое кино, потому как микрофон на компе сломан.
==========================================
А если єкран развернуть полностью, не пробовали?

Да и вообще сколько времени ушло на все эту переписку.
Не проще ли было файл скинуть?
Я ведь не программист, а простой трейдер.
avatar

apologetest

  • 12 июня 2020, 20:53
0
Вот видео моих действий.
Что я делаю неправильно?
fex.net/ru/s/krdzczo
fex.net/ru/s/odass8k
avatar

apologetest

  • 12 июня 2020, 19:05
0
А можно файлик получить?
Не компилируется.

avatar

apologetest

  • 12 июня 2020, 16:24
0
И нужно развернуть трендовые линии на 180 градусов.
Потому как с галочкой «луч» они имеют продолжение в прошлое.
Возможно, что и это влияет на результат.
avatar

apologetest

  • 12 июня 2020, 14:25
0
Не хочет компилироваться.

avatar

apologetest

  • 12 июня 2020, 14:17
0
Я так понял, что Андрей уже не отслеживает комменты к этому топику и все доработки будет рассматривать в новом топике следующего месяца.
avatar

apologetest

  • 12 июня 2020, 11:48
0
Андрей, что-то не то с советником.
Он не воспринимает наклонные линии. Не реагирует на них. За два дня я в этом убедился на разных МТ4 от разных брокеров.
Сегодня я линии не наклонял оставил как есть — горизонтально.
Запустил советника.
Цена пошла вниз к красным линиям. Совтник касание воспринял. Но вместо одного ордера начал открывать еще и еще по непонятному алгоритму.
Скрины прилагаю.


avatar

apologetest

  • 11 июня 2020, 22:11
0
Сегодня на удаленном сервере запустил робота по всем правилам.
Но при касании первой линии ордер не открылся.
В чем может быть причина?

А при запуске робота на ПК наблюдаю ту же картину, что и у Андрея — при нажатии селл сразу открывается ордер в Бай, хотя до линии 1 ещё далеко
avatar

apologetest

  • 10 июня 2020, 17:05
0
1. Установил советник на график.
2. Разрешил ему торговать.
3. Выставил линии под наклоном.
4. Нажал кнопки Бай и Селл.
Линии остались в установленном положении.
5. Перезагрузил МТ4.
Секунду-две линии еще находятся в нужном положении, а потом сбрасываются на положение по умолчанию.

И еще предложение дать возможность изменять цвет линий. На черно-белом графике бледно-голубые теряются.
avatar

apologetest

  • 10 июня 2020, 07:35
0
Андрей, есть один недостаток.
По умолчанию трендовые линии размещаются горизонтально.
Я попробовал их поставить под углом.
Потом поставил галочку «Разрешить советнику торговать» и нажал кнопки Бай и Сэлл.
Все мои установки слетели до исходного положения трендовых линий.
Пришлось выставлять заново.
Смещая линии, случайно зацепил точку цены и открыл ордер.
После всего выключил МТ4 и снова включил.
Трендовые линии из нужного положения снова оказались в положении по умолчанию и движение цены они уже не отслеживают.
Исправьте, пожалуйста.
avatar

apologetest

  • 9 июня 2020, 21:55
0
Закинуть на файлообменник индикатор, а в комменте дать на него ссылку для скачивания.

Или создать новый топик, а этому топику дать отбой.
avatar

apologetest

  • 8 июня 2020, 14:48
0
Андрей, я ведь не сказал, что Ваша методика построения плохая.
Возможно, что она даже лучше канальной и вполне имеет право на существование.
Просто у каждого трейдера есть свое понимание удобно и неудобно.
Я использую каналы уже давно. Привык к ним.
Если нужно подкорректировать, то это только одно движение.
А с трендовыми линиями намного дольше.
В основном положение каналов не меняю. По принципу «выстрелил и забыл».
Но, опять таки, это лично мое субъективное мнение.
avatar

apologetest

  • 8 июня 2020, 14:12
0
Благодарю, Андрей!
avatar

apologetest

  • 5 апреля 2020, 22:07
Начать торговлю с Альпари