0
Сейчас есть все самые основные моменты ТЗ: www.opentraders.ru/downloads/1308/

avatar

AM2

  • 2 сентября 2016, 08:52
0
Проверил работу советника. Выставил ордера, построил, коробку по времени, бесконечного выставления нет:

avatar

AM2

  • 2 сентября 2016, 06:50
0
Не прикрепился.
avatar

AM2

  • 2 сентября 2016, 06:33
0
Не верно строит коробку


Что конкретно неверно, покажите на скрине? Скрины нужны крупные разборчивые и целиком, чтобы я видел как можно больше информации. А кусками я ничего не пойму.
avatar

AM2

  • 1 сентября 2016, 21:40
0
Индикатор скорее всего визуальный, с него не вытащишь никаких значений.
avatar

AM2

  • 1 сентября 2016, 21:38
0
В коде ТП при коробке 91-300п ставит — 91, больше 300 — 300.
avatar

AM2

  • 1 сентября 2016, 21:05
0
Не сложно, трудоемко. Завтра продолжу с утра на свежую голову.
avatar

AM2

  • 1 сентября 2016, 20:41
0
ТР должен быть размеру высоты коробки, те высота 239 пп ТР тоже 239.


В ТЗ ТП вообще по другому. Ориентируюсь на ТЗ

Строиться коробка по хай и лоу свечам, обязательно настройка времени начало и окончание (пример: начало 0:00 окончание 4:59)


Так и строит. Чтобы отладить мне нужно видеть время внизу.

Далее ордера выставляются бесконечное количество раз.

Насчет бесконечности завтра смотреть буду.
avatar

AM2

  • 1 сентября 2016, 20:39
0
Вызов трех пользовательских индикаторов плюс функция по поиску состояния индикатора. Дааа задали вы мне задачку *think* 
avatar

AM2

  • 1 сентября 2016, 19:23
0
Обычно когда не работает, присылают все что только можно прислать, логи, скрины настройки. А так вам в клуб телепатов.

avatar

AM2

  • 1 сентября 2016, 17:59
0
Я сдвиг в 0 везде ставил.


extern int FasterShift = -5;
avatar

AM2

  • 1 сентября 2016, 17:54
0
Завтра буду смотреть. На сегодня есть чем заняться.
avatar

AM2

  • 1 сентября 2016, 11:58
0
ТЗ должно всегда быть на виду, прятать в архив его не следует:

Техническое задание

Торговый советник EA-CAMPO v.1

1.Пользовательский индикатор Solar Winds joy — histo (подвал, гистограмма),
2.Пользовательский индикатор xb4d.
3.Пользовательский индикатор BUY-SELL.SIGNAL
• В советнике должен быть реализован StopLoss, TakeProfit;
• Функция начала работы советника /час, мин;
• Функция окончания работы советника /час, мин;
• Функция выхода из позиции перед окончанием работы советника;

Shift
Slippage
Безубыток
Трал
Magic
1. Условия входа и выхода

Вход в длинную позицию осуществляется по следующему условию:
при одновременном срабатывании сигнала LONG всех трех индикаторов:

1.индикатор Solar Winds joy — histo — пересек линию 0 и цвет гистограммы стал ЗЕЛЕНЫМ.
2.индикатор xb4d — пересек линию 0 и цвет гистограммы стал ЗЕЛЕНЫМ
3.индикатор BUY-SELL.SIGNAL — стрелка ЗЕЛЕНАЯ.

Выход из длинной позиции происходит, если выполнено, хотя бы одно из следующих условий:

• Выход из позиции осуществляется по обратному сигналу сразу всех индикаторов, т.е. стратегии в целом
• Выход по ордеру стоп-лосс или тейк-профит.
• Выход в конце работы робота (при активной соответствующей опции).

Вход в короткую позицию осуществляется по следующему условию:
при одновременном срабатывании сигнала SHORT всех трех индикаторов:

1.индикатор Solar Winds joy — histo — пересек линию 0 и цвет гистограммы стал КРАСНЫМ.
2.индикатор xb4d — пересек линию 0 и цвет гистограммы стал КРАСНЫМ
3.индикатор BUY-SELL.SIGNAL — стрелка КРАСНАЯ.

Выход из короткой позиции происходит, если выполнено, хотя бы одно из следующих условий:

• Выход из позиции осуществляется по обратному сигналу сразу всех индикаторов, т.е. стратегии в целом
• Выход по ордеру стоп-лосс или тейк-профит.
• Выход в конце работы робота (при активной соответствующей опции).

avatar

AM2

  • 1 сентября 2016, 11:55
0
Скиньте задание и если есть картинки в топик, чтобы было перед глазами.
avatar

AM2

  • 1 сентября 2016, 09:58
0
Смотрите внимательно, меняйте настройки, обновите файл индикатора. У меня все работает, это что то у вас.


//+--------------------------------------------------------------------------+
//| 3 MA Cross w_Alert v2.mq4                                                |
//| Copyright © 2005, Jason Robinson (jnrtrading)                            |
//| http://www.jnrtading.co.uk                                               |
//| 3 ma conversion and Alert , David Honeywell , transport.david@gmail.com  |
//| http://finance.groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/ |
//+--------------------------------------------------------------------------+
/*
  +-------------------------------------------------------------------------------+
  | Allows you to enter 3 ma periods and it will then show you and alert you at   |
  | which point the 2 faster ma's "OPEN" are both above or below the Slowest ma . |
  +-------------------------------------------------------------------------------+
*/
#property copyright "Copyright © 2005, Jason Robinson (jnrtrading)"
#property link      "http://www.jnrtrading.co.uk"
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Green
//----
double CrossUp[];
double CrossDown[];
double prevtime;
double Range,AvgRange;
double fasterMAnow,fasterMAprevious,fasterMAafter;
double mediumMAnow,mediumMAprevious,mediumMAafter;
double slowerMAnow,slowerMAprevious,slowerMAafter;
//----
extern int FasterMA    =    5;
extern int FasterShift =   -5;
extern int FasterMode=1; // 0 = sma, 1 = ema, 2 = smma, 3 = lwma
extern int MediumMA    =   20;
extern int MediumShift =   -5;
extern int MediumMode=1; // 0 = sma, 1 = ema, 2 = smma, 3 = lwma
extern int SlowerMA    =   34;
extern int SlowerShift =    0;
extern int SlowerMode=    1; // 0 = sma, 1 = ema, 2 = smma, 3 = lwma
extern int SoundAlert=    1; // 0 = disabled

datetime t=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW,EMPTY);
   SetIndexArrow(0,233);
   SetIndexBuffer(0,CrossUp);
   SetIndexStyle(1,DRAW_ARROW,EMPTY);
   SetIndexArrow(1,234);
   SetIndexBuffer(1,CrossDown);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   Comment(""); 
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i,counter;
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   int limit=Bars-counted_bars;
   if(counted_bars==0) limit-=1+9;
//----   
   for(i=0; i<=limit; i++)
     {
      counter=i;
      Range=0;
      AvgRange=0;
      for(counter=i;counter<=i+9;counter++)
        {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
        }
      Range=AvgRange/10;
      //----       
      fasterMAnow      = iMA(NULL, 0, FasterMA, FasterShift, FasterMode, PRICE_CLOSE, i+1);
      fasterMAprevious = iMA(NULL, 0, FasterMA, FasterShift, FasterMode, PRICE_CLOSE, i+2);
      fasterMAafter    = iMA(NULL, 0, FasterMA, FasterShift, FasterMode, PRICE_CLOSE, i-1);
      //----      
      mediumMAnow      = iMA(NULL, 0, MediumMA, MediumShift, MediumMode, PRICE_CLOSE, i+1);
      mediumMAprevious = iMA(NULL, 0, MediumMA, MediumShift, MediumMode, PRICE_CLOSE, i+2);
      mediumMAafter    = iMA(NULL, 0, MediumMA, MediumShift, MediumMode, PRICE_CLOSE, i-1);
      //----      
      slowerMAnow      = iMA(NULL, 0, SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE, i+1);
      slowerMAprevious = iMA(NULL, 0, SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE, i+2);
      slowerMAafter    = iMA(NULL, 0, SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE, i-1);
      //----      
      if((fasterMAnow>slowerMAnow && 
         fasterMAprevious<=slowerMAprevious && 
         fasterMAafter>slowerMAafter && 
         mediumMAnow>slowerMAnow)
         || 
         (fasterMAnow>slowerMAnow && 
         mediumMAnow>slowerMAnow && 
         mediumMAprevious<=slowerMAprevious && 
         mediumMAafter>slowerMAafter))
        {
         CrossUp[i]=Low[i]-Range*0.5;
        }
      if((fasterMAnow<slowerMAnow && 
         fasterMAprevious>=slowerMAprevious && 
         fasterMAafter<slowerMAafter && 
         mediumMAnow<slowerMAnow)
         || 
         (fasterMAnow<slowerMAnow && 
         mediumMAnow<slowerMAnow && 
         mediumMAprevious>=slowerMAprevious && 
         mediumMAafter<slowerMAafter))
        {
         CrossDown[i]=High[i]+Range*0.5;
        }
     }
   if((CrossUp[0]>2000) && (CrossDown[0]>2000)) { prevtime=0; }
   if((CrossUp[0]==Low[0]-Range*0.5) && (prevtime!=Time[0]) && (SoundAlert!=0))
     {
      Alert(Symbol()," 3 MA Cross Up @  Hour ",Hour(),"  Minute ",Minute());
      prevtime=Time[0];
     }
   if((CrossDown[0]==High[0]+Range*0.5) && (prevtime!=Time[0]) && (SoundAlert!=0))
     {
      Alert(Symbol()," 3 MA Cross Down @  Hour ",Hour(),"  Minute ",Minute());
      prevtime=Time[0];
     }
     
   if(CrossUp[1]<1000 && t!=Time[0] && SoundAlert!=0)
     {
      Alert(Symbol()," 3 MA Cross Up @  Hour ",Hour(),"  Minute ",Minute());
      t=Time[0];
     }
   if(CrossDown[1]<1000 && t!=Time[0] && SoundAlert!=0)
     {
      Alert(Symbol()," 3 MA Cross Down @  Hour ",Hour(),"  Minute ",Minute());
      t=Time[0];
     }    
/*      
   Comment("\n  CrossUp[0]  ",CrossUp[1],
           "\n  CrossDown[0]  ",CrossDown[1],
           "\n  prevtime  ",prevtime); 
*/ 
   return(0);
  }
//-------------------------------------------------------+

avatar

AM2

  • 1 сентября 2016, 09:56
0
Вы можете программировать, потратьте определенное количество времени и усилий и сделайте все самостоятельно. Может мой набросок вам поможет:


//+------------------------------------------------------------------+
//|                                                      Candler.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input int Points = 100;
input int Delta  = 30;
input int Count  = 5;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

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

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int Candles(int type)
  {
   int count=0;
   for(int i=1;i<=Count;i++)
     {
      if(Close[i]>Open[i] && type==1 && MathAbs(Close[i]-Open[i])>=Points*Point && MathAbs(Close[i]-Open[i])<=(Points+Delta)*Point)//bulls
        {
         count++;
        }

      if(Close[i]<Open[i] && type==2 && MathAbs(Close[i]-Open[i])>=Points*Point && MathAbs(Close[i]-Open[i])<=(Points+Delta)*Point)//bear
        {
         count++;
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   Comment("\n Bulls Candles: ",Candles(1),
           "\n Bears Candles: ",Candles(2));
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 1 сентября 2016, 09:21
+1
Не надо, кое что уже начало вырисовываться.
avatar

AM2

  • 1 сентября 2016, 09:01
+1
Тут работы порядочно, если получится быстро сделать будет советник.
avatar

AM2

  • 1 сентября 2016, 08:23