0
А что так?
Тема непростая, но далеко не шаблонная, интересная.
avatar

ShamanHand

  • 30 апреля 2021, 09:09
+1
Да Биш, ну есть такая тема во многих мелких городках, что магазинов на каждом углу, а производства, градообразующих предкриятий нет или почти нет.
И тогда двадцатка уже считается по местным меркам чем-то хорошим.
Я сам из мелкого городка изначально, знаю о чём речь.
avatar

ShamanHand

  • 30 апреля 2021, 00:26
+1
Да дай уже похейтить.
Ну по-любому правительство плохое, там все жулики и о народе очень много думают, но только что он быдло и вообще всё в этом духе, игори они там все:) 
avatar

ShamanHand

  • 28 апреля 2021, 20:13
0
Сделать это, конечно, можно. Через получение сигналов со стороннего сервера.
То есть совсем не обязательно качать какие-то файлы.
Вот здесь разъяснёно, как получать сигналы со стороннего сервера.
По сути, можно хоть 9/10 советника перенести на любой бэкэндовый язык и та часть совы, что в терминале, будет только слушать канал и исполнять получаемые сигналы.

А вот как раз с забором файла именно с ФТП-шника — не знаю, можно ли так сделать, не сталкивался.
avatar

ShamanHand

  • 25 апреля 2021, 21:23
+1
Прииииикооольно.
Как-то пропустил я эту статью.
Очень пользительно.
avatar

ShamanHand

  • 23 апреля 2021, 21:33
0
Дорабатывать это я не хочу.
Моя субъективная имха, что таком варианте это просто время впустую, перспектив тут нет.
Слишком примитивно.
Но можете попросить доработать Андрея (АМ2), код там простой, он без труда внесёт всё, что нужно.
avatar

ShamanHand

  • 19 апреля 2021, 17:05
0
Ненене)))
Сколько государство не нагрёбывай — своего всё равно не вернёшь.
Так что барыжь втихаря.
avatar

ShamanHand

  • 19 апреля 2021, 12:06
0
Да, есть такая хрень у белорусов.
avatar

ShamanHand

  • 19 апреля 2021, 11:50
0
Но на самом деле гораздо интересней, как себя индикатор будет показывать в качестве фильтра входов.
avatar

ShamanHand

  • 19 апреля 2021, 11:49
0
Погоди, а как ты тогда будешь его юзать, если не будешь платить?

Кстати, Акс, это ты номер кошелька веб-мани указал?
Указывай ещё что-то типа яндекс-мани, киви и проч.
Сейчас вебмани немногие юзают, только самые упёртые.
Даже я лет 8 уже как его не юзаю.
avatar

ShamanHand

  • 19 апреля 2021, 11:45
0
Слушай, ну зачёт!
Уровень!
avatar

ShamanHand

  • 18 апреля 2021, 19:35
0
Архив, как понимаю, теперь не со старого, а с этого чата будет.
Ссылки на архивЫ добавишь наверху?
avatar

ShamanHand

  • 18 апреля 2021, 19:20
0
Нет, в коде ошибок не увидел.
avatar

ShamanHand

  • 18 апреля 2021, 16:02
0
12-го мая? Я угадал? Как раз Курбан Байрам.
avatar

ShamanHand

  • 18 апреля 2021, 15:09
0
Биш мог бы только на Курбан Байрам провести, он давно пару баранов хотел бы зарезать, но он в принципе не верующий.
А День Победы — праздник весомый, но ни к ресурсу, ни к спекуляциям отношения не имеет.
avatar

ShamanHand

  • 18 апреля 2021, 15:07
0
if(CountOrders()<1)
Вот это условие для открытия в коде есть. И это не даёт открывать ордер, если есть хотя бы один открытый.
По глюкам каталогов не создано, может, это у тебя с терминалом что-то не так.
Согласно скрину открытия у тебя идут в один и тот же момент. Три пачкой, в одну и ту же секунду.
avatar

ShamanHand

  • 18 апреля 2021, 14:45
0
Добавлен реверс:
//+------------------------------------------------------------------+
//|                                                      Supply2.mq4 |
//|                                              Copyright 2021, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;        // лот
extern double KLot       = 1;          // умножение лота
extern double MaxLot     = 5;          // максимальный лот
extern int StopLoss      = 200;        // лось
extern int TakeProfit    = 300;        // язь
extern int Slip          = 30;         // реквот
extern int Magic         = 123;        // магик
extern bool Revers       = false;      // false - нет реверса, true - реверс

extern string ZoneType   = "Untested"; // Untested, Weak

extern string IndName    = "shved_supply_and_demand"; //
extern string IndName2   = "TS-1#2"; //

datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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;
      if(StopLoss>0)
         sl=NormalizeDouble(price+StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price-TakeProfit*_Point,_Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0)
         sl=NormalizeDouble(price-StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price+TakeProfit*_Point,_Digits);
     }

   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,_Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//| Подсчет ордеров по типу                                          |
//+------------------------------------------------------------------+
int CountOrders(int type=-1)
  {
   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()==type || type==-1)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   for(int i=OrdersHistoryTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderProfit()>0)
               break;
            if(OrderProfit()<0)
              {
               lot=OrderLots()*KLot;
               break;
              }
           }
        }
     }
   if(lot>MaxLot)
      lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Sup()
  {
   double max=0;
   for(int i=ObjectsTotal()-1; i>=0; i--)
     {
      if(ObjectType(ObjectName(i))==OBJ_RECTANGLE)
        {
         if(StringFind(ObjectName(i),"SSSR#S",0)>=0)
           {
            double p1=ObjectGetDouble(0,ObjectName(i),OBJPROP_PRICE1);
            if(p1>max)
              {
               max=p1;
              }
           }
        }
     }
   return(max);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Res()
  {
// 1. берем 1-е значение
// 2. оно минимальное
// 3. берем следующее
// 4. сравниваем
// 5. если меньше то оно минимальное

   double min=0;
   for(int i=ObjectsTotal()-1; i>=0; i--)
     {
      if(ObjectType(ObjectName(i))==OBJ_RECTANGLE)
        {
         if(StringFind(ObjectName(i),"SSSR#R",0)>=0)
           {
            double p2=ObjectGetDouble(0,ObjectName(i),OBJPROP_PRICE2);

            if(min==0)
              {
               min=p2;
              }

            if(p2<min)
              {
               min=p2;
              }
           }
        }
     }
   return(min);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   bool buy=1,sell=1;
   double gre=iCustom(NULL,0,IndName2,1,0);
   double red=iCustom(NULL,0,IndName2,2,0);


   buy=Open[1]<Sup() && Close[1]>Sup() && red<111;
   sell=Open[1]>Res() && Close[1]<Res() && gre<111;

   if(CountOrders()<1)
     {
      for(int i=ObjectsTotal()-1; i>=0; i--)
        {
         if(ObjectType(ObjectName(i))==OBJ_RECTANGLE)
           {
            if(buy)
              {
                     if (!Revers)
                       {
                         PutOrder(0, Ask);
                       }
                     else if (Revers)
                       {
                          PutOrder(1,Bid);
                       }
              }
            if(sell)
              {
                     if (!Revers)
                       {
                         PutOrder(1, Bid);
                       }
                      else if (Revers)
                       {
                         PutOrder(0,Ask);
                       }
              }
           }
        }
     }

   double ind = iCustom(NULL,0,IndName,0,0);

   Comment("\n Support: ",Sup(),
           "\n Resist: ",Res());

  }
//+------------------------------------------------------------------+
avatar

ShamanHand

  • 18 апреля 2021, 09:29