my_pyr.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «my_pyr.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для платформы MetaTrader 4, работающий с отложенными ордерами типа BUYSTOP и SELLSTOP на текущем символе. Размещает сетку отложенных ордеров с заданными шагами и объёмом, отслеживает общий прибыль всех связанных позиций и ордеров. При достижении определённых условий по прибыли закрывает все позиции и удаляет отложенные ордера, используя магический номер для идентификации своих ордеров.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Объём — Объём лота для каждого открываемого ордера. |
| StopLoss | Стоп-лосс — Расстояние стоп-лосса в пунктах от цены открытия ордера; ноль отключает защиту. |
| TakeProfit | Тейк-профит — Расстояние тейк-профита в пунктах от цены открытия ордера; ноль отключает фиксацию. |
| MinProfit | Минимальная прибыль — Порог минимальной прибыли, при достижении которого активируется механизм закрытия. |
| ClosePercent | Процент закрытия — Процент от MinProfit, определяющий уровень прибыли, при достижении которого происходит закрытие всех позиций. |
| FirstStep | Первый шаг — Расстояние в пунктах от текущей цены для размещения первого отложенного ордера. |
| NextStep | Следующий шаг — Расстояние в пунктах между последующими отложенными ордерами в сетке. |
| OneSideSteps | Шагов на сторону — Количество отложенных ордеров, размещаемых по каждой стороне (покупка и продажа). |
Поиск по коду файла
#include <stdlib.mqh>
#include <stderror.mqh>
extern double Lots = 0.1;
extern int StopLoss = 0;
extern int TakeProfit = 0;
extern int MinProfit = 20;
extern int ClosePercent = 80;
extern int FirstStep = 10;
extern int NextStep = 10;
extern int OneSideSteps = 7;
int Magic = 1234321;
int Slippage = 3;
double MaxProfit = 0;
double CurProfit = 0;
double CloseLevel;
int i,j;
int bc,sc,bsc,ssc;
string S;
double P,Spread,SL,TP,FS,NS;
void init()
{
// код доступен только после оплаты
}
void CheckOrders()
{
bc=0;
sc=0;
bsc=0;
ssc=0;
j=OrdersTotal();
for (i=0;i<j;i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string OS=OrderSymbol();
int OMN=OrderMagicNumber();
int OT=OrderType();
if (OS==S && OMN==Magic && OT==OP_BUY) bc++;
if (OS==S && OMN==Magic && OT==OP_SELL) sc++;
if (OS==S && OMN==Magic && OT==OP_BUYSTOP) bsc++;
if (OS==S && OMN==Magic && OT==OP_SELLSTOP) ssc++;
}
return(0);
}
void OpenOrders()
{
MaxProfit = 0;
CurProfit = 0;
double _Bid=MarketInfo(S,MODE_BID);
double _Ask=_Bid+Spread;
double BuyPrice=_Ask+FS;
double SellPrice=_Bid-FS;
if (SL!=0)
{double BSL=BuyPrice-SL; double SSL=SellPrice+SL;} else {BSL=0; SSL=0;}
if (TP!=0)
{double BTP=BuyPrice+TP; double STP=SellPrice-TP;} else {BTP=0; STP=0;}
OrderSend(S,OP_BUYSTOP,Lots,BuyPrice,Slippage,BSL,BTP," My_Pyr ? maloma ",Magic,0,Blue);
OrderSend(S,OP_SELLSTOP,Lots,SellPrice,Slippage,SSL,STP," My_Pyr ? maloma ",Magic,0,Red);
for (i=1;i<OneSideSteps;i++Показано первые 50% кода (символов: 2960)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.