Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 235

 
Tenimagalon:
Это перед открытием прописать? 
if (OrdersTotal < 1)
  (
  )

проверил работает 

//+------------------------------------------------------------------+
//|                                                  OrdersTotal.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double lot =0.01;
   int Ticket;
//--- buy conditions
   if(OrdersTotal()<1)
     {
      Ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,"",0,0,Blue);
      return;
     }

  }
//+------------------------------------------------------------------+
 
SanAlex:

проверил работает 

Спасибо :)🍺
 

Хотелось бы еще уточнить одну вещь.Как закрывать ордера по профиту.Допустим Я открываю 4 ордера.Два бай На Еврике и один бай на Чифе.И так же по одному Sell/Задаю в коде Profit=10;

Как правильно сформулировать код чтоб допустим Два бая или селла при достижении Общей прибыли Profit бот закрывал Бай ордера или сел.Игрался с вот таким кодом .Как только не крутил не могу понять.

 if(Tip==0 && AccountProfit()>=OrderProfit()*Profit + OrderSwap()>0)
              {
              fc=OrderClose(OrderTicket(),lot,Bid, 2);
              } 
              if (Tip==1 && AccountProfit()>=OrderProfit()*Profit + OrderSwap()>0)
              {
               fc=OrderClose(OrderTicket(),lot,Ask,2);
              }       
 
После закрытия сделок на графике появляются объекты-уровни TP SL. Как сделать чтобы они не появлялись?
 
Aliaksandr Yemialyanau:
После закрытия сделок на графике появляются объекты-уровни TP SL. Как сделать чтобы они не появлялись?
 
Помогите пажалуста как начать. У меня не отвечает брокер я не могу с ним свезаться
 
Добрый день всем . Такой вопрос . Копирую два сигнала на счетах МТ4 . Но когда комп выключен , то работает только один счет . Когда включаю комп и переключаю счета на МТ4  , то запускается работа и второго . С VPS  все нормально . У каждого счета свой виртуальный сервер арендованный . Подскажите в чем дело плиз . Нужно оставлять комп включенным или ставить два терминала мт4 ,но не представляю как это сделать ? Я так понимаю , что работает тот счет который был включен в МТ4 , ? А я еще хотела  парочку счетов добавить , вот теперь конечно не очень себе это представляю ....
 
Равшана Рахмонов:
Помогите пажалуста как начать. У меня не отвечает брокер я не могу с ним свезаться

Проверьте логин, пароль и название сервера. Если копируете, потом вставляете может "добавиться" лишний пробел.

 
Tenimagalon:

Хотелось бы еще уточнить одну вещь.Как закрывать ордера по профиту.Допустим Я открываю 4 ордера.Два бай На Еврике и один бай на Чифе.И так же по одному Sell/Задаю в коде Profit=10;

Как правильно сформулировать код чтоб допустим Два бая или селла при достижении Общей прибыли Profit бот закрывал Бай ордера или сел.Игрался с вот таким кодом .Как только не крутил не могу понять.

if(AccountProfit()>Profit) Close_Buy_Sell();

//+------------------------------------------------------------------+
void Close_Buy_Sell()
  {
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
         break;
        {
         if(OrderType() == OP_BUY)
           {
            int a=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3,Red);
           }
         if(OrderType() == OP_SELL)
           {
            int a=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,Red);
           }
        }
     }
  }
//+------------------------------------------------------------------+
Закрыть все при общей прибыли
Profit
 

всем доброго времени суток! только что начал учиться писать простого торгового робота по примерам видео с ютуба. хочу написать скрипт, чтобы у меня открылся первый ордер на покупку, причем он должен открыться если у меня нет других открытых ордеров, скрипт написал такой, но ордер не открывается, в чем ошибка, подскажите пжлста!

<

void OnTick()

  {

  if (OP_SELL==0 && OP_BUY==0)

   int ticket=OrderSend(Symbol(),OP_BUY,Lot1,Ask,Slippage,StopLoss,TakeProfit,"My order",MagicNumber,0,clrGreen);

>

Причина обращения: