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

The Puncher

thepuncher.mq4

Похожие материалы по тегам

ea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих тегов2 to 1 strategy with signals.pineTradingView · 2 общих теговfresh algo signals & overlays v25_6334471093901859175.pineTradingView · 2 общих теговbago ea_5391011682577321359.mq4MQL4 / MetaTrader 4 · 2 общих теговfresh algo v24 tradingview indicator_5918156155804195406.pineTradingView · 2 общих теговea_rsi_stocho_ma.mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

The Puncher — торговый советник для MetaTrader 4, разработанный CreativeSilence, Inc. (2008). Советник анализирует ценовые данные с использованием стандартных технических индикаторов (Стохастик и RSI) для формирования сигналов на открытие и закрытие позиций. Поддерживает торговые операции через встроенные API MetaTrader 4.

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

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

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

НастройкаОписание
Lots Размер лота — Размер лота (объём позиции) для открытия торговых операций.
StopLoss Стоп-лосс — Расстояние до уровня стоп-лосса в пунктах.
TakeProfit Тейк-профит — Расстояние до уровня тейк-профита в пунктах.
TradeAtCloseBar Торговля по закрытию свечи — Переключатель между торговлей по закрытию свечи и торговлей в реальном времени.
TrailingStop Трейлинг-стоп — Расстояние до начала срабатывания трейлинг-стопа в пунктах.
Trailing step (TrailingStep) Шаг трейлинг-стопа — Шаг сдвига трейлинг-стопа в пунктах.
BreakEven Безубыток — Расстояние в пунктах для перевода позиции в безубыток.
MagicNumber Магический номер — Магический номер для идентификации ордеров, открытых советником.
Repeat Повтор уведомлений — Количество повторений уведомлений для одного торгового сигнала.
Periods Период уведомлений — Интервал времени между повторными уведомлениями в секундах.
UseAlert Всплывающие уведомления — Включение или выключение всплывающих уведомлений.
SendEmail Отправка email — Включение или выключение отправки уведомлений по электронной почте.
Slippage Проскальзывание — Допустимое отклонение цены (проскальзывание) в пунктах.
Crash Аварийный режим — Переключатель аварийного режима работы советника.
TimeFrame Таймфрейм — Таймфрейм для анализа (0 — текущий).
Length Длина — Параметр длины для расчёта индикатора.
Method Метод расчёта — Метод расчёта индикатора.
Smoothing Сглаживание — Метод сглаживания индикатора.
Filter Фильтр — Параметр фильтра для индикатора.
RealTime Реальное время — Переключатель режима реального времени.
Steady Стабильный режим — Переключатель стабильного режима работы советника.
Color Цветовое отображение — Включение или выключение цветового отображения на графике.
Alerts Уведомления — Включение и выключение системы уведомлений советника.
EmailON Email-уведомления — Включение или выключение отправки уведомлений по электронной почте.
SignalPrice Цена сигнала — Отображение цены сигнала на графике.
SignalPriceBUY Цена покупки — Цвет маркера сигнала покупки на графике.
SignalPriceSELL Цена продажи — Цвет маркера сигнала продажи на графике.
CountBars Количество баров — Количество баров для анализа с правого края графика.
Получить полный код

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

#define OrderStr "The Puncher By L.Bigger AKA Silence"

extern double  Lots = 200;
extern int  StopLoss = 2000;
extern int   TakeProfit = 0;
extern bool  TradeAtCloseBar = true;
extern int   TrailingStop = 0;
extern int   TrailingStep = 1;      //Trailing step
extern int     BreakEven = 0;
extern int    MagicNumber=0;

extern int     Repeat=3;
extern int     Periods=5;
extern bool    UseAlert=false;
extern bool    SendEmail=true;
extern string
   TradeLog="MasterMind";

extern int  Slippage = 3;

int           mm = -1;
double         Risk = 1;
int           Crepeat=0;
int            AlertTime=0;
double         AheadTradeSec = 0;
double         AheadExitSec = 0;
int        TradeBar = 0;
double         MaxTradeTime = 300;

extern string  
         Indicator_Setting = "---------- Indicator Setting";
extern   bool     Crash = false;
extern   int      TimeFrame = 0;
extern   int      Length = 5;
extern   int      Method = 3;
extern   int      Smoothing = 1;
extern   int      Filter = 5;

extern   bool     RealTime = true;
extern   bool     Steady  = false;
extern   bool     Color = true;
extern   bool     Alerts = true;
extern   bool     EmailON = false;
extern   bool     SignalPrice = true;
extern   color    SignalPriceBUY = Yellow;
extern   color    SignalPriceSELL = Aqua;
extern   int      CountBars = 1485;

int
     NumberOfTries  = 5, //Number of tries to set, close orders;
     RetryTime   = 1; 

double 
   Ilo     = 0;

int DotLoc=7;
static int TradeLast=0;

string sound="alert.wav";

double sig_buy=0, sig_sell=0, sig_high=0, sig_low=0;

int Spread=0;
string filename="";

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

int deinit()
  {

   return(0);
  }

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

void SetText(int X1, double Y1, string TEXT_NAME, string TEXT_VALUE, int TEXT_COLOR) {
return;
if(ObjectFind(TEXT_NAME) != 0)
{
   ObjectCreate(TEXT_NAME, OBJ_TEXT, 0, X1, Y1);
   ObjectSet(TEXT_NAME,OBJPROP_COLOR,TEXT_COLOR);
   ObjectSetText(TEXT_NAME, TEXT_VALUE, 10, "Wingdings", EMPTY);         
}
else
{
   ObjectMove(TEXT_NAME, 0, X1, Y1);
}                  
}

void Alerts(int _buy, int _sell, int _exitbuy, int _exitsell, double _op, double _sl, double _tp, int _ticket) {

string AlertStr="";
AlertStr="";
string CurDate="";
CurDate=TimeToStr(CurTime(),TIME_DATE|TIME_MINUTES);

if (UseAlert)
{

if (_buy==1) 
{ 
   if (Crepeat==Repeat)
   { 
      AlertTime=0;
   }
   if (Crepeat>0 && (CurTime()-AlertTime)>Periods)
   {
   if (_buy==1) {
   AlertStr=AlertStr+"Buy @ "+DoubleToStr(_op,Digits)+"; SL: "+DoubleToStr(_sl,Digits)+"; TP: "+DoubleToStr(_tp,Digits)+" at "+CurDate+" Order:"+DoubleToStr(_ticket,0)+"."; 
   Alert(Symbol()," ",Period(), ": ",AlertStr); 
   if (SendEmail) 
   {
      SendMail(Symbol()+" "+Period()+ ": ",Symbol()+" "+Period()+": "+AlertStr);
   }

      Crepeat=Crepeat-1;
      AlertTime=CurTime();
   }

   } 
}

if (_sell==1) 
{ 
   if (Crepeat==Repeat)
   { 
      AlertTime=0;
   }
   if (Crepeat>0 && (CurTime()-AlertTime)>Periods)
   {
   if (_sell==1) {
      AlertStr=AlertStr+"Sell @ "+DoubleToStr(_op,Digits)+"; SL: "+DoubleToStr(_sl,Digits)+"; TP: "+DoubleToStr(_tp,Digits)+" at "+CurDate+" Order:"+DoubleToStr(_ticket,0)+"."; 
   Alert(Symbol()," ",Period(), ": ",AlertStr); 
   if (SendEmail) 
   {
      SendMail(Symbol()+" "+Period()+ ": ",Symbol()+" "+Period()+": "+AlertStr);
   }

      Crepeat=Crepeat-1;
      AlertTime=CurTime();
   }

   } 
}

if (_exitsell==1) 
{ 
   if (Crepeat==Repeat)
   { 
   AlertTime=0;
   }

if (Crepeat>0 && (CurTime()-AlertTime)>Periods)
{
   if (_exitsell==1) {
   AlertStr=AlertStr+" Close Sell @ "+DoubleToStr(_op,Digits)+" at "+CurDate+" Order:"+DoubleToStr(_ticket,0)+"."; 
   Alert(Symbol()," ",Period(), ": ", AlertStr); 
   if (SendEmail) 
   {
      SendMail(Symbol()+" "+Period()+ ": ",Symbol()+" "+Period()+": "+AlertStr);
   }

   Crepeat=Crepeat-1;
   AlertTime=CurTime();
   }

}

} 

if (_exitbuy==1) 
{ 
   if (Crepeat==Repeat)
   { 
      AlertTime=0;
   }
   if (Crepeat>0 && (CurTime()-AlertTime)>Periods)
   {
   if (_exitbuy==1) {
   AlertStr=AlertStr+" Close Buy @ "+DoubleToStr(_op,Digits)+" at "+CurDate+" Order:"+DoubleToStr(_ticket,0)+"."; 
   Alert(Symbol()," ",Period(), ": ",AlertStr); 
   if (SendEmail) 
   {
      SendMail(Symbol()+" "+Period()+ ": ",Symbol()+" "+Period()+": "+AlertStr);
   }

      Crepeat=Crepeat-1;
      AlertTime=CurTime();
   }

   } 
}

if (_exitbuy==0 && _exitsell==0 && _buy==0 && _sell==0)  
{
   Crepeat=Repeat;
   AlertTime=0;
}

}

return;
}

void subPrintDetails()
{
   string sComment   = "";
   string sp         = "----------------------------------------\n";
   string NL         = "\n";
 string sDirection = "";
   sComment = "The Puncher By L.Bigger AKA Silence" + NL;
   sComment = sComment + "StopLoss=" + DoubleToStr(StopLoss,0) + " | "; 
   sComment = sComment + "TakeProfit=" + DoubleToStr(TakeProfit,0) + " | ";
   sComment = sComment + "TrailingStop=" + DoubleToStr(TrailingStop,0) + NL;   
   sComment = sComment + sp;   
   sComment = sComment + "Lots=" + DoubleToStr(Ilo,2) + " | ";
   sComment = sComment + "LastTrade=" + DoubleToStr(TradeLast,0) + NL; 
   sComment = sComment + "sig_buy=" + DoubleToStr(sig_buy,Digits) + NL; 
   sComment = sComment + "sig_sell=" + DoubleToStr(sig_sell,Digits) + NL; 
   sComment = sComment + sp;  
   Comment(sComment);
}

int CntOrd(int Type, int Magic) {

int _CntOrd;
_CntOrd=0;
for(int i=0;i<OrdersTotal();i++)
{
   OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

   if (OrderSymbol()==Symbol()) {
      if ( (OrderType()==Type && (OrderMagicNumber()==Magic) || Magic==0)) _CntOrd++;
   }
}
return(_CntOrd);
}

string ErrorDescription(int error_code)
  {
   string error_string;

   switch(error_code)
     {

      case 0:
      case 1:   error_string="no error";                                                  break;
      case 2:   error_string="common error";                                              break;
      case 3:   error_string="invalid trade parameters";                                  break;
      case 4:   error_string="trade server is busy";                                      break;
      case 5:   error_string="old version of the client terminal";                        break;
      case 6:   error_string="no connection with trade server";                           break;
      case 7:   error_string="not enough rights";                                         break;
      case 8:   error_string="too frequent requests";                                     break;
      case 9:   error_string="malfunctional trade operation";                             break;
      case 64:  error_string="account disabled";                                          break;
      case 65:  error_string="invalid account";                                           break;
      case 128: error_string="trade timeout";                                             break;
      case 129: error_string="invalid price";                                             break;
      case 130: error_string="invalid stops";                                             break;
      case 131: error_string="invalid trade volume";                                      break;
      case 132: error_string="market is closed";                                          break;
      case 133: error_string="trade is disabled";                                         break;
      case 134: error_string="not enough money";                                          break;
      case 135: error_string="price changed";                                             break;
      case 136: error_string="off quotes";                                                break;
      case 137: error_string="broker is busy";                                            break;
      case 138: error_string="requote";                                                   break;
      case 139: error_string="order is locked";                                           break;
      case 140: error_string="long positions only allowed";                               break;
      case 141: error_string="too many requests";                                         break;
      case 145: error_string="modification denied because order too close to market";     break;
      case 146: error_string="trade context is busy";                                     break;

      case 4000: e

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

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

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

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

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

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

Стоимость полного кода
2 150,10₽ ≈ $26.28