Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
С удовольствием! И спасибо, что сообщили мне, что это работает для вас, я ценю обратную связь. Не знаю точно, что пошло не так с предыдущим кодом. Вполне возможно, это была какая-то ошибка, которую я невольно исправил между ревизиями.
Вероятно, в течение недели или двух у меня будет обновленная версия, которая будет иметь некоторые функции отката для использования при бэктестинге в MT4 на кросс-валютных парах. Сейчас, если вы попытаетесь провести бэктест кросс-пары, используя мой код размера лота, ваш бэктест будет провален, потому что бэктестер не сможет получить доступ к рыночным ценам для требуемых пар счетчика и базы. (это не является проблемой в живом или форвардном тестировании, это просто ограничение бэктестера MT4).
Я опубликую код, когда перейду этот мост, возможно, вы или другие найдут его полезным.
Хороших выходных,
- Фил
Здравствуйте, 1005филлип:
Я читал эту тему. Я заинтересован в тестировании / использовании вашего кода, если он все еще доступен.
Самые актуальные файлы находятся на странице 1, или Вы предлагаете их в частном порядке?
С уважением,
spgandau
...и толпа громко запищала: (LOL string) "Phillip, Phillip, Phillip!" (LOL string END).
Просто чтобы сказать БОЛЬШОЕ СПАСИБО, Филипп (, Филипп, Филипп!).
Не могу сказать, что код работает у меня, я получил ту же ошибку "Error occurred while identifying SymbolType(), calculated SymbolType() = 6", что и все до меня, при бэктестинге. Полагаю, что мне придется провести форвард-тест.
Я уже отправил Санта Клаусу большое письмо для подарка на Рождество 2013:
"Дорогой Санта Клаус!
В этом году я мыл за ушами 4 раза. Так что, поскольку я был очень хорошим мальчиком, я хотел бы иметь мозг, как у Филиппа, самого щедрого кодера mql4 на этой планете. Пожалуйста, дорогой Санта, включи его возможности кодирования mql4!
Спасибо, Филипп, прости, Санта".
С наилучшими пожеланиями,
Веселитесь,
Саймон
Рад это слышать, Шон!
Я постоянно дорабатываю коды, если вам нужна более свежая версия (в той, что у вас есть, нет ошибок), я с удовольствием ею поделюсь.
Изменения в основном направлены на то, чтобы сделать включаемый файл более легким для интеграции и использования с вашим существующим советником. Поскольку вы уже успели внедрить другой советник, это может не иметь для вас никакого значения.
хорошего дня
мне нужна помощь в кодировании ea. или хотя бы в получении mq для этого конкретного индикатора
добрый день
мне нужна помощь в кодировании ea. или хотя бы в получении mq для этого конкретного индикатора
Привет всем, снова вернулся к вам :-) Есть ли у кого-нибудь удобная маленькая функция на MQL4, которая автоматически рассчитывает размер лота (для любого инструмента) на основе % риска от имеющегося капитала и желаемого размера стоплосса в пунктах?
Спасибо!
Shawn
//+------------------------------------------------------------------+
//| Анализ рыночной информации |
//+------------------------------------------------------------------+
bool GetMarketInfo()
{
minSLTPdstnc = MarketInfo(Symbol(), MODE_STOPLEVEL);
if (Risk_Percentage>100 || Risk_Percentage<0 ) Risk_Percentage=10;
Margin_Required=MarketInfo(Symbol(), MODE_MARGINREQUIRED);
lotmin=MarketInfo(Symbol(), MODE_MINLOT);
lotmax=MarketInfo(Symbol(), MODE_MAXLOT);
Lot_Step=MarketInfo(Symbol(), MODE_LOTSTEP);
Lot_Size=MarketInfo(Symbol(), MODE_LOTSIZE);
Tick_Value=MarketInfo(Symbol(), MODE_TICKVALUE);
Spread=MarketInfo(Symbol(), MODE_SPREAD);
return(true);
}
//+------------------------------------------------------------------+
//| Measure Orders Lot |
//+------------------------------------------------------------------+
double CheckLots (int risk_percent,double sl_size, double Static_Lot) {
if (risk_percent<=0) return (Static_Lot);
double lots=0;
lots=NormalizeDouble( (AccountBalance()*Risk_Percentage/100) / (Tick_Value*sl_size), 2 );
if (lots*Margin_Required>AccountFreeMargin()) {
error("Недостаточно средств для взятия " + DoubleToStr(lots,2) +" лотов.");
lots=AccountFreeMargin()/Margin_Required;
}
lots=MathFloor(lots/Lot_Step + 0.5)* Lot_Step;
if ( lots < lotmin ) lots=lotmin;
if ( lots > lotmax ) lots=lotmax;
if ( lots > MaxLot ) lots = MaxLot;
return(lots);
}
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
Общие правила и лучшие практики форума.
При размещении кода, пожалуйста, используйте кнопку SRC !
Здравствуйте,
Пожалуйста, отредактируйте свое сообщение и используйте кнопку CODE при размещении кода.
Спасибо.Здравствуйте, возможно ли рассчитывать размер лота исходя из последних потерь в деньгах, чтобы покрыть неучтенные потери из-за проскальзывания или разрыва цены.