multilot-asctrend.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «multilot-asctrend.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный исходный код представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник использует встроенный индикатор Williams %R (iWPR) с динамически изменяемым периодом lookback, рассчитывая сигналы на основе диапазонов ценовых баров и условий пробоя уровней.
В функции start() советник сначала подсчитывает суммарный профит (включая своп) всех открытых ордеров с заданным magic number и текущим символом. Затем он проверяет, достигла ли совокупная прибыль определённого порога, и при выполнении условия закрывает BUY- и SELL-позиции. После этого, при наличии сигнала SigDN или SigUP, советник отправляет соответственно BUYSTOP или SELLSTOP ордера через OrderSend.
В коде часть параметров и констант скрыта (отображается как вопросительные знаки), что делает невозможным точное определение значений лотов, стоп-лоссов и порогов прибытия. Советник использует фиксированный magic number 9356735 для идентификации управляемых ордеров и воспроизводит звук при открытии позиции.
Поиск по коду файла
extern double ????????????????????????????? = 0.1;
extern int ????? = 10;
int magic=9356735;
int i,tc = 0;
int cnt;
double M;
double SigUP=0, SigDN=0;
double Summ=0;
int CBars=0;
void GetSignal(int i)
{
int Counter,i1,value10,value11;
double value1,x1,x2,value2,value3;
double TrueCount,Range,AvgRange,MRO1,MRO2;
double Table_value2[150];
double RISK=3;
SigUP=0;
SigDN=0;
value10=3+RISK*2;
x1=67+RISK;
x2=33-RISK;
value11=value10;
for (int n=99;n>=0;n--)
{
Range=0.0;
AvgRange=0.0;
for(Counter=i+n; Counter<=i+n+9; Counter++) AvgRange=AvgRange+MathAbs(High[Counter]-Low[Counter]);
Range=AvgRange/10;
Counter=i+n;
TrueCount=0;
while (Counter<i+n+9 && TrueCount<1)
{
if (MathAbs(Open[Counter]-Close[Counter+1])>=Range*2.0) TrueCount=TrueCount+1;
Counter=Counter+1;
}
if (TrueCount>=1) {MRO1=Counter;} else {MRO1=-1;}
Counter=i+n;
TrueCount=0;
while (Counter<i+n+6 && TrueCount<1)
{
if (MathAbs(Close[Counter+3]-Close[Counter])>=Range*4.6) TrueCount=TrueCount+1;
Counter=Counter+1;
}
if (TrueCount>=1) {MRO2=Counter;} else {MRO2=-1;}
if (MRO1>-1) {value11=3;} else {value11=value10;}
if (MRO2>-1) {value11=4;} else {value11=value10;}
value2=100-MathAbs(iWPR(NULL,0,value11,i+n)); // PercentR(value11=9)
Table_value2[n+i]=value2;
}
if (value2<x2)
{
i1=1;
while (Table_value2[i+i1]>=x2 && Table_value2[i+i1]<=Показано первые 50% кода (символов: 2337)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.