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


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
0
С одной линией еще куда ни шло
avatar

AM2

  • 12 января 2018, 21:17
0
Надеюсь тока на Вас*friends* !!!
avatar

Marik007

  • 12 января 2018, 21:06
0
Володя автор этого примера вам такую цену загнет! :D 
avatar

AM2

  • 12 января 2018, 20:55
0
Если это решение, давайте такой вариант попробуем*bravo* 
avatar

Marik007

  • 12 января 2018, 20:54
0
здесь можно
avatar

AM2

  • 12 января 2018, 20:48
0
Вот пример сова который видит линии, но только он переворачивает сделки… может это Вас вдохновит или натолкнет на мысль…
«Володя автор этого примера вам такую цену загнет!»--Это точно, у него все за облачно…
avatar

Marik007

  • 12 января 2018, 20:48
+1
1. Читаем свойство линии.
2. Если не выделена и есть касание, закрываем сеть.
3. Когда закрыли сеть линия выделяется и на ней сеть больше не кроется.
4. Чтобы активировать линию щелкаем по ней мышкой (д.б. не выделена).
5. Касание — цена в интервале цены линии плюс минус дельта пунктов.
avatar

AM2

  • 12 января 2018, 20:47
0
Андрей тех.задание на советник написать в этом топике или в новом?
avatar

ID1972

  • 12 января 2018, 20:40
0
*think*  Очень жаль. Может у Вас есть свое виденье, как привязаться к уровням(линиям), что бы закрывать на них сеть и ставить новую...*bildbody* 
--Это последние штрихи «шикарной картины маслом»...*uptrend* 
avatar

Marik007

  • 12 января 2018, 20:32
0
Пришлите не битый индикатор.
avatar

AM2

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