Подскажите советник без остановки

 
Подскажите код советника, который без остановки открывает ордера. Можно без условий входа и выхода. Нужен грамотно написанный скелет кода.
 
freshwind:
Подскажите код советника, который без остановки открывает ордера. Можно без условий входа и выхода. Нужен грамотно написанный скелет кода.

Без остановки - то есть открывать новую позицию на каждом тике - низзя, ибо в конце концов маржи не хватит.
 

не так, нужен "правильный" скелет с циклом открытия, сопровождения и закрытия ордеров. Открытие следующего ордера сразу после закрытия предыдущего по какому-то условию (я сам допишу, думаю будет смесь индикаторов, я пока в поиске ;). То есть нужна сова которая топчется на месте и по возможности часто открывает сделки - для отработки бонусных средств

 
freshwind:

не так, нужен "правильный" скелет с циклом открытия, сопровождения и закрытия ордеров. Открытие следующего ордера сразу после закрытия предыдущего по какому-то условию (я сам допишу, думаю будет смесь индикаторов, я пока в поиске ;). То есть нужна сова которая топчется на месте и по возможности часто открывает сделки - для отработки бонусных средств

Обрабатывать  лучше в ручную, в тренде. Советник же съест всё. 
 
freshwind:

не так, нужен "правильный" скелет с циклом открытия, сопровождения и закрытия ордеров. Открытие следующего ордера сразу после закрытия предыдущего по какому-то условию (я сам допишу, думаю будет смесь индикаторов, я пока в поиске ;). То есть нужна сова которая топчется на месте и по возможности часто открывает сделки - для отработки бонусных средств


Значит Вам нужно перед открытием вести подсчёт открытых позиций - организуйте цикл по всем позициям (PositionsTotal), внутри отсортируйте только те, что открыты по нужному символу и имеют нужный magic.
 
Ramiz Mavludov:
Обрабатывать  лучше в ручную, в тренде. Советник же съест всё. 

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

Значит Вам нужно перед открытием вести подсчёт открытых позиций - организуйте цикл по всем позициям (PositionsTotal), внутри отсортируйте только те, что открыты по нужному символу и имеют нужный magic.


Я мало что понял из написанного... Если не сложно - ткните меня носом в нужный пример или часть кода. Изучить мкл с нуля пытаюсь уже несколько месяцев после работы по вечерам - не дается :(

В 40 обучение идет сложнее чем в 20...

 
freshwind:


Я мало что понял из написанного... Если не сложно - ткните меня носом в нужный пример или часть кода. Изучить мкл с нуля пытаюсь уже несколько месяцев после работы по вечерам - не дается :(

В 40 обучение идет сложнее чем в 20...


Вот советник: во входных параметрах задаём максимальное количество открытых позиций.

В OnTick() проверяем - если количество позиций больше, чем задано - значит выходим.

//+------------------------------------------------------------------+
//|                                               PositionsTotal.mq5 |
//|                              Copyright © 2017, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#property description "Count of positions"
//--- input patameter
input ushort   InpMaxPositions=1;
//---
ulong          m_magic=15489;                // magic number
//---
#include <Trade\PositionInfo.mqh>
CPositionInfo  m_position;                   // trade position object
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   int total=0;
   for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if(m_position.Symbol()==Symbol() && m_position.Magic()==m_magic)
            total++;
//---
   if(total>InpMaxPositions)
      return;
   else
     {
      //--- your code

     }
//---
   return;
  }
//+------------------------------------------------------------------+
Файлы:
 
Vladimir Karputov:


Вот советник: во входных параметрах задаём максимальное количество открытых позиций.

В OnTick() проверяем - если количество позиций больше, чем задано - значит выходим.


спасибо, буду пробовать ;)
 
Уважаемый а тоже самое для mt4???
 
AIGUL SALMANOVA:
Уважаемый а тоже самое для mt4???

В стандартной поставке терминала есть пример советника MACD Sample называется. В базе кодов тоже полно примеров.

Знакомство с MQL5: написание простого советника и индикатора
Знакомство с MQL5: написание простого советника и индикатора
  • www.mql5.com
Язык программирования MetaQuotes Language 5 (MQL5), входящий в торговый терминал MetaTrader 5, обладает новыми возможностями и более высоким быстродействием, по сравнению с языком MetaQuotes Language 4 (MQL4). Эта статья поможет познакомиться с новым языком программирования. В ней приведен пример написания простого советника и индикатора, также...