trendscalper_tr_opbartr.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trendscalper_tr_opbartr.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для платформы MetaTrader 4, предназначенный для автоматической торговли на основе анализа полос Боллинджера и пользовательского индикатора TTF_TR. Открывает длинные и короткие позиции при определённых условиях пробоя и пересечения сигнальных линий. Использует управление рисками и несколько режимов расчёта объёма позиции.
Советник отслеживает открытые позиции и управляет ими: закрывает сделки при достижении начальной цели или при развороте сигнальной линии, а также перемещает стоп-лосс при достижении определённого профита с использованием индикатора ATR. В режиме бэктеста обеспечивает корректную обработку входов и выходов на уровне открытия бара.
Настройки программы
| Настройка | Описание |
|---|---|
| LotsIfNoMM | Объём без MM — Базовый размер лота при отключённом автоматическом управлении рисками |
| Stoploss | Стоп-лосс — Размер стоп-лосса в пунктах от цены открытия |
| TakeProfit | Тейк-профит — Размер тейк-профита в пунктах от цены открытия |
| Slip | Слиппедж — Допустимое проскальзывание при открытии и закрытии ордеров в пунктах |
| InitialTarget | Начальная цель — Минимальный профит в пунктах, при достижении которого позиция может быть закрыта вручную по условию |
| BB2periodMin | Минимальный период BB — Нижняя граница диапазона периодов полос Боллинджера для проверки условий |
| BB2periodMax | Максимальный период BB — Верхняя граница диапазона периодов полос Боллинджера для проверки условий |
| BB2multiplier | Множитель BB — Коэффициент отклонения от средней линии полос Боллинджера для определения пробоя |
| TTFperiod1 | Период TTF_TR 1 — Первый период пользовательского индикатора TTF_TR для формирования сигнала |
| TTFperiod2 | Период TTF_TR 2 — Второй период пользовательского индикатора TTF_TR; при нулевом значении второй сигнал отключается |
| TSmultiplier | Множитель TS — Множитель ATR для расчёта расстояния трейлинг-стопа |
| MM_Mode | Режим MM — Режим управления денежными средствами: фиксированный лот, дробные лоты или полные лоты с учётом риска |
| MM_Risk | Риск MM — Коэффициент риска, определяющий размер лота в зависимости от баланса |
Поиск по коду файла
extern double LotsIfNoMM=0.1;
extern int Stoploss=40;
extern int TakeProfit=999;
extern int Slip=5;
extern int InitialTarget=999;
extern int BB2periodMin=85;
extern int BB2periodMax=95;
extern double BB2multiplier=0.95;
extern int TTFperiod1=15;
extern int TTFperiod2=0;
extern double TSmultiplier=6;
extern int MM_Mode=0;
extern int MM_Risk=40;
double Opentrades,orders,first,mode,cnt,Ilo,sym,b;
double b4signal,Signal,Triggerline,b4Triggerline,Triggerline2,b4Triggerline2,NowTriggerline,sl,LastOpByExpert,LastBarChecked,NoTouchBar;
bool PotentialLong,PotentialShort;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
Comment(" Trailingstop ", b, "\n"," Tick no. ", iVolume(Symbol(),0,0),
"\n"," Lots ",Ilo);
/**********************************Money and Risk Management***************************************
Changing the value of mm will give you several money management options
mm = 0 : Single 1 lot orders.
mm = -1 : Fractional lots/ balance X the risk factor.(use for Mini accts)
mm = 1 : Full lots/ balance X the risk factor up to 100 lot orders.(use for Regular accounts)
***************************************************************************************************
RISK FACTOR:
risk can be anything from 1 up.
Factor of 5 adds a lot for every $20,000.00 added to the balance.
Factor of 10 adds a lot with every $10.000.00 added to the balance.
The higher the risk, the easier it is to blow your margin..
**************************************************************************************************/
if (MM_Mode < 0) {
Ilo = MathCeil(AccountBalance()*MM_Risk/10000)/10;
if (Ilo > 100) {
Ilo = 100;
}
} else {
Ilo = LotsIfNoMM;
}
if (MM_Mode > 0)
{
Ilo = MathCeil(AccountBalance()*MM_Risk/10000)/10;
if (Ilo > 1)
{
Ilo = MathCeil(Ilo);
}
if (Ilo < 1)
{
Ilo = 1;
}
if (Ilo > 100)
{
Ilo = 100;
}
}
Opentrades=0;
for (cnt=0;cnt<OrdersTotal();cnt++)
{
if ( OrderSelect (cnt, SELECT_BY_POS) == false ) continue;
if ( OrderSymbol()==Symbol()) Opentrades=Opentrades+1;
}
if (Opentrades==0) //and iATR(5,2)<StopLoss*Point
{
if (LastBarChecked == Time[0])
return(0);
else
{
if (NoTouchBar == Time[0]) return(0); //This ensures that no positions will be opened during a bar where a SL was hit. This makes backtests at open prices only fully accurate.
if (IsTesting()==True) LastBarChecked = Time[0]; //Setting this only when backtesting ensures that the full entry code will be run on each tick (when there are no positions open), in case a setorder fails and needs to be retried. Eventually I'll add in MT4 errortrapping features as well.
PotentialLong=false;
PotentialShort=false;
for (cnt=BB2periodMin;cnt<=BB2periodMax;cnt++)
{
if (! PotentialShort && High[1]>(iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_MAIN,1) + ((iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_UPPER,1) - iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_MAIN,1)) * BB2multiplier)))
{
PotentialShort=True;
}
if (! PotentialLong && Low[1]<(iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_MAIN,1) - ((iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_MAIN,1) - iBands(Symbol(),0,cnt,2,0,PRICE_CLOSE,MODE_LOWER,1)) * BB2multiplier)))
{
Показано первые 50% кода (символов: 4997)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.