0
Если стохастик четырежды пересекает среднюю линию, так что временные отрезки сначала короткий, потом более длинный, потом еще более длинный.
То алерт в котором валютная пара таймфрейм

чаво? *???* *think* :) 

avatar

AM2

  • 10 октября 2019, 17:24
0
покажите все на скринах и ищите поручителя
avatar

AM2

  • 10 октября 2019, 17:14
+1
по первоначальному тз сделал: www.opentraders.ru/downloads/2446/



avatar

AM2

  • 8 октября 2019, 21:30
0
на 11-е
avatar

AM2

  • 8 октября 2019, 17:34
0
Разница в динамических уровнях. В одном индикаторе они есть, в другом нет.


только что прогнал совместно оба индикатора в тестере, они ведут себя совершенно одинаково.
avatar

AM2

  • 7 октября 2019, 22:40
0
я добавил буферы, но насколько они вписались в чужой код надо проверять, писать советник:



www.opentraders.ru/downloads/2445/
avatar

AM2

  • 7 октября 2019, 22:34
0
в читаемом виде тз выглядит примерно так:

1. Открытие позиции.

Гистограмма стандартного Kiosotto пробивает заданный в параметрах уровень.
Гистограмма модифицированного Kiosotto пробивает ( касается ) динамический уровень.

При совпадении обоих условий ордер открывается.

2. Закрытие позиции.

Тейк профит 100 пунктов(пятизнак). Если цена идет против нас, происходит усреднение.Pipstep =200(пятизнак), Lotxponent =2 (задается в параметрах).
StopLoss отсутствует.Трал- отсутствует.

В настройки.

Параметры модифицированного Kiosotto постоянные( по умолчанию).
Параметры уровня стандартного Kiosotto прописываются( по умолчанию 15 )

Время работы — постоянное (0-24)
Magic -1 2 3.

Максимальное количество открытых ордеров на одной паре — не ограничено.
Начальный лот — 0.01, тейк профит — 100 п. (пятизнак), Pipstep =200(пятизнак), Lotxponent =2(задается в параметрах)


каков смысл использования второго индикатора, когда они совершенно одинаковы?
avatar

AM2

  • 7 октября 2019, 21:46
0
1. ввел параметры:


extern double PBalance   = 11000;    // выше не торгуем
extern double MBalance   = 9000;     // ниже не торгуем


2. сейчас торгуем только одним ордером:


if(AccountBalance()<PBalance && AccountBalance()>MBalance && OrdersTotal()<1)


3. если нет стопов, советник сделает предупреждение и не установится на график:



www.opentraders.ru/downloads/2433/
avatar

AM2

  • 7 октября 2019, 21:31
0
ищите поручителя
avatar

AM2

  • 7 октября 2019, 17:51
0
на 11-е
avatar

AM2

  • 7 октября 2019, 17:49
0
на 10-е
avatar

AM2

  • 7 октября 2019, 17:48
0
могу с поручителем :) 
avatar

AM2

  • 6 октября 2019, 15:58
0
я когда долго за компом сижу мне еще и не такое кажется! *crazy* :D 
avatar

AM2

  • 6 октября 2019, 15:29
0
здравствуйте, Aндрей не могли бы вы добавить реверс в советник? что бы он открывал по направлению машки сделки?)


делайте топик в столе заказов
avatar

AM2

  • 6 октября 2019, 15:16
0
на 8-е
avatar

AM2

  • 6 октября 2019, 13:45
0
исправил ваш вариант:


//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2018, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict
#property indicator_chart_window
color g_clrOldColor;
string g_sCurrentFile;
color clrNewColor;

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit(void)
  {
   g_clrOldColor = color(ChartGetInteger(0, CHART_COLOR_BACKGROUND));
   color strFile = (g_clrOldColor == C'0,0,0')? clrWhite : clrBlack;
   LabelCreate(0,"label0",0,50,50,CORNER_LEFT_UPPER,"Статистика","Tahoma",8,strFile,0.0,ANCHOR_LEFT_UPPER,false,false,true,0);
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])

  {
   return(rates_total);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam)
  {
   if(id == CHARTEVENT_CHART_CHANGE)
     {
      clrNewColor = color(ChartGetInteger(0, CHART_COLOR_BACKGROUND));
      if(clrNewColor != g_clrOldColor)
        {
         string strFile = (clrNewColor ==  C'0,0,0')? "clsWhite" : "clsBlack";
         LabelCreate(0,"label0",0,50,50,CORNER_LEFT_UPPER,"Статистика","Tahoma",8,clrNewColor,0.0,ANCHOR_LEFT_UPPER,false,false,true,0);
         ObjectSetInteger(0,"label0", OBJPROP_COLOR, (clrNewColor ==  C'0,0,0')? clrWhite : clrBlack);
         ChartRedraw();
         g_sCurrentFile = strFile;
         g_clrOldColor = clrNewColor;
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool LabelCreate(const long              chart_ID=0,               // ID графика
                 const string            name="Label",             // имя метки
                 const int               sub_window=0,             // номер подокна
                 const int               x=0,                      // координата по оси X
                 const int               y=0,                      // координата по оси Y
                 const ENUM_BASE_CORNER  corner=CORNER_LEFT_UPPER, // угол графика для привязки
                 const string            text="Label",             // текст
                 const string            font="Arial",             // шрифт
                 const int               font_size=10,             // размер шрифта
                 const color             clr=clrRed,               // цвет
                 const double            angle=0.0,                // наклон текста
                 const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // способ привязки
                 const bool              back=false,               // на заднем плане
                 const bool              selection=false,          // выделить для перемещений
                 const bool              hidden=true,              // скрыт в списке объектов
                 const long              z_order=0)                // приоритет на нажатие мышью
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- создадим текстовую метку
   if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))
     {
      Print(__FUNCTION__,
            ": не удалось создать текстовую метку! Код ошибки = ",GetLastError());
      return(false);
     }
//--- установим координаты метки
   ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//--- установим текст
   ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
//--- установим размер шрифта
   ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
//--- установим угол наклона текста
   ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
//--- установим способ привязки
   ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
//--- установим цвет
//ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
   ObjectSetInteger(chart_ID,name, OBJPROP_COLOR, (clrNewColor ==  C'0,0,0')? clrWhite : clrBlack);
//--- отобразим на переднем (false) или заднем (true) плане
   ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//--- включим (true) или отключим (false) режим перемещения метки мышью
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов
   ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//--- установим приоритет на получение события нажатия мыши на графике
   ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- успешное выполнение
   return(true);
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 5 октября 2019, 17:39
0
написал свой вариант:




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

color clr=Black;
color fclr=clrNONE;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit(void)
  {
   fclr=color(ChartGetInteger(0,CHART_COLOR_BACKGROUND));

   fclr==Black ? clr=White : clr=Black;

   PutLabel("Текст");

   Comment("\n Цвет фона: ",fclr,
           "\n Цвет метки: ",clr);

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectDelete(0,"L");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string text)
  {
//--- создадим текстовую метку
   ObjectCreate(0,"L",OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,"L",OBJPROP_XDISTANCE,22);
   ObjectSetInteger(0,"L",OBJPROP_YDISTANCE,77);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,"L",OBJPROP_CORNER,0);
//--- установим текст
   ObjectSetString(0,"L",OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,"L",OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,"L",OBJPROP_FONTSIZE,12);
//--- установим цвет
   ObjectSetInteger(0,"L",OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])

  {
//---

//---
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam)
  {
   if(id == CHARTEVENT_CHART_CHANGE)
     {
      fclr=color(ChartGetInteger(0,CHART_COLOR_BACKGROUND));

      fclr==Black ? clr=White : clr=Black;

      PutLabel("Текст");

      Comment("\n Цвет фона: ",fclr,
              "\n Цвет метки: ",clr);
     }
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 5 октября 2019, 17:34