Mt4mm

Тема в разделе "Индикаторы, скрипты и эксперты для МТ4", создана пользователем 4xTrim, 8 апр 2008.

  1. 4xTrim

    4xTrim Активный пользователь

    Привет, Игорь!

    Ты будешь удивлен, но я начал создавать свой скрипт именно с этой целью. Мы с Kurt'ом обсуждали эту возможность уже очень давно.
    Но пока у меня пропал интерес к доработке скрипта. Слишком много времени он у меня забирал.

    Вобщем, может быть займусь когда-нибудь.
     
  2. Ice

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

    Всем доброго времени суток.

    При расчёте рабочего лота, равного определённому проценту от депозита я использую Lot calculator - аналог mt4mm. Прикладываю 2 и 3 версии.

    А нет - ли у кого - нибудь скрипта, расчитывающего лоты под другие системы управления капиталлом? Там фиксированная пропорция, оптимальный процент на истории - интересно поэкспериментировать
     

    Вложения:

  3. nion

    nion Активный пользователь

    Давно пользуюсь ими. Но они под долларовый депозит кажысь. Вот если бы под евро и рубли переписали. ^friends^
     
  4. Ice

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

    Что - то даже нигде не встречал такого скрипта... С долларами ИМХО удобнее работать. А в рублях храниь деньги на депо вообще страшно ИМХО
     
  5. finger

    finger Alex


    Что мне нужно изменить? 5 digits Broker ?
    Достаточно, если я LossPips =* 10 ?
     
  6. finger

    finger Alex

    <b>Верно ли это? для 5 digits Broker </b>

    <!--c1--><div class='codetop'>QUELLTEXT</div><div class='codemain'><!--ec1-->//+---------------------------------------------------------------------------+
    //|&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;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lot_Calc_v02.mq4
    //|&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;&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; Сергей Заикин as Vuki
    //|&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;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f_kombi@mail.ru
    //|&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;&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;&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; Рассчет лота для одного инструмента по методике Акелы (2% от депо)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    //+---------------------------------------------------------------------------+
    #property copyright "Сергей Заикин as Vuki"
    #property link&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"f_kombi@mail.ru"
    #property show_inputs

    extern double Risk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 2.0;&nbsp;&nbsp;// Процент от депо убытка
    extern int&nbsp;&nbsp;&nbsp;&nbsp;LossPips&nbsp;&nbsp;= 40;&nbsp;&nbsp; // Количество пипсов от открытия до стоплосса&nbsp;&nbsp;

    //+------------------------------------------------------------------+
    //| script start function&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|
    //+------------------------------------------------------------------+
    int start() {
    &nbsp;&nbsp;

    LossPips=LossPips*10; // if 5 digits Broker


    double Lot;

    &nbsp;&nbsp;double Depo;
    &nbsp;&nbsp;double Loss;
    &nbsp;&nbsp;double Point2;
    &nbsp;&nbsp;double Point1;
    &nbsp;&nbsp;double Marg,Marg1,Marg2,Marg3;
    &nbsp;&nbsp;double Spread1;
    &nbsp;&nbsp;string Instr;
    &nbsp;&nbsp;
    &nbsp;&nbsp;Instr&nbsp;&nbsp; = Symbol();
    &nbsp;&nbsp;Depo&nbsp;&nbsp;&nbsp;&nbsp;= AccountBalance(); // Возвращает значение баланса активного счета (сумма денежных средств на счете)
    &nbsp;&nbsp;Marg&nbsp;&nbsp;&nbsp;&nbsp;= AccountMargin(); // Возвращает сумму залоговых средств, используемых для поддержания открытых позиций на текущем счете
    &nbsp;&nbsp;Spread1 = MarketInfo(Instr, MODE_SPREAD);
    &nbsp;&nbsp;Marg1&nbsp;&nbsp; = MarketInfo(Instr, MODE_MARGINREQUIRED); //Маржа для данного инструмента при открытии 1 лота
    &nbsp;&nbsp;Point1&nbsp;&nbsp;= MarketInfo(Instr, MODE_TICKVALUE);
    &nbsp;&nbsp;
    &nbsp;&nbsp;Loss = Depo*Risk/100;
    &nbsp;&nbsp;Point2 = Loss/LossPips;
    &nbsp;&nbsp;Lot = Point2/Point1;
    &nbsp;&nbsp;Marg2 = Lot * Marg1; //Маржа для открытия данного лота
    &nbsp;&nbsp;Marg3 = 100*(Marg + Marg2)/Depo;
    &nbsp;&nbsp;
    &nbsp;&nbsp;
    /*&nbsp;&nbsp;Comment("\nРассчет лота по методике Акелы (",Risk,"% от депо) для ", Instr,"\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Депозит = ",Depo,"\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Спрэд = ",Spread1,"\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Маржа при открытии 1 лота = ",Marg1,"\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Маржа уже открытых позиций = ",Marg," или ",Marg*100/Depo,"% от депо\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Пунктов до СтопЛосс = ",LossPips,"\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Стоимость пункта = ",Point1,"\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Допустимый убыток = ",Loss,"\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Рассчетный лот = ",Lot,"\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Маржа для открытии рассчетного лота = ",Marg2," или ",Marg2*100/Depo,"% от депо\n",
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Общая маржа в % от депо при открытии рассчетного лота = ",Marg3,"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);*/
    MessageBox(" Расчёт лота при риске "+DoubleToStr(Risk,2)+"% от депо для "+Instr+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Депозит = "+DoubleToStr(Depo,2)+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Спрэд = "+DoubleToStr(Spread1,2)+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Маржа при открытии 1 лота = "+DoubleToStr(Marg1,2)+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Маржа уже открытых позиций = "+DoubleToStr(Marg,2)+" или "+DoubleToStr(Marg*100/Depo,2)+"% от депо "+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Пунктов до СтопЛосс = "+DoubleToStr(LossPips,0)+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Стоимость пункта = "+DoubleToStr(Point1,2)+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Допустимый убыток = "+DoubleToStr(Loss,2)+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Расчётный лот = "+DoubleToStr(Lot,3)+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Маржа для открытии расчётного лота = "+DoubleToStr(Marg2,2)+" или "+DoubleToStr(Marg2*100/Depo,2)+"% от депо"+"\n"
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+"Общая маржа в % от депо при открытии расчётного лота = "+DoubleToStr(Marg3,2)+"\n","Расчёт Лота",0);
    &nbsp;&nbsp;return(0);
    }<!--c2--></div><!--ec2-->
     

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