Strannik
Алексей (деактивирован)

 
Уровень 0

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2081



РЕКОМЕНДУЮ



Нужно два элементарных советника.

Первый. Советник

Настройки
ТР
Лот
MAGIC

Открывает ордера при условии.
На новой свече, определяем закрытие прошлой. Если бычья, то открываем buy, если медвежья то открываем sell.
Открываем ордера до бесконечности. Один ордер на новой свече.

Второй советник
Закрывает все открытые ордера, по рынку.
  • 0
  • Просмотров: 3209
  • 26 августа 2015, 16:17
  • Strannik
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Переделка советника "Well Martin"
Следующая запись в группе  
Советник "Dawn" на индикаторах NonLagMA и Ozy.
26 августа 2015
26 августа 2015

Комментарии (35)

+
0
Это можно все в одном сделать. Набросаю сейчас.
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 26 августа 2015, 17:00
+
0
второе уже не нужно. Сам сделал. В виде скрипта.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 26 августа 2015, 17:01
+
0
Что то я на напортачил. Скрипт закрывает часть, потом в ошибку вылетает. Если не сложно, добавь, в советника, закрытие всех ордеров, при достижении, заданного в глобальной переменной, средств. Скажем, в глобальной переменной, будет задан параметр 1000. Это означает, если средства счета, достигнут 1000, то все ордера закроются по рынку. И торговля прекратиться. (Новых ордеров не будет выставлять, пока параметр не поставят другой, превышающий, текущие средства)
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 26 августа 2015, 17:23
+
+1
Пока в базу загружал, открыл и закрыл: www.opentraders.ru/downloads/848/

Настройки:


extern int StopLoss   = 1300; //лось
extern int TakeProfit = 1400; //язь
extern int Slip       = 30;   //проскальзывание
extern int Count      = 10;   //максимальное количество ордеров
extern int ClosePos   = 0;    //1-кроем позы


avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 26 августа 2015, 17:34
+
0
Огромное спасибо. Если не сложно. Я выше описал, не большое дополнение. Сможешь, добавить, в советника?
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 26 августа 2015, 17:38
+
0
Посмотрите в базе. Я помню делал такой с закрытием по профиту. Если не найдете, добавлю условие.
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 26 августа 2015, 17:59
+
0
Я уже искал. Прежде, чем описать. Не нашел подобное. Тут два варианта. Либо я фигово искал, либо, запрос не правильно составил. Хотя и в ручную, тоже перебрал большую часть. В общем, если не сложно, сделай, так как я описал выше. Это не к спеху. По этому, если будет возможность, сделай, по возможности.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 26 августа 2015, 18:03
+
0
Профит в долларах или в процентах от депо?
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 26 августа 2015, 18:05
+
0
В баксах. Не по балансу. А по средствам. Баланс от средств может отличаться. По этому, переменная должна быть в средствах.Если, средства достигли, заданных переменных, то все ордера закрыть. Новых не выставлять. Пока пользователь, не перезапустит советника, с новыми показаниями.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 26 августа 2015, 18:11
+
0
Одним словом. При запуске. Выставлять ордера, до тех пор, пока средства не достигнут заданного параметра средств. Как достигнем заданного параметра, закрыть все ордера, и остановить торговлю
Редактирован: 26 августа 2015, 18:12
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 26 августа 2015, 18:12
+
0
Завтра добавлю.
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 26 августа 2015, 21:33
+
0
Добавил. Выставляет, закрывает, останавливает.
www.opentraders.ru/downloads/848/

Закрыл и больше не открывает.

avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 27 августа 2015, 11:45
+
0
Ошибка. Советник, закрывает, сделки, при достижения, баланса. А не по средствам.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 27 августа 2015, 15:18
+
0
Какого такого баланса? Баланс он постоянный пока сделки открыты, только средства изменяются. Советник закроет если средства увеличились или уменьшились до определенной суммы, указанной в настройках.
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 27 августа 2015, 15:56
+
0
Согласен, но так не происходит. Как только баланс достигает, заданного, все сделки кроет. По балансу идет расчет, а не по средствам. Средства, не доходят до заданного. Все расчеты, идут от баланса
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 27 августа 2015, 20:45
+
0
Я еще завтра подольше погоняю.
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 27 августа 2015, 21:02
+
0
Еще ошибку нашел. При изменения параметра ClosePos. Ни чего не происходит. При перезагрузке, тоже самое. Либо руками приходиться крыть, либо скриптом.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 28 августа 2015, 08:11
+
0
Параметра ClosePos сейчас нет. Закрытие происходит по достижении Equity.
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 28 августа 2015, 09:24
+
0
Хорошо. Я сегодня весь день гонял. Результат один :)  Скорее, всего, где то "<=>" не так стоит. :)  Мысли в слух :) 
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 27 августа 2015, 21:27
+
0
Сейчас баланс был 8500. Открыл 7 ордеров. Пока Equity стояло 10000 позы не трогал. Далее счет ушел в минус, я выставил Equity 8300. Как только средства стали меньше указанных, закрылись все позы. Тестирую дальше. Больше позы не открывал.


avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 28 августа 2015, 09:53
+
0
Далее баланс был 8250. Открыл 7 ордеров. Пока Equity стояло 10000 позы не трогал. Далее счет ушел в минус, я выставил Equity 8000. Как только средства стали меньше указанных, закрылись все позы. Больше позы не открывал.



Вот обновленный советник: www.opentraders.ru/downloads/848/

И еще огромная просьба прикладывать скрины сделок, чтобы я хоть как то мог посмотреть что не так.
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 28 августа 2015, 10:26
+
0
Не особо понял, а причем тут меньше Equty?? Я имею ввиду, если Equty, то есть средства, равны, заданной переменной, то кроем все позы. А в итоге получается, переменная равна 1000, баланс достигает 1000, а средства счета скажем 800, в итоге все кроем. Это не правильно.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 28 августа 2015, 12:27
+
0
Вот даже элементарный тест
Я поставил в переменной 10100. На картинке видно. Баланс достиг этой отметки, и все ордера закрылись. В итоге, средства не достигли заданной отметки. А достиг фиксированный баланс счета. А нужно, что бы средства достигали этой отметки.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 28 августа 2015, 12:36
+
0
Объясняйте пожалуйста подробнее. Я не могу знать сколько ордеров вы будете открывать с какой целью с каким тейком и т.д.
avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 28 августа 2015, 14:24
+
0
Когда вы привели картинку уже что то стало проясняться:

avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 28 августа 2015, 14:34
+
0
Количество ордеров, ограничений нету. Смысл весь в том, что открываем ордера правильно. Но закрыть нужно все. По заданному параметру Эквити. Баланс всегда будет больше эквити. Нам баланс не важен. Важен параметр эквите в глобальной настройке. Скажем. Начальный баланс у нас 1000, глобальный параметр, эквити, стоит 1010. Значит выставляем ордера до тех пор, пока эквити на счете, не будет 1010. Баланс может быть любой, хоть 2000. Закрываем когда эквити на счете будет равно 1010. В общем, как только эквити на счете (Средства счета, не баланса, а средства), достиг заданного параметра глобальной переменной, на счете, то все кроем и останавливаем торговлю
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 28 августа 2015, 14:50
+
0
Я думаю, нужно вот так сделать. :) 
if(equity>=Equity) CloseAll();

avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 28 августа 2015, 15:14
+
+1
Сделал :) 


//+------------------------------------------------------------------+
//|                                                       OpenGo.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Expert advisor"

extern int StopLoss   = 1300;      //лось
extern int TakeProfit = 1400;      //язь
extern int Slip       = 30;        //проскальзывание
extern int Count      = 10;        //максимальное количество ордеров
extern int MSec       = 0;         //Время через которое закрывается каждый последующий ордер(миллисекунды)

extern double Lots    = 0.1;       //лот
extern double Equity  = 10010;     //средства

extern int Magic=20150826;  //магик

bool Trade=true;
double LastOpen=0;
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+  
void CloseAll()
  {
   bool cl,sel;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      sel=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol())
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY) cl=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Blue);
            if(OrderType()==OP_SELL) cl=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Red);
           }
         Sleep(MSec);
        }
     }
  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    res;
//---- buy 
   if(Close[1]>Open[1])
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,NormalizeDouble(Ask-StopLoss*Point,Digits),NormalizeDouble(Ask+TakeProfit*Point,Digits),"",Magic,0,Blue);
      return;
     }
//---- sell   
   if(Close[1]<Open[1])
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,NormalizeDouble(Bid+StopLoss*Point,Digits),NormalizeDouble(Bid-TakeProfit*Point,Digits),"",Magic,0,Red);
      return;
     }
  }
//+------------------------------------------------------------------+
//| Start function                                                   |
//+------------------------------------------------------------------+
void OnTick()
  {
   double equity=AccountEquity();
   double balance=AccountBalance();
   if(Open[1]!=LastOpen)
     {
      if(CountTrades()<Count && Trade) OpenPos();
      LastOpen=Open[1];
     }

   if(equity>=Equity) CloseAll();

   if(CountTrades()<1) Trade=false;

   Comment("\n Equity: ",equity,
           "\n Balance: ",balance,
           "\n Positions: ",CountTrades(),
           "\n Trade: ",Trade);
//----
  }
//+------------------------------------------------------------------+



avatar

  34  AM2 Сообщений: 15874 - Андрей

  • 31 августа 2015, 11:35
+
0
Спасибо. :) 
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 31 августа 2015, 17:29
+
+1
Strannik, до сих пор не могу понять зачем такому гению по нейросетям нужны советники? Вы бы хоть не позорились и сайт makovka.net убрали потому что маковки действительно NET *fool* 
avatar

  3  SpeLLBindeR Сообщений: 21 - Николай - Хакер

  • 1 сентября 2015, 05:30
+
+1
Ну во первых. Хамить не нужно. А во-вторых, не вижу смысла перед вами отчитываться, для каких целей мне нужны советники. А по поводу Маковки, не вам решать, что мне убирать, а что оставлять. Если сайт приостановлен, или закрыт, это не значит, что ни чего не работает, или работа остановлена.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 1 сентября 2015, 15:35
+
0
Доброго времени суток, я чего-то не могу догнать логику совы, после первой же убыточной сделки, если больше нет открытых позиций, сов перестает торговать — это так задумано?
avatar

  3  big13 Сообщений: 14

  • 7 сентября 2015, 01:36
+
0
Да. Перезапусти, и будет торговать.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 7 сентября 2015, 10:59
+
0
Ну, это понятно, но, если ставить на торговлю его, то нужно сидеть и смотреть за ним, или подбирать настройки, чтоб у него постоянно висели сделки, а это есть не очень удобно, как по мне.
avatar

  3  big13 Сообщений: 14

  • 8 сентября 2015, 00:37
+
0
Ну тогда не пользуйтесь. Тем более этот советник написан для меня :)  И к вам отношение ни какого не имеет.
avatar

  0  Strannik Автор Сообщений: 685 - Алексей (деактивирован)

  • 8 сентября 2015, 07:48

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари