trendscalper_tr.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trendscalper_tr.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Программа представляет собой торгового советника для платформы MetaTrader 4. Она автоматизирует открытие и управление ордерами на валютном рынке, используя встроенные индикаторы для определения точек входа и выхода.
Советник поддерживает два режима управления лотами: фиксированный размер и расчёт на основе баланса счёта с заданным коэффициентом риска. Размер позиции корректируется в зависимости от выбранного режима.
Для управления рисками продукт использует стоп-лосс, фиксированную цель по прибыли и механизм перемещения защитного уровня после достижения определённых условий. Торговые операции выполняются через стандартные API MetaTrader 4.
Настройки программы
| Настройка | Описание |
|---|---|
| LotsIfNoMM | Лоты без менеджмента — Размер лота при отключённом менеджменте средств |
| Stoploss | Стоп-лосс — Расстояние стоп-лосса в пунктах от цены открытия ордера |
| Slip | Проскальзывание — Допустимое проскальзывание цены в пунктах при выполнении ордеров |
| InitialTarget | Начальная цель по прибыли — Расстояние в пунктах, при достижении которого проверяется условие фиксации прибыли |
| BB2periodMin | Минимальный период полос Боллинджера — Минимальный период для расчёта полос Боллинджера при поиске сигналов |
| BB2periodMax | Максимальный период полос Боллинджера — Максимальный период для расчёта полос Боллинджера при поиске сигналов |
| BB2multiplier | Множитель полос Боллинджера — Множитель для расчёта границ полос Боллинджера при определении потенциальных сигналов |
| TTFperiod1 | Период триггера 1 — Первый период пользовательского индикатора, используемого для определения триггерных уровней |
| TTFperiod2 | Период триггера 2 — Второй период пользовательского индикатора, используемого для дополнительных триггерных уровней; при значении 0 сигналы по второму периоду не генерируются |
| TSmultiplier | Множитель перемещения стоп-лосса — Множитель для расчёта перемещения защитного уровня на основе ATR |
| MM_Mode | Режим менеджмента средств — Режим менеджмента средств: 0 — фиксированные лоты, отрицательные значения — дробные лоты по балансу, положительные — целые лоты по балансу |
| MM_Risk | Коэффициент риска — Коэффициент риска, используемый при расчёте размера лота в режимах менеджмента |
Поиск по коду файла
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 и перейдите к оплате.