![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Посмотрите внимательнее
Этот советник кажется отличным, но если вы посмотрите на сделки, которые он совершает в бэктестере, вы увидите, что у него много сделок в одну и ту же минуту.
Я не думаю, что вы найдете брокера, который позволит вам запустить этот советник.
Кто-нибудь запускал его на реальном счете, а не в бэктестере?
Я хотел бы услышать, как он работает.
EK
Управление капиталом EMA_cross
Привет
Если система хороша, то почему бы не увеличивать размер лота по мере роста прибыли или увеличения баланса счета. Я думаю, что должно быть легко написать функцию для определения количества лотов для покупки, которое будет равно, скажем, 2% от баланса счета.
Я видел тему "управление капиталом" на forex-tsd, но сейчас не могу ее найти.
Но я даже не знаю, как определить цену лота - пожалуйста, помогите.
Вот что у меня есть на данный момент...
int NumberlotsToTrade(int percentOfAcc)
{
//To return the number of lots that are to be traded that
// would equal a certain percentage of the account total (percentOfAcc)
int moneyavailable;
int lotMM;
int lotss;
lotss =1;
moneyavailable = Mathceil(AccountBalance( ) *(percentOfAcc/100)) ;
// I suppose it should actually be: moneyavailable = Mathceil(AccountFreeMargin() *(percentOfAcc/100));
lotMM = moneyavailable/(lotprice)
//how does one determine lot price for differentsymbols?
if (lotMM < 0.1) lotMM = Lotss;
if (lotMM > 1.0) lotMM = MathCeil(lotMM);
if (lotMM > 100) lotMM = 100;
return(lotMM);
}
[/CODE]
I have seen Alex.Piech.finGer do the the following - but I don't fully understand it.
I suppose it is better to use accountfreemagrin as this is AccountBalance minus Acountequity right?
Does the 10000 represent a micro account - would one change it on a normal account>
[CODE]
lotMM = MathCeil(AccountFreeMargin() * 50 / 10000) / 10; // 50 risk![](https://c.mql5.com/forextsd/smiles/smile.png)
if (lotMM < 0.1) lotMM = Lots;
if (lotMM > 1.0) lotMM = MathCeil(lotMM);
if (lotMM > 100) lotMM = 100;
Кто-нибудь знает хорошую ссылку, где объясняют: баланс, эквити, свободная маржа, маржа и уровень маржи. Спасибо
когда я начал изучать форекс, я нашел следующее для мини счетов.
setting lot size to 10.0 lots = 1 standard lot (1.0 lot or $100K lot)
установка размера лота 1.0 лот = 1 мини лот (0.1 лот или $10K лот)
размер лота 0.1 лот = 1 микро лот (0.01 лот или $1K лот)
установить размер лота 0,01 лота = 1 минимальный лот (0,001 лот или $100 лот).
Таким образом, если я устанавливаю размер лота 0,01 - при торговле сделка будет стоить мне $100, а если кредитное плечо моего счета составляет 100, то фактически банк наторговал на мое имя $10000.
Чем больше я смотрю на это - тем больше запутываюсь. LOL![](https://c.mql5.com/forextsd/smiles/arruinado.png)
Результаты MST
Не могли бы вы загрузить мой простой, но прибыльный EMA_CROSS и сказать мне, каковы результаты MST на его машине?
Примечание:
Данные, которые вы получаете с сервера брокера во время работы на демо-счете, заполнены пробелами и не содержат много реальных данных. Вы не можете опираться на эти данные при тестировании своей стратегии. Поэтому вы должны загрузить полные исторические данные и импортировать их в MetaTrader, чтобы иметь возможность получить более точные результаты.
Вам необходимо иметь полные данные для всех таймфреймов, доступных в MetaTrader (1 минута, 5 минут, 15 минут, 30 минут и т.д.). Но если вы сможете получить полные данные по 1 минуте, вам будет легко использовать скрипт Period_Converter, поставляемый с MetaTrader, для преобразования данных по 1 минуте в данные по всем остальным таймфреймам.
Бесплатные и полные (начиная с 16/06/2004) 1-минутные данные можно скачать с Alpari Databank по этой ссылке:
http://www.alpari-idc.com/en/dc/databank.php
Отлично!!!
Почему бы не добавить стоп-лосс?
Или это убьет систему?
СтопЛосс
Класс!!!
Почему бы не добавить стоп-лосс?
Или это убьет систему?Как вы можете заметить в отчетах тестера стратегий, убытков нет вообще (я не считаю последний убыток типа close по стопу убытком).
Я думаю, что в стоп-лоссе нет необходимости.
Во вложении версия со StopLoss и вы можете увидеть, сколько потерь сделал эксперт?
Здравствуйте, кодерсгуру,
Как вы думаете, будет ли эта последняя версия достаточно стабильной, чтобы ее можно было реально использовать?
Здравствуйте, codersguru, Как вы думаете, будет ли эта последняя версия достаточно стабильной для реального использования?
Нет, все версии предназначены только для тестирования, не меньше и не больше.
Большое спасибо, что поделились с нами своим результатом.
Я думаю, что со стоп-лоссом намного лучше, потому что в вашем примере вы начинаете с 1 лота в 10 000 и кредитного плеча 100, что является довольно высоким 10% от счета, но по мере увеличения прибыли вы устанавливаете его фиксированным.
Единственное, что я не понимаю, это промежутки между ордерами, иногда они не могут исполняться в течение 6 недель, например:
2002.01.07 10:20 - 2002.03.21 00:00
Я собираюсь протестировать его дома также на 1-минутных данных альпари от июня 2004 года и дать еще несколько отзывов.
Еще раз спасибо
Почему бы не оставить 10%?
Я лично не думаю, что это хорошая система. Лучше было бы просто торговать пересечением цены и 80 ema - используя систему catfx50. Никто не собирается выходить на пенсию, зарабатывая $60 000 за 6 лет - хотя вы могли бы провести несколько потрясающих отпусков. Если мы сможем увеличить его прибыльность в 10 раз, тогда мы говорим. Так что нам нужно ускорить процесс.
Если система прибыльна, почему бы не поддерживать ее покупку на уровне 10% от общего счета. В этом и заключался смысл моего предыдущего сообщения в этой теме, о том, как определить, как держать систему покупающей лоты, которые будут составлять фиксированный процент от общего счета, на которое никто не ответил.
Привет, Кардио,
Я использую эту простую функцию управления рисками :
double GetSizeLot() { if (IsTesting() || IsDemo()) return(1);
else return(NormalizeDouble(AccountFreeMargin()/StopLoss*RiskLevel,1)); }
с
extern double RiskLevel = 0.03;
для 3% риска, например, на микро-счетах.
Будьте осторожны.