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