← К каталогу
Исходный код · ID 726

vr setka a.mq4

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный код представляет собой торгового советника для платформы MetaTrader 4, который управляет множественными ордерами на одном символе. Советник отслеживает открытые позиции, рассчитывает суммарную прибыль и обеспечивает автоматическое управление сделками — открытие, модификацию и закрытие.

Советник поддерживает несколько методов расчёта размера лота и систему сеточного размещения ордеров с настраиваемыми параметрами расстояния и шага. При превышении накопленной прибыли заданного порога все позиции могут быть автоматически закрыты.

Информация о текущем состоянии торговли — время, баланс, прибыль — отображается непосредственно на графике. Торговая активность может быть ограничена обработкой только на новых барах с помощью соответствующего переключателя.

Настройки программы

НастройкаОписание
Distance Расстояние в пунктах между уровнями сетки ордеров, используемое при расчёте ценовых уровней для открытия и модификации позиций.
Step Шаг увеличения расстояния сетки при добавлении каждого нового ордера, используемый совместно с параметром Distance.
New_BAR Переключатель, определяющий режим обработки: при TRUE торговые операции выполняются только при появлении нового бара, при FALSE — на каждом тике.
StartLot Начальный размер лота, используемый при открытии позиций и как базовое значение для расчёта лота.
TipMartina Метод расчёта размера лота: 0 — фиксированный лот, 1 — лот пропорционален количеству позиций, 2 — лот умножается на EXP, 3 — лот увеличивается на StartLot к каждой позиции.
MoneyClose Порог накопленной прибыли в долларах, при превышении которого все открытые позиции советника закрываются автоматически.
ShagP Параметр, используемый для корректировки ценовых условий при открытии и модификации позиций в сетке.
Magic Магический номер, используемый для идентификации ордеров, управляемых данным советником.
Plus Смещение в пунктах, применяемое при расчёте ценовых уровней для открытия и модификации ордеров.
Slip Допустимое проскальзывание цены в пунктах при выполнении торговых операций — открытии и закрытии ордеров.
coment Количество строк истории событий, отображаемых на графике в виде текстовых меток.
EXP Множитель, применяемый при расчёте размера лота в режиме TipMartina равном 2.
Получить полный код

Поиск по коду файла

#property version "2.0"
#property description "?2017, AutoBots? System™" 
#include <stdlib.mqh>

extern int Distance = 100;
extern int Step = 10;
extern bool New_BAR = TRUE;
extern double StartLot = 0.1;
extern int TipMartina = 1;
extern double MoneyClose = 30.0;
extern int ShagP = 2;
extern int Magic = 227;
extern int Plus = 70;
extern int Slip = 30;
extern int coment = 10;
extern double EXP = 1.44329;
int g_pos_144;
int gi_148 = -1;
double gd_152 = 0.0;
datetime g_time_160;

int init() {
      // код доступен только после оплаты
   }

int start() {
      // код доступен только после оплаты
   }

void f0_0(int a_cmd_0, int ai_4, int ai_8, double ad_12, double ad_20) {
   double price_32;
   double price_40;
   if (ai_4 == -1 && ai_8 == -1) ad_20 = 0;
   else ad_12 = 0;
   for (int pos_28 = OrdersTotal() - 1; pos_28 >= 0; pos_28--) {
      if (OrderSelect(pos_28, SELECT_BY_POS)) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {
            if (ai_4 == OrderTicket() || ai_8 == OrderTicket() || ai_4 == -1 || ai_8 == -1) {
               price_32 = NormalizeDouble(OrderStopLoss(), Digits);
               price_40 = NormalizeDouble(OrderTakeProfit(), Digits);
               if (price_40 != NormalizeDouble(ad_20, Digits)) {
                  if (OrderType() == a_cmd_0) {
                     if (OrderModify(OrderTicket(), OrderOpenPrice(), price_32, NormalizeDouble(ad_20, Digits), 0, Gold) == TRUE) f0_2("Mod Ok!");
                     else f0_2(f0_4(GetLastError()));
                  }
               }
               if (price_32 != NormalizeDouble(ad_12, Digits)) {
                  if (OrderType() == a_cmd_0) {
                     if (OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(ad_12, Digits), price_40, 0, Gold) == TRUE) {
                        f0_2("Mod Ok!");
                        continue;
                     }
                     f0_2(f0_4(GetLastError()));
                  }
               }
            }
         }
      }
   }
}

void f0_2(string as_0) {
   string lsa_8[];
   string text_36;
   ArrayResize(lsa_8, coment);
   string d

Показано первые 50% кода (символов: 11635)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
1 163,50₽ ≈ $14.22