← К каталогу
Исходный код · ID 3917

fibonacci_ea.mq4

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Пользовательский индикатор для платформы MetaTrader 4, предназначенный для анализа ценовых данных предыдущего торгового дня. Индикатор рассчитывает уровни на основе дневных значений высока, низа, открытия и закрытия и отображает их в виде горизонтальных линий и текстовых меток на графике. Также индикатор способен выполнять торговые операции через встроенные функции торгового API платформы.

Настройки программы

НастройкаОписание
Magic_Number Магический номер — Уникальный идентификатор ордеров, используемый для фильтрации и управления позициями индикатора на счёте.
Lots Объём сделки — Размер торгового объёма в лотах, применяемый при открытии новых позиций.
Получить полный код

Поиск по коду файла

/*+------------------------------------------------------------------+
 | fibo
 | Author: Copyright © 2006,
 |
 |
 +------------------------------------------------------------------+*/

extern int Magic_Number=12345,OpenOrdersLimit=1;
extern double Lots=0.1;

double PrevDayHiBuffer[];
double PrevDayLoBuffer[];
double PrevDayOpenBuffer[];
double PrevDayCloseBuffer[];

int fontsize=11;
double PrevDayHi, PrevDayLo, PrevDayOpen , PrevDayClose,fb,fs,fe,tp1,tp2,tp3;
double LastHigh,LastLow,LastOpen,LastClose,x;
double ri,re1,re2,re3,ra1,ra2,ra3;

int deinit()
  {

   ObjectDelete("PrevDayHi");
   ObjectDelete("PrevDayLo");
   ObjectDelete("PrevDayOpen");
   ObjectDelete("PrevDayClose");
   ObjectDelete("fe");ObjectDelete("fe Line");
   ObjectDelete("fs");ObjectDelete("fs Line");
   ObjectDelete("tp3");ObjectDelete("tp3 Line");
   ObjectDelete("tp2");ObjectDelete("tp2 Line");
   ObjectDelete("tp1");ObjectDelete("tp1 Line");
   ObjectDelete("fb");ObjectDelete("fb Line");

   return(0);
  }

int init()
  {
      // код доступен только после оплаты
   }

int start() {
      // код доступен только после оплаты
   }

   int    counted_bars=IndicatorCounted();

   int limit, i;

   if (counted_bars==0)
   {

   }
   limit=(Bars-counted_bars)-1;

   for (i=limit; i>=0;i--)
   {

     LastHigh=High[Highest(NULL,0,MODE_HIGH,i+1)];
     LastLow=Low[Lowest(NULL,0,MODE_LOW,i+1)];
     if (Open[i+1]>LastOpen) LastOpen=Open[i+1];

     if (TimeDay(Time[i])!=TimeDay(Time[i+1]))
     {
       RefreshRates( ) ;

       PrevDayHi=LastHigh;
       PrevDayLo=LastLow;
       PrevDayOpen=LastClose;
       PrevDayClose=Open[i];

       LastLow=Open[i];
       LastHigh=Open[i];
       LastOpen=Open[i];
       LastClose=Open[i];

    }

     PrevDayHiBuffer[i]=PrevDayHi;
     PrevDayLoBuffer[i]=PrevDayLo;
     PrevDayOpenBuffer[i]=PrevDayOpen;
     PrevDayCloseBuffer[i]=PrevDayClose;

   }

   if (Ask > LastClose) {
     fb= PrevDayHi-(PrevDayHi-PrevDayLo)*0.382;
     fe= PrevDayHi-(PrevDayHi-PrevDayLo)*0.618;
     tp1=((PrevDayHi-PrevDayLo)*0.618)+fb;
     tp2=(PrevDayHi-PrevDayLo)+fb;
     tp3=1.618*(PrevDayHi-PrevDayLo)+fb;
     ri=MathRound((+fb-fe)*10000)/10000;
     re1=MathRound((+tp1-fb)*10000)/10000;
     re2=MathRound((+tp2-fb)*10000)/10000;
     re3=MathRound((+tp3-fb)*10000)/10000;
     ra1=MathRound((+re1/ri)*10)/10;
     ra2=MathRound((+re2/ri)*10)/10;
     ra3=MathRound((+re3/ri)*10)/10;

if (Bid > fb)
{
int count = 0;
for (int j=OrdersTotal()-1; j >= 0; j--)
if (OrderSelect(j, SELECT_BY_POS, MODE_TRADES))
{
    if (OrderSymbol() == Symbol())
    if (OrderMagicNumber() == Magic_Number)
    {
        count++;
    }
}
if (count < OpenOrdersLimit)
{
       int ticket;
       ticket = OrderSend(Symbol(), OP_BUY,Lots,Ask,4,0,0, "Ultima_fibo",Magic_Number,0,Red);
       for (i=OrdersTotal()-1; i >= 0; i--)
       if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
        if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == Magic_Number)
        {
         bool ret = OrderModify(OrderTicket(), OrderOpenPrice(),fe,tp1, 0, Red);
        }
       }
}
}
     RefreshRates( ) ;
     if(ObjectFind("fb") != 0)
     {
        ObjectCreate("fb", OBJ_TEXT, 0, Time[0], fb);
        ObjectSetText("fb", " BUY LEVEL", 14, "Arial Black", White);
     }
     else
     {
        ObjectMove("fb",fb, Time[0], fb);
     }
     if(ObjectFind("fb Line") != 0)
     {
        ObjectCreate("fb Line", OBJ_HLINE, 0, Time[0],fb);
        ObjectSet("fb Line", OBJPROP_STYLE, STYLE_DASHDOT);
        ObjectSet("fb Line", OBJPROP_COLOR, Blue);
     }
     else
     {
        ObjectMove("fb Line",0, Time[0], fb);
     }

     if((ra1>2)&&(ra2>2)&&(ra3>2))
        Comment("Owner : ", AccountName()," Account number : ", AccountNumber(),
        "\n\nPrevDayHi ",PrevDayHi,"\nPrevDayLo ", PrevDayLo,"\nTrend was UP ",
        "\nBUY @ ",fb ,"\nStopLoss ",fe,"\nTakeProit 1 ",tp1 ,
        " Risk/Reward Ratio : ", ra1 ," OK Trade ","\nTakeProit 2 ",tp2 ,
        " Risk/Reward Ratio : ", ra2 ," OK Trade ","\nTakeProit 3 ",tp3,
        " Risk/Reward Ratio : ", ra3 ," OK Trade ");
     else
        Comment("Owner : ", AccountName()," Account number : ", AccountNumber(),
        "\n\nPrevDayHi ",PrevDayHi,"\nPrevDayLo ", PrevDayLo,"\nTrend was UP ",
        "\nBUY @ ",fb ,"\nStopLoss ",fe,"\nTakeProit 1 ",tp1 ,
        " Risk/Reward Ratio : ", ra1 ," NO TRADE ","\nTakeProit 2 ",tp2 ,
        " Risk/Reward Ratio : ", ra2 ," NO TRADE ","\nTakeProit 3 ",tp3,
        " 

Показано первые 50% кода (символов: 7384)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
738,40₽ ≈ $9.02