Ошибки, баги, вопросы - страница 3573

 

Пишу пост

Пощу - вылетает "Такой страницы нет". 

Заново набираю пост. Пощу. Вылетает "Такой страницы нет". 

Третий раз набираю пост. Пощу. Постится. Всё ок.




Когда это закончится? В очередной раз забыл, что у сайта такой косяк, набираю пост 20 минут, большой, вручную. Отправляю -  "Такой страницы нет". 

И всё! Пост нигде не сохраняется. 

В телеграмме пишешь длинный пост, случайно закрыл - черновик сохраняется. Возвращаешься - там недописанный текст. 
Да даже на локальном Пикабу дают 10 черновиков для каждого пользователя. На любой случай: вылетело что-то, начались работы на сервере или просто решил повременить с отправкой. 


Вот так хотя бы можно. Хотя бы один черновик

 
Набирайте длинный пост в блакноте или в текстовом редакторе, обновление сайта непредсказуемо по времени.
 
Volodymyr Zubov #:
Набирайте длинный пост в блакноте или в текстовом редакторе, обновление сайта непредсказуемо по времени.
В 21 веке, в 25-м году. 

Даже смеяться неудобно
 
Ivan Butko #:
В 21 веке, в 25-м году. 

Даже смеяться неудобно

Исходи из того что есть.

 
Volodymyr Zubov #:

Исходи из того что есть.

когда работаешь много с деньгами, экономить приходится на всем)

мног раз уже писал тут, что такое ощущение, что разработками по сайту занимается сам глава

из примеров можно привести майнеров, они перестают играть, дорого пол киловата за несколько часов игры)
 

Хочу получить значения шага шкалы

DefaultStep (метод Get)
Возвращает начальное значение шага по оси. 
double  DefaultStep()
 

Но, получаю всегда значение 25, что не верно. Такое ощущение, что это значение в пикселях.

Другие характеристики шкалы получаю правильно.

      double Os_Min=y_axis.Min();//Получить/установить минимальное значение оси
      double Os_Max=y_axis.Max();//Получить/установить минимальное значение оси
 

Приветствую всех! 

Друзья!, Помогите исправить ошибку.

Ошибка : в строке 34 '{' - unbalanced parentheses


Код:

 //+------------------------------------------------------------------+
//|                                                      EMA_RSI.mq5  |
//|                        Copyright 2023, Your Name                 |
//|                                       https://www.yourwebsite.com |
//+------------------------------------------------------------------+
#property strict

input int emaLength = 50; // Длина EMA
input int rsiLength = 14; // Длина RSI
double ema50[];
double rsi[];

//+------------------------------------------------------------------+
//| Expert initialization function                                     |
//+------------------------------------------------------------------+
int OnInit()
{
    ArraySetAsSeries(ema50, true);
    ArraySetAsSeries(rsi, true);
    return INIT_SUCCEEDED;
}

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

//+------------------------------------------------------------------+
//| Expert tick function                                              |
//+------------------------------------------------------------------+
void OnTick()
{
    // Получаем данные о ценах
    MqlRates rates[];
    if (CopyRates(Symbol(), PERIOD_H1, 0, 1000, rates) <= 0)
        return;

    int rates_total = ArraySize(rates);
    
    if (rates_total < emaLength || rates_total < rsiLength)
        return;

    // Рассчитываем EMA
    if (CopyBuffer(iMA(Symbol(), PERIOD_H1, emaLength, 0, MODE_EMA, PRICE_CLOSE), 0, 0, 2, ema50) <= 0)
        return;

    // Рассчитываем RSI
    if (CopyBuffer(iRSI(Symbol(), PERIOD_H1, rsiLength, PRICE_CLOSE), 0, 0, 2, rsi) <= 0)
        return;

    double closePrice = rates[0].close; // Используем close из массива rates

    // Условия для покупки
    bool buyCondition = (closePrice > ema50[0] && rates[1].close > ema50[1] &&
                         rsi[0] > 50 && rsi[0] < 60);

    // Условия для продажи
    bool sellCondition = (closePrice < ema50[0] && rates[1].close < ema50[1] &&
                          rsi[0] < 50 && rsi[0] > 40);

    // Проверяем открытые ордера
    bool hasOpenBuy = false;
    bool hasOpenSell = false;

    for (int i = PositionsTotal() - 1; i >= 0; i--)
    {
        ulong ticket = PositionGetTicket(i);
        if (PositionSelectByTicket(ticket))
        {
            if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)
                hasOpenBuy = true;
            else if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)
                hasOpenSell = true;
  }
}

    // Вход в позицию на покупку
if (buyCondition && !hasOpenBuy)
{
    double lotSize = 0.1; // Размер лота
    double price = NormalizeDouble(SymbolInfoDouble(Symbol(), SYMBOL_ASK), _Digits); // Получаем цену Ask
    double slippage = 2; // Слиппаж
    double stopLoss = price - 100 * _Point; // Задаем стоп-лосс
    double takeProfit = price + 100 * _Point; // Задаем тейк-профит

    MqlTradeRequest request;
    MqlTradeResult result;

    request.action = TRADE_ACTION_DEAL;
    request.symbol = Symbol();
    request.volume = lotSize;
    request.type = ORDER_BUY; // Используем правильное перечисление
    request.price = price;
    request.slippage = slippage;
    request.tp = takeProfit;
    request.sl = stopLoss;

    if (!OrderSend(request, result))
    {
        Print("Ошибка открытия ордера на покупку: ", GetLastError());
    }
}

// Вход в позицию на продажу
if (sellCondition && !hasOpenSell)
{
    double lotSize = 0.1; // Размер лота
    double price = NormalizeDouble(SymbolInfoDouble(Symbol(), SYMBOL_BID), _Digits); // Получаем цену Bid
    double slippage = 2; // Слиппаж
    double stopLoss = price + 100 * _Point; // Задаем стоп-лосс
    double takeProfit = price - 100 * _Point; // Задаем тейк-профит

    MqlTradeRequest request;
    MqlTradeResult result;

    request.action = TRADE_ACTION_DEAL;
    request.symbol = Symbol();
    request.volume = lotSize;
    request.type = ORDER_SELL; // Используем правильное перечисление
    request.price = price;
    request.slippage = slippage;
    request.tp = takeProfit;
    request.sl = stopLoss;

    if (!OrderSend(request, result))
    {
        Print("Ошибка открытия ордера на продажу: ", GetLastError());
    }
}

//+------------------------------------------------------------------+


Заранее благодарю!

 
antonrex #:

Приветствую всех! 

Друзья!, Помогите исправить ошибку.

Ошибка : в строке 34 '{' - unbalanced parentheses


Код:


Заранее благодарю!

Вставляйте правильно код -

----------------‌

MQL5.community - Памятка пользователя 

Кнопка  Исходный кодпредназначена для вставки исходного кода в текст сообщения. При нажатии появляется пустое окно, в которое необходимо вставить код и далее нажать кнопку Вставить. Для отмены вставки кода необходимо нажать кнопку Отмена.

 

Приветствую всех! 

Друзья!, Помогите исправить ошибку.

Ошибка : в строке 34 '{' - unbalanced parentheses

//+------------------------------------------------------------------+
//|                                                      EMA_RSI.mq5  |
//|                        Copyright 2023, Your Name                 |
//|                                       https://www.yourwebsite.com |
//+------------------------------------------------------------------+
#property strict

input int emaLength = 50; // Длина EMA
input int rsiLength = 14; // Длина RSI
double ema50[];
double rsi[];

//+------------------------------------------------------------------+
//| Expert initialization function                                     |
//+------------------------------------------------------------------+
int OnInit()
{
    ArraySetAsSeries(ema50, true);
    ArraySetAsSeries(rsi, true);
    return INIT_SUCCEEDED;
}

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

//+------------------------------------------------------------------+
//| Expert tick function                                              |
//+------------------------------------------------------------------+
void OnTick()
{
    // Получаем данные о ценах
    MqlRates rates[];
    if (CopyRates(Symbol(), PERIOD_H1, 0, 1000, rates) <= 0)
        return;

    int rates_total = ArraySize(rates);
    
    if (rates_total < emaLength || rates_total < rsiLength)
        return;

    // Рассчитываем EMA
    if (CopyBuffer(iMA(Symbol(), PERIOD_H1, emaLength, 0, MODE_EMA, PRICE_CLOSE), 0, 0, 2, ema50) <= 0)
        return;

    // Рассчитываем RSI
    if (CopyBuffer(iRSI(Symbol(), PERIOD_H1, rsiLength, PRICE_CLOSE), 0, 0, 2, rsi) <= 0)
        return;

    double closePrice = rates[0].close; // Используем close из массива rates

    // Условия для покупки
    bool buyCondition = (closePrice > ema50[0] && rates[1].close > ema50[1] &&
                         rsi[0] > 50 && rsi[0] < 60);

    // Условия для продажи
    bool sellCondition = (closePrice < ema50[0] && rates[1].close < ema50[1] &&
                          rsi[0] < 50 && rsi[0] > 40);

    // Проверяем открытые ордера
    bool hasOpenBuy = false;
    bool hasOpenSell = false;

    for (int i = PositionsTotal() - 1; i >= 0; i--)
    {
        ulong ticket = PositionGetTicket(i);
        if (PositionSelectByTicket(ticket))
        {
            if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)
                hasOpenBuy = true;
            else if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)
                hasOpenSell = true;
  }
}

    // Вход в позицию на покупку
if (buyCondition && !hasOpenBuy)
{
    double lotSize = 0.1; // Размер лота
    double price = NormalizeDouble(SymbolInfoDouble(Symbol(), SYMBOL_ASK), _Digits); // Получаем цену Ask
    double slippage = 2; // Слиппаж
    double stopLoss = price - 100 * _Point; // Задаем стоп-лосс
    double takeProfit = price + 100 * _Point; // Задаем тейк-профит

    MqlTradeRequest request;
    MqlTradeResult result;

    request.action = TRADE_ACTION_DEAL;
    request.symbol = Symbol();
    request.volume = lotSize;
    request.type = ORDER_BUY; // Используем правильное перечисление
    request.price = price;
    request.slippage = slippage;
    request.tp = takeProfit;
    request.sl = stopLoss;

    if (!OrderSend(request, result))
    {
        Print("Ошибка открытия ордера на покупку: ", GetLastError());
    }
}

// Вход в позицию на продажу
if (sellCondition && !hasOpenSell)
{
    double lotSize = 0.1; // Размер лота
    double price = NormalizeDouble(SymbolInfoDouble(Symbol(), SYMBOL_BID), _Digits); // Получаем цену Bid
    double slippage = 2; // Слиппаж
    double stopLoss = price + 100 * _Point; // Задаем стоп-лосс
    double takeProfit = price - 100 * _Point; // Задаем тейк-профит

    MqlTradeRequest request;
    MqlTradeResult result;

    request.action = TRADE_ACTION_DEAL;
    request.symbol = Symbol();
    request.volume = lotSize;
    request.type = ORDER_SELL; // Используем правильное перечисление
    request.price = price;
    request.slippage = slippage;
    request.tp = takeProfit;
    request.sl = stopLoss;

    if (!OrderSend(request, result))
    {
        Print("Ошибка открытия ордера на продажу: ", GetLastError());
    }
}

//+------------------------------------------------------------------+
 
antonrex #:

Приветствую всех! 

Друзья!, Помогите исправить ошибку.

Ошибка : в строке 34 '{' - unbalanced parentheses


Во фрагменте кода в приложенном рисунке явно не хватает закрывающей скобки.
Файлы: