icwr.4.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «icwr.4.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торгового советника для платформы MetaTrader 4, который анализирует динамику ценовых колебаний, определяя активные максимумы и минимумы на графике. Советник визуализирует ключевые уровни ценовых волн с помощью объектов Фибоначчи и использует индикатор RSI для подтверждения торговых сигналов.
Советник осуществляет управление торговыми операциями через стандартные средства MetaTrader, открывая позиции при достижении ценой определённых зон коррекции при соответствующем значении RSI. Также реализована функция отслеживания текущих позиций и автоматическое закрытие при изменении ценовой структуры.
Встроена система оптимизации объёма лота с учётом риска на баланс счёта и истории убытков, что позволяет адаптировать размер позиции в зависимости от серии проигрышных сделок.
Настройки программы
| Настройка | Описание |
|---|---|
| %account balance to risk per position (MaximumRisk) | Максимальный риск — Доля баланса счёта, рискуемая на одну позицию |
| lot size divisor(reducer) during loss streak (DecreaseFactor) | Коэффициент уменьшения лота — Делитель для уменьшения объёма лота при серии убытков |
| Magic | Магический номер — Магический номер для идентификации ордеров советника |
| comment | Комментарий к ордерам — Комментарий, добавляемый к ордерам советника |
Поиск по коду файла
extern double MaximumRisk =0.02; //%account balance to risk per position
extern double DecreaseFactor =3; //lot size divisor(reducer) during loss streak
extern double Lot.Margin =50; //Margin for 1 lot
extern int Magic =69;
extern string comment ="m icwr";
double spread; spread =Ask-Bid;
int slip; slip =spread/Point;
double rsi,temp.high,active.high,temp.low,active.low,r,x,SL,awp1,awp2,high.c,high.r,low.r,low.c;
int a.high.shift,a.low.shift,shift,b,s,cnt,b.ticket,s.ticket;
datetime a.high.time,a.low.time,awt1,awt2;
string FiboName;
int init(){
// код доступен только после оплаты
}
int deinit(){ ObjectsDeleteAll(0,OBJ_FIBO); return(0); }
int start(){
// код доступен только после оплаты
}
PosCounter();
rsi=iRSI(Symbol(),1440,14,PRICE_CLOSE,0);
if(Period()==5) {x=(40*Point); SL=(50*Point); }
if(Period()==240) {x=(150*Point); SL=(100*Point);}
if(a.high.time>0) {a.high.shift=iBarShift(Symbol(),Period(),a.high.time);}
if(a.low.time>0) {a.low.shift=iBarShift(Symbol(),Period(),a.low.time);}
for(int c=1;r<x;c++) {
temp.high=High[Highest(Symbol(),Period(),MODE_HIGH,c,0)];
if(temp.high>active.high) { active.high=temp.high;
a.high.time=iTime(Symbol(),Period(),Highest(Symbol(),Period(),MODE_HIGH,c,0));
a.high.shift=iBarShift(Symbol(),Period(),a.high.time);}
temp.low=Low[Lowest(Symbol(),Period(),MODE_LOW,c,0)];
if(temp.low<active.low ||
active.low<=0) { active.low=temp.low;
a.low.time=iTime(Symbol(),Period(),Lowest(Symbol(),Period(),MODE_LOW,c,0));
a.low.shift=iBarShift(Symbol(),Period(),a.low.time);}
r=(active.high-active.low); }
if(a.high.shift<a.low.shift && Low[a.low.shift+1]<=Low[a.low.shift]) {
ObjectDelete(TimeToStr(a.high.time,TIME_DATE|TIME_MINUTES));
active.low=Low[a.low.shift+1];
a.low.time=iTime(Symbol(),Period(),Lowest(Symbol(),Period(),MODE_LOW,a.low.shift+1,0));
a.low.shift=iBarShift(Symbol(),Period(),a.low.time);}
if(a.low.shift<a.high.shift && High[a.high.shift+1]>=High[a.high.shift]) {
ObjectDelete(TimeToStr(a.low.time,TIME_DATE|TIME_MINUTES));
active.high=High[a.high.shift+1];
a.high.time=iTime(Symbol(),Period(),Highest(Symbol(),Period(),MODE_LOW,a.high.shift+1,0));
a.high.shift=iBarShift(Symbol(),Period(),a.high.time);}
if(a.high.shift<=1 && High[0]>=High[1]) {
ObjectDelete(TimeToStr(a.high.time,TIME_DATE|TIME_MINUTES));
active.high=High[Highest(Symbol(),Period(),MODE_HIGH,a.low.shift,0)];
a.high.time=iTime(Symbol(),Period(),Highest(Symbol(),5,MODE_HIGH,a.low.shift,0));
a.high.shift=iBarShift(Symbol(),Period(),a.high.time);}
if(a.low.shift<=1 && Low[0]<=Low[1]) {
ObjectDelete(TimeToStr(a.low.time,TIME_DATE|TIME_MINUTES));
active.low=Low[Lowest(Symbol(),Period(),MODE_LOW,a.high.shift,0)];
a.low.time=iTime(Symbol(),Period(),Lowest(Symbol(),Period(),MODE_LOW,a.high.shift,0));
a.low.shift=iBarShift(Symbol(),Period(),a.low.time);}
if(a.high.shift<a.low.shift) shift=a.high.shift;
if(a.low.shift<a.high.shift) shift=a.low.shift;
if(shift>=1 &&
(High[Highest(Symbol(),Period(),MODE_HIGH,shift,0)]-Low[Lowest(Symbol(),Period(),MODE_LOW,shift,0)]>=x)) {
active.high=0;a.high.time=0;a.high.shift=0; active.low=0;a.low.time=0;a.low.shift=0;
temp.high=High[Highest(Symbol(),Period(),MODE_HIGH,shift,0)];
if(temp.high>active.high) { active.high=temp.high;
a.high.time=iTime(Symbol(),Period(),Highest(Symbol(),Period(),MODE_HIGH,shift,0));
a.high.shift=iBarShift(Symbol(),Period(),a.high.time);}
temp.low=Low[Lowest(Symbol(),Period(),MODE_LOW,shift,0)];
if(temp.low<active.low ||
active.low<=0) { active.low=temp.low;
a.low.time=iTime(Symbol(),Period(),Lowest(Symbol(),Period(),MODE_LOW,shift,0));
a.low.shift=iBarShift(Symbol(),Period(),a.low.time);} }
if(a.high.shift<=a.low.shift) {
FiboName=TimeToStr(a.high.time,TIME_DATE|TIME_MINUTES);
ObjectCreate(FiboName,OBJ_FIBO,0,a.low.time,active.low,a.high.time,active.high);
ObjectSet(FiboName, OBJPROP_STYLE, STYLE_DASH);
ObjectSet(FiboName, OBJPROP_COLOR, Green);
ObjectSet(FiboName, OBJPROP_WIDTH, 0.5);
ObjectSet(FiboName, OBJPROP_FIBOLEVELS, 4);
ObjectSet(FiboName, OBJPROP_FIRSTLEVEL+0, 0.25);
ObjectSet(FiboName, OBJPROP_FIRSTLEVEL+1, 0.382);
ObjectSet(FiboName, OBJPROP_FIRSTLEVEL+2, 0.618);
ObjectSet(FiboName, OBJPROP_FIRSTLEVEL+3, 0.75);
ObjectSet(FiboName, OBJPROP_RAY, false); }
Показано первые 50% кода (символов: 7188)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.