Напишу советник бесплатно - страница 180

 
Не подскажите может такой советник уже существует. Чтобы работал на мартингейле, но не просто ставил ордера в догонку лесенкой, или как качели вверх -вниз с увеличением, а например после каждого стоп лоса ставил по алгоритму buy,buy, sell и так по кругу пока не выйдет в плюс 
 

есть проблема!

iCustom() - OnTick()

iCustom - при большом количестве запросов, не обрабатываются новые данные, в режиме реального времени, в следствии чего, расчет - "захлебывается".

Кто может подсказать - как правильно организовать схему запросов в реальном времени, с учетом скапливающегося стека новых данных (желательно визуальный пример).

заранее БЛАГОДАРЕН!!!!

 

Нужен советник по уже существуещему индикатору на основе индикатора Зигзаг, меняет цвет волны при смене тренда.

1.  Сделки открываются при смене цвета волны и при первом пробое основания волны того же цвета. Можно менять в настройках страбатывание открытия пробоев, либо открывается ордер только при смене цвета или при первом пробое или одновременно работают два.


2. Пробои подкрашиваются цветными прямоугольниками и приходят алерты (можно менять цвета)


3. Одновременно может окрывать два ордера, к каждому свои настройки ТP/SL, перенос в безубыток по прохождению количества пипсов, сопровождения позиции SL


4. Автоматический манименеджмент с установкой процента от баланса для всех открываемых ордеров 


5. Время начала торгов и конец


6. Возможность нанесения двух параметров разного таймфрема на один график ( две калонки HiLo On с названием таймфрема)


7. Количество баров загрузки истории пробоев

Файлы:
0v6psd.PNG  78 kb
 
andrejgen #:

есть проблема!

iCustom() - OnTick()

iCustom() - OnInit()

Хэндлы индикаторов в советник единоразово вызывайте в  OnInit(). В  OnTick() подгружайте данные индикатора. Посмотрите примеры в кодобазе.

 

Очень хочется разобраться с открытием сделок на основе встроенных в мт5 индикаторов например Moving Averages подскажите пожалуйста где проблема код никак нехочет компилироваться.


// Объявление переменных
double previousPrice = 0.0;
double takeProfit = 70.0;
double stopLoss = 9000.0;
int tickCount = 0;
bool openTradeUp = false;
double baseLotSize = 0.01;

double ma1 = 0.0; 
double ma2 = 0.0;

// Функция для вычисления скользящих средних
void calculateMovingAverages(const string& symbol, ENUM_TIMEFRAMES timeframe, int period1, int period2, double& ma1, double& ma2)
{
    int ma1Handle = iMA(symbol, timeframe, period1, 0, MODE_SMA, PRICE_CLOSE);
    int ma2Handle = iMA(symbol, timeframe, period2, 0, MODE_SMA, PRICE_CLOSE);

    ma1 = iMA(symbol, timeframe, period1, 0, MODE_SMA, PRICE_CLOSE, ma1Handle, 0);
    ma2 = iMA(symbol, timeframe, period2, 0, MODE_SMA, PRICE_CLOSE, ma2Handle, 0);
}

// Функция обновления цены и открытия сделки
void UpdateAndTrade()
{
    // Вычисление значений Moving Averages
    calculateMovingAverages(_Symbol, PERIOD_CURRENT, 10, 20, ma1, ma2);
        
    // Получение баланса счета
    double accountBalance = AccountInfoDouble(ACCOUNT_BALANCE);
   
    // Получение текущей цены
    MqlTick tick;
    if (SymbolInfoTick(_Symbol, tick))
    {
        double currentPrice = tick.bid;

        if (ma1 > ma2)
        {
            openTradeUp = true;
        }

        if (openTradeUp)
        {
            // Открытие ордера на покупку
            MqlTradeRequest request;
            ZeroMemory(request);
            request.action = TRADE_ACTION_DEAL;
            request.symbol = _Symbol;
            request.volume = baseLotSize;
            request.type = ORDER_TYPE_BUY;
            request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
            request.sl = NormalizeDouble(request.price - stopLoss * _Point, _Digits);
            request.tp = NormalizeDouble(request.price + takeProfit * _Point, _Digits);
            request.type_filling = ORDER_FILLING_FOK;

            MqlTradeResult result;
            ZeroMemory(result);

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

            // Сброс флага открытия сделки вверх
            openTradeUp = false;
        }

        // Обновление значения предыдущей цены
        previousPrice = currentPrice;
    }
}

// Главная функция робота
void OnTick()
{
    // Увеличение счетчика тиков цены
    tickCount++;
    
    // Получение текущей даты
    datetime currentDate = iTime(_Symbol, PERIOD_D1, 0);      
    
    // Вызов функции обновления цены и открытия сделки
    UpdateAndTrade();
    
    // Вывод информации на график
    string tickCountText = "Текущий счетчик тиков: " + IntegerToString(tickCount);
    Comment(tickCountText);
}

// Инициализация робота
int OnInit()
{
    // Установка интервала вызова функции OnTick (10 секунд)
    EventSetTimer(10);

    return INIT_SUCCEEDED;
}

// Освобождение ресурсов при завершении работы робота
void OnDeinit(const int reason)
{
    // Удаление интервала вызова функции OnTick
    EventKillTimer();
}
Moving Average - Трендовые индикаторы - Использование технических индикаторов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
  • www.metatrader5.com
Технический индикатор Скользящее Среднее (Moving Average, MA) показывает среднее значение цены инструмента за некоторый период времени. При расчете...
 
Александр Буланов #:
Не подскажите может такой советник уже существует. Чтобы работал на мартингейле, но не просто ставил ордера в догонку лесенкой, или как качели вверх -вниз с увеличением, а например после каждого стоп лоса ставил по алгоритму buy,buy, sell и так по кругу пока не выйдет в плюс 
Есть советник OrderChase вроде похож на то что мне нужно, но он без мартина, и мой алгоритм бы туда сразу вписать и мои ТП и СЛ. Помогите пожалуйста собрать один советник, для меня это темный лес 
Файлы:
 
Всем привет. В  TradingView есть интересный график (похож на каги) называется ступенчатые линии. Может кто согласиться написать подобный индикатор для мт5. Индикатор нужен мультитаймфреймовый. Может есть у кого нибудь готовый? Поделитесь.
 
StohanoV #:
Всем привет. В  TradingView есть интересный график (похож на каги) называется ступенчатые линии. Может кто согласиться написать подобный индикатор для мт5. Индикатор нужен мультитаймфреймовый. Может есть у кого нибудь готовый? Поделитесь.
Kagi On Chart - скачать индикатор для MetaTrader 5 (forex-method.ru)

что-то вот такое есть по запросу

 
Vitalin #:

Очень хочется разобраться с открытием сделок на основе встроенных в мт5 индикаторов например Moving Averages подскажите пожалуйста где проблема код никак нехочет компилироваться.


    ma1 = iMA(symbol, timeframe, period1, 0, MODE_SMA, PRICE_CLOSE, ma1Handle, 0);
    ma2 = iMA(symbol, timeframe, period2, 0, MODE_SMA, PRICE_CLOSE, ma2Handle, 0);

wrong parameters count


Уберите лишнее

 
StohanoV #:
Всем привет. В  TradingView есть интересный график (похож на каги) называется ступенчатые линии. Может кто согласиться написать подобный индикатор для мт5. Индикатор нужен мультитаймфреймовый. Может есть у кого нибудь готовый? Поделитесь.
Nikita Chernyshov #:
Kagi On Chart - скачать индикатор для MetaTrader 5 (forex-method.ru)

что-то вот такое есть по запросу

С вашей сцильки ведёт вот сюда. Может лучше сразу дать нормальную ссылку?

Kagi On Chart
Kagi On Chart
  • www.mql5.com
График Kagi в основном окне валютной пары и с учётом временной шкалы.
Причина обращения: