Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Индикаторы

Exp - LineofZERO - индикатор для MetaTrader 4

Просмотров:
8034
Рейтинг:
(5)
Опубликован:
2010.06.30 07:41
Обновлен:
2017.11.22 22:53
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Авторство:

Некоторые функции, использованные мною в моих экспертах, были скопированы с открытого доступа и модифицированы под нужды каждого эксперта. Автор некоторых функций — KimIV, модификация — Expforex.


Описание:

Показывает линию безубытка для позиций по данному инструменту.

Настройки:

extern int OP=-1;// операция, 0- бай, 1- селл, -1 - все
extern int Magic=-1; // магик (в случае если несколько магиков на одном инструменте, иначе -1) 

Код:

double startZERO(int OP=0)
{
double BuyLots=0;
double SellLots=0;
double BuyProfit=0;
double SellProfit=0;
int Total=OrdersTotal();
for(int i=Total-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS))
{
if(OrderSymbol()!=Symbol()&&( OrderMagicNumber()!=Magic || Magic==-1)) continue;
if(OrderType()==OP_BUY)
{
BuyLots=BuyLots+OrderLots();
BuyProfit=BuyProfit+OrderProfit()+OrderCommission()+OrderSwap();
}
if(OrderType()==OP_SELL)
{
SellLots=SellLots+OrderLots();
SellProfit=SellProfit+OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
double Price=0;
double TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);
if(BuyLots>0) double BuyLevel=NormalizeDouble(Bid-(BuyProfit/(TickValue*BuyLots)*Point),Digits); else BuyLevel=0;
if(SellLots>0) double SellLevel=NormalizeDouble(Ask+(SellProfit/(TickValue*SellLots)*Point),Digits); else SellLevel=0;
if((BuyLots-SellLots)>0) Price=NormalizeDouble(Bid-((BuyProfit+SellProfit)/(TickValue*(BuyLots-SellLots))*Point),Digits);
if((SellLots-BuyLots)>0) Price=NormalizeDouble(Ask+((BuyProfit+SellProfit)/(TickValue*(SellLots-BuyLots))*Point),Digits);
string Title="Уровень без убытка для "+Symbol();
string ZeroLevel=" не существует";
if(Price>0) ZeroLevel=" = "+DoubleToStr(Price,Digits);
string Buy=" не существует";
if(BuyLevel>0) Buy=" = "+DoubleToStr(BuyLevel,Digits);
string Sell=" не существует";
if(SellLevel>0) Sell=" = "+DoubleToStr(SellLevel,Digits);
string Message="Уровень без убытка"+ZeroLevel+"\t\nУровень на покупку"+Buy+"\t\nУровень на продажу"+Sell;
if (Price==0)Price=Ask;
if(OP==OP_BUY)return(BuyLevel);
if(OP==OP_SELL)return(SellLevel);
if(OP==-1)return(Price);


}

Картинка:


BB_Support_Up BB_Support_Up

Bollinger Bands на текущем TimeFrame и с 3-х последующих (по просьбе Александра - tempico)

MA_monika_SAR MA_monika_SAR

MA и Parabolic SAR в одном индикаторе на диапазонах М1 - Н4

Зигзаг по экстремумам как у Л.Вильямса Зигзаг по экстремумам как у Л.Вильямса

Вспомогательный инструмент чтобы можно было быстро визуально найти основные движения.

wave(MACD&FZR) wave(MACD&FZR)

Построение ЗигЗага на основе MACD, с применением фильтра ФЗР