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

triangular-arbitration.mq4

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

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

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

О программе

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

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

Когда суммарная прибыль по всем трём позициям достигает заданного порога, советник закрывает все открытые позиции. Текущая прибыль по каждому инструменту отображается в виде комментария на графике. В режиме тестирования советник открывает позицию, если ордера отсутствуют.

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

НастройкаОписание
SYMBOL1 Первый инструмент (валютная пара) для открытия позиции
SYMBOL2 Второй инструмент (валютная пара) для открытия позиции
SYMBOL3 Третий инструмент (валютная пара) для открытия позиции
LOT1 Объём лота для первой позиции
LOT2 Объём лота для второй позиции
LOT3 Объём лота для третьей позиции
TYPE1 Тип ордера для первой позиции (например, OP_BUY или OP_SELL)
TYPE2 Тип ордера для второй позиции (например, OP_BUY или OP_SELL)
TYPE3 Тип ордера для третьей позиции (например, OP_BUY или OP_SELL)
Magic Магический номер для идентификации позиций, открытых советником
ProfitClose Общая прибыль, при достижении которой все позиции закрываются
Получить полный код

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

#property version   "1.0"
#property strict
#property description "Советник торгует по 3м инструментам по системе треугольник. Страхует риск одной позиции за счет двух других. "
#property description "The Expert Advisor trades on 3 instruments using the triangle system. Insures the risk of one position at the expense of the other two."

extern string  SYMBOL1        = "GBPUSD";
extern string  SYMBOL2        = "USDJPY";
extern string  SYMBOL3        = "GBPJPY";
extern double  LOT1           = 0.1;
extern double  LOT2           = 0.1;
extern double  LOT3           = 0.1;
extern int     TYPE1          = OP_BUY;
extern int     TYPE2          = OP_BUY;
extern int     TYPE3          = OP_SELL;
extern int     Magic          = 777888;
extern double  ProfitClose    = 1.0;

string AC;
int OnInit()
{
      // код доступен только после оплаты
   }

void OnTick() {
      // код доступен только после оплаты
   }
void OnTimer()
{
   if (IsTesting())
   {
      if (OrdersTotal()==0) if (OrderSend(Symbol(),OP_BUY,SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN),Ask,1000,0,0,"Hedge 3",Magic,0,clrNONE)==-1) 
         Print("Error open ",LOT1," ", SYMBOL1);
      return;
   }
   string Sym;
   int    i;
   double profit=0;
   double profit1=0;
   double profit2=0;
   double profit3=0;
   bool open1=false;
   bool open2=false;
   bool open3=false;
   for (i=0; i<OrdersTotal(); i++)
   {    
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      { 
         if (Magic!=OrderMagicNumber()) continue;
         Sym = OrderSymbol();
         if (Sym!=SYMBOL1 && Sym!=SYMBOL2 && Sym!=SYMBOL3) continue;
         profit=OrderProfit()+OrderSwap()+OrderCommission();
         if (Sym==SYMBOL1) {open1=true;profit1+=profit;}
         if (Sym==SYMBOL2) {open2=true;profit2

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

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

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

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

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

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

Стоимость полного кода
266,40₽ ≈ $3.26