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

PCS

pcs-01.mq4
Вы автор или правообладатель?

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

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

О программе

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

Логика работы построена на однократной реакции на новый бар: при появлении сигнала на покупку или продажу советник проверяет отсутствие уже открытой позиции соответствующего направления с заданным магическим номером и при необходимости закрывает противоположную позицию, после чего открывает новую. Объём сделки, уровни стоп-лосса и тейк-профита задаются входными параметрами.

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

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

НастройкаОписание
Lots Объём торговой позиции, используемый при открытии ордеров.
StopLoss Размер стоп-лосса в пунктах, используемый при расчёте уровня защиты открываемой позиции.
TakeProfit Размер тейк-профита в пунктах, используемый при расчёте целевого уровня открываемой позиции.
MagicNumber Идентификатор ордеров советника, по которому выполняется проверка наличия уже открытых позиций.
PCP Текстовый параметр-заголовок, отображаемый в настройках советника.
Risk Числовой параметр риска, передаваемый в пользовательский индикатор PriceChannel_Stop_v6.
ChannelPeriod Период ценового канала, передаваемый в пользовательский индикатор PriceChannel_Stop_v6 при расчёте сигналов.
Получить полный код

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

#include <stdlib.mqh>
#include <stderror.mqh>

extern double Lots          = 0.1;
extern int    StopLoss      = 1000;
extern int    TakeProfit    = 1000;
extern int    MagicNumber   = 6540123;
extern string PCP           = "   ---   ????????? PriceChannel_Stop_v6   ---   ";
extern double Risk          = 0.30;
extern int    ChannelPeriod = 9;   //Price Channel Period
       int    Slippage      = 3;
       double SL,TP;
       int    i,j,CBar,CTicket=0;
       string S;

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

int OpenOrder(string S, int OP)
{

 int cnt=10;
 int res=0;
 if (OP==OP_BUY)
  {
   double Price=MarketInfo(S,MODE_ASK);
   double CSL=Price-SL;
   double CTP=Price+TP;
  }
 if (OP==OP_SELL)
  {
   Price=MarketInfo(S,MODE_BID);
   CSL=Price+SL;
   CTP=Price-TP;
  }
 while (res==0 && cnt>0)
  {
   res=OrderSend(S,OP,Lots,Price,Slippage,CSL,CTP," Crazy`s`Graal on "+S+" ",MagicNumber,0,CLR_NONE);
   if (res>0) 
     {
      Comment("                                                                               ");
      Sleep(2000);
     } 
    else 
     {
      int le=GetLastError();
      Comment("                                                                               ");
      Comment("?????? ???????? ?????? #",le," - ",ErrorDescription(le));
      Sleep(6000);
      cnt--;
     }
  }
 if (res==-1) res=0;
 return(res);
}

bool CloseOrder(int T, string S, int OP)
{
 int cnt=10;
 bool res=false;
 if (OP==OP_BUY) {double Price=MarketInfo(S,MODE_BID);}
 if (OP==OP_SELL)       {Price=MarketInfo(S,MODE_ASK);}
 w

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

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

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

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

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

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

Стоимость полного кода
229,20₽ ≈ $2.80