ruslan71
Руслан

 
Уровень 21

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2092



РЕКОМЕНДУЮ



Переделка советника
[*]

Здраствуйте уважаемый Андрей переделайте пожалуйста условие входа в заказе ссылка заказа zakaz.opentraders.ru/25911.html если луч зигзага нарисовался снизу в верх то вход в продажи если наоборот то в покупки и пожалуйста по одной сделке при достижение тйка или стопа ждем следущий сигнал
  • +1
  • Просмотров: 4603
  • 2 января 2016, 10:50
  • ruslan71
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
Следующая запись в группе  
индикатор информер
02 января 2016
02 января 2016

Комментарии (35)

+
0
Сейчас посмотрю.
avatar

  34  AM2 Сообщений: 15905 - Андрей

  • 2 января 2016, 15:37
+
0
Сделал с выбором направления сигнала: www.opentraders.ru/downloads/779/

extern int Reverse = 1; //1-реверс. 0-нет.



Редактирован: 2 января 2016, 16:58
avatar

  34  AM2 Сообщений: 15905 - Андрей

  • 2 января 2016, 16:55
+
0
спасибки С ПРАЗДНИЧКОМ
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 3 января 2016, 08:49
+
0
Андрей добавьте пожалуйсто увеличение лота после минусовой сделки параматер увеличение лота величина изменяемая
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 4 января 2016, 10:47
+
0
Добавил: www.opentraders.ru/downloads/779/


//+------------------------------------------------------------------+
//|                                                       Ruslan.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Simple expert advisor"

#include <stdlib.mqh>

//--- Inputs
extern double StopLoss    = 500; //лось
extern double TakeProfit  = 500; //язь
extern int    Slip        = 100; //проскальзывание
extern int    StartHour   = 9;   //час начала торговли
extern int    EndHour     = 18;  //час окончания торговли
extern int    Reverse     = 1;   //1-реверс. 0-нет.
extern int    Magic       = 123; //магик
extern double Lots        = 0.1; //начальный лот
extern double MaxLot      = 5;   //максимальный лот
extern double KLot        = 2;   //увеличение лота
extern string s = "------------- Настройки ZigZag Larsen -------------";
extern int NoiseLevel     = 30;  // 
extern int SwitchPersent  = 30;  // 
extern int Mode           = 0;   // 
extern int OncePerCandle  = 1;   // 
extern int MaxBars        = 300; // 
extern string ss = "     ------------- Настройки MACD ------------- ";
extern int MACD           = 0;   // 0-выкл. 1-вкл.
extern int Fast           = 12;  // 
extern int Slow           = 26;  // 
extern int Signal         = 9;   // 

datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//Comment("");

  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   bool buy,sell;
   double sl=0,tp=0;
   int res=0,err=0;
//--- get ind
   double YellowPoint=iCustom(Symbol(),0,"ZigZag_Larsen_101",NoiseLevel,SwitchPersent,Mode,OncePerCandle,1,1);
   double RedPoint=iCustom(Symbol(),0,"ZigZag_Larsen_101",NoiseLevel,SwitchPersent,Mode,OncePerCandle,2,1);
   double macd=iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,1);

   if(Reverse==0)
     {
      if(MACD==0)
        {
         buy=RedPoint>0;
         sell=YellowPoint>0;
        }

      if(MACD==1)
        {
         buy=RedPoint>0 && macd>0;
         sell=YellowPoint>0 && macd<0;
        }
     }

   if(Reverse==1)
     {
      if(MACD==0)
        {
         sell=RedPoint>0;
         buy=YellowPoint>0;
        }

      if(MACD==1)
        {
         sell=RedPoint>0 && macd>0;
         buy=YellowPoint>0 && macd<0;
        }
     }
//--- sell conditions
   if(sell)
     {
      if(StopLoss>0) sl=NormalizeDouble(Bid+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(Bid-TakeProfit*Point,Digits);
      res=OrderSend(Symbol(),OP_SELL,Lot(),NormalizeDouble(Bid,Digits),Slip,sl,tp,"",Magic,0,Red);
      if(res<0)
        {
         err=GetLastError();
         Print("ОШИБКА ВЫСТАВЛЕНИЯ ОРДЕРА SELL: ",err,"(",ErrorDescription(err),")");
           } else {
         RefreshRates();
        }
      return;
     }
//--- buy conditions
   if(buy)
     {
      if(StopLoss>0) sl=NormalizeDouble(Ask-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(Ask+TakeProfit*Point,Digits);
      res=OrderSend(Symbol(),OP_BUY,Lot(),NormalizeDouble(Ask,Digits),Slip,sl,tp,"",Magic,0,Blue);
      if(res<0)
        {
         err=GetLastError();
         Print("ОШИБКА ВЫСТАВЛЕНИЯ ОРДЕРА BUY: ",err,"(",ErrorDescription(err),")");
           } else {
         RefreshRates();
        }
      return;
     }
//---
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Calculate optimal lot size                                       |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot;
   if(OrdersHistoryTotal()==0)
     {
      lot=Lots;
     }
   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderProfit()>0)
        {
         lot=Lots;
        }
      if(OrderProfit()<=0)
        {
         lot=OrderLots()*KLot;
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }  
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   double YellowPoint=iCustom(Symbol(),0,"ZigZag_Larsen_101",NoiseLevel,SwitchPersent,Mode,OncePerCandle,1,1);
   double RedPoint=iCustom(Symbol(),0,"ZigZag_Larsen_101",NoiseLevel,SwitchPersent,Mode,OncePerCandle,2,1);

   if(TimeHour(TimeCurrent())>=StartHour && TimeHour(TimeCurrent())<EndHour)
     {
      if(CountTrades()<1 && t!=Time[0])
        {
         OpenPos();
         t=Time[0];
        }
     }

   Comment("\n YellowPoint ",YellowPoint,
           "\n RedPoint ",RedPoint);
//---
  }
//+------------------------------------------------------------------+

avatar

  34  AM2 Сообщений: 15905 - Андрей

  • 4 января 2016, 18:54
+
0
Андрей спасибо только я просил переделать условие входа не по стрелочке а по лучу зигзагу и в обратную сторону а то он то нормально то не не правильно вход делает вот тут должна быть продажа а он в покупки полез поправьте пожалуста
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 4 января 2016, 22:48
+
0
Какие настройки у вас стоят в этот момент?
avatar

  34  AM2 Сообщений: 15905 - Андрей

  • 5 января 2016, 00:02
+
0
ваших не менял все по умолчанию реверс включен макди выключен короткий тейк м5
Редактирован: 5 января 2016, 09:40
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 5 января 2016, 08:22
+
0
вот тут все впорядке по реверсу
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 5 января 2016, 11:09
+
0
Какой р-р Slip тут считаете оптимальным?
Поставил 10. Пойдёт?
Редактирован: 5 января 2016, 18:20
avatar

  11  preasto Сообщений: 445

  • 5 января 2016, 18:19
+
0
как я понял, чтобы открывало нормально ордера, установка Реверс д.б. = 0
avatar

  11  preasto Сообщений: 445

  • 6 января 2016, 13:08
+
0
в покупки полез поправьте пожалуста


Я прошу скрин с настройками в момент когда сделка открыта неправильно.
avatar

  34  AM2 Сообщений: 15905 - Андрей

  • 6 января 2016, 15:21
+
0
в покупки полез — я думаю, стоял по-умолчанию Реверс=1.
У меня тоже сначала так стояло и реверсировало. Надо поставить Реверс=0 — и все норм. тогда.
*Вообще — какое-то примечание по настройкам — что это, что делает было б замечательно и убирало вопросы.

Напр. мне непонятно, что такое Shift*, какой Slip лучше ставить — минимальный, или по-больше, и как это на открытие ордеров тут влияет,
как работает TralingStop — указание ему п. даёт уровень его вкл.(отступ) от цены ордера? Это СЛ туда передвигается? А шаг? А отступ от текущей цены?

*нашел: extern int Shift= 1; // Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
(это параметр и из др. советника)
***

Вот вопросы по работе сов. Основное:
1. Не всегда открывает ордера, где явно можно — и сигнал есть.
2. Открывает ложные (когда появляются коррекционные пики и сигналы(точки).

Заметки-идеи по этому поводу.

Задача-вопрос.
1. Как фильтровать ложные сигналы(точки)?<br/>

Идеи по работе с ложными и минусовыми ордерами.
Сделать настройки:
1)Перенос ТП в БУ, когда цена ушла на «Х» п. против ордера
И перенос в БУ когда цена прохла «Х» п. или по условию: напр. появление обратного сигнала.
2)Функция: Лок вместо СЛ. На уровне СЛ открывается локирующий ордер обратный исходному.
СЛ и ТП таких ордеров удаляются.
Вопрос разруливания локов — отдельно.
(напр. можно руками — подтягивая ТП по ним в нужные места, на очередном развороте, или усредняя доп. ордерами. Чаще получается разрулить или свести минус к минимуму. Суммарный результат минимум в 2-3 р. лучше, чем суммарный же убыток по СЛ. Кроме того депозит в это время — не убавляется сразу как при СЛ. И даже длинные тренды можно переждать и спокойно подумать уже).



(!) Я тут попутал темы. — тестирую сразу 3 советника. <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp;  Скрин — по результату работы советника на полной основе индикатора: 3Bollinger Bands Stop_v2
zakaz.opentraders.ru/22397.html
Поместил копию записи туда же. Это же относится и к Советник по индикатору BBands_Stop_v1.
zakaz.opentraders.ru/28077.html
Но этот сам по себе реверсирует, а настройки Ревер=0/1 в нём нет. Добавить бы для порядка…

Но по работе сов. «ZigZag Larsen» — те же результаты, идеи, вопросы, предложения.
Редактирован: 6 января 2016, 23:53
avatar

  11  preasto Сообщений: 445

  • 6 января 2016, 18:58
+
0
ZigZag Larsen 101 — индикатор разворотных точек
Советы по настройкам (из недр рунета).
ZigZag нового типа, не перерисовывающимся и идеально показывающим точки разворота цен (с небольшим опозданием, но минимальным!).

Разработчик (г-н Ларсен) этого индикатора определил для него
3 (mode) значения: 0 – по средней, 1 – по low, 2 – по high,

а также вероятность отсеивания «шумов» (NoiseLevel) на графике цены и корректировки чувствительности ZigZag

«Дискретность» зигзага регулируется параметром NoiseLevel, фаза детектора разворота устанавливается параметром SwitchPersent.
*прим. к посту (тоже речь о Mode — но в настройках виден только 1 Mode)
Если Параметр Mode = 0 — срабатывание по закрытию свечи, Mode = 1 — по открытию свечи. Предпочтительней по открытию, в этом режиме запаздывание на 1 интервал, зато нет ложных переключений.

Можно установить SwitchPersent = 40-50 и просто торговать по разворотам (см график). Пусть вас не смущает, что точка разворота как бы сдвинута от действительного экстремума. Но на самом деле вершина зигзага находится в точке, где в действительности регистрируется разворот. Это удобно, т.к. на графике можно определить значение цены на момент индикации разворота. В качестве вспомогательных индикаторов можно использовать стохастик и параболик.

Процент прибыльных сделок в таком режиме ожидается порядка 60%.

Редактирован: 6 января 2016, 20:15
avatar

  11  preasto Сообщений: 445

  • 6 января 2016, 19:57
+
0
да во флете плюс стабильный а стрэндом все это при включеном реверсе соответственно при выключеном все наоборот
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 7 января 2016, 16:27
+
0
вот, как бы его (и себя :)  ) научить тренд определять:
когда вкл. реверс, когда откл.…
может индикаторы какие… или по наклону каналов с разных ТФ…
avatar

  11  preasto Сообщений: 445

  • 8 января 2016, 14:25
+
0
да только наклоны каналов можно в сову вставить?
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 9 января 2016, 06:44
+
0
можно. берётся средняя линия канала, и/или МА, за сколько-то свечей(период) и определяется её % наклон относительно горизонтали (вверх-вниз).
По-идее, для этого в сов. надо настройки добавить:
— % наклона канала для принятия решения о тренде
— и к-во свечей (период) расчёта (канала)
— м.б. что-то ещё из критериев тренда, в т.ч., банально, пересечение 2-3 МА.
avatar

  11  preasto Сообщений: 445

  • 9 января 2016, 14:41
+
0
ма обычно очень запаздывают
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 9 января 2016, 20:34
+
0
МА запаздывает — и, что?
Зато если см. МА по старшим ТФ — несколько сопоставлять, и входить по сигналам с их фильтром, сделок будет меньше, зато почти все по направлению движения.
И МА — не единственный, но самый понятный вариант определения тенденции, тренда.
МА также надо сопоставлять с наклоном канала — можно и только по наклону канала фильтровать + МА на добавку.
avatar

  11  preasto Сообщений: 445

  • 11 января 2016, 14:53
+
0
Андрей с праздником вас пропустил ваше сообщение уже не найду этих настроек хотя нечего не менял счас пока все впорядке еще посмотрю на демо
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 7 января 2016, 10:23
+
0
интересная мысль и хороший подход по алгоритму работы для фильтров вообще
avatar

  11  preasto Сообщений: 445

  • 11 января 2016, 15:24
+
0
Уважаемый Андре можно ли добавить такое условие в заказе zakaz.opentraders.ru/29909.html#comment114496 вы добавили ма условие трэнда так вот если цена пересекает с низу в верх ма и луч зигзага идет снизу в верх то реверс не включаеться если цена пересекает снизу в верх ма а луч зигзага направлен наоборот тобишь с верху в низ то реверс включаеться
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 10 января 2016, 12:52
+
0
вот вобщем прогонка в тестере за 2 года со всеми тиками
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 10 января 2016, 13:21
+
0

avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 10 января 2016, 13:53
+
0
у меня в тестере похоже, но на демке не так радужно уже.
Хотя скорее в плюс.
ruslan71, какие ещё настройки в тестах брались?
Я уменьшал периоды индикаторов на 1/5 — 1/3 и р-р ТП от 50 на М1 до 500п. по разным ТФ.

Почему при ТР=5 Slip=100, а не меньше?
ТП=5 п. по 5-знаку?

К=… лот чему равнялся коэфф. мартина?

Торговля с 9 до 10ч., т.е. только 1 час в день?
Редактирован: 11 января 2016, 15:15
avatar

  11  preasto Сообщений: 445

  • 11 января 2016, 14:56
+
0
да ставил 1 час пробуйте слип меньше сова была вариант бес мартина так как все сделки были плюсовые попробуйте с меньшим слипом если не трудно отпишитесь что получиться
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 11 января 2016, 23:13
+
0
Ставил в тестере слип = 100, 10, 3- разницы не заметил
avatar

  11  preasto Сообщений: 445

  • 16 января 2016, 16:52
+
0
Торговля с 9 до 10ч. по какому времени? По GMT? По брокеру?
Какой отступ по времени у брокера относительно GMT?
avatar

  11  preasto Сообщений: 445

  • 14 февраля 2016, 20:09
+
+1
Выставлял в сове с 9 до 10 брокрер робофорекс все как обычно
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 14 февраля 2016, 20:16
+
0
но не советую на реал стопы большие смотрите другой заказ там все в норме прибыль за год с 10 тонн 25 при просадке 23%
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 14 февраля 2016, 20:18
+
0
его доделывать нужно
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 14 февраля 2016, 20:19
+
0
я пробовал на демке NoseLevel=50 — показалось, что более точные входы
Редактирован: 11 января 2016, 15:26
avatar

  11  preasto Сообщений: 445

  • 11 января 2016, 15:18
+
0
да, как фильтр, можно учитывать к МА ещё и RCI и стохастики
Редактирован: 11 января 2016, 15:25
avatar

  11  preasto Сообщений: 445

  • 11 января 2016, 15:22
+
0
настройки на пятизнак те что в тестере там видно ну много фильтров не поставишь наблюдал даже за макди тоже можно пробовать
avatar

  21  ruslan71 Автор Сообщений: 974 - Руслан

  • 11 января 2016, 22:35

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари