Советник DC

eevviill

Заблокирован
D

Сегодня вышел на связь програмист который делал этот советник. Даже он не смог сходу разгадать в чём была неточночть. Пришлось обращатся к Алексею с форума Alpari. Он тоже долго искал в чём была причина. Нашел (не буду говорить что точно, так как это уже смешно выглядит). Проверял. Кроме того что с минимальными настройками при прикреплении открывает все что надо ордера, так ещё я и проседел и понаблюдал. ВРОДИБЫ всё работает. Надо ещё протестировать.

Буду писать в названии сообщения версии, чтобы легче было распознавать.
 

Вложения

  • DC - final edition(300).ex4
    156,8 КБ · Просмотры: 77
  • DC - final edition(400).ex4
    156,8 КБ · Просмотры: 74

CiNick

Активный участник
Не совсем понял, предыдущую на эту нужно менять? В ней что-о изменилось?
Сейчас висят баи EURJPY и EURUSD
 

CiNick

Активный участник
Кстати закрылись -24 и -24 по SL. Неудачный денёк...
 

eevviill

Заблокирован
Кстати закрылись -24 и -24 по SL. Неудачный денёк...
Только что ещё раз проверил. Версия D работает коректно.

А сегодня денёк был бы ОК, если бы советник работал. Понятно что после боя руками не машут. А если бы на голове росли грибы... но всё же. в первые 10 минут пейролза должно было быть 3 ТП. А потом да. +12 -24 -24 -24
 

eevviill

Заблокирован
E

Добрый день. Вот и подошла к концу эпопея по ремонту советника.
Проблемой был Фреш сигнал. Если последним менялся в нужную сторону для открытия ордера AVG то всё нормально, ордер открывался. А если какой то из фильтров, то не открывался. По идеи(и по коду) фреш сигнал должен действовать только на AVG, но почему то он действовал на фильры тоже. Пришлось проверку фильтров перенести и поставить перед проверкой AVG. Помогло


Было
PHP:
if(GO && (atr>=ATRLevel || !UseATR) && CheckAVGfresh(1, AVG_eur, AVG_usd))
    {
     if((AVG_eur-AVG_usd)>=Enter && DaHL>0 && ML>0 && DfMA>0 && buy==0)
      Buy(symb, Lot, SL, TP, symb+Comment_, slip, MAGIC, MaxAttempts, Blue);
     if((AVG_usd-AVG_eur)>=Enter && DaHL>0 && ML>0 && DfMA<0 && sell==0)
      Sell(symb, Lot, SL, TP, symb+Comment_, slip, MAGIC, MaxAttempts, Red);
    }

Стало
PHP:
if(DaHL>0 && ML>0 && DfMA>0)
   {
   if(GO && (atr>=ATRLevel || !UseATR) && CheckAVGfresh(1, AVG_eur, AVG_usd))
    {
     if((AVG_eur-AVG_usd)>=Enter && buy==0) Buy(symb, Lot, SL, TP, symb+Comment_, slip, MAGIC, MaxAttempts, Blue);
     }
     }
     
     
  if(DaHL>0 && ML>0 && DfMA<0)
   {
   if(GO && (atr>=ATRLevel || !UseATR) && CheckAVGfresh(2, AVG_eur, AVG_usd))
    {
     if((AVG_usd-AVG_eur)>=Enter && sell==0) Sell(symb, Lot, SL, TP, symb+Comment_, slip, MAGIC, MaxAttempts, Red);
     }
     }
 

Вложения

  • DC - final edition(300).ex4
    157,7 КБ · Просмотры: 63
  • DC Fresh.jpg
    DC Fresh.jpg
    94 КБ · Просмотры: 95
  • DC - final edition(400).ex4
    157,7 КБ · Просмотры: 59
Последнее редактирование:

eevviill

Заблокирован
E

А вот рабочая версия для тех кто хочет потестировать со всеми парами.
 

Вложения

  • DC - final edition(all pairs).ex4
    224,2 КБ · Просмотры: 96

eevviill

Заблокирован
DC - final edition

[NOTE]
ЦЕЛИ
1)Первой целью с которой я выкладывал советника, было желание научить людей делится. Чтобы на моём примере вы увидели что это не страшно и не больно. Это приносит удовольствие.
2)Может это и глупая цель, но... Суть заключалась в том, чтобы с помощью моего советника и примера деления, люди развивали экономическое состояние районов там где они живут. И со временем перестали относится к деньгам как к источнику счастья.
Третьей целью была помощь в тестированию советника.



ОБЩЕЕ
1)Советник торгует по 6 валютным парам EURUSD EURJPY GBPUSD GBPJPY AUDUSD AUDJPY.
2)Работает по тикам.
3)Работает по трендовому методу открытия ордера.
4)Учитывает соотношение всех валютных пар на всех таймфреймах.
5)Работает на 4 и 5 знаках. На обычных счетах и ECN,NDD счетах.
6)Вход при перевесе одной валюты над другой(AVG).
7)Есть безубыток.
8)Выход по ТП, СЛ или AVG.
9)Работает функция Fresh Signal. Перед возможностью нового входа разница AVG 2-их валют должна опустится ниже 100. Например AVG(eur)=-42 AVG(usd)=40.




ИНСТРУКЦИЯ ПО УСТАНОВКЕ
1)Открываем терминал.
2)Нажимаем на "Показать все символы".
3)Открываем график М1 какой-то валютной пары. Желательно GBPUSD.
4)Прикрепляем скрипт по закачке котировок и ждём окончание его работы.
5)Закрываем терминал. Чтобы сохранить закаченные котировки.
6)Открываем терминал и прикрепляем советник.




ПЕРЕМЕННЫЕ
COLOR=black]1)"Валютные пары"=Выбор валютных пар участвующих в торгах.
2)Lot=Лот открытия ордера.
3.1)Enter=Значение AVG одной валюты должно быть больше значения ентер, а другой меньше –ентер, для открытия ордера.
3.2)Exit=Значение AVG одной валюты должно быть меньше значения ексит, а другой меньше –ексит, для закрытия ордера.
4)Spread_Limit=Минимальное значение спреда для возможности входа.
5)Close_Profit=При достижение профита заданному уровню, все позиции закроются.
6.1)UseATR=Использование ATR для возможности входа.
6.2)TFATR=Таймфрейм ATR.
6.3)ATRPeriod=Период ATR.
6.4)ATRLevel=Минимальное значение ATR для входа в рынок(две последнии цифры*3).
7.1)TP=Тейк профит.
7.2)SL=Стоп лос.
8.1)Bezubitok=Использование безубытка.
8.2)BULevel=Количество пунктов для переноса позиции в безубыток.
8.3)BUsize=Количество пунктов на которое переносится СЛ от цены ордера.
9.1)StartHour=Начало роботы советника.
9.2)StopHour=Конец роботы советника.
9.3)Friday_close_orders_hour=Время закрытия всех ордеров в пятницу.
10)slip=Проскальзывание.
11)MaxAttempts=Максимальное количество попыток открытия ордера.
12)MAGIC=Индивидуальный номер ордеров выставляемых советником.
13)Comment_=Коментарий к открытому ордеру.
14.1)FontSize=Размер индикатора Dashboard на мониторе.
14.2)Period_=Период расчёта МA и ATR используемых индикатором.
15)col=Настройки цвета данных.
16)siz=Настройки размера данных.




БЛАГОДАРНОСТЬ
Огромное спасибо всем принимавшим участие в тестировании советника. Было очень приятно что не только пылесосы присутствували. Вы помогли сделать настоящего советника. Нет, даже не советника, а самостоятельную програму которая скорее всего будет приносить прибыль. Еще раз всем СПАСИБО!


P.S. И всё таки на вопрос "Где ты видел чтобы кто то раздавал что то хорошее?", не забудьте ответить "Что ты *, вон eevviill выкладывал"


[/NOTE]
 

Вложения

  • Котировки - mandorr.ex4
    3,8 КБ · Просмотры: 119
  • DC instruction.jpg
    DC instruction.jpg
    98,2 КБ · Просмотры: 77
  • DC - final edition.mq4
    149,9 КБ · Просмотры: 67
Последнее редактирование модератором:

eevviill

Заблокирован
A

...
 

Вложения

  • DC - final edition.ex4
    181,2 КБ · Просмотры: 72
Последнее редактирование:

eevviill

Заблокирован
А постом выше с ошибками?
Да. Пост А без ошибок.

А здесь вообще без ошибок.
Я извеняюсь, но может быть что это ещё не всё. Только соеденил их сегодня. Надо ещё проверить.
 

Вложения

  • DC - final edition.ex4
    181,2 КБ · Просмотры: 87
Последнее редактирование:

eevviill

Заблокирован
Да. Пост А без ошибок.

А здесь вообще без ошибок.
Я извеняюсь, но может быть что это ещё не всё. Только соеденил их сегодня. Надо ещё проверить.
Всё ОК. Можно торговать. (537)

P.S. Сегодня отключили интернет. На связь буду выходить не часто.
 
Последнее редактирование:

eevviill

Заблокирован
C

Вот. Добавил немного кода
PHP:
...
 extern string col = "Настройки цвета данных";
 
  extern color eurusd = Yellow;
  extern color eurusd2 = OrangeRed;
  extern color eurjpy = Red;
  extern color eurjpy2 = FireBrick;
  extern color gbpusd = Blue;
  extern color gbpusd2 = LightBlue;
  extern color gbpjpy = Green;
  extern color gbpjpy2 = SpringGreen;
  extern color audusd = DarkGoldenrod;
  extern color audusd2 = Chocolate;
  extern color audjpy = SeaGreen;
  extern color audjpy2 = Teal;
...
symb = "EURUSD";
ObjectCreate("Pair1",OBJ_LABEL,0,0,0);
ObjectSet("Pair1",OBJPROP_CORNER,0);
ObjectSet("Pair1", OBJPROP_XDISTANCE,10);
ObjectSet("Pair1", OBJPROP_YDISTANCE, 34);
ObjectSetText("Pair1",symb,12,"Arrial",eurusd);

ObjectCreate("AVG1",OBJ_LABEL,0,0,0);
ObjectSet("AVG1",OBJPROP_CORNER,0);
ObjectSet("AVG1", OBJPROP_XDISTANCE,150);
ObjectSet("AVG1", OBJPROP_YDISTANCE, 34);
ObjectSetText("AVG1","AVG(min"+Enter+")="+DoubleToStr(AVG_eur-AVG_usd,0),12,"Arrial",eurusd);

ObjectCreate("ATR1",OBJ_LABEL,0,0,0);
ObjectSet("ATR1",OBJPROP_CORNER,0);
ObjectSet("ATR1", OBJPROP_XDISTANCE,320);
ObjectSet("ATR1", OBJPROP_YDISTANCE, 34);
ObjectSetText("ATR1","ATR(min"+DoubleToStr(ATRLevel,0)+")="+DoubleToStr(atr,0),12,"Arrial",eurusd);

ObjectCreate("DaHL1",OBJ_LABEL,0,0,0);
ObjectSet("DaHL1",OBJPROP_CORNER,0);
ObjectSet("DaHL1", OBJPROP_XDISTANCE,490);
ObjectSet("DaHL1", OBJPROP_YDISTANCE, 34);
ObjectSetText("DaHL1","DailyHighLow(min"+Min_D_High_Low+")="+DoubleToStr((iHigh(symb,PERIOD_D1,0)-iLow(symb,PERIOD_D1,0))*10000,0),12,"Arrial",eurusd);

ObjectCreate("DfMA1",OBJ_LABEL,0,0,0);
ObjectSet("DfMA1",OBJPROP_CORNER,0);
ObjectSet("DfMA1", OBJPROP_XDISTANCE,720);
ObjectSet("DfMA1", OBJPROP_YDISTANCE, 34);
ObjectSetText("DfMA1","Price-MA(min"+Min_Distance_from_MA+" (if Down+"+spread+"))="+DoubleToStr((iClose(symb,0,0)-MA)*10000,0),12,"Arrial",eurusd);

ObjectCreate("ML1",OBJ_LABEL,0,0,0);
ObjectSet("ML1",OBJPROP_CORNER,0);
ObjectSet("ML1", OBJPROP_XDISTANCE,1000);
ObjectSet("ML1", OBJPROP_YDISTANCE, 34);
ObjectSetText("ML1","CandleLenth(max"+Max_lenth_of_Candle+")="+DoubleToStr((iHigh(symb,0,0)-iLow(symb,0,0))*10000,0),12,"Arrial",eurusd);

/////////////////////////////////////////////////////////////////


ObjectCreate("Pair11",OBJ_LABEL,0,0,0);
ObjectSet("Pair11",OBJPROP_CORNER,0);
ObjectSet("Pair11", OBJPROP_XDISTANCE,10);
ObjectSet("Pair11", OBJPROP_YDISTANCE, 54);
ObjectSetText("Pair11",symb,12,"Arrial",eurusd2);

ObjectCreate("AVG11",OBJ_LABEL,0,0,0);
ObjectSet("AVG11",OBJPROP_CORNER,0);
ObjectSet("AVG11", OBJPROP_XDISTANCE,150);
ObjectSet("AVG11", OBJPROP_YDISTANCE, 54);
ObjectSetText("AVG11","AVG(min"+New_Enter+")="+DoubleToStr(AVG_eur-AVG_usd,0),12,"Arrial",eurusd2);

ObjectCreate("ATR11",OBJ_LABEL,0,0,0);
ObjectSet("ATR11",OBJPROP_CORNER,0);
ObjectSet("ATR11", OBJPROP_XDISTANCE,320);
ObjectSet("ATR11", OBJPROP_YDISTANCE, 54);
ObjectSetText("ATR11","ATR(min"+DoubleToStr(New_ATRLevel,0)+")="+DoubleToStr(atr,0),12,"Arrial",eurusd2);

ObjectCreate("DaHL11",OBJ_LABEL,0,0,0);
ObjectSet("DaHL11",OBJPROP_CORNER,0);
ObjectSet("DaHL11", OBJPROP_XDISTANCE,490);
ObjectSet("DaHL11", OBJPROP_YDISTANCE, 54);
ObjectSetText("DaHL11","DailyHighLow(min"+New_Min_D_High_Low+")="+DoubleToStr((iHigh(symb,PERIOD_D1,0)-iLow(symb,PERIOD_D1,0))*10000,0),12,"Arrial",eurusd2);

ObjectCreate("DfMA11",OBJ_LABEL,0,0,0);
ObjectSet("DfMA11",OBJPROP_CORNER,0);
ObjectSet("DfMA11", OBJPROP_XDISTANCE,720);
ObjectSet("DfMA11", OBJPROP_YDISTANCE, 54);
ObjectSetText("DfMA11","Price-MA(min"+New_Min_Distance_from_MA+" (if Down+"+spread+"))="+DoubleToStr((iClose(symb,0,0)-MA)*10000,0),12,"Arrial",eurusd2);

ObjectCreate("ML11",OBJ_LABEL,0,0,0);
ObjectSet("ML11",OBJPROP_CORNER,0);
ObjectSet("ML11", OBJPROP_XDISTANCE,1000);
ObjectSet("ML11", OBJPROP_YDISTANCE, 54);
ObjectSetText("ML11","CandleLenth(max"+Max_lenth_of_Candle+")="+DoubleToStr((iHigh(symb,0,0)-iLow(symb,0,0))*10000,0),12,"Arrial",eurusd2);
 ... 
и т.д. и т.п.
 

Вложения

  • DC - final edition.ex4
    200,1 КБ · Просмотры: 128
  • dc-final edition.jpg
    dc-final edition.jpg
    76,2 КБ · Просмотры: 92
Верх