+1
на эфире и битке проверил:


//+------------------------------------------------------------------+
//|                                                    AutoStoha.mq4 |
//|                                              Copyright 2024, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int main=75;

input int kp=5;
input int dp=3;
input int sl=3;

int i=0,k=0,n=0,s=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   EventSetMillisecondTimer(300);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   Comment("");
   EventKillTimer();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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 value of prev_calculated for next call
   return(rates_total);
  }

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   for(i=kp,k=dp,n=sl; i<main; i++,k++,n++)
     {
      s=int(iStochastic(NULL,0,i,k,n,0,0,0,0));

      if(s==main)
         break;
     }

   Comment("\n KPeriod: ",i,
           "\n DPeriod: ",k,
           "\n Slowing: ",n,
           "\n Stoha: ",s);
  }
//+-----------------------------------------------------------
//+------------------------------------------------------------------+

avatar

AM2

  • 10 марта 2024, 13:28
+1
набросал такую штуку:


//+------------------------------------------------------------------+
//|                                                    AutoStoha.mq4 |
//|                                              Copyright 2024, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int main=75;

input int kp=5;
input int dp=3;
input int sl=3;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   EventSetTimer(1);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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 value of prev_calculated for next call
   return(rates_total);
  }

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   int i=0,k=0,n=0;

   int sto=0;

   for(i=kp; i<main; i++)
     {
      for(k=dp; i<22; i++)
        {
         for(n=sl; i<22; i++)
           {
            sto=int(iStochastic(NULL,0,i,k,n,0,0,0,0));

            if(sto==main)
               break;
           }
        }
     }

   Comment("\n KPeriod: ",i,
           "\n DPeriod: ",k,
           "\n Slowing: ",n,
           "\n Stoha: ",sto);
  }
//+------------------------------------------------------------------+



проверять на открытом рынке нужно будет
avatar

AM2

  • 10 марта 2024, 10:59
0
непонятно
avatar

AM2

  • 10 марта 2024, 10:10
0
Что именно?


опишите все подробно и так чтобы не было никаких разночтений
avatar

AM2

  • 7 марта 2024, 14:42
0
покажите подробно на скринах все входы и выходы.
как увеличивается сетка бай и селл
avatar

AM2

  • 7 марта 2024, 11:49
0
какой лот у второго ордера?
avatar

AM2

  • 6 марта 2024, 15:47
0
вы хотите запихать в советник все на свете и даже не дали ссылку на тот шаблон со скрина, чтобы облегчить мне работу
avatar

AM2

  • 1 марта 2024, 12:29
0
пока в таком виде. перед установкой нужно проверять длину отрезка. функция написана но не отлажена:




//+------------------------------------------------------------------+
//|                                                        Stoha.mq4 |
//|                                              Copyright 2024, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

#property indicator_buffers 3

input int bars=333;
input int level=22;
input int delta=111;

double up[],dn[],sec[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,up);
   SetIndexStyle(0,DRAW_ARROW,0,2,Aqua);
   SetIndexArrow(0,233);

   SetIndexBuffer(1,dn);
   SetIndexStyle(1,DRAW_ARROW,0,2,Tomato);
   SetIndexArrow(1,234);

   SetIndexBuffer(2,sec);
   SetIndexStyle(2,DRAW_SECTION,0,2,Gold);
//---
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Next(int k)
  {
   double p=0;

   for(int i=k; i<bars; i++)
     {
      if(sec[i]!=EMPTY_VALUE)
         p=Close[i];
      break;
     }
   return(p);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//---
   for(int i=0; i<bars; i++)
     {
      double sto=iStochastic(NULL,0,5,3,3,0,0,0,i);
      double sto2=iStochastic(NULL,0,5,3,3,0,0,0,i+1);

      if(sto>100-level && sto2<100-level)
         dn[i]=high[i];

      if(sto<level && sto2>level)
         up[i]=low[i];

      if(((sto>100-level && sto2<100-level) || (sto<level && sto2>level)) && close[i]-Next(i)>delta*_Point)
         sec[i]=close[i];
     }

   Comment(Next(0));
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 29 февраля 2024, 16:03
0
www.opentraders.ru/downloads/3748/ — советник не создает много ордеров, у него другая стратегия, ладно я могу месяц подождать, я не спешу, через месяц сделаю заказ, всё нормально  


у вас здесь есть поручитель. покажите все подробно на скринах
avatar

AM2

  • 29 февраля 2024, 12:50
0
добавил трал к советнику: www.opentraders.ru/downloads/3748/

avatar

AM2

  • 29 февраля 2024, 12:47
0
не так давно делал подобный: www.opentraders.ru/downloads/3748/
avatar

AM2

  • 29 февраля 2024, 09:14
0

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double GetFunction()
  {
   int j,k;
   double sumw = (_Period+1);
   double sum  =  sumw* iClose(NULL,0,1);

   for(j=1, k=_Period; j<_Period; j++,k--)
     {
      sumw += k;
      sum  += k * iClose(NULL,0,1+j);
      if(j<=1)
        {
         sum  += iClose(NULL,0,1-j)*k;
         sumw += k;
        }
     }
   return(sum/sumw);
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 29 февраля 2024, 09:13
Начать торговлю с Альпари