Принцип открытия ордеров, логика действий, кто обьяснит?

 
Расскажите логику действий для открытия одного ордера по одному сигналу, желательно прописать с объяснением каждую строку кода(как для чайника:) ).
Есть много видео уроков но там нет подробного объяснения как и почему делается это и что за чем писать, только описание каждой функции
 OrderSend()- открывает ордер 
 OrderSelect() - выбирает ордер из уже открытых или закрытых, для чего их выбирать?
OrderTotals()- считает ордера в рынке или в истории, так же зачем считать ? 
Я думаю вопрос описал достаточно точно, но повторю:

Как прописать скрипт по одному сигналу для открытия одного ордера? с подробным описание желательно что и зачем идёт и почему именно так.
Спасибо 

 
l3kseeone:
Расскажите логику действий для открытия одного ордера по одному сигналу, желательно прописать с объяснением каждую строку кода(как для чайника:) ).
Есть много видео уроков но там нет подробного объяснения как и почему делается это и что за чем писать, только описание каждой функции
 OrderSend()- открывает ордер 
 OrderSelect() - выбирает ордер из уже открытых или закрытых, для чего их выбирать?
OrderTotals()- считает ордера в рынке или в истории, так же зачем считать ? 
Я думаю вопрос описал достаточно точно, но повторю:

Как прописать скрипт по одному сигналу для открытия одного ордера? с подробным описание желательно что и зачем идёт и почему именно так.
Спасибо 

Ставишь курсор на каждой команде и нажимаешь F1. Потом читаешь

 
l3kseeone:
Расскажите логику действий для открытия одного ордера по одному сигналу, желательно прописать с объяснением каждую строку кода(как для чайника:) ).
Есть много видео уроков но там нет подробного объяснения как и почему делается это и что за чем писать, только описание каждой функции
 OrderSend()- открывает ордер 
 OrderSelect() - выбирает ордер из уже открытых или закрытых, для чего их выбирать?
OrderTotals()- считает ордера в рынке или в истории, так же зачем считать ? 
Я думаю вопрос описал достаточно точно, но повторю:

Как прописать скрипт по одному сигналу для открытия одного ордера? с подробным описание желательно что и зачем идёт и почему именно так.
Спасибо 

Вам сюда:
Фриланс-сервис на MQL5.com: Консультация
Фриланс-сервис на MQL5.com: Консультация
  • www.mql5.com
Добрый день! Хочу научиться самостоятельно писать советники и индикаторы "средней тяжести" ). Мои навыки в программировании минимальны.... если оценить в процентном соотношении (от 0 до 100%) наверное где-то...
 
Evgeniy Zhdan:

Ставишь курсор на каждой команде и нажимаешь F1. Потом читаешь

Это все понятно, у меня есть логика самого советника, могли бы просто объяснить порядок действия для открытия одного ордера по одному сигналу чтобы они не множились?
 
l3kseeone:
Это все понятно, у меня есть логика самого советника, могли бы просто объяснить порядок действия для открытия одного ордера по одному сигналу чтобы они не множились?

Примерно так:

if(условие на открытие ордера БАЙ && CountTrades(OP_BUY, Magic) == 0)
{
        OrderSend(.....);

}



//функция подсчета открытых позиций/ордеров
int CountTrades(int type,int magic)
  {
   int count = 0;
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && (OrderType()==type || type==-1) && (OrderMagicNumber()==magic || magic==-1))
            count++;
        }
     }
   return(count);
  } 
 
l3kseeone:
Это все понятно, у меня есть логика самого советника, могли бы просто объяснить порядок действия для открытия одного ордера по одному сигналу чтобы они не множились?

Для этого нужна логика в голове, а не пошаговые инструкции. Как только сможете словами написать себе почему на одном сигнале открывается множество позиций, тогда сможете словами же сами себе и объяснить как сделать так, чтобы не открывалось. А уже после этого нужно код писать.

И это "ой как просто" - достаточно подумать чуть.

 
Artyom Trishkin:

Для этого нужна логика в голове, а не пошаговые инструкции. Как только сможете словами написать себе почему на одном сигнале открывается множество позиций, тогда сможете словами же сами себе и объяснить как сделать так, чтобы не открывалось. А уже после этого нужно код писать.

И это "ой как просто" - достаточно подумать чуть.

Да я уже весь мозг сломал, может я очевидного не вижу, со всеми бывает, если прописать что если OrdersTotal()>0 то откроется один ордер а если будет ещё сигнал то ордеров по условию этому не будет, прошу разъясните 
 
Artyom Trishkin:

Для этого нужна логика в голове, а не пошаговые инструкции. Как только сможете словами написать себе почему на одном сигнале открывается множество позиций, тогда сможете словами же сами себе и объяснить как сделать так, чтобы не открывалось. А уже после этого нужно код писать.

И это "ой как просто" - достаточно подумать чуть.

Логика мне ясна всего этого, я не могу понять принцип как это прописать вот и все
 
l3kseeone:
... со всеми бывает, ...

Бывает далеко не со всеми. Могу перечислить несколько человек присутствующих на этом форуме у которых такого никогда не было.

l3kseeone:
Логика мне ясна всего этого, я не могу понять принцип как это прописать вот и все

Если логика ясна, будьте добры озвучить её во всех подробностях. Это нужно в первую очередь исключительно вам.

У вас часто встречающаяся ошибка типа: "Вот видишь ... тут надо сделать ...". Но, как сказал М. Ботвинник, компьютер это идиот. Вот и постарайтесь рассказать так, чтобы понял даже идиот.

 
l3kseeone:
Да я уже весь мозг сломал, может я очевидного не вижу, со всеми бывает, если прописать что если OrdersTotal()>0 то откроется один ордер а если будет ещё сигнал то ордеров по условию этому не будет, прошу разъясните 
Так можно, если у вас советник будет работать на счёте только один и на одном инструменте.
А если несколько советников или инструментов, то схема выше.
То есть советник ищет свои сделки.
 

Мой вам совет. Управляйте ордерами с помощью номера Тикета. Любой советник разварачивает свою деятельность вокруг одного Тикета.

Отсюда стройте свою логику.  Если нужна помощь пишите в ЛС