0
я никому ничего доказывать не хочу и не буду! Не нравится моя идея, напишите свою.
avatar

verta81

  • 15 февраля 2022, 17:04
0
не правильная математика у Вас)
avatar

verta81

  • 15 февраля 2022, 16:44
0
что должен индикатор отображать?
avatar

verta81

  • 15 февраля 2022, 14:03
0
ок)) Вам и карты в руки)
avatar

verta81

  • 6 февраля 2022, 20:43
0
Если Андрей не против, сделаю.
avatar

verta81

  • 6 февраля 2022, 19:51
0
о новом топике адресовано ermilow-vad
avatar

verta81

  • 3 февраля 2022, 16:43
0
Создайте новый топик, опишите что Вам нужно, прикрепите исходный код Вашего советника. И ждите, кто-то возможно возьмется выполнить Ваше задание. Или платно на Mql5
avatar

verta81

  • 3 февраля 2022, 14:06
+1
какие уровни для Buy и для Sell?
avatar

verta81

  • 2 февраля 2022, 16:42
0
Если Андрей не против, попробую написать.
avatar

verta81

  • 31 января 2022, 19:02
0
Может в БУ остальные ордера не переводит потому, что цена открытия ордеров + Уровень БУ меньше текущей?)
avatar

verta81

  • 27 января 2022, 21:42
0
или так:

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
    double bid=MarketInfo(NULL,MODE_BID);
    double ask=MarketInfo(NULL,MODE_ASK);
    
    if(ObjectGetInteger(0,"Trade",OBJPROP_STATE)==1)
     {
      Trade=true;
      ObjectSetString(0,"Trade",OBJPROP_TEXT,"Trade On");
      ObjectSetInteger(0,"Trade",OBJPROP_BGCOLOR,clrLimeGreen);
     }
    if(ObjectGetInteger(0,"Trade",OBJPROP_STATE)==0)
     {
      Trade=false;
      Del=false;
      ObjectSetString(0,"Trade",OBJPROP_TEXT,"Trade Off");
      ObjectSetInteger(0,"Trade",OBJPROP_BGCOLOR,White);
     }
    if(ObjectGetInteger(0,"DelLine",OBJPROP_STATE)==1)
     {
       ObjectDelete("UP");
       ObjectDelete("DN");
      ObjectSetInteger(0,"DelLine",OBJPROP_STATE,false);
     }
    if(ObjectGetInteger(0,"PutLine",OBJPROP_STATE)==1)
     {
       HLineCreate("UP",ask+Otstup*Point,clrMediumBlue);
       HLineCreate("DN",bid-Otstup*Point,clrRed);
      ObjectSetInteger(0,"PutLine",OBJPROP_STATE,false);
     } 
    
    if(LastDealResult()==2 || LastDealResult()==0 || CountTrades()>0)
      Del=false;
    if(LastDealResult()==1 && !Del && CountTrades()<1)
      {
       ObjectDelete("UP");
       ObjectDelete("DN");
       Del=true;
      }
   
    double Up=ObjectGetDouble(0,"UP",OBJPROP_PRICE);
    double Dn=ObjectGetDouble(0,"DN",OBJPROP_PRICE);
    
   if(CountTrades()<1 && Trade)
     {
      if(ask>=Up && (LastDealResult()==0 || (LastDealResult()==1 && LastDealType()==0) || (LastDealResult()==2 && LastDealType()==1)))
        PutOrder(0,ask,Dn);
      if(bid<=Dn && (LastDealResult()==0 || (LastDealResult()==1 && LastDealType()==1) || (LastDealResult()==2 && LastDealType()==0)))
        PutOrder(1,bid,Up);
      }
   Comment("\n UP= ",Up,
           "\n DN= ",Dn,
           "\n LastDealResult= ",LastDealResult(),
           "\n Del=",Del);
     
  }
//+------------------------------------------------------------------+
avatar

verta81

  • 26 января 2022, 21:44
0
устанавливаете отступ побольше, запускаете сов, нажимаете кнопку и тяните линии на любой уровень
avatar

verta81

  • 26 января 2022, 21:27
0
В случае движения цены сначала от одной линии к другой мартышка переустанавливалась. — это как?
avatar

verta81

  • 24 января 2022, 19:13
0

//+------------------------------------------------------------------+
//|                                                       Closer.mq4 |
//|                                               Copyright 2022     |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

extern double Profit  =10;  // профит в $
extern int Slip       =10;  // проскальзывание цены
datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   
  }
//+------------------------------------------------------------------+
//| Профит всех ордеров по типу ордера                               |
//+------------------------------------------------------------------+
double AllProfit()
  {
   double pr=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()<2)
              {
               pr+=OrderProfit()+OrderCommission()+OrderSwap();
              }
           }
        }
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll()
  {
   bool cl;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()==0 )
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slip,White);
              }
            if(OrderType()==1)
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slip,White);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
    if(t!=iTime(NULL,PERIOD_D1,0))
      {
       if(AllProfit()>0 && AllProfit()>=Profit)
         CloseAll();
     
       t=iTime(NULL,PERIOD_D1,0);
      }
  }
//+------------------------------------------------------------------+
avatar

verta81

  • 17 января 2022, 13:36