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

Candle Shadow

ea candle shadow.rev1.mq4
Вы автор или правообладатель?

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

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

О программе

Candle Shadow — советник для MetaTrader 4, предназначенный для автоматической торговли на основе свечных паттернов и индикатора ATR. Советник анализирует предыдущую свечу и открывает позиции при совпадении направления движения с условием по ATR и достижении цены экстремума свечи.

Встроена функция скрытого управления стоп-лоссом и тейк-профитом, а также трейлинг-стоп, который перемещает уровень защиты при достижении заданного расстояния в пунктах от цены открытия позиции.

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

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

НастройкаОписание
===================================== (Owner1) Текстовый параметр, отображающий информацию о праве собственности на советник.
Lots (Lots) Размер лота для открытия каждой позиции.
Hiden TP SL (Hiden) Переключатель скрытого управления стоп-лоссом и тейк-профитом. При активации уровни SL и TP скрыты от стандартного отображения на графике.
TP Pip (isi 0 jika tidak di pakai) (TP) Уровень тейк-профита в пунктах. При значении 0 тейк-профит не используется.
SL Pip (isi 0 jika tidak di pakai) (SL) Уровень стоп-лосса в пунктах. При значении 0 стоп-лосс не используется.
SL Plus (isi 0 jika tidak di pakai) (TrallingStart) Расстояние в пунктах от цены открытия позиции для активации трейлинг-стопа. При значении 0 трейлинг-стоп отключён.
< Other >----- (Other_) Текстовый разделитель для визуальной группировки настроек в интерфейсе.
Display (Display) Включает или отключает отображение информационной панели на графике с данными аккаунта, позиций и финансовых показателей.
Comment (comment) Текст комментария, присваиваемый каждому открытому ордеру.
Magic (Magic) Магический номер для идентификации ордеров, открытых данным советником.
Получить полный код

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

#property version   "1.00"
#property strict

 datetime       ExpiredDate  = D'2030.05.15';
 bool           LockNo       = False;        // Lock number Account, true/false
 int            NoAkun       = 250774308;   // Number Account

 bool           LockName1    = False;        // Lock Name Account, true/fal1se
 string         Nama         = "Sun Purwandi"; // Name Account

extern string   Owner1       = "===== Copyright ?2024 by Candle Shadow =====";//=====================================
input  double   Lots         = 0.1;  // Lots
input  bool     Hiden        = 0.1;  // Hiden TP SL
input  double   TP           = 10;    // TP Pip (isi 0 jika tidak di pakai)
input  double   SL           = 20;    // SL Pip (isi 0 jika tidak di pakai)
input  double   TrallingStart= 5;     // SL Plus (isi 0 jika tidak di pakai)
extern string   Other_       = "====================================="; // --< Other >-----
input  bool     Display      = true;  // Display
input  string   comment      = "EA Candle Shadow";// Comment
input  int      Magic        = 123;   // Magic

int MaxSlip =10;
int YU=0;
int count,xx=0,i=0;
double theRange;
int CandleHour;
double PROFIT=0;
int TIPE=11,MG=0;
color timeColor = clrGold;
color  warnatxt = clrAqua;// Warna Text
ENUM_BASE_CORNER Info_Corner = 0;
ulong muc,muc1;
string ac,sec,j2;
datetime t1;
bool ab1,ab2,ab3,as1,as2,as3,bb;
double pt,SetPoint;
int I,en;
int gagalpobuy=4;
int gagalposell=3;
datetime timeStart;
datetime st1;
int shift,cnt=0;
datetime tm1,tm2;
int Warna,n4,n5;
int turun        = 0;
double minlot=0,maxlot=0;
double xbawah=0,xatas=0;
double lotv=0,BID1=0,BID2=0;
int SIGN=11,CL=0;

double Db(string nn) {return(NormalizeDouble(StringToDouble(nn),2));}

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

void OnDeinit(const int reason){
   ObjectsDeleteAll(0,-1,OBJ_LABEL);
}

datetime TMB=0,TMS=0;
int start(){
      // код доступен только после оплаты
   }
   Comment("");
   if (TimeCurrent() > ExpiredDate) {Comment("EA Expired Hub ADMIN"); return(0);}
   if ( LockNo&& NoAkun!=AccountNumber()) {Comment("Invalid Account Hub ADMIN");return(0);}
   if ( LockName1 && Nama!=AccountName()) {Comment("Invalid Account Hub ADMIN");return(0);}

   int TIP1=11,SS=0,BS=0,TO=0,TB=0,TS=0;
   double ltb=0,lts=0,PRB=0,PRS=0,LTB=0,LTS=0,priceb=0,prices=0;
   datetime tmb=0,tms=0;
   for (i=0;i<OrdersTotal();i++){
   xx=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic){
         if(OrderType()==OP_BUY){
            TB++;TO++;PRB=PRB+OrderProfit()+OrderCommission()+OrderSwap();LTB+=OrderLots();
            if(tmb<OrderOpenTime()){tmb=OrderOpenTime();priceb=OrderOpenPrice();ltb=OrderLots();}
         }
         if(OrderType()==OP_SELL){
            TS++;TO++;PRS=PRS+OrderProfit()+OrderCommission()+OrderSwap();LTS+=OrderLots();
            if(tms<OrderOpenTime()){tms=OrderOpenTime();prices=OrderOpenPrice();lts=OrderLots();}
         }
      }
   }
   if(Hiden){
      if(TP>0 && TB>0 && Bid>=priceb+TP*SetPoint && priceb>0){closeOP(0);}
      if(SL>0 && TB>0 && Bid<=priceb-SL*SetPoint && priceb>0){closeOP(0);}

      if(TP>0 && TS>0 && Ask<=prices-TP*SetPoint && prices>0){closeOP(1);}
      if(SL>0 && TS>0 && Bid>=prices+SL*SetPoint && prices>0){closeOP(1);}
   }
   if(TB>0){TMB=TimeCurrent();}
   if(TS>0){TMS=TimeCurrent();}
   double AA=iATR(NULL,0,10,1)/6;

   bool BUY1 = MathAbs(Open[1]-Close[1])>AA && Open[1]<Close[1] && Bid>=High[1] && TMB<Time[0];
   bool SELL1= MathAbs(Open[1]-Close[1])>AA && Open[1]>Close[1] && Bid<=Low[1] && TMS<Time[0];

   if(TO==0 && BUY1){Buy(Lots);}
   if(TO==0 && SELL1){Sell(Lots);}

double spread = NormalizeDouble(MarketInfo(Symbol(),MODE_SPREAD),2);   

if(TrallingStart>0 && TB+TS>0){
      for(int iTrade=0; iTrade<OrdersTotal(); iTrade++){
         xx=OrderSelect(iTrade,SELECT_BY_POS,MODE_TRADES);
         if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic){
            if(Bid-OrderOpenPrice()>TrallingStart*SetPoint){
               if(Bid-(TrallingStart*SetPoint) > OrderStopLoss()){
                  xx=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(TrallingStart*SetPoint),OrderTakeProfit(),0,Green);
                 }
              }
           }
         if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderOpenPrice()-Ask>TrallingStart*SetPoint)
              {
               if(Ask+(TrallingStart*SetPoint) < OrderStopLoss() || OrderStopLoss()==0)
                 {
                  xx=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(TrallingStart*SetPoint),OrderTakeProfit(),0,Gold);
                 }
              }
           }
        }
     }

if(Display){
double profitB=PRB;
double profitS=PRS;
double profitAll= AccountProfit();
color copitall=clrLightGray;
color copit=clrLightGray;
color copitb=clrLightGray;
color copits=clrLightGray;
color cop=clrLightGray;
color coline=clrBlack;
if (profitAll>0) {copit=clrLime;}  if (profitAll<0) {copit=clrRed;}
if (profitB>0) {copitb=clrLime;}  if (profitB<0) {copitb=clrRed;}
if (profitS>0) {copits=clrLime;}  if (profitS<0) {copits=clrRed;}
double fmargin= AccountFreeMargin();
color cfmargin=clrWhite;
int cr=1;
if (fmargin>0) {cfmargin=clrGree

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

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

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

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

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

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

Стоимость полного кода
941,80₽ ≈ $11.51