Мультивалютный советник "MTG" (доработка)

  • Автор темы forexFX
  • Дата начала
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
Ловкость рук и никакого мошенства :cool:
Посмотреть вложение 5437
C#:
[SIZE=2]//+------------------------------------------------------------------+
//| Информационная панель                                            |
//+------------------------------------------------------------------+

void ShowInfo()
{ 
   double profit = NormalizeDouble(AccountInfoDouble(ACCOUNT_PROFIT) * 100 / AccountInfoDouble(ACCOUNT_BALANCE), 2);
 
   if (AccountInfoDouble(ACCOUNT_PROFIT) < maxProfit)
   {
      maxProfit = AccountInfoDouble(ACCOUNT_PROFIT);
      maxProfitPercent = profit;
   }
 
   string message = "--------------------------------------------------------------------------\n";
   message += "Баланс счета: " + AccountInfoDouble(ACCOUNT_BALANCE) + "\n";
   message += "Средства: " + AccountInfoDouble(ACCOUNT_EQUITY) + "\n";
   message += "Текущая прибыль/просадка: " + AccountInfoDouble(ACCOUNT_PROFIT) + "  (" + profit + "%)\n";
   message += "Максимальная просадка: " + maxProfit + "  (" + maxProfitPercent + "%)\n";
   message += "--------------------------------------------------------------------------\n";
   message += Symb1 + "  ордеров: " + (PositionCount(0, Symb1) + PositionCount(1, Symb1)) + "  лоты: " + GetLots(Symb1) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb1),1) + "\n";
   message += Symb2 + "  ордеров: " + (PositionCount(0, Symb2) + PositionCount(1, Symb2)) + "  лоты: " + GetLots(Symb2) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb2),1) + "\n";
   message += Symb3 + "  ордеров: " + (PositionCount(0, Symb3) + PositionCount(1, Symb3)) + "  лоты: " + GetLots(Symb3) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb3),1) + "\n";
   message += Symb4 + "  ордеров: " + (PositionCount(0, Symb4) + PositionCount(1, Symb4)) + "  лоты: " + GetLots(Symb4) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb4),1) + "\n";
   message += Symb1 + "  ордеров: " + (PositionCount(0, Symb1) + PositionCount(1, Symb1)) + "  лоты: " + GetLots(Symb1) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb1),1) + "\n";
   message += Symb2 + "  ордеров: " + (PositionCount(0, Symb2) + PositionCount(1, Symb2)) + "  лоты: " + GetLots(Symb2) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb2),1) + "\n";
   message += Symb3 + "  ордеров: " + (PositionCount(0, Symb3) + PositionCount(1, Symb3)) + "  лоты: " + GetLots(Symb3) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb3),1) + "\n";
   message += Symb4 + "  ордеров: " + (PositionCount(0, Symb4) + PositionCount(1, Symb4)) + "  лоты: " + GetLots(Symb4) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb4),1) + "\n";
   message += Symb1 + "  ордеров: " + (PositionCount(0, Symb1) + PositionCount(1, Symb1)) + "  лоты: " + GetLots(Symb1) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb1),1) + "\n";
   message += Symb2 + "  ордеров: " + (PositionCount(0, Symb2) + PositionCount(1, Symb2)) + "  лоты: " + GetLots(Symb2) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb2),1) + "\n";
   message += Symb3 + "  ордеров: " + (PositionCount(0, Symb3) + PositionCount(1, Symb3)) + "  лоты: " + GetLots(Symb3) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb3),1) + "\n";
   message += Symb4 + "  ордеров: " + (PositionCount(0, Symb4) + PositionCount(1, Symb4)) + "  лоты: " + GetLots(Symb4) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb4),1) + "\n";
   message += Symb1 + "  ордеров: " + (PositionCount(0, Symb1) + PositionCount(1, Symb1)) + "  лоты: " + GetLots(Symb1) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb1),1) + "\n";
   message += Symb2 + "  ордеров: " + (PositionCount(0, Symb2) + PositionCount(1, Symb2)) + "  лоты: " + GetLots(Symb2) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb2),1) + "\n";
   message += Symb3 + "  ордеров: " + (PositionCount(0, Symb3) + PositionCount(1, Symb3)) + "  лоты: " + GetLots(Symb3) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb3),1) + "\n";
   message += Symb4 + "  ордеров: " + (PositionCount(0, Symb4) + PositionCount(1, Symb4)) + "  лоты: " + GetLots(Symb4) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb4),1) + "\n";
   message += Symb1 + "  ордеров: " + (PositionCount(0, Symb1) + PositionCount(1, Symb1)) + "  лоты: " + GetLots(Symb1) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb1),1) + "\n";
   message += Symb2 + "  ордеров: " + (PositionCount(0, Symb2) + PositionCount(1, Symb2)) + "  лоты: " + GetLots(Symb2) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb2),1) + "\n";
   message += Symb3 + "  ордеров: " + (PositionCount(0, Symb3) + PositionCount(1, Symb3)) + "  лоты: " + GetLots(Symb3) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb3),1) + "\n";
   message += Symb4 + "  ордеров: " + (PositionCount(0, Symb4) + PositionCount(1, Symb4)) + "  лоты: " + GetLots(Symb4) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb4),1) + "\n";
   message += Symb1 + "  ордеров: " + (PositionCount(0, Symb1) + PositionCount(1, Symb1)) + "  лоты: " + GetLots(Symb1) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb1),1) + "\n";
   message += Symb2 + "  ордеров: " + (PositionCount(0, Symb2) + PositionCount(1, Symb2)) + "  лоты: " + GetLots(Symb2) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb2),1) + "\n";
   message += Symb3 + "  ордеров: " + (PositionCount(0, Symb3) + PositionCount(1, Symb3)) + "  лоты: " + GetLots(Symb3) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb3),1) + "\n";
   message += Symb4 + "  ордеров: " + (PositionCount(0, Symb4) + PositionCount(1, Symb4)) + "  лоты: " + GetLots(Symb4) + "  профит/убыток: " + NormalizeDouble(AllProfit(Symb4),1) + "\n";
 
   Comment(message);
}[/SIZE]
Настоящий шаман!
А то что выдаёт предупреждение ничего страшного?
implicit conversion from 'number' to 'string'
 
SilverKZ

SilverKZ

Участник
Форумчанин
Монет
7,875
Настоящий шаман!
А то что выдаёт предупреждение ничего страшного?
implicit conversion from 'number' to 'string'
Предупреждение убрал, параметр разрешения торговли в два направления одновременно добавил.
 

Вложения

  • Test_mult_v1_04.mq5
    25.5 КБ · Просмотры: 12
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
Провёл тестирование, выделил 20 пар, которые выглядели достойно среди всех.
Чисто гипотетически не менее 20% в месяц должно получиться. Сегодня вечером установил на торговлю, конечно на демо счёт. Баланс 50 000. Буду здесь писать отчёт по торговле.
 
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
01
Торговля в процессе. Для наглядности дохода, можно прикрутить к советнику данные по дням торговли. Пример в файле на 5 дней. Разместить его в правый верхний угол.
!!!А как информацию по ордерам, та что слева, посадить на полупрозрачный фон?!!!
Спасибо.
 

Вложения

  • Profit for the last week.mq5
    20.7 КБ · Просмотры: 7
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
02
Продолжаю тестировать советника. На конец недели вот такая картина. Это при том, что пол дня не был включён алготрейдинг в терминале. Но этот неприятный факт не помешал выйти за день в профит.
 
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
Неделя закончилась. Результат на графике. Сегодня были движения на рынке, и соответственно немного есть профит. Но если присмотреться, то и просадка увеличилась. На выходных пересмотрю пары, для снижения просадки.
03
 
SilverKZ

SilverKZ

Участник
Форумчанин
Монет
7,875
!!!А как информацию по ордерам, та что слева, посадить на полупрозрачный фон?!!!
Спасибо.
Добавил информационную панель по позициям. Окно перетаскивается мышкой и сворачивается. Строки с прибылью подсвечиваются зелёным, убыточные - красным.
Screenshot 211 Проверку по Magic закомментировал, думаю подхватит ранее открытые позиции, настройку по символам только сделать надо.
 

Вложения

  • Test_mult_v2_01.mq5
    33.3 КБ · Просмотры: 8
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
Добавил информационную панель по позициям. Окно перетаскивается мышкой и сворачивается. Строки с прибылью подсвечиваются зелёным, убыточные - красным.
Посмотреть вложение 5457 Проверку по Magic закомментировал, думаю подхватит ранее открытые позиции, настройку по символам только сделать надо.
Рад, что не оставили проект! Панелька супер. Немного подправил под свои глаза.
Для более эффекта от панели, отлично было сделать так. Пары, которые не в рынке, на панели не отображаются. Только те, которые вошли в рынок, показывают свою торговлю. И при этом сама форма набирает размеров по количество пар, которые в торговли. Будет динамически смотреться, так как при закрытии пары или вход в рынок панель будет реагировать, а это очень классно.
Так же, по возможности, сделайте с другой стороны статистическую историю профита по днях (достаточно последние 10 дней). Так визуально будет понятно куда идём в верх или ...
!!! Предоставляю Вам отредактированную версию кода с подбором пар. Дальнейшие правки делаем уже с этой версией.
 

Вложения

  • Multi Gold Forex v2.01.mq5
    42.5 КБ · Просмотры: 8
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
Кстати, усреднение на продажу перестало работать после последних правок. Может что-то после закомментированние МАГИКА!
 
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
Виктор73

Виктор73

Местный
Форумчанин
Монет
31,200
Рад за Вас!!! процесс идет. в мт5 полный ноль. а так бы помог
 
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
Протестировал советник на большей истории, и не вытягивает сама пара просадку даже с дополнительным фильтром. Будем менять стратегию. Паре нужно помогать. По началу нужно объединить все пары одним TakeProfit, множитель лота, шаг (как было ранее). Двусторонней торговли так же не будет. Нужно убрать эту опцию совсем (как было ранее).
Я выделил несколько пар для дальнейшей работы. Предоставляю файл, с которым будем продолжать правки. Новую стратегию опишу после правок.
Спасибо.
 

Вложения

  • Multi Gold Forex v2.01.mq5
    35.7 КБ · Просмотры: 11
forexFX

forexFX

Участник
Форумчанин
Монет
1,980
Пропал мой программист! Жаль, что не смогу продолжить проект!
 
SilverKZ

SilverKZ

Участник
Форумчанин
Монет
7,875
Устанавливается на одну валютную пару. Обязательно у каждой корзины свой magic. В комментариях открытых позиций в торговом терминале можно видеть magic корзины. Screenshot 4
 
A

Aleks11as

Новенький
Форумчанин
Монет
161
Всем привет! Кто то тестирует еще советник?
 
V

VladimirRVS

Новенький
Форумчанин
Монет
1,734
Не знаю почему, но он у меня не тестирует и вообще не включается
 

Проверенные Брокеры

Для всех:
1. RoboForex
2. Weltrade
3. Exness
4. Forex4you

Для граждан РФ:
1. Forex4you
2. Альпари
3. wForex

Реклама

Заработок онлайн

Верх