Комментарии пользователя Ostap Bander форексная оторва

Мои комментарии:в блогах в форуме
Ответы мне:в блогах в форуме
Все комментарии: к моим постам
Jack_the_singer, алиса код почти рабочий для индикатора или советника может выдать, на mql5. ну ошибки она исправлять точно умеет))
avatar
  • 18 сентября 2026, 15:43
  • Еще
ezomm, статистически нет, есть периоды на валютных парах, когда инструмент прет и прёт без откатов вверх или вниз по 8-12 дней. И попробуй докажи этому инструменту что он не должен так себя вести.
avatar
  • 18 сентября 2026, 15:34
  • Еще
посиди на берегу реки, послушай лягушек(если они квакают), отложи торг. терминал в сторону и просто подожди
avatar
  • 18 сентября 2026, 11:36
  • Еще

 код на  mql5

//+------------------------------------------------------------------+
//|                                        MA_Signal_H1.mq5         |
//|  Сигналы: MA10 vs MA200 + свечной паттерн на H1                 |
//|  Отображение: отдельное окно                                    |
//+------------------------------------------------------------------+
#property copyright «MA Signal H1»
#property version   «1.01»
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_plots   2

//--- Параметры
input int    InpPeriodMA10   = 10;
input int    InpPeriodMA200  = 200;
input ENUM_MA_METHOD InpMethod = MODE_SMA;
input ENUM_APPLIED_PRICE InpPrice = PRICE_CLOSE;

//--- Буферы
double BufferLong[];    // стрелки лонг (значение 1)
double BufferShort[];   // стрелки шорт (значение -1)
double BufferSignal[];  // числовой сигнал: 1, -1, 0 (для EA)

//--- Хэндлы индикаторов
int handleMA10;
int handleMA200;

//+------------------------------------------------------------------+
int OnInit()
{
   SetIndexBuffer(0, BufferLong,    INDICATOR_DATA);
   SetIndexBuffer(1, BufferShort,   INDICATOR_DATA);
   SetIndexBuffer(2, BufferSignal,  INDICATOR_CALCULATIONS);

   //--- Plot 0: Long (стрелка вверх на уровне 1)
   PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_ARROW);
   PlotIndexSetString (0, PLOT_LABEL,    «Long»);
   PlotIndexSetInteger(0, PLOT_ARROW,    233);
   PlotIndexSetInteger(0, PLOT_LINE_COLOR, clrLime);
   PlotIndexSetInteger(0, PLOT_LINE_WIDTH, 3);
   PlotIndexSetDouble (0, PLOT_EMPTY_VALUE, EMPTY_VALUE);

   //--- Plot 1: Short (стрелка вниз на уровне -1)
   PlotIndexSetInteger(1, PLOT_DRAW_TYPE, DRAW_ARROW);
   PlotIndexSetString (1, PLOT_LABEL,    «Short»);
   PlotIndexSetInteger(1, PLOT_ARROW,    234);
   PlotIndexSetInteger(1, PLOT_LINE_COLOR, clrRed);
   PlotIndexSetInteger(1, PLOT_LINE_WIDTH, 3);
   PlotIndexSetDouble (1, PLOT_EMPTY_VALUE, EMPTY_VALUE);

   //--- Окно: фиксируем шкалу от -1.5 до 1.5
   IndicatorSetInteger(INDICATOR_DIGITS, 0);
   IndicatorSetDouble(INDICATOR_MINIMUM, -1.5);
   IndicatorSetDouble(INDICATOR_MAXIMUM,  1.5);

   handleMA10  = iMA(_Symbol, PERIOD_CURRENT, InpPeriodMA10,  0, InpMethod, InpPrice);
   handleMA200 = iMA(_Symbol, PERIOD_CURRENT, InpPeriodMA200, 0, InpMethod, InpPrice);

   if(handleMA10 == INVALID_HANDLE || handleMA200 == INVALID_HANDLE)
      return INIT_FAILED;

   return INIT_SUCCEEDED;
}

//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   IndicatorRelease(handleMA10);
   IndicatorRelease(handleMA200);
}

//+------------------------------------------------------------------+
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[])
{
   int minBars = MathMax(InpPeriodMA10, InpPeriodMA200) + 4;
   if(rates_total < minBars)
      return 0;

   double ma10[], ma200[];
   if(CopyBuffer(handleMA10,  0, 0, rates_total, ma10)  <= 0) return 0;
   if(CopyBuffer(handleMA200, 0, 0, rates_total, ma200) <= 0) return 0;

   int start = (prev_calculated > 1)? prev_calculated — 1: 3;

   for(int i = start; i < rates_total — 1; i++)
   {
      BufferLong[i]   = EMPTY_VALUE;
      BufferShort[i]  = EMPTY_VALUE;
      BufferSignal[i] = 0;

      bool c1_rising = close[i]       > open[i];
      bool c2_falling = close[i — 1]  < open[i — 1];
      bool c3_falling  = close[i — 2] < open[i — 2];

      bool c1_falling  = close[i]    < open[i];
      bool c2_rising  = close[i — 1] > open[i — 1];
      bool c3_rising = close[i — 2]  > open[i — 2];

      //--- Long: MA10 > MA200, 2 падающие, перед ними 1 растущая
      if(ma10[i] > ma200[i] && c3_falling && c2_falling && c1_rising)
      {
         BufferLong[i]   = 1;
         BufferSignal[i] = 1;
      }

      //--- Short: MA10 < MA200, 2 растущие, перед ними 1 падающая
      if(ma10[i] < ma200[i] && c3_rising && c2_rising && c1_falling)
      {
         BufferShort[i]  = -1;
         BufferSignal[i] = -1;
      }
   }

   //--- Текущий (формирующийся) бар — без сигнала
   if(rates_total > 0)
   {
      BufferLong[rates_total — 1]   = EMPTY_VALUE;
      BufferShort[rates_total — 1]  = EMPTY_VALUE;
      BufferSignal[rates_total — 1] = 0;
   }

   return rates_total;
}

avatar
  • 18 сентября 2026, 11:25
  • Еще
Ну хоть кто-то это сказал.
avatar
  • 09 сентября 2026, 12:28
  • Еще
Поэтому не принимайте цифровой руль, пусть варится в собственном цифровом соку.
avatar
  • 01 сентября 2026, 13:48
  • Еще
Рост ММВБ до самых выборов. две недели роста на дороге не валяются, потом ожидаю падение.
Не явл. инвест. рекомендацией.
avatar
  • 01 сентября 2026, 13:46
  • Еще
структура хода цены показывает лонги, 
треугольник(боковик) — выход вверх — тест боковика(треугольника в начале) — выход вверх — боковик и т.д.
А безубыток чего не ставишь?
Выберите надежного брокера, чтобы начать зарабатывать на бирже:
....все тэги
UPDONW
Новый дизайн