iCustom-EA
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «icustom-ea-v3.15.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
iCustom-EA — это торговый советник для MetaTrader 4, который использует пользовательские индикаторы для генерации торговых сигналов и управления ордерами. В основе работы лежит считывание данных индикаторов Super Arrow, Sniper Stop_v2, Sniper Trend A и Sniper Trend B через API iCustom, на основании чего формируются направления для открытия сделок.
Советник реализует комплексное управление позициями: установка стоп-лосса и тейк-профита, трейлинг-стоп, перевод в безубыток, а также множественные уровни фиксации прибыли. Встроена система управления рисками с расчётом лотов на основе процента от баланса счёта и ограничениями по минимальному и максимальному размеру позиции.
Доступны фильтры по времени торговли, максимальному спреду и количеству одновременных сделок. Поддерживается работа с фильтром на другом таймфрейме, управление направлением сигналов и режим закрытия по противоположным или условным сигналам. Все торговые операции выполняются через стандартные API MetaTrader 4.
Настройки программы
| Настройка | Описание |
|---|---|
| comment to display in the order (comment) | Комментарий к ордеру — Текст комментария, отображаемого в ордере. |
| IndicatorName | Имя индикатора — Имя пользовательского индикатора, используемого для сигналов. |
| BuyBuffer | Буфер покупки — Буфер для сигналов покупки в пользовательском индикаторе. |
| SellBuffer | Буфер продажи — Буфер для сигналов продажи в пользовательском индикаторе. |
| moneymanagement | Управление денежными средствами — Группа настроек управления денежными средствами. |
| lots size (lots) | Размер лота — Размер лота для торговли. |
| enable risk management (lotsoptimized) | Оптимизация лотов — Включение оптимизированного управления размером лота (управление рисками). |
| risk in percentage of the account (risk) | Процент риска — Процент риска от баланса счёта для расчёта размера лота. |
| minimum lot allowed by the expert (minlot) | Минимальный лот — Минимальный допустимый лот. |
| maximum lot allowed by the expert (maxlot) | Максимальный лот — Максимальный допустимый лот. |
| 1 for minilot, 2 for microlot (lotdigits) | Разрядность лотов — Разрядность лотов: 1 для мини-лотов, 2 для микролотов. |
| ordersmanagement | Управление ордерами — Группа настроек управления ордерами. |
| close the orders on an opposite signal (oppositeclose) | Закрытие по противоположному сигналу — Закрытие ордеров при получении противоположного сигнала. |
| reverse the signals, long if short, short if long (reversesignals) | Инверсия сигналов — Инверсия сигналов: длинная при коротком сигнале и наоборот. |
| maximum trades allowed by the traders (maxtrades) | Максимальное количество сделок — Максимальное количество одновременных сделок. |
| maximum trades per bar allowed by the expert (tradesperbar) | Сделок на бар — Максимальное количество сделок, открываемых за один бар. |
| long stop loss (lstoploss) | Стоп-лосс длинной позиции — Стоп-лосс для длинных позиций в пипсах. |
| short stop loss (sstoploss) | Стоп-лосс короткой позиции — Стоп-лосс для коротких позиций в пипсах. |
| long take profit (ltakeprofit) | Тейк-профит длинной позиции — Тейк-профит для длинной позиции в пипсах. |
| long take profit 2 (ltakeprofit2) | Тейк-профит длинной позиции 2 — Второй уровень тейк-профита для длинной позиции в пипсах. |
| long take profit 3 (ltakeprofit3) | Тейк-профит длинной позиции 3 — Третий уровень тейк-профита для длинной позиции в пипсах. |
| long take profit 4 (ltakeprofit4) | Тейк-профит длинной позиции 4 — Четвёртый уровень тейк-профита для длинной позиции в пипсах. |
| long take profit 5 (ltakeprofit5) | Тейк-профит длинной позиции 5 — Пятый уровень тейк-профита для длинной позиции в пипсах. |
| short take profit (stakeprofit) | Тейк-профит короткой позиции — Тейк-профит для короткой позиции в пипсах. |
| short take profit 2 (stakeprofit2) | Тейк-профит короткой позиции 2 — Второй уровень тейк-профита для короткой позиции в пипсах. |
| short take profit 3 (stakeprofit3) | Тейк-профит короткой позиции 3 — Третий уровень тейк-профита для короткой позиции в пипсах. |
| short take profit 4 (stakeprofit4) | Тейк-профит короткой позиции 4 — Четвёртый уровень тейк-профита для короткой позиции в пипсах. |
| short take profit 5 (stakeprofit5) | Тейк-профит короткой позиции 5 — Пятый уровень тейк-профита для короткой позиции в пипсах. |
| profit in pips required to enable the trailing stop (trailingstart) | Начало трейлинг-стопа — Прибыль в пипсах, необходимая для включения трейлинг-стопа. |
| trailing stop (trailingstop) | Трейлинг-стоп — Расстояние трейлинг-стопа в пипсах. |
| margin allowed to the market to enable the trailing stop (trailingstep) | Шаг трейлинг-стопа — Допустимое расстояние до рынка для включения трейлинг-стопа. |
| gain in pips required to enable the break even (breakevengain) | Прибыль для безубытка — Прибыль в пипсах, необходимая для включения перевода в безубыток. |
| break even (breakeven) | Безубыток — Расстояние в пипсах для перевода ордера в безубыток. |
| advordersmanagement | Расширенное управление ордерами — Группа настроек расширенного управления ордерами. |
| true=open five orders as per the rule with different sl and tp, false=open one order with buystop (s (open5orders) | Открыть пять ордеров — Открытие пяти ордеров с разными стоп-лоссом и тейк-профитом (true) или одного ордера (false). |
| true=close the orders if all conditions are not met anymore, false=don't close the orders if all con (closeonbadconditio | Закрытие при плохих условиях — Закрытие ордеров, если все условия больше не выполняются. |
| true=we exit on arrows (closeonarrows) | Закрытие по стрелкам — Закрытие ордеров по стрелкам индикатора. |
| true=stoploss based on the sniper stopv2, false=stoploss not based on the sniper stop v2 (autostop) | Автоматический стоп-лосс — Включение автоматического стоп-лосса на основе индикатора Sniper Stop v2. |
| margin to add to the autostop, positive value=value to add, negative value=value to withdraw (autostopmargin) | Маржа автостопа — Маржа для автоматического стоп-лосса (положительное значение — добавить, отрицательное — убрать). |
| minimum stop loss when autostop is enabled (minimumstop) | Минимальный стоп-лосс — Минимальный стоп-лосс при включённом автоматическом стоп-лоссе. |
| maximum stop loss when autostop is enabled (maximumstop) | Максимальный стоп-лосс — Максимальный стоп-лосс при включённом автоматическом стоп-лоссе. |
| true=don't trade if the distance between the price and the sniper stop v2 is higher thanmaximumstop, (notradeovermaxstop | Нет торговли при превышении максимального стопа — Запрет торговли, если расстояние до стоп-лосса превышает максимальный допустимый стоп-лосс. |
| true=trailing stop based on the sniper stop v2, false=trailingstop not based on the sniper stop v2 (trailonsniperstop) | Трейлинг на Sniper Stop v2 — Трейлинг-стоп на основе индикатора Sniper Stop v2 (true) или обычный трейлинг-стоп (false). |
| entrylogics | Логика входа — Группа настроек логики входа в сделку. |
| true=enter only as soon as the conditions are met, false=enter as longs as the conditions are met (onlycross) | Только пересечение — Вход только при пересечении условий (true) или вход при каждом выполнении условий (false). |
| true=use sniper indicator for the signal, false=don't use this indicator for the signal (usesniper) | Использовать Sniper — Использование индикатора Sniper для формирования сигнала. |
| period of the sniper indicator (SniperPeriod) | Период Sniper — Период индикатора Sniper. |
| type of the sniper indicator (SniperType) | Тип Sniper — Тип индикатора Sniper. |
| shift of the sniper indicator's arrow (arrow_shift) | Сдвиг стрелки Sniper — Сдвиг стрелки индикатора Sniper. |
| alerts of the sniper indicator (Alerts) | Алерты Sniper — Алерты индикатора Sniper (значение параметра индикатора). |
| true=use the sniper stop v2 indicator for the signal, false=don't use this indicator for the signal (usestop) | Использовать Sniper Stop v2 — Использование индикатора Sniper Stop v2 для формирования сигнала. |
| true=use the sniper trend a indicator for the signal, false=don't use this indicator for the signal (usetrenda) | Использовать Sniper Trend A — Использование индикатора Sniper Trend A для формирования сигнала. |
| true=use the sniper trend b indicator for the signal, false=don't use this indicator for the signal (usetrendb) | Использовать Sniper Trend B — Использование индикатора Sniper Trend B для формирования сигнала. |
| sniper value of the sniper trend b indicator (Sniper) | Значение Sniper — Значение параметра sniper индикатора Sniper Trend B. |
| sniperss value of the sniper trend b indicator (SniperSS) | Значение SniperSS — Значение параметра sniperss индикатора Sniper Trend B. |
| sniperp value of the sniper trend b indicator (SniperP) | Значение SniperP — Значение параметра sniperp индикатора Sniper Trend B. |
| true=enable the alerts of the sniper trend b indicator, false=disable the alerts (AlertsEnabled) | Алерты Sniper Trend B включены — Включение или отключение алертов индикатора Sniper Trend B. |
| bar in the past to take in consideration for the signal (shift) | Сдвиг бара — Бар в прошлом, учитываемый для формирования сигнала. |
| filersettings | Настройки фильтра — Группа настроек фильтра. |
| enable a second sniper system on another timeframe to filter the signals (usefilter) | Фильтр включён — Включение второго индикатора на другом таймфрейме для фильтрации сигналов. |
| timeframe of the filter (timeframe) | Таймфрейм фильтра — Таймфрейм для фильтра. |
| true=enter only as soon as the conditions are met, false=enter as longs as the conditions are met (onlycrosstf) | Только пересечение (фильтр) — Вход только при пересечении условий для фильтра (true) или вход при каждом выполнении (false). |
| true=use sniper indicator for this filter, false=don't use this indicator for the filter (usesnipertf) | Использовать Sniper (фильтр) — Использование индикатора Sniper для фильтра. |
| period of the sniper indicator (SniperPeriodtf) | Период Sniper (фильтр) — Период индикатора Sniper для фильтра. |
| type of the sniper indicator (SniperTypetf) | Тип Sniper (фильтр) — Тип индикатора Sniper для фильтра. |
| shift of the sniper indicator's arrow (arrow_shifttf) | Сдвиг стрелки Sniper (фильтр) — Сдвиг стрелки индикатора Sniper для фильтра. |
| alerts of the sniper indicator (Alertstf) | Алерты Sniper (фильтр) — Алерты индикатора Sniper для фильтра. |
| true=use the sniper stop v2 indicator for the filter, false=don't use this indicator for the filter (usestoptf) | Использовать Sniper Stop v2 (фильтр) — Использование индикатора Sniper Stop v2 для фильтра. |
| true=use the sniper trend a indicator for the filter, false=don't use this indicator for the filter (usetrendatf) | Использовать Sniper Trend A (фильтр) — Использование индикатора Sniper Trend A для фильтра. |
| true=use the sniper trend b indicator for the filter, false=don't use this indicator for the filter (usetrendbtf) | Использовать Sniper Trend B (фильтр) — Использование индикатора Sniper Trend B для фильтра. |
| sniper value of the sniper trend b indicator (Snipertf) | Значение Sniper (фильтр) — Значение параметра sniper индикатора Sniper Trend B для фильтра. |
| sniperss value of the sniper trend b indicator (SniperSStf) | Значение SniperSS (фильтр) — Значение параметра sniperss индикатора Sniper Trend B для фильтра. |
| sniperp value of the sniper trend b indicator (SniperPtf) | Значение SniperP (фильтр) — Значение параметра sniperp индикатора Sniper Trend B для фильтра. |
| true=enable the alerts of the sniper trend b indicator, false=disable the alerts (AlertsEnabledtf) | Алерты Sniper Trend B (фильтр) включены — Включение или отключение алертов индикатора Sniper Trend B для фильтра. |
| extrafeatures | Дополнительные функции — Группа настроек дополнительных функций. |
| true=we continue to open orders if a new signal in the same direction than the previous appears, fal (samedirection) | То же направление — Продолжение открытия ордеров при появлении нового сигнала в том же направлении (true) или ожидание противоположного сигнала (false). |
| true=we close the trade only after a certain time (mincloseminutes), false=disregard the time (minclosetime) | Минимальное время закрытия включено — Включение закрытия сделки только по истечении определённого времени. |
| minimum time determined in minutes (mincloseminutes) | Минимальное время закрытия — Минимальное время в минутах до закрытия сделки (при включённом минимальном времени закрытия). |
| timefilter | Временной фильтр — Группа настроек временного фильтра. |
| gmt offset of the broker (gmtshift) | Смещение GMT — Смещение GMT у брокера. |
| enable time filter (filter) | Временной фильтр — Включение временного фильтра торговли. |
| start to trade after this hour (start) | Начало торговли — Час, после которого начинается торговля (временной фильтр). |
| stop to trade after this hour (end) | Конец торговли — Час, после которого торговля прекращается (временной фильтр). |
| trade on sunday (tradesunday) | Торговля в воскресенье — Торговля в воскресенье. |
| enable special time filter on friday (fridayfilter) | Фильтр пятницы — Включение специального временного фильтра на пятницу. |
| stop to trade after this hour (fridayend) | Конец торговли в пятницу — Час, после которого торговля прекращается в пятницу. |
Поиск по коду файла
#property version "v3.15 - 2020"
#property description "iCustom-EA"
extern string comment="iCustom-EA"; // comment to display in the order
extern string IndicatorName = "Super Arrrow Indicator";
extern int BuyBuffer = 0;
extern int SellBuffer = 1;
extern string moneymanagement="Money Management";
extern double lots=0.01; // lots size
extern bool lotsoptimized=false; // enable risk management
extern double risk=1; // risk in percentage of the account
extern double minlot=0.01; // minimum lot allowed by the expert
extern double maxlot=10; // maximum lot allowed by the expert
extern double lotdigits=2; // 1 for minilot, 2 for microlot
extern string ordersmanagement="Order Management";
extern bool oppositeclose=true; // close the orders on an opposite signal
extern bool reversesignals=false; // reverse the signals, long if short, short if long
extern int maxtrades=100; // maximum trades allowed by the traders
extern int tradesperbar=1; // maximum trades per bar allowed by the expert
extern int lstoploss=30; // long stop loss
extern int sstoploss=30; // short stop loss
extern int ltakeprofit=40; // long take profit
extern int ltakeprofit2=0; // long take profit 2
extern int ltakeprofit3=0; // long take profit 3
extern int ltakeprofit4=0; // long take profit 4
extern int ltakeprofit5=0; // long take profit 5
extern int stakeprofit=50; // short take profit
extern int stakeprofit2=0; // short take profit 2
extern int stakeprofit3=0; // short take profit 3
extern int stakeprofit4=0; // short take profit 4
extern int stakeprofit5=0; // short take profit 5
extern int trailingstart=30; // profit in pips required to enable the trailing stop
extern int trailingstop=40; // trailing stop
extern int trailingstep=25; // margin allowed to the market to enable the trailing stop
extern int breakevengain=0; // gain in pips required to enable the break even
extern int breakeven=0; // break even
int expiration=0; // expiration in minutes for pending orders
int slippage=0; // maximum difference in pips between signal and order
double maxspread=50; // maximum spread allowed by the expert
extern string advordersmanagement="Advanced Order Management";
extern bool open5orders=false; // true=open five orders as per the rule with different sl and tp, false=open one order with buystop (sl) and buytarget (tp)
extern bool closeonbadconditions=false; // true=close the orders if all conditions are not met anymore, false=don't close the orders if all conditions are not met anymore
extern bool closeonarrows=false; // true=we exit on arrows
extern bool autostop=false; // true=stoploss based on the sniper stopv2, false=stoploss not based on the sniper stop v2
extern int autostopmargin=0; // margin to add to the autostop, positive value=value to add, negative value=value to withdraw
extern int minimumstop=300; // minimum stop loss when autostop is enabled
extern int maximumstop=1000; // maximum stop loss when autostop is enabled
extern bool notradeovermaxstop=false; // true=don't trade if the distance between the price and the sniper stop v2 is higher thanmaximumstop, false=disregard this distance
extern bool trailonsniperstop=false; // true=trailing stop based on the sniper stop v2, false=trailingstop not based on the sniper stop v2
extern string entrylogics="Entry Logics";
extern bool onlycross=false; // true=enter only as soon as the conditions are met, false=enter as longs as the conditions are met
extern bool usesniper=true; // true=use sniper indicator for the signal, false=don't use this indicator for the signal
extern int SniperPeriod=30; // period of the sniper indicator
extern int SniperType=3; // type of the sniper indicator
extern int arrow_shift=30; // shift of the sniper indicator's arrow
extern int Alerts=1; // alerts of the sniper indicator
extern bool usestop=false; // true=use the sniper stop v2 indicator for the signal, false=don't use this indicator for the signal
extern bool usetrenda=false; // true=use the sniper trend a indicator for the signal, false=don't use this indicator for the signal
extern bool usetrendb=false; // true=use the sniper trend b indicator for the signal, false=don't use this indicator for the signal
extern double Sniper=0.01; // sniper value of the sniper trend b indicator
extern double SniperSS=0.1; // sniperss value of the sniper trend b indicator
extern int SniperP=7; // sniperp value of the sniper trend b indicator
extern bool AlertsEnabled=false; // true=enable the alerts of the sniper trend b indicator, false=disable the alerts
extern int shift=1; // bar in the past to take in consideration for the signal
extern string filersettings="Filter Settings";
extern bool usefilter=false; // enable a second sniper system on another timeframe to filter the signals
extern int timeframe=240; // timeframe of the filter
extern bool onlycrosstf=false; // true=enter only as soon as the conditions are met, false=enter as longs as the conditions are met
extern bool usesnipertf=true; // true=use sniper indicator for this filter, false=don't use this indicator for the filter
extern int SniperPeriodtf=30; // period of the sniper indicator
extern int SniperTypetf=3; // type of the sniper indicator
extern int arrow_shifttf=30; // shift of the sniper indicator's arrow
extern int Alertstf=1; // alerts of the sniper indicator
extern bool usestoptf=false; // true=use the sniper stop v2 indicator for the filter, false=don't use this indicator for the filter
extern bool usetrendatf=false; // true=use the sniper trend a indicator for the filter, false=don't use this indicator for the filter
extern bool usetrendbtf=false; // true=use the sniper trend b indicator for the filter, false=don't use this indicator for the filter
extern double Snipertf=0.01; // sniper value of the sniper trend b indicator
extern double SniperSStf=0.1; // sniperss value of the sniper trend b indicator
extern int SniperPtf=7; // sniperp value of the sniper trend b indicator
extern bool AlertsEnabledtf=false; // true=enable the alerts of the sniper trend b indicator, false=disable the alerts
extern string extrafeatures="Extra Features";
extern bool samedirection=true; // true=we continue to open orders if a new signal in the same direction than the previous appears, false=the EA will wait the opposite signal to enter new trades
extern bool minclosetime=false; // true=we close the trade only after a certain time (mincloseminutes), false=disregard the time
extern int mincloseminutes=61; // minimum time determined in minutes
extern string timefilter="Time Filter";
extern int gmtshift=2; // gmt offset of the broker
extern bool filter=false; // enable time filter
extern int start=4; // start to trade after this hour
extern int end=20; // stop to trade after this hour
extern bool tradesunday=true; // trade on sunday
extern bool fridayfilter=false; // enable special time filter on friday
extern int fridayend=24; // stop to trade after this hour
datetime t0,t1,lastbuyopentime,lastsellopentime;
double lastbuyopenprice,lastsellopenprice,lastbuyprofit,lastsellprofit,lastprofit;
double lotsfactor=1,initiallotsfactor=1,ilots,lastbuylot,lastselllot,lastlot,mlots;
double ask,bid,cb,sl,tp,min,max;
int i,bc=-1,tpb,tps,cnt,istart,iend,total,ticket;
int lastorder,buyorderprofit,sellorderprofit,history;
int MagicNumber;
int directioninstance=0;
double pt,mt;
int dg;
int init()
{
// код доступен только после оплаты
}
int start(){
// код доступен только после оплаты
}
/*
GlobalVariableSet("vGrafBalance",AccountBalance());
GlobalVariableSet("vGrafEquity",AccountEquity());
*/
RefreshRates();
ask=MarketInfo(Symbol(),MODE_ASK);
bid=MarketInfo(Symbol(),MODE_BID);
if(breakevengain>0)movebreakeven(breakevengain,breakeven);
if(trailingstop>0)movetrailingstop(trailingstart,trailingstop);
if(trailonsniperstop){
double STBs=iCustom(Symbol(),0,"Sniper Stop_v2",0,shift);
double STRs=iCustom(Symbol(),0,"Sniper Stop_v2",1,shift);
for(i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber){
if(OrderType()==OP_BUY){
if(((NormalizeDouble(OrderStopLoss(),dg)<NormalizeDouble(STBs,dg))||(OrderStopLoss()==0)) && STBs!=0 && STBs!=EMPTY_VALUE
&& NormalizeDouble((Ask-STBs)/pt,dg)>=MarketInfo(Symbol(),MODE_STOPLEVEL)){
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(STBs,dg),OrderTakeProfit(),0,Blue);
return(0);
}
}
else{
if(((NormalizeDouble(OrderStopLoss(),dg)>NormalizeDouble(STRs,dg))||(OrderStopLoss()==0)) && STRs!=0 && STRs!=EMPTY_VALUE
&& NormalizeDouble((STRs-Bid)/pt,dg)>=MarketInfo(Symbol(),MODE_STOPLEVEL)){
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(STRs,dg),OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
/*
lastbuylot=0;
lastselllot=0;
lastorder=0;
history=OrdersHistoryTotal();
if(history>0){
for(i=0;i<history;i++){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic){
lastprofit=OrderProfit();
lastlot=OrderLots();
if(OrderType()==OP_BUY){
lastbuyprofit=OrderProfit();
lastbuylot=OrderLots();
lastorder=1;
}
if(OrderType()==OP_SELL){
lastsellprofit=OrderProfit();
lastselllot=OrderLots();
lastorder=2;
}
}
}
}
mlots=0;
if(martingale && lastprofit<0)mlots=NormalizeDouble(lastlot*multiplier,lotdigits);else mlots=lots;
total=OrdersTotal();
if(total>0){
for(i=0;i<total;i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderCloseTime()==0){
if(OrderType()==OP_BUY){
lastbuyopentime=OrderOpenTime();
lastbuyopenprice=OrderOpenPrice();
buyorderprofit=OrderProfit();
}
if(OrderType()==OP_SELL){
lastsellopentime=OrderOpenTime();
lastsellopenprice=OrderOpenPrice();
sellorderprofit=OrderProfit();
}
}
}
}
*/
if(tradesperbar==1 && (((TimeCurrent()-lastbuyopentime)<Period()) || ((TimeCurrent()-lastsellopentime)<Period()))){tpb=1;tps=1;}
if(bc!=Bars){tpb=0;tps=0;bc=Bars;}
if(usesniper){
double SNI0=iCustom(Symbol(),0, IndicatorName,BuyBuffer,shift); //BUY
double SNI1=iCustom(Symbol(),0, IndicatorName,SellBuffer,shift); //SELL
}
if(usestop || autostop){
double STB=iCustom(Symbol(),0,"Sniper Stop_v2",0,shift);double STR=iCustom(Symbol(),0,"Sniper Stop_v2",1,shift);
double STBa=iCustom(Symbol(),0,"Sniper Stop_v2",0,shift+1);double STRa=iCustom(Symbol(),0,"Sniper Stop_v2",1,shift+1);
}
if(usetrenda){
double TAB=iCustom(Symbol(),0,"Sniper Trend A",0,shift);double TAR=iCustom(Symbol(),0,"Sniper Trend A",1,shift);
double TABa=iCustom(Symbol(),0,"Sniper Trend A",0,shift+1);double TARa=iCustom(Symbol(),0,"Sniper Trend A",1,shift+1);
}
if(usetrendb){
double TBB=iCustom(Symbol(),0,"Sniper Trend B",Sniper,SniperSS,SniperP,AlertsEnabled,1,shift);double TBR=iCustom(Symbol(),0,"Sniper Trend B",Sniper,SniperSS,SniperP,AlertsEnabled,0,shift);
double TBBa=iCustom(Symbol(),0,"Sniper Trend B",Sniper,SniperSS,SniperP,AlertsEnabled,1,shift+1);double TBRa=iCustom(Symbol(),0,"Sniper Trend B",Sniper,SniperSS,SniperP,AlertsEnabled,0,shift+1);
}
double signal=0;
double signala=0;
if((usesniper==false || (usesniper && SNI0<350))
&& (usestop==false || (usestop && STB<350)) && (usetrenda==false || (usetrenda && TAB!=0)) && (usetrendb==false || (usetrendb && TBB!=0)))signal=1;
if((usesniper==false || (usesniper && SNI1<350))
&& (usestop==false || (usestop && STR<350)) && (usetrenda==false || (usetrenda && TAR!=0)) && (usetrendb==false || (usetrendb && TBR!=0)))signal=2;
if(usefilter){
if(usesniper){
double SNI0tf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,0,shift);
double SNI2tf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,2,shift);
double SNI4tf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,4,shift);
double SNI1tf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,1,shift);
double SNI3tf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,3,shift);
double SNI5tf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,5,shift);
double SNI0atf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,0,shift+1);
double SNI2atf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,2,shift+1);
double SNI4atf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,4,shift+1);
double SNI1atf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,1,shift+1);
double SNI3atf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,3,shift+1);
double SNI5atf=iCustom(Symbol(),timeframe,"Sniper",SniperPeriodtf,SniperTypetf,arrow_shifttf,Alertstf,5,shift+1);
}
if(usestoptf){
double STBtf=iCustom(Symbol(),timeframe,"Sniper Stop_v2",0,shift);double STRtf=iCustom(Symbol(),timeframe,"Sniper Stop_v2",1,shift);
double STBatf=iCustom(Symbol(),timeframe,"Sniper Stop_v2",0,shift+1);double STRatf=iCustom(Symbol(),timeframe,"Sniper Stop_v2",1,shift+1);
}
if(usetrendatf){
double TABtf=iCustom(Symbol(),timeframe,"Sniper Trend A",0,shift);double TARtf=iCustom(Symbol(),timeframe,"Sniper Trend A",1,shift);
double TABatf=iCustom(Symbol(),timeframe,"Sniper Trend A",0,shift+1);double TARatf=iCustom(Symbol(),timeframe,"Sniper Trend A",1,shift+1);
}
if(usetrendbtf){
double TBBtf=iCustom(Symbol(),timeframe,"Sniper Trend B",Snipertf,SniperSStf,SniperPtf,AlertsEnabledtf,1,shift);
double TBRtf=iCustom(Symbol(),timeframe,"Sniper Trend B",Snipertf,SniperSStf,SniperPtf,AlertsEnabledtf,0,shift);
double TBBatf=iCustom(Symbol(),timeframe,"Sniper Trend B",Snipertf,SniperSStf,SniperPtf,AlertsEnabledtf,1,shift+1);
double TBRatf=iCustom(Symbol(),timeframe,"Sniper Trend B",Snipertf,SniperSStf,SniperPtf,AlertsПоказано первые 50% кода (символов: 25875)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.