Страница 1 из 815 123 ... ПоследняяПоследняя
Results 1 to 10 of 41

Thread: Нужна помощь в создании индикатора Cumulative Volume Index для MT4

  1. #1
    Любые эксперты по программированию готовы взять это и изменить его на MQ4 ??

    - Процедура инициализации внутреннего профиля
    - Определяет свойства внутреннего профиля и внутренние параметры
    - TODO: добавить минимальное и максимальное значение числовых параметров и цвет магазина по умолчанию
    функция Init ()
    в помещении: название (ИНДЕКС КУМУЛЯТИВНОГО ОБЪЕМА);
    в помещении: описание (ИНДЕКС КУМУЛЯЦИОННОГО ОБЪЕМА);
    в помещении: требуется источник (core.Bar);
    закрытый: тип (core.Oscillator);
    indoor.parameters: addGroup (селектор);

    местная валюта = {USD, EUR, GBP, CHF, JPY, AUD, NZD, CAD};


    местный я;
    indoor.parameters: добавить строку (валюта, базовая валюта, валюта [1]);
    для i = 1, 8, 1 до
    indoor.parameters: добавить альтернативу строки (валюта, валюта, валюта);
    конец





    indoor.parameters: addGroup (Style);
    indoor.parameters: add Color (цвет, цвет CVI, цвет CVI, core.rgb (255, 0, 0));

    конец

    - Процедура инициализации внутреннего экземпляра
    - Обрабатывает внутренние параметры и создает выходной поток
    - TODO: уточните расчет первого периода для каждого выходного потока.
    - TODO: рассчитать все константы, создать экземпляры всех последующих индексов и загрузить все необходимые библиотеки
    - Блок параметров


    местный сначала;
    местный источник = ноль;
    - Stre block
    локальный выход = {};
    местная валюта;

    локальная загрузка = {};
    локальный список = {};
    местный граф;
    локальный RawList, RawCount;
    local SourceData = {};
    местный пауто = (% a% a% a)(% a% a% a);
    местный колорит;



    местный хозяин;
    местное смещение;
    местное недельное смещение;



    местный MA = {};
    - Рутина
    функция Prepare (nameOnly)
    Method = instance.parameters.Method;
    Color = instance.parameters.color;
    Currency = instance.parameters.Currency;

    host = core.host;
    offset = host: execute (getTradingDayOffset);
    weekoffset = host: execute (getTradingWeekOffset);

    source = instance.source;
    первый = источник: первый ();

    локальное имя = профиль: идентификатор () .. (.. источник: имя () .., .. валюта ..);
    экземпляр: имя (название);

    местный crncy1, crncy2;

    RawList, RawCount = getInstrumentList ();


    местный я;
    локальный флаг = ложь;
    Count = 0;


    для i = 1, RawCount, 1 do

    FLAG = ложь;

    crncy1, crncy2 = string.match (RawList, pauto);


    если (crncy1 == Валюта) или (crncy2 == Валюта), то
    ФЛАГ = верно;
    конец


    если FLAG то
    Count = Count 1;
    List [Count] = RawList
    конец

    конец



    для i = 1, Count, 1 do
    SourceData = core.host:execute(getSyncHistory, List, source: barSize (), source: isBid (), 0, 200 i, 100 i);
    загрузка = правда;
    конец


    если (не (nameOnly)) тогда
    CVI = экземпляр: addStream (CVI, core.Line, имя, CVI, цвет, сначала);
    конец
    конец


    функция getInstrumentList ()
    локальный список = {};

    местный счет = 0;
    локальный ряд, enum;

    enum = core.host:findTable (offer): enumerator ();
    row = enum: next ();
    в то время как строка ~ = ноль до
    количество = количество 1;
    list [count] = row.Instrument;
    row = enum: next ();
    конец

    список возврата, количество;
    конец
    местное продвижение = 0;
    местное снижение = 0;


    - Внутренний режим расчета
    - TODO: добавить свой код для расчета выходных значений
    Обновление функции (период, режим)
    если период lt; Первый или нет источник: hasData (период), затем
    вернуть;
    конец

    Продвижение = 0;
    Снижение = 0;

    для i = 1, Count, 1 do
    если загрузка то
    вернуть;
    конец
    конец

    местный я;
    местный р;

    для i = 1, Count, 1 do

    p = инициализация (i, период)
    Рассчитать (i, p, период);


    конец


    конец


    Функция Calculate (i, p, period)

    если не р то
    вернуть;
    конец



    местный номер = {0,0,0,0,0,0,0,0};
    местный j;
    местный crncy1, crncy2;




    crncy1, crncy2 = string.match (List, pauto);

    если crncy1 == Валюта то
    if SourceData.close gt; SourceData.close [p-1] затем
    Advancing = Advancing SourceData.volume;
    elseif SourceData.close lt; SourceData.close [p-1] затем
    Снижение = Снижение SourceData.volume;
    конец
    elseif crncy2 == Тогда валюта
    if SourceData.close gt; SourceData.close [p-1] затем
    Снижение = Снижение SourceData.volume;
    elseif SourceData.close lt; SourceData.close [p-1] затем
    Advancing = Advancing SourceData.volume;
    конец
    конец



    CVI [период] = CVI [период-1] (продвижение - снижение);
    конец



    - функция вызывается после завершения асинхронной операции
    функция AsyncOperationFinished (cookie)

    местный я;


    для i = 1, Count, 1 do

    если cookie == 100 я тогда
    загрузка = правда;
    elseif cookie == 200 я тогда
    загрузка = ложь;
    пример: updateFrom (0);

    конец

    конец


    вернуть core.ASYNC_REDRAW;
    конец


    Инициализация функции (i, период)

    местная свеча;
    Candle = core.getcandle (источник: barSize (), источник: дата (период), смещение, смещение недели);


    если загрузка или SourceData: size () == 0 тогда
    вернуть ложь;
    конец


    если период lt; источник: сначала () потом
    вернуть ложь;
    конец

    local p = core.findDate (SourceData, Candle, false);

    - свеча не найдена
    если p lt; 0 тогда
    вернуть ложь;
    иначе вернуть p;
    конец

    конец

  2. #2
    Вы можете попробовать на техническом форуме ... что это за крытый? (импульс, осциллятор, тренд в помещении) вы можете опубликовать файл mq4? удачи !

  3. #3
    Это совокупный объем Indior. Определение «Индекса совокупного объема - CVI» Индикатор импульса, который измеряет движение денежных средств на весь фондовый рынок и из него, добавляя разницу между растущими и падающими акциями к текущему итогу.

  4. #4
    Вы закончили это?

  5. #5

  6. #6
    Спасибо! Несколько советов, например, как вы это используете?

  7. #7
    Я хотел бы использовать его, чтобы найти сильные уровни спросапредложения ..

  8. #8
    2 Приложение (я) Самая первая часть - это узнать об уровнях SUPPLYDEMAND на графике, это включает в себя изучение ценового действия и ключевых областей, где цена обнаружила тренд, разворот или консолидацию. Лично я не использую Кумулятивный, я использую OBV (на балансовом объеме), идея очень похожа, эти индикаторы используют тот же принцип с добавлением или вычитанием объема из цены, чтобы показать импульс. OBV, но в расчете OBV берет весь объем, связанный с закрытием цены, добавляя его, если цена идет вверх, и вычитает, если цена падает. Где совокупный объем рассчитывается как по отдельности, а затем принимает разницу между двумя объемами. Цена повышается на 10 тиков и падает на 7 тиков. Это показывает, что цена поднялась на 3 тика, поэтому сила есть. Это просто простое объяснение. Но ключ к глубокому погружению, как сказано выше, в стоящей области SUPPLYTEMAND. Потому что вы не хотите использовать OBV или CVI в областях, которые не являются ключевыми областями разворота, потому что вы можете получить много ранних сигналов. Эти индидоры не отстают, они много говорят. IMO трейдеры, кажется, смотрят на них. В любом случае вот несколько примеров моей торговли, один и тот же принцип может быть применен к обоим индикаторам, надеюсь, это поможет. Ключ должен искать конвергенцию или расхождение в ключевых областях SD. На первом рисунке вы видите, что цена опустилась в ключевую область спроса, с очень большим накоплением объема. Это очень интересная область, потому что она показывает, что происходит много транзакций. Продавцы, которые продавали ранее, теперь закрывают позиции, добавляя объем к смеси, продавцы иссякли, и те продавцы, а теперь и покупатели. И все больше покупателей заставляют продавцов снижать цену. Покупатели обгоняют продавцов и выигрывают. Отсюда и второй снимок экрана.
    https://www.forex-russian.com/crypto...etatrader.html
    https://www.forex-russian.com/genera...ree-house.html

  9. #9

  10. #10
    2 Приложение (я) Вот еще один пример, когда цена продолжает снижаться, но объем продолжает расти. Это показывает накопление объема в ключевой области ПОСТАВКИ. Покупатели покупают, а продавцы пытаются подтолкнуть цену вниз. Но однажды все продавцы высохли. Цена делает огромное ралли.
    https://www.forex-russian.com/crypto...-saitquot.html
    https://www.forex-russian.com/forex-...justments.html

Действующие разрешения

  • Вы не можете создавать новые темы
  • Вы не можете размещать ответы
  • Вы не можете использовать вложения
  • Вы не можете редактировать ваши записи
  •  
  • BB-код - Вкл.
  • Смайлики - Вкл.
  • Код [IMG] - Вкл.
  • Код [VIDEO] - Вкл.
  • HTML-код - Выкл.
Веб-сайт использует cookies
Веб-сайт использует cookies, в настоящее время некоторые из них уже установлены. Вы можете ознакомиться с более подробной информацией об использовании нами cookies здесь. Чтобы принять условия использования cookies, пожалуйста, нажмите на кнопку справа. Если вы продолжаете пользоваться веб-сайтом, вы по умолчанию принимаете условия использования cookies.