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

PricePosition

priceposition mt4.mq5
Вы автор или правообладатель?

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

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

О программе

PricePosition — это пользовательский индикатор для MetaTrader 5, который определяет позицию цены относительно усреднённого сигнального уровня, рассчитанного на основе двух скользящих средних с периодами 26 и 20. Индикатор отображает на графике направление сделки (BUY или SELL), уровень цены поворота, текущие значения OHLC, стрелку направления свечи, а также день и время.

При закрытии свечи выше сигнального уровня индикатор показывает покупку, при закрытии ниже — продажу. Если цена не пробивает уровень, направление не отображается. Всплывающие уведомления срабатывают при смене направления, а также при росте, падении или отсутствии движения цены.

Настройки позволяют выбрать расположение информационной панели на графике (левый или правый угол), включить или отключить звуковые оповещения, а также задать цвета для направлений BUY, SELL и отсутствия тренда. Индикатор работает на любом таймфрейме и обновляет данные в реальном времени.

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

НастройкаОписание
cor Определяет угол размещения информационной панели индикатора на графике: правый или левый.
UseAlert Включает или отключает всплывающие звуковые уведомления при смене направления цены, а также при росте, падении или паузе в движении.
BuyColor Цвет отображения направления покупки (BUY) на графике. Используется для текста и стрелок, указывающих на сигнал покупки.
SellColor Цвет отображения направления продажи (SELL) на графике. Используется для текста и стрелок, указывающих на сигнал продажи.
clrNT Цвет отображения элементов графика при отсутствии явного направления цены (когда свеча закрывается на уровне сигнальной линии).
Получить полный код

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

#property strict
#property description "PricePosition indicator provide the position of price in the point of angle"
#property description "when the price was rise or down, where the chance to buy or sell."
#property indicator_chart_window
#property  indicator_buffers 4
#property  indicator_color1  clrLime
#property  indicator_width1  2

enum YN
 {
   Yes = 1,
    No = 0
 };

enum corner
 {  
   RightHand=1,
   LeftHand=0
 };

input corner cor        = RightHand;    // Corner Position
input YN     UseAlert   = Yes;          // Turn On Alert (Yes) or (No)
input color  BuyColor   = clrLime;      // BUY Color
input color  SellColor  = clrOrangeRed; // SELL Color
input color  clrNT      = clrYellow;    // No Trend Color

double angle[],
       signal[],
       media1[],
       media2[];

string day[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};

int xdis=0,
    ydis=135;

color clrfont;

int cal,
    pal,
    prc,
    pdn;

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

void OnDeinit(const int reason)
  {

   ObjectsDeleteAll();
   GlobalVariablesDeleteAll();

   return;
  }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
      // код доступен только после оплаты
   }

   int i,limit;
   limit=rates_total-prev_calculated;
   if(prev_calculated>0) {limit++;}

   ArraySetAsSeries(angle,true);
   ArraySetAsSeries(signal,true);
   ArraySetAsSeries(media1,true);
   ArraySetAsSeries(media2,true);
   ArraySetAsSeries(open,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(close,true);

   for(i=limit-1; i>=0; i--)
     {
       media1[i]=iMA(_Symbol,0,26,0,2,4,i);
       media2[i]=iMA(_Symbol,0,20,0,0,4,i);
       signal[i]=(media1[i]+media2[i])/2;
     }

   for(i=limit-1; i>=0; i--)
     {
       if((open[i]<=signal[i])&&(close[i]>=signal[i])) angle[i]=low[i];
       else if((open[i]>=signal[i])&&(close[i]<=signal[i])) angle[i]=high[i];
       else angle[i]=EMPTY_VALUE;
     }

   double priceturn=0.0;  
   int seek=0;
   int s=0;

   while(seek<1)
     {
       if(angle[s]!=EMPTY_VALUE)
         {
           priceturn=angle[s];
           seek++;
         }
       s++;
     }

   if(close[0]>priceturn)
     { 
      CreateLabel(0,"AngleDirection","BUY","Verdana",28,BuyColor,cor,xdis,ydis);
      CreateLabel(0,"AngleLevel","above "+DoubleToString(priceturn,_Digits),"Verdana",10,BuyColor,cor,xdis,ydis+45);

      clrfont=BuyColor;
      cal=1;
      if((cal!=pal)&&(UseAlert==1))
        {Alert("*"+WindowExpertName()+": "+_Symbol+", TF: ",strTF(_Period)+", @ "+TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES)+
         " --- BUY above --- ",DoubleToString(priceturn,_Digits)); pal=cal;}
     }
   else if(close[0]<priceturn)
     {
      CreateLabel(0,"AngleDirection","SELL","Verdana",28,SellC

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

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

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

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

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

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

Стоимость полного кода
688,50₽ ≈ $8.41