0
вы усложняете и без того непростой советник. я не склонен делать такие вещи. поэтому как есть. часть тз сделано а с индикатором могу еще глянуть в следующем топе.
avatar

AM2

  • 18 июля 2018, 17:40
0
на 31-е
avatar

AM2

  • 17 июля 2018, 21:00
0
Настоящий лидер-гридер! :D  www.opentraders.ru/downloads/1980/



avatar

AM2

  • 17 июля 2018, 20:57
0
могу сделать процентов 60 от тз
avatar

AM2

  • 17 июля 2018, 17:33
0
Для сбора статистики по прогнозам Forex, необходимо написать советника в МТ4 который будет читать файлик, и совершать в истории указанные сделки с ниже описываемыми параметрами.

Переменные: Tp и Sl.
1я конфигурация бота — Выполняются все сделки из файла.
2я конфигурация бота — не может быть открыто более 1й сделки.

Сложность в правильном прочтении дат в файле, и доп информации (Sl,TP).
Структура файла:
a) Дата с точностью до минуты
b) Направление прогноза — Up или Dn.
c) доп информация если имеется Sl, Tp- конкретные ценовые уровни.


прочитал тз. в нем ни слова не сказано о переворотах.

переписал немного по другому:




//+------------------------------------------------------------------+
//|                                                       Loader.mq4 |
//|                                              Copyright 2018, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 1;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern int StopLoss      = 450;      // лось
extern int TakeProfit    = 500;      // язь
extern int Slip          = 30;       // реквот
extern int Magic         = 123;      // магик

int p[54]=
  {
   0,
   0,
   1,
   1,
   1,
   1,
   1,
   1,
   1,
   0,
   1,
   1,
   1,
   1,
   1,
   0,
   1,
   1,
   1,
   0,
   1,
   1,
   1,
   0,
   0,
   0,
   0,
   1,
   1,
   1,
   1,
   0,
   1,
   0,
   0,
   1,
   0,
   0,
   1,
   0,
   1,
   0,
   0,
   0,
   1,
   1,
   1,
   1,
   1,
   0,
   0,
   0,
   0
  };         //массив с напрвлением сделок 0-бай 1-селл
  
datetime d[54]=//массив с датами
  {
   D'2017.07.10 04',
   D'2017.07.17 04',
   D'2017.07.24 04',
   D'2017.07.31 09',
   D'2017.08.07 04:',
   D'2017.08.14 17',
   D'2017.08.21 15',
   D'2017.08.28 23',
   D'2017.09.04 04',
   D'2017.09.11 04',
   D'2017.09.18 04',
   D'2017.09.25 04',
   D'2017.10.02 04',
   D'2017.10.09 04',
   D'2017.10.16 04',
   D'2017.10.23 04',
   D'2017.10.30 04',
   D'2017.11.06 04',
   D'2017.11.13 04',
   D'2017.11.20 11',
   D'2017.11.27 04',
   D'2017.12.04 04',
   D'2017.12.11 04',
   D'2017.12.18 10',
   D'2017.12.25 04',
   D'2018.01.03 14',
   D'2018.01.08 04',
   D'2018.01.15 11',
   D'2018.01.22 04',
   D'2018.01.29 04',
   D'2018.02.05 04',
   D'2018.02.12 10',
   D'2018.02.19 04',
   D'2018.02.26 04',
   D'2018.03.05 04',
   D'2018.03.12 04',
   D'2018.03.19 04',
   D'2018.03.26 04',
   D'2018.04.02 09',
   D'2018.04.09 09',
   D'2018.04.16 04',
   D'2018.04.23 04',
   D'2018.04.30 04',
   D'2018.05.07 10',
   D'2018.05.14 04',
   D'2018.05.21 04',
   D'2018.05.28 10',
   D'2018.06.04 10',
   D'2018.06.11 04',
   D'2018.06.18 04',
   D'2018.06.25 09',
   D'2018.07.02 10',
   D'2018.07.09 15'
  };

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

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

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0) sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0) sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderProfit()>0) break;
            if(OrderProfit()<0)
              {
               lot=OrderLots()*KLot;
               break;
              }
           }
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(Hour()==0) t=0;

   if(p[k]==0 && t==0 && TimeCurrent()==d[k])
     {
      PutOrder(0,Ask);
      t=1;
      k++;
     }

   if(p[k]==1 && t==0 && TimeCurrent()==d[k])
     {
      PutOrder(1,Bid);
      t=1;
      k++;
     }

   Comment("\n k: ",k,
           "\n t: ",t,
           "\n date: ",d[k],
           "\n time: ",TimeCurrent());

  }
//+------------------------------------------------------------------+

avatar

AM2

  • 16 июля 2018, 20:43
0
индикатор пару раз подвесил терминал, больше я его не беспокоил :) 
avatar

AM2

  • 16 июля 2018, 19:22
0
посмотрю сегодня
avatar

AM2

  • 16 июля 2018, 18:00
0
можно ли сделать чтоб клонировать зону и от неё тоже цена реагировала?
в следующем топе могу сделать чтобы советник реагировал на 3 зоны с каждой стороны
avatar

AM2

  • 16 июля 2018, 17:55
0
все тоже на скринах пожалуйста
avatar

AM2

  • 16 июля 2018, 17:40
0
При перестроении фибо отлоги не убираются?

нет. все додумывалось буквально на лету, чтобы был хоть какой то набросок.
avatar

AM2

  • 15 июля 2018, 19:32
0
т.к. проработка задания очень низкая получилось то что получилось:

советник ставит ордер на указанный уровень фибо со стопами в фибо расстояниях от цены установки: www.opentraders.ru/downloads/1978/

avatar

AM2

  • 15 июля 2018, 16:42
0
где ссылка на тз по которому писался советник?
avatar

AM2

  • 15 июля 2018, 12:18