Russian system of Senchakov
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «russian system ea of senchakov.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торгового советника для платформы MetaTrader 4, реализующего сеточную торговую систему. Советник рассчитывает размер лота на основе процента от свободного маркета счёта и размещает сетку отложенных ордеров (стоп и лимитные ордера) в обоих направлениях рынка.
Советник отслеживает общий результат по всем открытым ордерам и при достижении заданного порога прибыли в процентах от баланса автоматически закрывает все позиции и удаляет отложенные ордера. Если на счёте отсутствуют активные ордера, советник повторно открывает сетку.
Логика работы основана на четырёх пользовательских настройках, управляющих размером лота, порогом прибыли, шагом сетки и идентификатором ордеров через магическое число. Советник работает в рамках стандартного цикла обработки событий MetaTrader 4.
Настройки программы
| Настройка | Описание |
|---|---|
| percent_lot | Процент от свободного маркета счёта, используемый для расчёта размера лота при открытии сетки. |
| percent_profit | Порог прибыли в процентах от баланса счёта. При достижении указанного уровня прибыли все ордера и позиции закрываются. |
| Step | Шаг сетки, используемый при размещении отложенных ордеров. Определяет расстояние между ордерами в пунктах. |
| magic | Магическое число для идентификации ордеров, размещённых советником. Используется для фильтации при управлении позициями и ордерами. |
Поиск по коду файла
extern double percent_lot=3;//%
extern double percent_profit=2.2;//%
extern int Step=8;//???
extern int magic=092341;
double lots;//?????? ???
double sizelot=0;
int Ticket=-1;
double pp;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
close_reserved();
return(0);
}
void OpenGrid()
{
double Free_margin = AccountFreeMargin();
double One_Lot_cost = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Step_lot = MarketInfo(Symbol(),MODE_LOTSTEP);
double lots = MathFloor(Free_margin*percent_lot/100/One_Lot_cost/Step_lot)*Step_lot;
int i;
int Step_tmp;
int n;
for (i=1;i<=20;i++)
{
if (i==1) {sizelot=lots;Step_tmp=Step;} else {sizelot=sizelot+lots;Step_tmp=Step_tmp+Step;}
n=3;
Ticket=-1;
while (Ticket<0 && n>0)
{
Ticket=OrderSend(Symbol(),OP_BUYSTOP,sizelot,NormalizeDouble(Bid+Step_tmp*pp,Digits),3,0,0,"buy RS :"+TimeToStr(TimeCurrent(),TIME_MINUTES),magic,0,Blue);
n--;
}
n=3;
Ticket=-1;
while (Ticket<0 && n>0)
{
Ticket=OrderSend(Symbol(),OP_SELLSTOP,sizelot,NormalizeDouble(Ask-Step_tmp*pp,Digits),3,0,0,"sell RS :"+TimeToStr(TimeCurrent(),TIME_MINUTES),magic,0,Red);
n--;
}
}
for (i=1;i<=10;i++)
{
if (i==1) {sizelot=lots;Step_tmp=Step*2;} else {sizelot=sizelot+lots;Step_tmp=Step_tmp+Step*2;}
n=3;
Ticket=-1;
while (Ticket<0 && n>0)
{
Ticket=OrderSend(Symbol(),OP_BUYLIMIT,sizelot,NormalizeDouble(Bid-Step_tmp*pp,Digits),3,0,0,"buy RS :"+TimeToStr(TimeCurrent(),TIME_MINUTES),magic,0,Blue);
n--;
}
n=3;
Ticket=-1;
while (Ticket<0 && n>0)
{
Ticket=OrderSend(Symbol(),OP_SELLLIMIT,sizelot,NormalizeDouble(Ask+Step_tmp*pp,Digits),3,0,0,"sell RS :"+TimeToStr(TimeCurrent(),TIME_MINUTES),magic,0,Red);
n--;
Показано первые 50% кода (символов: 2846)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.