Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 111

 

   felidae: 
Нет, всё в порядке, просто я дал случайно свою ссылку. Ваша должна быть по идее такая: https://www.mql5.com/ru/users/vik1991/accounting/chooseout

 спасибо за ответ, а можно както увеличить заработок ?  или только ждать пока спрос выростит.

 

Посоветуйте, пожалуйста, как увеличить (долить) позицию в советнике, который написан на базе Мастера MQL5 и где позиции открываются через

   virtual int       LongCondition();
   virtual int       ShortCondition();   

Я написал робот по рекомендациям в статье  

 https://www.mql5.com/ru/articles/367   "создай торговый робот за 6 шагов" и он прекрасно работает, но попытки повлиять на размер позиции

(неважно увеличить или уменьшить) через повторную генерацию условия  в , например в 

LongCondition();

ни к чему не приводит, уже открытая позиция не изменяется, ее можно только удалить через выполнение условия закрытия или по срабатыванию sl , tp.

 Мастер MQL5 мне нравиться, можно легко и быстро "собирать" многоиндикаторный советник, менять модуль отслеживания sl, менять модуль управления капиталом.

Но попытка написать советник, который открывает минимальную позицию при формировании условия от одного индикатора и увеличивает (доливает) позицию при подтверждении тренда другим индикатором

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

Создай торговый робот за 6 шагов!
Создай торговый робот за 6 шагов!
  • 2012.06.01
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
 
Здравствуйте, не могу разобратся как использовать режим "математическое вычесление", хотелось бы посмотреть пример кода если можно, или подскажите где найти
 

 Хочу в маркете оставить инструменты только форекс рынка, код работает отлично

   for(int i=0;i<=SymbolsTotal(false);i++)
     {
      if(SymbolInfoInteger(SymbolName(i,false),SYMBOL_TRADE_MODE)==SYMBOL_TRADE_MODE_FULL && SymbolInfoInteger(SymbolName(i,false),SYMBOL_TRADE_CALC_MODE)==SYMBOL_CALC_MODE_FOREX && SymbolInfoDouble(SymbolName(i,false),SYMBOL_ASK)-SymbolInfoDouble(SymbolName(i,false),SYMBOL_BID)<50*SymbolInfoDouble(SymbolName(i,false),SYMBOL_POINT))
        {
         SymbolSelect(SymbolName(i,false),true);
        }
      else SymbolSelect(SymbolName(i,false),false);
     }

Но как только запускаю в тестере грузит историю по вот такому инструменту, причем загрузить неможет, как его отключить для тестора???????? 

2013.04.04 14:09:21 Core 1 GBOTEURUSD17DEC2012: history synchronization started

 
Yuriy2019:

Посоветуйте, пожалуйста, как увеличить (долить) позицию в советнике, который написан на базе Мастера MQL5 и где позиции открываются через


К сожалению, описанный Вами случай попадает в категорию о которой тут (на Форуме) говорят "доработать напильником".

Для решения задачи нужно изменить поведение эксперта. Для этого:

1. Создаем новый класс (например CMyExpert) унаследованный от класса CExpert.

2. Перегружаем в нем метод Processing, изменяя поведение.

3. В исходном коде эксперта заменяем (руками) включаемый файл.

#include <Expert\Expert.mqh>

на

#include <Expert\MyExpert.mqh>

4. В исходном коде эксперта заменяем (руками) имя класса.

CExpert ExtExpert;

на

CMyExpert ExtExpert;

Пример класса прилагается. Выход из метода при наличии открытой позиции и отсутствии операций по ней закоментирован (строка 53).

Не забудьте выполнять п.п.3 и 4 после каждой "перегенерации" эксперта в Мастере.

PS Если будут вопросы, обращайтесь.

Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert
Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert
  • www.mql5.com
Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert - Документация по MQL5
Файлы:
MyExpert.mqh  4 kb
 
Здравствуйте.Подскажите пожалуйста,почему я не могу авторизоваться в терминале.Ввожу сервер,номер счёта и пароль,но в журнале появляется такая запись:2013.04.05 12:51:20 Network '68712': connection to 208.64.66.68:443 lost
Пробовал другой сервер ввести,такая же ерунда.Что не так делаю?
 
uncleVic:

К сожалению, описанный Вами случай попадает в категорию о которой тут (на Форуме) говорят "доработать напильником".

Для решения задачи нужно изменить поведение эксперта. Для этого:

1. Создаем новый класс (например CMyExpert) унаследованный от класса CExpert.

2. Перегружаем в нем метод Processing, изменяя поведение.

3. В исходном коде эксперта заменяем (руками) включаемый файл.

на

4. В исходном коде эксперта заменяем (руками) имя класса.

на

Пример класса прилагается. Выход из метода при наличии открытой позиции и отсутствии операций по ней закоментирован (строка 53).

Не забудьте выполнять п.п.3 и 4 после каждой "перегенерации" эксперта в Мастере.

PS Если будут вопросы, обращайтесь.

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

Теперь возник еще один вопрос - можно ли изменять размер "доливки"? Например, стандартный размер позиции в модуле управления капиталом 0,1 , а я хочу добавлять ("доливать") вычисляемые экспертом (переменные) 0,3 , или 0,35 и т.д.

Как передать модулю торговли размер "доливки" из подпрограммы LongCondition()  ?

 
Yuriy2019:

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

Теперь возник еще один вопрос - можно ли изменять размер "доливки"? Например, стандартный размер позиции в модуле управления капиталом 0,1 , а я хочу добавлять ("доливать") вычисляемые экспертом (переменные) 0,3 , или 0,35 и т.д.

Как передать модулю торговли размер "доливки" из подпрограммы LongCondition()  ?

В классе CExpert есть методы:

//+------------------------------------------------------------------+
//| Long position open or limit/stop order set                       |
//+------------------------------------------------------------------+
bool CExpert::OpenLong(double price,double sl,double tp)
  {
   if(price==EMPTY_VALUE) return(false);
//--- get lot for open
   double lot=LotOpenLong(price,sl);
//--- check lot for open
   if(lot==0.0) return(false);
//---
   return(m_trade.Buy(lot,price,sl,tp));
  }
//+------------------------------------------------------------------+
//| Short position open or limit/stop order set                      |
//+------------------------------------------------------------------+
bool CExpert::OpenShort(double price,double sl,double tp)
  {
   if(price==EMPTY_VALUE) return(false);
//--- get lot for open
   double lot=LotOpenShort(price,sl);
//--- check lot for open
   if(lot==0.0) return(false);
//---
   return(m_trade.Sell(lot,price,sl,tp));
  }

Перегружайте в своем классе (по аналогии с Processing) и меняйте алгоритм определения лота.

Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert
Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert
  • www.mql5.com
Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert - Документация по MQL5
 
uncleVic:

В классе CExpert есть методы:

Перегружайте в своем классе (по аналогии с Processing) и меняйте алгоритм определения лота.

Спасибо!
 

Есть индикатор, где указана что она работает по цене открытия

код

#property copyright "Ivanov A."
#property link      "aristocrat12@mail.ru"
#property version   "1.00"

#property description "TrendToTrend"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_plots   3
#property indicator_type1   DRAW_LINE
#property indicator_type2   DRAW_LINE
#property indicator_type3   DRAW_LINE


#property indicator_style1  STYLE_DASH
#property indicator_style2  STYLE_DASH
#property indicator_style3  STYLE_DASH


#property indicator_color1  Blue
#property indicator_color2  Red
#property indicator_color3  Yellow


#property indicator_applied_price PRICE_OPEN
//--- input param

input int InChPeriod = 14; //Line Trend long
input int InChPeriod2 =7; //Line Trend short

int ExChPeriod,ExChPeriod2,rCount;
//---- buffers

double CentreBuffer[],HorisontBuffer[],ShortBuffer[];
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
Причина обращения: