Полезные скрипты

Тема в разделе "Индикаторы, скрипты и эксперты для МТ4", создана пользователем AZart, 16 авг 2006.

  1. Dark Mind

    Dark Mind Новичок

    Доброе время суток ALL!
    Не попадалась ли где ни-ть такая штука: что-то типа эмулятора Margin Call на стороне клиента.
    Скорее всего, это должен быть скрипт.
    Принцип работы аналогичен принципу работы Margin Call на стороне сервера, т.е. брокера, но клиент имеет возможность настраивать для себя комфортные нефатальные пороги срабатывания.

    Возможные алгоритмы работы:

    a) Если Margin Level меньше X%, то прибить самый убыточный ордер на любом из всех открытых фининструменов.
    (убыток выражен в деньгах, а не в пипсах)
    После прибивания ордера возврат в начало и ожидание следующего самого убыточного ордера.
    Естественно X% настраиваемый параметр.

    Алгоритмы с привязкой ко времени:
    b) Если Margin Level меньше X% и это продолжается T минут, то прибить самый убыточный ордер на любом из всех открытых фининструменов.
    После прибивания ордера возврат в начало и ожидание следующего самого убыточного ордера.

    c) То же самое в привязке к Equity.
    Если Equity меньше Y и это продолжается T времени, то далее по тексту...

    Скрипты, работающие в режиме: если Equity меньше/больше ..., то прибить все я в Codebase находил, но это не совсем то, а если точнее, то совсем не то.
     
  2. xrust

    xrust Новичок

    Писец какие мы важные - да такого говна на мокле каждый напишет, было бы чем гордиться...
     
  3. stahh

    stahh Новичок

    Зачет =)) А каждый, кто в советниках юзает функции Кима - должен вставлять копирайт? ^rofl^
     
  4. Ice

    Ice Профи форума

    Скрипт поставит TakeProfit и StopLoss у открытых ордеров на текущем инструменте на уровень безубыточности.
    Расчет ведется только для ордеров текущего инструмента.
    Учитывает своп и комиссии. Работает при любых Digits.
    Точность +/- размер спреда.
    Об успешности изменений сообщит в диалоговом окне.
    Проверьте, включена ли опция "разрешить советнику торговать".
     

    Вложения:

    • ZeroLevel.mq4
      Размер файла:
      3,3 КБ
      Просмотров:
      128
  5. alf

    alf Старый опытный камикадзе

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

    cmillion I am an MQL programmer https://cmillion.ru

    Попробуйте этот.
    Индикатор показывает два уровня безубытка, отдельно для Sell и Buy

    Посмотреть вложение AllProfit.rar
     
  7. alf

    alf Старый опытный камикадзе

    Спасибо за участие, но в архиве файл *.ex4
     
  8. cmillion

    cmillion I am an MQL programmer https://cmillion.ru

    <!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo--><!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->#property copyright "Copyright © 2010, Khlistov Vladimir"
    #property link&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"http://cmillion.narod.ru"
    //+------------------------------------------------------------------+
    int start()
    {
    &nbsp;&nbsp; int b,s;
    &nbsp;&nbsp; double price,price_b,price_s,lot,lot_s,lot_b,SLb,SLs;
    &nbsp;&nbsp; for (int i=0; i<OrdersTotal(); i++)
    &nbsp;&nbsp; {&nbsp;&nbsp;if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;if (OrderSymbol()==Symbol())
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;price = OrderOpenPrice();
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lot&nbsp;&nbsp; = OrderLots();
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (OrderType()==OP_BUY )
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {price_b = price_b+price*lot; b++;&nbsp;&nbsp;lot_b=lot_b+lot;}
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (OrderType()==OP_SELL)
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {price_s = price_s+price*lot; s++;&nbsp;&nbsp;lot_s=lot_s+lot;}
    &nbsp;&nbsp; }&nbsp;&nbsp;}&nbsp;&nbsp;}
    &nbsp;&nbsp; ObjectDelete("SLb");
    &nbsp;&nbsp; if (b!=0)
    &nbsp;&nbsp; {&nbsp;&nbsp;SLb = price_b/lot_b;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectCreate("SLb",OBJ_ARROW,0,Time[0],SLb,0,0,0,0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectSet&nbsp;&nbsp; ("SLb",OBJPROP_ARROWCODE,6);
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectSet&nbsp;&nbsp; ("SLb",OBJPROP_COLOR, Navy);
    &nbsp;&nbsp; }
    &nbsp;&nbsp; ObjectDelete("SLs");
    &nbsp;&nbsp; if (s!=0)
    &nbsp;&nbsp; {&nbsp;&nbsp;SLs = price_s/lot_s;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectCreate("SLs",OBJ_ARROW,0,Time[0],SLs,0,0,0,0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectSet&nbsp;&nbsp; ("SLs",OBJPROP_ARROWCODE,6);
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ObjectSet&nbsp;&nbsp; ("SLs",OBJPROP_COLOR, Maroon);
    &nbsp;&nbsp; }
    }
    //+------------------------------------------------------------------+<!--c2--></div><!--ec2--><!--sizec--></span><!--/sizec-->

    Посмотреть вложение AllProfit.mq4
     
  9. alf

    alf Старый опытный камикадзе

    Спасибо, в понедельник проверю и отпишу :az:
     
  10. zhuki

    zhuki Новичок

    <span class='inv'><![CDATA[<noindex>]]></span><a href="http://www.onix-trade.net/forum/go.php?http://mql-advisor.ru/index.php?option=com_content&view=article&id=59:2010-03-05-10-18-37&catid=36:2010-02-25-12-31-55&Itemid=59" rel="nofollow" target="_blank">Здесь</a><span class='inv'><![CDATA[</noindex>]]></span> скрипт и функция по безубытку. Считает интерактивно т.е подбирает уровень безубытка. Работает с любым сочетанием лотов и направлений .
     
  11. alf

    alf Старый опытный камикадзе

    что-то не компилируется
     
  12. alf

    alf Старый опытный камикадзе

    считает все по раздельности, а общий ноль для ордеров по паре не считает
     
  13. cmillion

    cmillion I am an MQL programmer https://cmillion.ru

    Я Вам сразу так и писал:
    "Индикатор показывает два уровня безубытка, отдельно для Sell и Buy"
    Я не писал новую функцию, просто выдернул из своего <span class='inv'><![CDATA[<noindex>]]></span><a href="http://www.onix-trade.net/forum/go.php?http://cmillion.narod.ru/robot.html" rel="nofollow" target="_blank">советника</a><span class='inv'><![CDATA[</noindex>]]></span> и выложил.
    Если нужна конкретная функция, то пишите <a href="mailto:cmillion@narod.ru">cmillion@narod.ru</a> или в личку.
    Удачи!
     
  14. zhuki

    zhuki Новичок

    Cкрипт компилируется нормально . Функция предназначена для применения в советниках или ещё где. Функция не является отдельно рабочим приложением. И функцию нельзя использовать отдельно ,это же всего навсего функция.
     
  15. alf

    alf Старый опытный камикадзе

    Владимир, Игорь, спасибо конечно...
     
  16. concerto

    concerto авантюрист

    Работает спасибо...
     
  17. Ice

    Ice Профи форума

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

    Вложения:

  18. Ice

    Ice Профи форума

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

    На рисунке ниже показана работа скрипта с парами EURUSD (M5), GBPUSD (M15), USDCHF (H1)

    <div align="center"> MCVA_2.jpg </div>
     

    Вложения:

    • MCVA.mq4
      Размер файла:
      7,6 КБ
      Просмотров:
      99
  19. Ice

    Ice Профи форума

    Скрипт сохраняет историю по всем доступным в терминале инструментам в файл с заданным расширением (указывается в параметрах). Т.е. Вы перетаскиваете скрипт на график, задаете количество баров сколько записать в файл, и скрипт автоматически сохранит историю для каждого инструмента на текущем таймфрейме в следующем формате: Название инструмента Таймфрейм.ext (например, EURUSD60. txt, расширение-ext-можно задать в настройках скрипта). Если истории не хватает, то скрипт ее закачает. О завершении работы скрипт сообщит сигналом.

    Настройки скрипта:
    ext=txt;//расширение, с каким сохраняется файл
    last_bar=1;//последний бар, 0-текущий, 1-предыдущий и т.д.
    bars=610;//количество баров для сохранения истории.


    Второй скрипт FXG_sHist2csv_symbol - упрощенная версия вышеописанного скрипта. Его отличие в том, что эта версия скрипта сохраняет историю лишь для одного символа (на который Вы его перетащили).

    Автор скрипта написал его бесплатно по заказу. Кстати в личку многие спрашивают, у кого заказать скрипт. Вот <span class='inv'><![CDATA[<noindex>]]></span><a href="http://www.onix-trade.net/forum/go.php?http://fxgeneral.com/forum/index.php?showtopic=254&pid=2099&st=40&#entry2099" rel="nofollow" target="_blank">тут</a><span class='inv'><![CDATA[</noindex>]]></span> бесплатно пишут.
     

    Вложения:

  20. Ice

    Ice Профи форума

    Скрипт выставляет на уровне StopLoss-a последней открытой сделки сетку из отложенных ордеров (или только один ордер) в противоположную сторону.
     

    Вложения:

Поделиться этой страницей