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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.