TrendScalper
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trendscalper_tr1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
TrendScalper_TR — это торговый советник для MetaTrader 4, модифицированная версия оригинального TrendScalper. Советник анализирует индикатор полос Боллинджера (BB) в диапазоне периодов и пользовательский индикатор TTF_TR для определения точек входа в длинные и короткие позиции.
При отсутствии открытых позиций эксперт проверяет потенциальные сигналы на покупку и продажу, сравнивая цены с расчётными уровнями полос Боллинджера и линиями триггера TTF_TR. При совпадении условий отправляются рыночные ордера на покупку или продажу с заданным стоп-лоссом.
При наличии открытых позиций советник управляет ими посредством трейлинг-стопа на основе индикатора ATR и закрывает ордер при достижении заданной ценовой цели. Доступны несколько режимов управления денежными рисками — от фиксированного размера лота до расчёта лотов на основе баланса счёта.
Советник использует стандартные торговые функции MetaTrader 4 для отправки ордеров, их закрытия и модификации. Параметры настройки включают размеры лотов, стоп-лосс, проскальзывание, периоды индикаторов и режимы управления рисками.
Настройки программы
| Настройка | Описание |
|---|---|
| LotsIfNoMM | Лот без MM — Фиксированный размер лота при отключённом управлении денежными рисками (MM_Mode = 0). |
| Stoploss | Стоп-лосс — Расстояние стоп-лосса в пунктах от цены открытия позиции. |
| Slip | Проскальзывание — Допустимое проскальзывание цены в пунктах при отправке рыночных ордеров. |
| InitialTarget | Начальная цель — Ценовое расстояние в пунктах, при достижении которого позиция закрывается по рыночной цене. |
| BB2periodMin | Минимальный период BB2 — Минимальный период полосы Боллинджера, используемый при сканировании потенциальных сигналов входа. |
| BB2periodMax | Максимальный период BB2 — Максимальный период полосы Боллинджера, используемый при сканировании потенциальных сигналов входа. |
| BB2multiplier | Множитель BB2 — Множитель расчёта верхней границы полосы Боллинджера для определения потенциального сигнала на продажу. |
| TTFperiod1 | Период TTF1 — Период пользовательского индикатора TTF_TR, используемый для определения основного сигнала триггера. |
| TTFperiod2 | Период TTF2 — Дополнительный период пользовательского индикатора TTF_TR для альтернативной проверки триггера. При значении 0 сигнал по этому периоду не генерируется. |
| TSmultiplier | Множитель трейлинг-стопа — Множитель ATR для расчёта расстояния трейлинг-стопа от текущей цены. |
| MM_Mode | Режим MM — Режим управления денежными рисками: отрицательное значение — дробные лоты, 0 — фиксированный лот, положительное значение — полный лот с расчётом по балансу. |
| MM_Risk | Риск MM — Коэффициент риска, используемый при расчёте размера лота в режимах MM_Mode ≠ 0. |
Поиск по коду файла
extern double LotsIfNoMM=0.1;
extern int Stoploss=40;
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;
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 (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)) * BB2multipПоказано первые 50% кода (символов: 4800)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.