sereganlp2008.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «sereganlp2008.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
В коде реализована логика перевода ордеров в безубыток, а также несколько условий закрытия позиций, включая проверку по скользящей средней и анализ экстремумов цены. Советник работает в цикле start() и обрабатывает как открытие новых сделок, так и управление существующими позициями.
Поиск по коду файла
int Tenkan=12;
int Kijun=24;
int Senkou=120;
int s11=3;
int s12=3;
int s13=5;
int s21=5;
int s22=5;
int s23=10;
int s31=5;
int s32=5;
int s33=7;
int s41=3;
int s42=3;
int s43=7;
int MyTP=40;
int MySL=30;
int StopBezub=31;
datetime LostTime;
int ticket=0;
int ticket2=0;
int ticket3=0;
double lot=0.1;
double lot2=0;
double lot3=0;
bool CloseTP=false;
double VirtualTP;
int OgrTP=30;
double risk=4000;
double MaxBalance;
double P = 0, S = 0, R = 0, SP1 = 0, R1 = 0, SP2 = 0, R2 = 0, SP3 = 0, R3 = 0, SP4 = 0, R4 = 0;
int Capital()
{
if (AccountBalance() > MaxBalance) MaxBalance = AccountBalance();
lot=NormalizeDouble(MaxBalance / risk, 1);
if (AccountBalance()<lot*1500) lot=NormalizeDouble(AccountFreeMargin()/1500,1);
if (lot<=5)
{
lot2=0;
lot3=0;
}
if ((lot>5) && (lot<=10))
{
lot2=lot-5;
lot=5;
lot3=0;
} else
if ((lot>10) && (lot<=15))
{
lot3=lot-10;
lot=5;
lot2=5;
} else
if (lot>15)
{
lot=5;
lot2=5;
lot3=5;
}
if (AccountBalance()<7000)
{
lot2=0;
lot3=0;
lot=NormalizeDouble(AccountBalance() / risk, 1);
}
}
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
void FiboPivot(string symbol)
{
R = iHigh(symbol,PERIOD_D1,1) - iLow(symbol,PERIOD_D1,1);
P = (iHigh(symbol,PERIOD_D1,1) + iLow(symbol,PERIOD_D1,1) + iClose(symbol,PERIOD_D1,1))/3; //Pivot
R1 = P + (R * 0.38);
R2 = P + (R * 0.62);
R3 = P + (R * 0.99);
R4 = 2*P+iHigh(symbol,PERIOD_D1,1)-2*iLow(symbol,PERIOD_D1,1);
SP1 = P - (R * 0.38);
SP2 = P - (R * 0.62);
SP3 = P - (R * 0.99);
SP4 = 2*P-(2*iHigh(symbol,PERIOD_D1,1)-iLow(symbol,PERIOD_D1,1));
}
double MyTPUp(string symbol)
{
FiboPivot(symbol);
double TP;
TP=Ask+MyTP*Point;
if (R4>Ask+MyTP*Point) TP=R4;
if (R3>Ask+MyTP*Point) TP=R3;
if (R2>Ask+MyTP*Point) TP=R2;
if (R1>Ask+MyTP*Point) TP=R1;
if (P>Ask+MyTP*Point) TP=P;
if (SP1>Ask+MyTP*Point) TP=SP1;
if (SP2>Ask+MyTP*Point) TP=SP2;
if (SP3>Ask+MyTP*Point) TP=SP3;
if (SP4>Ask+MyTP*Point) TP=SP4;
return(TP);
}
double MyTPDown(string symbol)
{
FiboPivot(symbol);
double TP;
TP=Bid-MyTP*Point;
if (SP4<Bid-MyTP*Point) TP=SP4+Ask-Bid;
if (SP3<Bid-MyTP*Point) TP=SP3+Ask-Bid;
if (SP2<Bid-MyTP*Point) TP=SP2+Ask-Bid;
if (SP1<Bid-MyTP*Point) TP=SP1+Ask-Bid;
if (P<Bid-MyTP*Point) TP=P+Ask-Bid;
if (R1<Bid-MyTP*Point) TP=R1+Ask-Bid;
if (R2<Bid-MyTP*Point) TP=R2+Ask-Bid;
if (R3<Bid-MyTP*Point) TP=R3+Ask-Bid;
if (R4<Bid-MyTP*Point) TP=R4+Ask-Bid;
return(TP);
}
double MySLDown(string symbol)
{
FiboPivot(symbol);
double SL;
SL=Ask+MySL*Point;
if (R4>Ask+MySL*Point) SL=R4+Ask-Bid;
if (R3>Ask+MySL*Point) SL=R3+Ask-Bid;
if (R2>Ask+MySL*Point) SL=R2+Ask-Bid;
if (R1>Ask+MySL*Point) SL=R1+Ask-Bid;
if (P>Ask+MySL*Point) SL=P+Ask-Bid;
if (SP1>Ask+MySL*Point) SL=SP1+Ask-Bid;
if (SP2>Ask+MySL*Point) SL=SP2+Ask-Bid;
if (SP3>Ask+MySL*Point) SL=SP3+Ask-Bid;
if (SP4>Ask+MySL*Point) SL=SP4+Ask-Bid;
return(SL);
}
double MySLUp(string symbol)
{
FiboPivot(symbol);
double SL;
SL=Bid-MySL*Point;
if (SP4<Bid-MySL*Point) SL=SP4;
if (SP3<Bid-MySL*Point) SL=SP3;
if (SP2<Bid-MySL*Point) SL=SP2;
if (SP1<Bid-MySL*Point) SL=SP1;
if (P<Bid-MySL*Point) SL=P;
if (R1<Bid-MySL*Point) SL=R1;
if (R2<Bid-MySL*Point) SL=R2;
if (R3<Bid-MySL*Point) SL=R3;
if (R4<Bid-MySL*Point) SL=R4;
return(SL);
}
bool SignalIchimokuUp(string symbol)
{
bool signal=false;
if ((iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,0)>iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,0)) &&
(iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,1)<=iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,1)))
signal=true; else
if ((iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,0)>iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,0)) &&
(iHigh(symbol,0,0)>iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,0)) &&
(iHigh(symbol,0,1)<iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,1)) &&
(Bid<iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,0)+OgrTP*Point))
signal=true; else
if ((iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,0)<iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,0)) &&
(iHigh(symbol,0,0)>iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,0)) &&
(iHigh(symbol,0,1)<iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,1)) &&
(Bid<iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,0)+OgrTP*Point))
signal=true;
return(signal);
}
bool SignalIchimokuDown(string symbol)
{
bool signal=false;
if ((iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,0)<iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,0)) &&
(iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,1)>=iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,1)))
signal=true; else
if ((iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,0)<iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,0)) &&
(iLow(symbol,0,0)<iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,0)) &&
(iLow(symbol,0,1)>iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,1)) &&
(Bid>iIchimoku(symbol,0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,0)-OgrTP*Point))
signal=true; else
if ((iIchimoku(symbol,0,Tenkan,Kijun,SenkouПоказано первые 50% кода (символов: 10120)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.