VR Smart Grid Lite for ff
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «vr smart grid lite for ff 18-441.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
VR Smart Grid Lite for ff — торговый советник для MetaTrader 4, работающий по принципу сетки (grid). Советник автоматически открывает и управляет покупательскими и продавческими позициями на текущем символе, используя усреднение цен открытых ордеров и множитель лотов для наращивания позиций.
Советник обрабатывает событие OnTick, отслеживает существующие ордера по заданному magic number и символу, а также добавляет новые позиции при достижении определённых ценовых уровней. Take Profit устанавливается и корректируется через модификацию ордеров. При достижении минимальной прибыли советник выполняет корректировку стоп-лосса и тейк-профита по усреднённым ценам.
В качестве торгового API используются стандартные функции MetaTrader 4: OrderSend для открытия позиций и OrderModify для изменения параметров ордеров. Советник не содержит встроенной внешней библиотеки и работает как автономный эксперт.
Настройки программы
| Настройка | Описание |
|---|---|
| Take Profit (in pips) (iTakeProfit) | Take Profit — Take Profit (in pips) |
| Start lot (iStartLots) | Начальный лот — Start lot |
| Maximal Lots (iMaximalLots) | Максимальные лоты — Maximal Lots |
| Point order step Profit (in pips) (iPointOrderStepProfit) | Шаг ордера прибыль — Point order step Profit (in pips) |
| Point order step Loss (in pips) (iPointOrderStepLoss) | Шаг ордера убыток — Point order step Loss (in pips) |
| Minimal profit for close grid (in pips) (iMinimalProfit) | Минимальная прибыль — Minimal profit for close grid (in pips) |
| Magic Number (in number) (iMagicNumber) | Magic Number — Magic Number (in number) |
| Slippage (in pips) (iSlippage) | Проскальзывание — Slippage (in pips) |
| Lot Multiplier for Martingale (iLotmultiplier) | Множик лота — Lot Multiplier for Martingale |
Поиск по коду файла
#property version "18.044"
#property description " "
#property strict
input int iTakeProfit = 500; // Take Profit (in pips)
input double iStartLots = 0.01; // Start lot
input double iMaximalLots = 2.56; // Maximal Lots
input int iPointOrderStepProfit = 390; // Point order step Profit (in pips)
input int iPointOrderStepLoss = 390; // Point order step Loss (in pips)
input int iMinimalProfit = 70; // Minimal profit for close grid (in pips)
input int iMagicNumber = 227; // Magic Number (in number)
input int iSlippage = 30; // Slippage (in pips)
input double iLotmultiplier = 2; // Lot Multiplier for Martingale
int OnInit()
{
// код доступен только после оплаты
}
void OnTick()
{
// код доступен только после оплаты
}
double
BuyPriceMax=0,BuyPriceMin=0,BuyPriceMaxLot=0,BuyPriceMinLot=0,
SelPriceMin=0,SelPriceMax=0,SelPriceMinLot=0,SelPriceMaxLot=0;
int
BuyPriceMaxTic=0,BuyPriceMinTic=0,SelPriceMaxTic=0,SelPriceMinTic=0;
double
op=0,lt=0,tp=0;
int
tk=0,b=0,s=0;
for(int i=OrdersTotal()-1;i>=0;i--)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderMagicNumber()==iMagicNumber)
if(OrderSymbol()==Symbol())
{
op=NormalizeDouble(OrderOpenPrice(),Digits());
lt=NormalizeDouble(OrderLots(),2);
tk=OrderTicket();
if(OrderType()==OP_BUY)
{
b++;
if(op>BuyPriceMax || BuyPriceMax==0)
{
BuyPriceMax = op;
BuyPriceMaxLot = lt;
BuyPriceMaxTic = tk;
}
if(op<BuyPriceMin || BuyPriceMin==0)
{
BuyPriceMin = op;
BuyPriceMinLot = lt;
BuyPriceMinTic = tk;
}
}
if(OrderType()==OP_SELL)
{
s++;
if(op>SelPriceMax || SelPriceMax==0)
{
SelPriceMax = op;
SelPriceMaxLot = lt;
SelPriceMaxTic = tk;
}
if(op<SelPriceMin || SelPriceMin==0)
{
SelPriceMin = op;
SelPriceMinLot = lt;
SelPriceMinTic = tk;
}
}
}
double AwerageBuyPrice=0,AwerageSelPrice=0;
if(b>=2) AwerageBuyPrice=NormalizeDouble((BuyPriceMax*BuyPriceMaxLot+BuyPriceMin*BuyPriceMinLot)/(BuyPriceMaxLot+BuyPriceMinLot)+iMinimalProfit*Point(),Digits());
if(s>=2) AwerageSelPrice=NormalizeDouble((SelPriceMax*SelPriceMaxLot+SelPriceMin*SelPriceMinLot)/(SelPriceMaxLot+SelPriceMinLot)-iMinimalProfit*Point(),Digits());
double BuyLot=0,SelLot=0;
if(BuyPriceMinLot==0)
BuyLot=iStartLots;
else
BuyLot=BuyPriceMinLot*iLotmultiplier;
if(SelPriceMaxLot==0)
SelLot=iStartLots;
else
SelLot=SelPriceMaxLot*iLotmultiplier;
if(BuyLot>iMaximalLots) BuyLot=iMaximalLots;
if(SelLot>iMaximalLots) SelLot=iMaximalLots;
if(b==0 && (Close[1]>Open[1]))
if(OrderSend(Symbol(),OP_BUY,NormalizeDouble(iStartLots,2),NormalizeDouble(Ask,Digits()),iSlippage,0,0,"VR Setka Lite",iMagicNumber,0,clrGreen)<0)
Print("OrderSend error #",GetLastErПоказано первые 50% кода (символов: 5009)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.