Форум трейдеров » Торговые роботы, советники, индикаторы » Язык MQL4 для "чайников"
+ Подписаться
Страница 15 из 16 ПерваяПервая ... 513141516 ПоследняяПоследняя
  1. 467
    Комментарии
    6
    Темы
    485
    Репутация Pro
    Аватар для svetosha  
    В начале пути

    3 Медалей
    Доброго времени суток.
    Уважаемые поделитесь пожалуйста любым советником которой бы работал с реал сервером WHC:unsure:
    P. S заранее огромное спасибо :bow:
  2. 357
    Комментарии
    2
    Темы
    357
    Репутация Pro
    Аватар для sengluk  
    В начале пути

    2 Медалей
    Очень нужна помощь!
    Ничего не понимаю в программирование в MQ4, поэтому прошу помочь мне, если у кого есть такая возможность. Суть проблемы в следующем. Я нашел простейший индикатор, немного подправил его под себя, но последний штрих сделать не могу. Не хватает знаний.
    Итак, индикатор расчитывает "Индекс Доллара" (как я его понимаю). Я суммирую несколько валютных пар на каждый момент времени, а именно EURUSD, GBPUSD и CHFUSD как они есть, то есть на конец пятницы мы имели EURUSD=1,4092 GBPUSD=1,7580 и CHFUSD=0,8837 (так как USDCHF=1,1313). В сумме получилось 4,0511. Но это значение меняется при любом изменение любого из курсов. В результате расчетов у меня получается некоторая кривая. Все это здорово, но я бы хотел делать расчет не в абсолютном значение, а в относительном, то есть, я бы хотел в текущий момент времени разделить весь цифрово ряд на последнее значени. Казалось бы все просто, но я не знаю как ввести переменную, которая равнялась бы последнему значению и при этом для расчетов, в настоящий момент времени, была бы постоянной. Я ввожу внешнюю переменную типа «extern double» равную текущему значению, но это не решение проблемы, так как уже в следующее мгновения я получаю последнее значение в ряду отличное от того что я ввел, соответвственно и весь ряд сдвигается от Единицы не туда, куда надо. А если я ввожу значени типа «double», то у меня получается прямая равная 1, а Единице должно быть равно только последнее значение расчетного ряда, так как текущее значени индекса делится само на себя. Текст индекса прилагается.

    Буду очень рад, если мне кто-нибудь сможет с этим помочь.
    Спасибо

    //+------------------------------------------------------------------+
    //| IndexUSD.mq4 |
    //| Copyright © 2008, Igorina. |
    //| http://forex.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2008, Igorina."
    #property link "http://forex.com"

    #property indicator_separate_window
    #property indicator_buffers 1
    #property indicator_color1 Blue

    extern string Curency = "USD";
    extern double Idy = 4.0511;

    double EurUsd[],GbpUsd[],UsdChf[];
    double Idx[];

    int init()
    {
    IndicatorShortName(Curency);
    SetIndexStyle(0,DRAW_LINE);
    SetIndexBuffer(0,Idx);
    return(0);
    }

    void start()
    {
    ArrayCopySeries(EurUsd,MODE_CLOSE,"EURUSD");
    ArrayCopySeries(GbpUsd,MODE_CLOSE,"GBPUSD");
    ArrayCopySeries(UsdChf,MODE_CLOSE,"USDCHF");


    int counted_bars=IndicatorCounted();
    double EURUSD;
    double GBPUSD;
    double USDCHF;


    if(counted_bars<0) return(-1);
    if(counted_bars>0) counted_bars--;
    int limit=Bars-counted_bars;
    for(int i=0; i<limit; i++)
    {
    EURUSD = MathPow((EurUsd[i]),1);
    GBPUSD = MathPow((GbpUsd[i]),1);
    USDCHF = MathPow((UsdChf[i]),1);


    if (Curency == "USD") Idx[i] = ((EURUSD+GBPUSD+1/USDCHF)/Idy);



    }
    }
  3. 55
    Комментарии
    6
    Темы
    55
    Репутация Pro
     
    В начале пути

    3 Медалей
    Подскажите, плиз, как узнать величину прибыли или убытка по текущей позиции, чтоб потом ее закрыть? Про SL и TP я в курсе :)
    Использовать OrderProfit() и сравнивать его с заранее заданной величиной?
    if (OrderProfit()>=10) //Прибыль достигла заданного значения
    {
    if (OrderProfit()<=-10) //Убыток достиг заданного значения
    {
  4. 1,401
    Комментарии
    13
    Темы
    1409
    Репутация Pro
    Аватар для Karakurt  
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от Vlad_FX Посмотреть сообщение
    Подскажите, плиз, как узнать величину прибыли или убытка по текущей позиции, чтоб потом ее закрыть? Про SL и TP я в курсе :)
    Использовать OrderProfit() и сравнивать его с заранее заданной величиной?
    Всё верно. Учитывайте, что OrderProfit() возвращает результат в валюте. Если надо в тиках, нужно пересчитать либо функцию написать.
  5. 2,151
    Комментарии
    6
    Темы
    2187
    Репутация Pro
    Аватар для SPace  
    Мастер форумных наук

    4 Медалей
    Вот исправленный вариант индикатора "индекс USD". Количество просчитываемых баров ограничено с максимально возможного числа до 500. Иначе глючит...:smartass:
    Вложения Вложения
  6. 1,296
    Комментарии
    17
    Темы
    1297
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей
    почему то в висте при попытке скомпиллировать, и даже просто сохранить файл в метаэдиторе, пишет "отказано в доступе"
    Кто подскажет, "где же у неё кнопка"? (В.Басов "Приключения электроника")
     
  7. 1,296
    Комментарии
    17
    Темы
    1297
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от Petrovich Посмотреть сообщение
    почему то в висте при попытке скомпиллировать, и даже просто сохранить файл в метаэдиторе, пишет "отказано в доступе"
    Кто подскажет, "где же у неё кнопка"? (В.Басов "Приключения электроника")
    Никто не знает, или все забили...
  8. 55
    Комментарии
    6
    Темы
    55
    Репутация Pro
     
    В начале пути

    3 Медалей
    А как определить цвет свечи (одну, две, три... свечи назад)?
  9. 2,947
    Комментарии
    17
    Темы
    2950
    Репутация Pro
    Аватар для Mr.WT  
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от Petrovich Посмотреть сообщение
    почему то в висте при попытке скомпиллировать, и даже просто сохранить файл в метаэдиторе, пишет "отказано в доступе"
    Кто подскажет, "где же у неё кнопка"? (В.Басов "Приключения электроника")
    У вас-то хоть на русском языке табличка выскакивает, а у меня - и вовсе на кракозябликах :D
  10. 55
    Комментарии
    6
    Темы
    55
    Репутация Pro
     
    В начале пути

    3 Медалей
    С цветом разобрался: Open[3], Close[3] и т.п., а вот как определить время открытия текущей свечи, если используются разные периоды?

    Нашел: MODE_TIME. Сорри за беспокойство. :)

Вверх
РегистрацияX

чтобы писать, читать, комментировать