![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
@codersguru:
Спасибо за большие усилия...![](https://c.mql5.com/forextsd/smiles/wink.png)
После прикрепления вашего советника(https://www.mql5.com/en/forum/173468/page7) в 4 парах eur/usd, gbp/usd, usd/chf, gbp/jpy.... три пары сразу же начали открытую торговлю (gbp/usd, usd/chf, gbp/jpy) и все они имеют хороший результат.....
Я ничего не знаю о программировании... но основываясь на этих рекомендациях:
Для того, чтобы стрелки были обратными, просто поменяйте местами 2 номера стрелок в коде, и проблема будет решена. После этого скомпилируйте код, чтобы он вступил в силу на всех графиках, к которым применяется индикатор Graham
Я сделал небольшое изменение в советнике:
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
На
if(line1>line2)current_direction = 2; //up
если(line1<line2)current_direction = 1; //вниз
Вчера, я прикрепил этот советник к neuimex демо-счету TF30 в четырех парах.... и все они имеют хороший результат.....![](https://c.mql5.com/forextsd/smiles/biggrin.png)
Я буду продолжать тестировать этот советник еще 2/3 недели.....
В следующей модификации я могу добавить еще один переключатель, чтобы пользователи могли совершать обратные сделки на кресте (например, если быстрая EMA поднимается выше медленной, вы совершаете продажу). По моим визуальным бэктестам, это кажется менее прибыльным, чем сразу же использовать крест, а затем, по мере старения сделки, искать обратную сделку.
Еще одна идея, которая у меня возникла - подождать один бар, чтобы заключить сделку после пересечения (это может предотвратить те случаи, когда валюта пробивается, а затем идет в другую сторону).
На этом сайте я нашел еще одну программу для работы с кроссом EMA, в которой есть несколько хороших идей.
https://www.mql5.com/en/forum/173445
Codersguru,
Что касается ММ-части торговли.
Начиная со счета в 10 000$:
(капитал счета * % риска)/ наибольший убыток = лоты для торговли
(10,000 * 10%)/ 50 = 2 лота.
Это при условии, что SL составляет 50 пунктов.
Таким образом, счет должен корректироваться каждую сделку по этой формуле.
Надеюсь, это поможет.
Но перед тем, как использовать эту формулу, пожалуйста, скажите мне, что такое
соотношение выигрыш/проигрыш и соотношение риск/вознаграждение, которые вы ожидаете от этой системы.
Мы сможем построить систему, как только узнаем это.
Соответственно, мы можем скорректировать % риска до 10 или 15%.
Также ваш типичный самый большой убыток будет равен вашему SL, поскольку это будет максимум, который вы можете потерять на одной сделке. В % риска также необходимо учитывать максимальную просадку или наибольшие последовательные убытки, чтобы мы могли пережить просадку.
Надеюсь, это поможет. Если кто-то не согласен с этим ММ, пожалуйста, укажите на это, чтобы мы могли улучшить.
Результаты, которые мы получаем в бэктесте, обычно просто берут стандартный 1 лот для каждой сделки. Поэтому, если мы включаем ММ, рост капитала умножается в несколько раз. В этом и заключается магия ММ.
Большинство людей сосредоточены на поиске лучших систем, но настоящий святой Грааль - это ММ. Вы можете превратить среднюю систему в суперсистему с помощью ММ.
Как я уже отмечал в своем предыдущем сообщении, следующий пример сделает это очевидным.
выигрыш - 74%
Без управления капиталом
Начальный капитал - 20,000$
Итоговый капитал - 251 813$
С ММ
начальный капитал - 30,000$
Конечный капитал - 582,930,624 $$$$$$$$$$$$$$$
Правильно! Это 5,82 миллиона долларов!
Значения являются теоретическими, однако смысл довольно ясен.
@codersguru:
спасибо за большие усилия...![](https://c.mql5.com/forextsd/smiles/wink.png)
После установки вашего советника(https://www.mql5.com/en/forum/173468/page7) на 4 пары eur/usd, gbp/usd, usd/chf, gbp/jpy.... три пары сразу же начали открытую торговлю (gbp/usd, usd/chf, gbp/jpy) и все они имеют хороший результат.....
Я ничего не знаю о программировании... но основываясь на этих рекомендациях:
Я сделал небольшое изменение в советнике:
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
На
if(line1>line2)current_direction = 2; //up
если(line1<line2)current_direction = 1; //вниз
Вчера я подключил этот советник к neuimex демо-счету TF30 в четырех парах.... и все они показали хороший результат.....![](https://c.mql5.com/forextsd/smiles/biggrin.png)
Я буду продолжать тестировать советника еще 2/3 недели.....Вы изменили направление креста, EMA CROSS будет работать в обоих направлениях, но он изначально основан на принятии обратного направления рынка.
Новая версия
Во-первых, я хочу поблагодарить всех вас за ваши акции и полезные комментарии.
Во-вторых, я обновил советник EMA CROSS до версии 2.![](https://c.mql5.com/forextsd/smiles/face.png)
Надеюсь, вы найдете его полезным!Я пытаюсь сделать бэк для 1 и 2 codersguru ea, тест на eur/usd, D1 он открыт .5 лота. Не знаю, что я нажимаю, я потерял результат теста на форвардном демо-аккаунте за 1 неделю он поднялся на $# 1025 #. только на eur/usa.
Вопрос
Здравствуйте, codersguru и все участники
У меня вопрос, я новичок на форекс.
Можем ли мы использовать советника в автономном режиме? Или мы должны быть онлайн для использования советника?
Гуру кодеров
Я быстро просмотрел кодировку вашей новой версии и у меня есть несколько вопросов о коде.
Первый связан с этим блоком кода ниже;
static int TimeFrame;
...
...
...
int init()
{
TimeFrame=Period();
return(0);
}
...
...
...
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
if(TimeFrame!=Period())
{
TimeFrame=Period();
return (0);
}
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
...
...
...
[/CODE]
What is the purpose of the TimeFrame Parameter in this content?
The second code block that is giving me some questions is the purpose of the function isNewSymbol?
[CODE]
bool isNewSumbol(string current_symbol)
{
//loop through all the opened order and compare the symbols
int total = OrdersTotal();
for(int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
string selected_symbol = OrderSymbol();
if (current_symbol == selected_symbol)
return (False);
}
return (True);
}
...
...
...
total = OrdersTotal();
if(total < 1 || isNewSumbol(Symbol()))
{
if(isCrossed == 1)
...
...
...
Я знаю, что вы очень заняты, но не могли бы вы объяснить их назначение и зачем они нужны.
Спасибо за ваше время,
CockeyedCowboy
Блоки кода!
Гуру кодеров
Я быстро просмотрел кодировку вашей новой версии и у меня возникло несколько вопросов по поводу кода.
Первый связан с этим блоком кода ниже;
static int TimeFrame;
...
...
...
int init()
{
TimeFrame=Period();
return(0);
}
...
...
...
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
if(TimeFrame!=Period())
{
TimeFrame=Period();
return (0);
}
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
...
...
...
[/code]
What is the purpose of the TimeFrame Parameter in this content?
The second code block that is giving me some questions is the purpose of the function isNewSymbol?
[code]
bool isNewSumbol(string current_symbol)
{
//loop through all the opened order and compare the symbols
int total = OrdersTotal();
for(int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
string selected_symbol = OrderSymbol();
if (current_symbol == selected_symbol)
return (False);
}
return (True);
}
...
...
...
total = OrdersTotal();
if(total < 1 || isNewSumbol(Symbol()))
{
if(isCrossed == 1)
...
...
...
Я знаю, что вы очень заняты, но не могли бы вы объяснить их назначение и зачем они нужны.
Спасибо за ваше время,
The CockeyedCowboyCockeyedCowboy,
Я использовал первый блок кода, чтобы быть уверенным, что изменение периода графика не повлияет на работу программы.
Например: если вы прикрепили советник к графику M30, и линия Short EMA была выше линии Long EMA на графике M30, затем вы нажали на кнопку D1 и изменили таймфрейм на дневной, и вам не повезло, и линия Short EMA на графике D1 оказалась ниже Long EMA на этом графике. Советник посчитает это пересечением и откроет сделку. Но с помощью приведенного выше кода я даю ему шанс вспомнить последний таймфрейм и подождать еще один тик.
Второй блок кода я использовал для проверки текущих открытых сделок и предотвращения торговли советника по одной и той же паре дважды.
Спасибо!
Я пытаюсь сделать спину для 1 и 2 codersguru ea, тест на eur/usd, D1 он открыт .5 лота. Не знаю, что я нажимаю, я потерял результат теста на демо-аккаунте форварда в течение 1 недели, он поднялся на $# 1025 #. только на eur/usa.
Аудио,
Большое спасибо
, я надеюсь увидеть, как вы сделаете 1025 x Million на реальном счете тоже скоро.