Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 843

 
tim2019:
Значит, вы не считаете, что это слишком? Может быть, разработчикам бы стоило ознакомиться с другими фриланс ресурсами, чтобы понять, как должен выглядеть юзер френдли интерфейс. Я даже эту кнопку Зарегистрироваться не сразу нашёл. В общем, это ужасно.

Нет, не считаю.

Вы только вчера зарегистрировались здесь. Что у вас есть для продажи? Что у вас есть из знаний для исполнения заказов в сервисе фриланс на достойном уровне? Не на уровне "абы как, лишь бы сбацать", а на уровне, соответствующем уровню отличного, ну пусть хорошего, разработчика?

Или вам скорее-быстрее пока не передумалось?

 
Artyom Trishkin:

Нет, не считаю.

Вы только вчера зарегистрировались здесь. Что у вас есть для продажи? Что у вас есть из знаний для исполнения заказов в сервисе фриланс на достойном уровне? Не на уровне "абы как, лишь бы сбацать", а на уровне, соответствующем уровню отличного, ну пусть хорошего, разработчика?

Или вам скорее-быстрее пока не передумалось?

Есть всё-таки некоторые стандарты интерфейса. Если произошла ошибка, то принято хотя бы сообщать какого рода ошибка, а не заставлять пользователя долбиться несколько раз с упорством дятла и загружать/заполнять по новой.

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

 
tim2019:

Есть всё-таки некоторые стандарты интерфейса. Если произошла ошибка, то принято хотя бы сообщать какого рода ошибка, а не заставлять пользователя долбиться несколько раз с упорством дятла и загружать/заполнять по новой.

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

Знаю людей, которые прошли регистрацию продавцом буквально за день. Но эти люди, и по ним это видно, пытливые и не торопятся скорей-быстрей. И видел тех, кто месяцами вопросы на форуме задаёт, но ничего не делает что ему говорится и пишется.

И, к сведению, там нет живого человека - всю регистрацию отслеживает робот. Так что можете долго к нему стучаться и подсовывать что-то не то. Но прочитать его сообщения всё же стоит - всё там должно быть. К сожалению, я давно уже прошёл всё это, и с тех пор много что там поменялось, так что предметно не могу вам подсказать точнее что там у вас за проблема. Читайте, например, в разделах вашего профиля продавца:


 

Помогите подправить условия открытие позиций

// открытие продаж

   if(CountSell()==0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,1,0)==Low[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,1,0)==Low[0])
     
// закрытие продаж
            if(CountSell()>0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,0,1)==High[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,0,1)==High[0])
              
// открытие покупок

   if(CountBuy()==0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,0,1)==High[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,0,1)==High[0])
     
// закрытие покупок    
            if(CountBuy()>0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,1,0)==Low[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,1,0)==Low[0])

с учетом того, что параметры индикатора встроены в робот

------------------------------------------------------------------+
//|                                       Test advisor on ZigZag.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                         https:/goga342@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright c 2010, MQL для тебя."
#property link "http://mql4you.ru"
#property strict
extern double lots = 0.01; //
extern int  TakeProfit=60; //
extern int  StopLoss=100; //
extern int Magic=111111111;
extern int Slippage=3;
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;

datetime Today=0;
double SL,TP;
int ticket;
//±-----------------------------------------------------------------+
int OnInit()
  {
   if(Digits==3 || Digits==5)
     {
      TakeProfit *=10;
      StopLoss   *=10;
      Slippage   *=10;
     }
   return(INIT_SUCCEEDED);
  }
//±-----------------------------------------------------------------+
int deinit() {return(0);}
//±-----------------------------------------------------------------+
int start()
  {

   if(DayOfWeek()==0 || DayOfWeek()==6) return(0); // в выходные не работаем
   if(!IsTradeAllowed()) return(0); // пропустим тик если терминал занят
                                    //:проверим открытие новой свечи
   if(Time[0]==Today) return(0);
   Today=Time[0];
//:получим значение ZigZag на предыдущей свече
   double lZZ=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,1);
  
// открытие продаж

   if(CountSell()==0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,1,0)==Low[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,1,0)==Low[0])
     {
      SL = NormalizeDouble(Bid+StopLoss*Point, Digits);
      TP = NormalizeDouble(Bid-TakeProfit*Point, Digits);
        {

         ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,SL,TP,"macd sample",Magic,0,Red);
         if(ticket>0)
           {
            // закрытие продаж
            if(CountSell()>0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,0,1)==High[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,0,1)==High[0])
              {
               for(int i=OrdersTotal()-1; i>=0; i--)
                 {
                  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                    {
                     if(OrderMagicNumber()==Magic && OrderType()==OP_SELL)
                        if(OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,clrNONE))
                           Print("Ошибка открытия ордера на покупку !");
                    }
                 }
              }
           }
        }
     }
// открытие покупок

   if(CountBuy()==0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,0,1)==High[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,0,1)==High[0])
     {
      TP = NormalizeDouble(Ask+TakeProfit*Point, Digits);
      SL = NormalizeDouble(Ask-StopLoss*Point, Digits);
        {
         ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,SL,TP,"macd sample",Magic,0,Green);
         if(ticket>0)
           {
            // закрытие покупок    
            if(CountBuy()>0 && iCustom(NULL,0,"ZigZag_Rosh",12,5,3,1,0)==Low[0] && iCustom(NULL,0,"ZigZag_Rosh",48,20,12,1,0)==Low[0])
              {
               for(int i=OrdersTotal()-1; i>=0; i--)
                 {
                  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                    {
                     if(OrderMagicNumber()==Magic && OrderType()==OP_BUY)
                        if(!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,clrNONE))
                           Print("Ошибка открытия ордера на продажу!");
                    }
                 }
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
int CountSell()//проверкна открытие ордеров на продажу
  {
   int count=0;

   for(int trade=OrdersTotal()-1; trade>=0; trade--)
     {
      if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType()==OP_SELL)
           {
            if(OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
int CountBuy()// проверкна открытие ордеров на покупку
  {
   int count=0;

   for(int trade=OrdersTotal()-1; trade>=0; trade--)
     {
      if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType()==OP_BUY)
           {
            if(OrderType()==OP_BUY)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
 
Алексей Тарабанов:

Не можешь зарабатывать - воруй. 

Классическая фраза из фильма, название не помню: "Не умеешь воровать, научись зарабатывать."
 
Добрый день, почему то советник грузит терминал. Как выявить ошибку? ((( Спасибо.
 
rabanik:
Добрый день, почему то советник грузит терминал. Как выявить ошибку? ((( Спасибо.
Профилирование кода - Разработка программ - MetaTrader 5
Профилирование кода - Разработка программ - MetaTrader 5
  • www.metatrader5.com
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
 

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

 
Lomonosov1991:

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

Смотрите в журнал терминала "Эксперты"

 

Доброго времени суток всем! Народ, ну подскажите если кто знает.

Вот с помощью этого кода можно получать текущие цены.

void OnTick()
  {
   MqlTick last_tick;
//---
   if(SymbolInfoTick(Symbol(),last_tick))
     {
      Print(last_tick.time,": Bid = ",last_tick.bid,
            " Ask = ",last_tick.ask,"  Volume = ",last_tick.volume);
     }
   else 
      Print("SymbolInfoTick() failed, error = ",GetLastError());
//---
  }

Вопрос:

Как правильно будет прикрутить к нему ещё и вот это?

bool  SymbolInfoTick(
   string    symbol,     // символ
   MqlTick&  tick        // ссылка на структуру
   );

Ну, что-бы можно было получать текущие цены в одном советнике с нескольких валютных пар.

Ну не силён я в программировании, вот и пытаюсь разобраться!

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