Советник EMA WMA RSI

zhivistrana

Почетный гражданин
Я Вас не понял. Пишите что именно нужно.
Давайте мы идею мультивалютной торговли пока отложим, а попытаемся улучшить то, что есть.
Надо добавить условие. Если на момент закрытия ордера по ТП дельта - расстояние между концами машек в пипсах <= n pips, то мы держим ордер открытым, а ТП тралим, чтобы он не сработал. Таким образом мы делаем плавающий тейк.
И может быть есть смысл вернуть CloseRevers? На картинке видно, что убыточная сделка могла быть закрыта по разворотному сигналу и не ушла бы в затяжную просадку.
Что касается ММ.
У Вас в советнике есть такая строка "extern double RiskPercent = 0.01;" а правильно RiskPercent = 1;
Посмотрите пожалуйста.
 

Вложения

  • Clipboard04.png
    Clipboard04.png
    22,9 КБ · Просмотры: 128

cmillion

Гуру форума
Давайте мы идею мультивалютной торговли пока отложим, а попытаемся улучшить то, что есть.
Надо добавить условие. Если на момент закрытия ордера по ТП дельта - расстояние между концами машек в пипсах <= n pips, то мы держим ордер открытым, а ТП тралим, чтобы он не сработал. Таким образом мы делаем плавающий тейк.
И может быть есть смысл вернуть CloseRevers? На картинке видно, что убыточная сделка могла быть закрыта по разворотному сигналу и не ушла бы в затяжную просадку.
Что касается ММ.
У Вас в советнике есть такая строка "extern double RiskPercent = 0.01;" а правильно RiskPercent = 1;
Посмотрите пожалуйста.

1)Если сделки будут закрываться по CloseRevers то никогда не будет открыто более 1 следки в одном направлении и сам смысл усреденения пропадет. (нечем будет усреднять и нечего)
2) RiskPercent это параметр, какой Вы его подберете такой и будет правильный, для депозита в 100 usd возможно правильно поставить 1, а для депозита в миллион долларов может быть правильным будет 0,01
3 вот по поводу тейкпрофита мне Ваша идея понравилась, я подумаю как ее воплатить, скорей всего это будет виртуальный тейкпрофит. Т.е. закрываться ордера будут в том случае, когда МА начнут сближаться до заданного уровня.
 

cmillion

Гуру форума
Новая версия cm-MA 29,04,13

Убрал все лишнее (тейкпрофит) и советник стал работать еще интереснее!
Теперь серии ордеров закрываются при обратном сигнале в случае если серия находится в прибыли.

ПАРАМЕТРЫ

PHP:
extern int     period_1             = 5,           //Период усреднения для вычисления первой MA. 
               ma_shift_1           = 0,           //Сдвиг индикатора относительно ценового графика. 
               ma_method_1          = MODE_EMA,    //Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average). 
                                                   //MODE_SMA 0 Простое скользящее среднее  
                                                   //MODE_EMA 1 Экспоненциальное скользящее среднее  
                                                   //MODE_SMMA 2 Сглаженное скользящее среднее  
                                                   //MODE_LWMA 3 Линейно-взвешенное скользящее среднее  

               applied_price_1      = PRICE_OPEN;  //Используемая цена. Может быть любой из ценовых констант. 
                                                   //PRICE_CLOSE 0 Цена закрытия  
                                                   //PRICE_OPEN 1 Цена открытия  
                                                   //PRICE_HIGH 2 Максимальная цена  
                                                   //PRICE_LOW 3 Минимальная цена  
                                                   //PRICE_MEDIAN 4 Средняя цена, (high+low)/2  
                                                   //PRICE_TYPICAL 5 Типичная цена, (high+low+close)/3  
                                                   //PRICE_WEIGHTED 6 Взвешенная цена закрытия, (high+low+close+close)/4  

extern int     period_2             = 30,          //Период усреднения для вычисления второй MA. 
               ma_shift_2           = 0,           //Сдвиг индикатора относительно ценового графика. 
               ma_method_2          = MODE_LWMA,   //Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average). 
               applied_price_2      = PRICE_OPEN,  //Используемая цена. Может быть любой из ценовых констант. 
               timeframe_2          = 0;           //Период. Может быть одним из периодов графика. 0 означает период текущего графика. 

extern int     barOpen              = 1;           //бар на котором ждем сигнал (0- текущий  1 - прошлый) 

extern bool    Buy            = true;  //разрешить сделки Buy 
extern bool    Sell           = true;  //разрешить сделки Sell 
extern int     Step           = 20;    //расстояние между открываемыми ордерами в сетке ордеров  
extern double  Lots           = 0.0;   //если=0 то лот будет расчитан как процент от свободных средств по RiskPercent %  
extern double  RiskPercent    = 0.01;  //Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0 
extern double  K_Lot          = 1.5;   //умножение лота  
extern double  Max_Lot        = 150;   //ограничение размера лота 
extern int     DigitsLot      = 2;     //кол-во знаков после запятой в размере лота (2 - 0,01) (1 - 0,1) 

extern int     OrdersTrall    = 5;     //кол-во ордеров, после которого разрешаем тралить 
extern bool    VirtualTS      = false; //выставлять виртуальный или реальный тралл  
extern int     TrailingStop   = 15;     //если 0 то нет тралла стоплоссов  

extern string   _____________  = "Filter Time"; 
extern int     TimeStart       = 0 ,    //ограничение времени работы советника 
               TimeEnd         = 24,    //не открываем ордера и закрываем отложки если время не между TimeStart и TimeEnd 
               FridayHourClose = 16;    //час закрытия ордеров в пятницу
 

Вложения

  • MA29,04,13.jpg
    MA29,04,13.jpg
    95,3 КБ · Просмотры: 210
Последнее редактирование модератором:

GhostWarrior

Элитный участник
Уважаемый Cmillion при компиляции вашего советника выдает ошибку, в чем проблема я не знаю...
можете выложит последнюю версию вашего советника в mq4?
 

Вложения

  • Screenshot_2.png
    Screenshot_2.png
    99,6 КБ · Просмотры: 74

cmillion

Гуру форума
Уважаемый Cmillion при компиляции вашего советника выдает ошибку, в чем проблема я не знаю...
можете выложит последнюю версию вашего советника в mq4?

Как можно компилировать уже откомпилированную версию?
Я Вас не понимаю и не знаю что именно Вы пытаетесь делать.
Советника с таким именем как у Вас на скрине я не писал, хотя параметры из моего последнего....
 

GhostWarrior

Элитный участник
Как можно компилировать уже откомпилированную версию?
Я Вас не понимаю и не знаю что именно Вы пытаетесь делать.
Советника с таким именем как у Вас на скрине я не писал, хотя параметры из моего последнего....
а почему тогда при компиляции вашего советника Метаедитор выдает ошибку? Я всегда сначала компилирую советника с открытом кодом,чтобы проверит на ошибки...
Я проста написал названию проста так Cmillion EWA.
 
Последнее редактирование:

cmillion

Гуру форума
а почему тогда при компиляции вашего советника Метаедитор выдает ошибку? Я всегда сначала компилирую советника с открытом кодом,чтобы проверит на ошибки...
Я проста написал названию проста так Cmillion EWA.

Очень просто! Я не выкладывал исходного кода советника, а то что Вы пытаетесь компилировать это только параметры советника. Сам же он в ex4 формате и поверьте компилятор на него не ругался :)

_http://yadi.sk/d/1NUp-o124RW3r
 
Последнее редактирование модератором:

zhivistrana

Почетный гражданин
1)Если сделки будут закрываться по CloseRevers то никогда не будет открыто более 1 следки в одном направлении и сам смысл усреденения пропадет. (нечем будет усреднять и нечего)
2) RiskPercent это параметр, какой Вы его подберете такой и будет правильный, для депозита в 100 usd возможно правильно поставить 1, а для депозита в миллион долларов может быть правильным будет 0,01
3 вот по поводу тейкпрофита мне Ваша идея понравилась, я подумаю как ее воплатить, скорей всего это будет виртуальный тейкпрофит. Т.е. закрываться ордера будут в том случае, когда МА начнут сближаться до заданного уровня.
Что касается ММ (что бы не возвращаться), я имел в виду то, что у Вас стоит по умолчанию десятичная дробь, а риск понимает целые числа. Сов. принимает к исполнению целые числа. Новую версию посмотрим. Есть ещё идеи.
 

cmillion

Гуру форума
Что касается ММ (что бы не возвращаться), я имел в виду то, что у Вас стоит по умолчанию десятичная дробь, а риск понимает целые числа. Сов. принимает к исполнению целые числа. Новую версию посмотрим. Есть ещё идеи.

Риск может быть и дробным числом, например 0,01% от свободных средств. И в советнике именно так и стоит и конечно советник понимает дроби.
 

greatiger

Активный участник
скажите кто-нибудь - советники из данной ветки бесплатные, работают без всяких паролей? а то что-то ажиотажа не видно...
 

cmillion

Гуру форума
скажите кто-нибудь - советники из данной ветки бесплатные, работают без всяких паролей? а то что-то ажиотажа не видно...

Здесь есть советники бесплатные и условно бесплатные. Т.е. открываете счет по партнерской ссылке и пользуетесь советником бесплатно. Моя выгода в том, что часть спреда, который Вы дарите брокеру, брокер дает мне. Т.е. Вы не чего не теряете.
 
Последнее редактирование:

jenny777

Почетный гражданин
Убрал все лишнее (тейкпрофит) и советник стал работать еще интереснее!
Теперь серии ордеров закрываются при обратном сигнале в случае если серия находится в прибыли.

ПАРАМЕТРЫ

PHP:
extern int     period_1             = 5,           //Период усреднения для вычисления первой MA. 
               ma_shift_1           = 0,           //Сдвиг индикатора относительно ценового графика. 
               ma_method_1          = MODE_EMA,    //Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average). 
                                                   //MODE_SMA 0 Простое скользящее среднее  
                                                   //MODE_EMA 1 Экспоненциальное скользящее среднее  
                                                   //MODE_SMMA 2 Сглаженное скользящее среднее  
                                                   //MODE_LWMA 3 Линейно-взвешенное скользящее среднее  

               applied_price_1      = PRICE_OPEN;  //Используемая цена. Может быть любой из ценовых констант. 
                                                   //PRICE_CLOSE 0 Цена закрытия  
                                                   //PRICE_OPEN 1 Цена открытия  
                                                   //PRICE_HIGH 2 Максимальная цена  
                                                   //PRICE_LOW 3 Минимальная цена  
                                                   //PRICE_MEDIAN 4 Средняя цена, (high+low)/2  
                                                   //PRICE_TYPICAL 5 Типичная цена, (high+low+close)/3  
                                                   //PRICE_WEIGHTED 6 Взвешенная цена закрытия, (high+low+close+close)/4  

extern int     period_2             = 30,          //Период усреднения для вычисления второй MA. 
               ma_shift_2           = 0,           //Сдвиг индикатора относительно ценового графика. 
               ma_method_2          = MODE_LWMA,   //Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average). 
               applied_price_2      = PRICE_OPEN,  //Используемая цена. Может быть любой из ценовых констант. 
               timeframe_2          = 0;           //Период. Может быть одним из периодов графика. 0 означает период текущего графика. 

extern int     barOpen              = 1;           //бар на котором ждем сигнал (0- текущий  1 - прошлый) 

extern bool    Buy            = true;  //разрешить сделки Buy 
extern bool    Sell           = true;  //разрешить сделки Sell 
extern int     Step           = 20;    //расстояние между открываемыми ордерами в сетке ордеров  
extern double  Lots           = 0.0;   //если=0 то лот будет расчитан как процент от свободных средств по RiskPercent %  
extern double  RiskPercent    = 0.01;  //Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0 
extern double  K_Lot          = 1.5;   //умножение лота  
extern double  Max_Lot        = 150;   //ограничение размера лота 
extern int     DigitsLot      = 2;     //кол-во знаков после запятой в размере лота (2 - 0,01) (1 - 0,1) 

extern int     OrdersTrall    = 5;     //кол-во ордеров, после которого разрешаем тралить 
extern bool    VirtualTS      = false; //выставлять виртуальный или реальный тралл  
extern int     TrailingStop   = 15;     //если 0 то нет тралла стоплоссов  

extern string   _____________  = "Filter Time"; 
extern int     TimeStart       = 0 ,    //ограничение времени работы советника 
               TimeEnd         = 24,    //не открываем ордера и закрываем отложки если время не между TimeStart и TimeEnd 
               FridayHourClose = 16;    //час закрытия ордеров в пятницу

Если б такие результаты на Ф4ю получить как на этой картинке.
 

GhostWarrior

Элитный участник
Прогнал с настройками то что были, но можно получить результаты и лучше если провести оптимизацию именно на этом брокере.

Посмотреть вложение 116157
Если котировки от ф4ю то да согласен, если от метаквота то неизвестно что получится.
а в альпари пока что результаты в худшую сторону, оптимизировать надо по котировкам альпари.
 

zhivistrana

Почетный гражданин
Убрал все лишнее (тейкпрофит) и советник стал работать еще интереснее!
Теперь серии ордеров закрываются при обратном сигнале в случае если серия находится в прибыли.

ПАРАМЕТРЫ

PHP:
extern int     period_1             = 5,           //Период усреднения для вычисления первой MA. 
               ma_shift_1           = 0,           //Сдвиг индикатора относительно ценового графика. 
               ma_method_1          = MODE_EMA,    //Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average). 
                                                   //MODE_SMA 0 Простое скользящее среднее  
                                                   //MODE_EMA 1 Экспоненциальное скользящее среднее  
                                                   //MODE_SMMA 2 Сглаженное скользящее среднее  
                                                   //MODE_LWMA 3 Линейно-взвешенное скользящее среднее  

               applied_price_1      = PRICE_OPEN;  //Используемая цена. Может быть любой из ценовых констант. 
                                                   //PRICE_CLOSE 0 Цена закрытия  
                                                   //PRICE_OPEN 1 Цена открытия  
                                                   //PRICE_HIGH 2 Максимальная цена  
                                                   //PRICE_LOW 3 Минимальная цена  
                                                   //PRICE_MEDIAN 4 Средняя цена, (high+low)/2  
                                                   //PRICE_TYPICAL 5 Типичная цена, (high+low+close)/3  
                                                   //PRICE_WEIGHTED 6 Взвешенная цена закрытия, (high+low+close+close)/4  

extern int     period_2             = 30,          //Период усреднения для вычисления второй MA. 
               ma_shift_2           = 0,           //Сдвиг индикатора относительно ценового графика. 
               ma_method_2          = MODE_LWMA,   //Метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average). 
               applied_price_2      = PRICE_OPEN,  //Используемая цена. Может быть любой из ценовых констант. 
               timeframe_2          = 0;           //Период. Может быть одним из периодов графика. 0 означает период текущего графика. 

extern int     barOpen              = 1;           //бар на котором ждем сигнал (0- текущий  1 - прошлый) 

extern bool    Buy            = true;  //разрешить сделки Buy 
extern bool    Sell           = true;  //разрешить сделки Sell 
extern int     Step           = 20;    //расстояние между открываемыми ордерами в сетке ордеров  
extern double  Lots           = 0.0;   //если=0 то лот будет расчитан как процент от свободных средств по RiskPercent %  
extern double  RiskPercent    = 0.01;  //Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0 
extern double  K_Lot          = 1.5;   //умножение лота  
extern double  Max_Lot        = 150;   //ограничение размера лота 
extern int     DigitsLot      = 2;     //кол-во знаков после запятой в размере лота (2 - 0,01) (1 - 0,1) 

extern int     OrdersTrall    = 5;     //кол-во ордеров, после которого разрешаем тралить 
extern bool    VirtualTS      = false; //выставлять виртуальный или реальный тралл  
extern int     TrailingStop   = 15;     //если 0 то нет тралла стоплоссов  

extern string   _____________  = "Filter Time"; 
extern int     TimeStart       = 0 ,    //ограничение времени работы советника 
               TimeEnd         = 24,    //не открываем ордера и закрываем отложки если время не между TimeStart и TimeEnd 
               FridayHourClose = 16;    //час закрытия ордеров в пятницу
Трал уменьшает прибыль примерно в 2 раза, с 50000 до 28000 за 4 месяца.
Вместо "K_Lot = 1.5; //умножение лота" надо добавить таблицу коэффициентов. Для каждого колена свой ко-нт. Достаточно будет 5-и ко-ов. Последний 5-й применять для всех последующих начиная с пятого. Это позволит повысить концентрацию тяжёлых ордеров ближе к точке разворота.
 
Последнее редактирование:

zhivistrana

Почетный гражданин
Я тут своего советника сделал, а то у Вас баннер выскакивает.
 

Вложения

  • Буфер обмена03.jpg
    Буфер обмена03.jpg
    102,9 КБ · Просмотры: 133
Последнее редактирование:
Верх