Лента последних комментариев


0


Если сработало условие для покупки, ждем выполнение условия для продажи, в пределах этого бара, на этом баре больше не покупаем.

Если сработало условие для продажи, значит больше не продаем, на этом баре, ждем противоположное условие, для покупки. Либо появление новой свечи. Появилась новая свеча, работаем с начала с 3 пункта.

Третий пункт всегда обновляет свое значение, с появлением нового бара. За место 100, там может быть любое значение. Это значение будет равно Open нового бара. От него все считаем
avatar

Syte

  • 13 января 2018, 18:29
0
Могу тех задание нарисовать в схеме.
avatar

Syte

  • 13 января 2018, 18:02
0
Хм… А как это за скринить? Я просто реально не знаю как это в картинках описать.

Появилась новая свеча. Нулевой бар. Ждем когда цена пойдет вверх или вниз от точки Open[0], на переменную N по цене bid. И все.

Могу другими словами описать.

При присоединении советника. к графику, ждем появления нового бара.
Когда он появился, берем Open[0] прибавляем к ней переменную N. И сравниваем, значение полученного результата с текущей ценой. Если равно, или больше, то покупаем, но один раз, в одну сторону.

Пример: Если текущее ценовое значение нового бара, 100, а переменная, 10, то для покупки нужно открыть ордер по рынку, если будет цена 110. А для продажи, если цена будет 90. Другими словами, мы от значения цены Open отнимаем или прибавляем переменную N. И открываем ордер. Только один раз на свече и ставим стопы. В итоге, если при подключении советника, мы дождались появления новой свечи, мы можем открыть не более двух ордеров на одной свече.

Предположим, что цена нового бара Open[0] равна 100. Переменная равна 10. Цена пошла вниз на 90. Тут советник должен открыть sell со стопами. Если после открытия, сразу пошли на верх, то есть, в пределах данной свечи. И достигла отметки 110, то покупаем по рынку. Все, дальше ждем, так как в рынке на этой свече было открыто два ордера. Можно открыть если, появится новое условие, а именно новая свеча. И по ней уже будем считать новые ордера. Но так же не более двух. На одной свече, нельзя открывать два одинаковых ордера, на одной свече. На одной свече может быть открыты ордера, либо sell, либо buy, либо оба sell и buy. Но нее два sell или два buy.
avatar

Syte

  • 13 января 2018, 17:56
0
Это то, что нужно. ОГРОМНОЕ СПАСИБО! *good* *good* *good* 
avatar

vasdco

  • 13 января 2018, 17:23
0
Это то, что нужно. ОГРОМНОЕ СПАСИБО! *good* *good* *good* 
avatar

vasdco

  • 13 января 2018, 17:21
0
А не могли бы прилепить

Могу отдельным топиком :) 
avatar

AM2

  • 13 января 2018, 16:47
0
Скрины с пояснениями пожалуйста.
avatar

AM2

  • 13 января 2018, 16:46
0
А не могли бы прилепить стрелку и алерт с окошком на какой паре, если перекупленность, то стрелка вниз и в окошке sell, если перепроданность то вверх и bay/ Заранее огромное спасибо
avatar

Marlboropartner

  • 13 января 2018, 16:44
0
Если цена не достигла перекупленности перепроданности пишет значение атр:
www.opentraders.ru/downloads/1777/





avatar

AM2

  • 13 января 2018, 15:51
0
пожалуйста
avatar

vebster

  • 13 января 2018, 15:06
0
Андрей спасибо.
Совсем забыл про одну функцию. Если можно хотел бы добавить её в тех задание.
Чтобы, была возможность выбора выставлять отложенные ордера не только хай и лоу дневной
или недельной свечи, но и по цене Open и Closs /открытия и закрытия / дневной или недельной
свечи с возможностью отступа Delta.
avatar

ID1972

  • 13 января 2018, 13:07
0
После выходных посмотрю.
avatar

AM2

  • 13 января 2018, 12:46
0
Восстановил индикатор, что просили добавил: www.opentraders.ru/downloads/1776/

avatar

AM2

  • 13 января 2018, 12:44
+1
Поправил АДС:




//+------------------------------------------------------------------+
//|                                                                  |
//|                 Copyright © 2000-2007, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.ru |
//+------------------------------------------------------------------+
/**
* ACD_2.mq4
* Pivot Range and Previous High/Low
**/
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Aqua
#property indicator_color2 Aqua
#property indicator_color3 Aqua
#property indicator_color4 White
#property indicator_color5 White
#property indicator_color6 Red
#property indicator_color7 Green
#property indicator_color8 Orchid
//Input Params
extern string PivotRangeStart="00:30";
extern string PivotRangeEnd="00:30";
extern bool DisplayPivotPoint=true;
extern bool DisplayPreviousHighLow=true;
extern bool DisplayMAs=false;
//----
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
double Buffer7[];
double Buffer8[];
double pivots[50];
//----
double pivotRangeHigh;
double pivotRangeLow;
double pivotRangeClose;
double pivotPoint;
double pivotDiff;
double pivotTop=0;
double pivotBottom=0;
double pivot14MA;
double pivot30MA;
double pivot50MA;
//----
int openBar;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexStyle(0,DRAW_LINE, STYLE_DOT, 1);
   SetIndexBuffer(0,Buffer1);
   SetIndexLabel(0,"Pivot Point");
   SetIndexStyle(1,DRAW_LINE, STYLE_DASH, 1);
   SetIndexBuffer(1,Buffer2);
   SetIndexLabel(1,"Pivot Range Top");
   SetIndexStyle(2,DRAW_LINE, STYLE_DASH, 1);
   SetIndexBuffer(2,Buffer3);
   SetIndexLabel(2,"Pivot Range Bottom");
   SetIndexStyle(3,DRAW_LINE, STYLE_SOLID, 1);
   SetIndexBuffer(3,Buffer4);
   SetIndexLabel(3,"Previous Day High");
   SetIndexStyle(4,DRAW_LINE, STYLE_SOLID, 1);
   SetIndexBuffer(4,Buffer5);
   SetIndexLabel(4,"Previous Day Low");
   SetIndexStyle(5,DRAW_LINE);
   SetIndexBuffer(5,Buffer6);
   SetIndexLabel(5,"14 MA");
   SetIndexStyle(6,DRAW_LINE);
   SetIndexBuffer(6,Buffer7);
   SetIndexLabel(6,"30 MA");
   SetIndexStyle(7,DRAW_LINE);
   SetIndexBuffer(7,Buffer8);
   SetIndexLabel(7,"50 MA");
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   string barTime="", lastBarTime="";
   string barDay="", lastBarDay="";
   int closeBar;
//----
   for(int i=Bars; i>=0; i--)
     {
      barTime=TimeToStr(Time[i], TIME_MINUTES);
      lastBarTime=TimeToStr(Time[i+1], TIME_MINUTES);
      barDay=TimeToStr(Time[i],TIME_DATE);
      lastBarDay=TimeToStr(Time[i+1],TIME_DATE);
      //need to handle if pivotrangestart/end is 00:00
      if ((PivotRangeEnd=="00:00" && barTime>=PivotRangeEnd && barDay>lastBarDay) || (barTime>=PivotRangeEnd && lastBarTime<PivotRangeEnd))
        {
         closeBar=i + 1;
//----
         if (openBar>0)
           {
            calculatePivotRangeValues(openBar, closeBar);
           }
        }
      if ((PivotRangeStart=="00:00" && barTime>=PivotRangeStart && barDay>lastBarDay) || (barTime>=PivotRangeStart && lastBarTime<PivotRangeStart))
        {
         openBar=i;
        }
      if (openBar>0)
        {
         drawIndicators(i);
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void calculatePivotRangeValues(int opBar, int closeBar)
  {
   pivotRangeHigh=High[Highest(NULL, 0, MODE_HIGH, (opBar - closeBar + 1), closeBar)];
   pivotRangeLow=Low[Lowest(NULL, 0, MODE_LOW, (opBar - closeBar + 1), closeBar)];
   pivotRangeClose=Close[closeBar];
   pivotPoint=((pivotRangeHigh + pivotRangeLow)/2);
   pivotDiff=MathAbs(((pivotRangeHigh + pivotRangeLow)/2) - pivotPoint);
   pivotTop=pivotPoint + pivotDiff;
   pivotBottom=pivotPoint - pivotDiff;
//----
   if (DisplayMAs) calcPivotMA();
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void calcPivotMA()
  {
   //create temp array
   double pivs[50];
   //load new pivot
   ArrayCopy(pivs,pivots,1,0,49);
   pivs[0]=pivotPoint;
   ArrayCopy(pivots, pivs, 0, 0, WHOLE_ARRAY);
   //calcMA
   double pivSum=0;
   int count=ArraySize(pivots);
   if (count>=14)
     {
      for(int p=0; p<count; p++)
        {
         pivSum+=pivots[p];
//----
         if (p==13)
           {
            pivot14MA=pivSum/14;
           }
//----
         if (p==29)
         {pivot30MA=pivSum/30;}
//----
         if (p==49)
         {pivot50MA=pivSum/50;}
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void drawIndicators(int curBar)
  {
   if (DisplayPivotPoint) Buffer1[curBar]=pivotPoint;
//----
   Buffer2[curBar]=pivotTop;
   Buffer3[curBar]=pivotBottom;
//----
   if (DisplayPreviousHighLow)
     {
      Buffer4[curBar]=pivotRangeHigh;
      Buffer5[curBar]=pivotRangeLow;
     }
   if (DisplayMAs)
     {
      Buffer6[curBar]=pivot14MA;
      Buffer7[curBar]=pivot30MA;
      Buffer8[curBar]=pivot50MA;
     }
  }
//+------------------------------------------------------------------+
avatar

AM2

  • 13 января 2018, 11:50
0
На скринах все поясните пожалуйста.
avatar

AM2

  • 13 января 2018, 11:09
0
У Si красный уровень баланса находится ниже нижней границы канала. Это какая то аномалия на рынке, или все дело в расчете.
avatar

nikals

  • 13 января 2018, 05:48
0
Расскажите новичку на форуме, как сейчас поживает CROSS POINT? Целый год не было новостей здесь.
avatar

minicam

  • 13 января 2018, 03:37
0
Понятно. Но такой вариант не устраивает. Что ж, будем искать…
avatar

vasdco

  • 13 января 2018, 00:29
0
Советник DailyWeeklyBreakout
Тех. Задание
Советник выставляет четыре отложенных ордера Buy Stop и Sell Stop по хай лоу дневной свечи
И Buy Stop и Sell Stop по хай и лоу недельной свечи. С возможностью выбора
Dayli Buy Stop – true/fulse
Dayli SellStop — true/fulse
Weekly Buy Stop – true/fulse
Weekly SellStop — true/fulse
Если Стоп лосс = 0 то он по умолчанию выставляется по хай или лоу дневной или недельной свечи с возможностью отступа Delta или по цене.
Отложенные ордера также выставляются с возможностью отступа Gamma от хая или лоу дневной или недельной свечи.
Без убыток для для Dayli Buy Stop / SellStop — true/fulse
Без убыток для для Weekly Buy Stop / SellStop — true/fulse
Трелинг стоп дпя Dayli Buy Stop / SellStop — true/fulse
Трелинг стоп дпя Weekly Buy Stop / SellStop — true/fulse
Выставление и удаление отложенных ордеров по времени.
Риск на депо от стопа.

avatar

ID1972

  • 12 января 2018, 22:20
0
*think* может это поможет: --Так происходит многократно при движении цены от линии «Profit_N» к линии «Profit_N».
avatar

Marik007

  • 12 января 2018, 21:37
Начать торговлю с Альпари

 
Как начать: открываем первую торговую сделку за 7 шагов →