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

na proboy fz.mq4

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

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

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

О программе

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

Программа рассчитывает объём позиции на основе баланса счёта и заданных параметров риска, поддерживает усреднение позиций с увеличением лота при нарастании количества открытых ордеров. Доступны настройки максимального количества ордеров, временных ограничений торговли и уровня фиксации прибыли.

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

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

НастройкаОписание
????, ??? ? ????????? (Risk) Размер риска — Процент риска от баланса счёта, используемый при расчёте размера позиции.
???????????? ???? (???? ????????????? ??????????) (MaxRisk) Максимальный риск — Максимальный процент риска от баланса счёта при расчёте размера позиции.
??????? ???? ??????? ? ??????? (TakeProfit) Тейк-профит — Уровень фиксации прибыли (в пунктах) для открытых позиций.
??? ?????? ?????? ???? ?????? (?? ????????? ???????) (FrameBar) Таймфрейм анализа — Таймфрейм (в минутах) для анализа ценовых данных и определения торговых условий.
????? ?????? ?????? (TimeStart) Время начала — Час начала торговой сессии (в местном времени сервера), с которого советник может открывать позиции.
????? ????????? ?????? (TimeEnd) Время окончания — Час окончания торговой сессии (в местном времени сервера), в течение которого советник не открывает новые позиции.
??????? ?????????? ???? (??????????) (UpLot) Множитель лота — Коэффициент увеличения лота при открытии дополнительных позиций в рамках усреднения.
??? ????? (Step) Шаг — Шаговое значение, используемое при управлении открытием дополнительных позиций.
???????????? ?????????? ??????? ? ????? (MaxOrders) Максимум ордеров — Максимальное допустимое количество одновременно открытых ордеров.
?????? ??????? (Magic) Магический номер — Магический номер для идентификации ордеров, управляемых данным советником.
Получить полный код

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

extern double   Risk          =2;          //????, ??? ? ?????????             
extern double   MaxRisk       =3;          //???????????? ???? (???? ????????????? ??????????)
extern int      TakeProfit    =15;         //??????? ???? ??????? ? ??????? 
extern int      FrameBar      =1440;       //??? ?????? ?????? ???? ?????? (?? ????????? ???????)
extern int      TimeStart     =2;          //????? ?????? ??????
extern int      TimeEnd       =12;         //????? ????????? ??????
extern double   UpLot         =1;          //??????? ?????????? ???? (??????????)
extern int      Step          =10;         //??? ?????  
extern int      MaxOrders     =30;         //???????????? ?????????? ??????? ? ?????   
extern int      Magic         =7777;       //?????? ???????

string          CommentEA     ="Na Proboy FZ";
int D;
double   OpPric        =0;
string Name;
bool Buy,Sell;
double NewTP;
int Ticket;
int init()
  {
      // код доступен только после оплаты
   }

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

int OpenOrder(string symbol,int cmd,double volume,double price,double stoploss,double takeprofit,string comment,int magic)
             {
              int err,i,ticket;
              while(i<10)
                   {
                    RefreshRates();
                    if (cmd==0)price=Ask;
                    if (cmd==1)price=Bid;
                    ticket=OrderSend(symbol,cmd,volume,NormalizeDouble(price,Digits),1000*D,NormalizeDouble(stoploss,Digits),NormalizeDouble(takeprofit,Digits),comment,magic);
                    err = GetLastError();
                    if (err == 0) break;
                    Print(Name,Symbol(),Error(err),"  ??? ???????? ??????");
                    Sleep(1000);
                    i++;
                   }
              return(ticket);
             }

int ModifyOrder(int ticket,double price,double stoploss,double takeprofit)
               {
                int err,i;

                while(i<10)
                   {
                    RefreshRates();
                    bool sel7=OrderModify(ticket,NormalizeDouble(price,Digits),NormalizeDouble(stoploss,Digits),NormalizeDouble(takeprofit,Digits),0,CLR_NONE);
                    err = GetLastError();
                    if (err == 0) break;
                    Print(Name,Symbol(),Error(err),"  ??? ??????????? ??????");
                    Sleep(1000);
                    i++;
                   }
                return(0);
               }

string Error(int error_code)
  {
   string error_string;
   switch(error_code)
     {
      case 0:   error_string="??? ??????";                                                     break;
      case 1:   error_string="??? ??????, ?? ????????? ??????????";                            break;
      case 2:   error_string="????? ??????";                                                   break;
      case 3:   error_string="???????????? ?????????";                                         break;
      case 4:   error_string="???????? ?????? ?????";                                          break;
      case 5:   error_string="?????? ?????? ??????????? ?????????";                            break;
      case 6:   error_string="??? ????? ? ???????? ????????";                                  break;
      case 7:   error_string="???????????? ????";                                              break;
      case 8:   error_string="??????? ?????? ???????";                                         break;
      case 9:   error_string="???????????? ???????? ?????????? ???????????????? ???????";      break;
      case 64:  error_string="???? ????????????";                                              break;
      case 65:  error_string="???????????? ????? ?????";                                       break;
      case 128: error_string="????? ???? ???????? ?????????? ??????";                          break;
      case 129: error_string="???????????? ????";                                              break;
      case 130: error_string="???????????? ?????";                                             break;
      

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

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

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

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

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

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

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