Исходный код · ID 1623
adx_rsi_amp_atr_strategy_ea.mq4
Похожие материалы по тегам
indo run 1.5.mq4MetaTrader 4 · 3 общих теговanother martingale fix.mq4MetaTrader 4 · 3 общих теговea robofibo source v.11.2.mq4MetaTrader 4 · 2 общих теговgg_master.mq4MetaTrader 4 · 2 общих тегов2 to 1 strategy with signals.txtTradingView · 2 общих теговfresh algo signals & overlays v25_6334471093901859175.txtTradingView · 2 общих тегов
Вы автор или правообладатель?
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «adx_rsi_amp_atr_strategy_ea.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Поиск по коду файла
#define EAName "ADX RSI & ATR Strategy EA"
extern string S1a="---------------- Entry Settings";
extern int EntryADXTF=0;
bool TradeAsLongAs=false;
extern int ADXPeriod=14;
extern double ADXLevel=20;
extern int EntryRSITF=0;
extern int FastRSIPeriod=5;
extern int SlowRSIPeriod=21;
extern double RSILevel1=30;
extern double RSILevel2=70;
extern bool TradeWeakSignal=true;
extern string S1b="---------------- Exit Settings";
extern bool UseRSIForClose=true;
extern int CloseRSITF=0;
extern int CloseRSIPeriod=21;
extern double RSILevel3=30;
extern double RSILevel4=70;
extern string S1c="---------------- Filter Settings";
extern bool UseStochFilter=false;
extern int KPeriod=30;
extern int DPeriod=10;
extern int Slowing=10;
extern bool UseOsMAFilter=false;
extern int FastEMA=12;
extern int SlowEMA=26;
extern int MACDSMA=9;
extern string S2="---------------- Money Management";
extern double Lots=0.1;//|-----------------------lots size
extern double WeakLots=0.05;//|-----------------------lots size
extern bool RiskMM=false;//|---------------------risk management
extern double RiskPercent=1;//|------------------risk percentage
extern bool Martingale=false;//|-----------------martingale
extern double Multiplier=2.0;//|-----------------multiplier martingale
extern double MinLots=0.01;//|-------------------minlots
extern double MaxLots=100;//|--------------------maxlots
/*
extern bool BasketProfitLoss=false;//|-----------use basket loss/profit
extern int BasketProfit=100000;//|---------------if equity reaches this level, close trades
extern int BasketLoss=9999;//|-------------------if equity reaches this negative level, close trades
*/
extern string S3="---------------- Order Management";
extern bool UseATRForSL=true;
extern int ATRPeriod=14;
extern double ATRFactor=2.0;
extern int StopLoss=0;//|------------------------stop loss
extern int TakeProfit=0;//|----------------------take profit
extern bool HideSL=false;//|---------------------hide stop loss
extern bool HideTP=false;//|---------------------hide take profit
extern int TrailingStop=0;//|--------------------trailing stop
extern int TrailingStep=0;//|--------------------trailing step
extern int BreakEven=0;//|-----------------------break even
extern int MaxOrders=100;//|---------------------maximum orders allowed
extern int Slippage=3;//|------------------------slippage
extern int Magic=2009;//|------------------------magic number
/*
extern string S4="---------------- MA Filter";
extern bool MAFilter=false;//|-------------------moving average filter
extern int MAPeriod=20;//|-----------------------ma filter period
extern int MAMethod=0;//|------------------------ma filter method
extern int MAPrice=0;//|-------------------------ma filter price
*/
/*
extern string S5="---------------- Time Filter";
extern bool TradeOnSunday=true;//|---------------time filter on sunday
extern bool MondayToThursdayTimeFilter=false;//|-time filter the week
extern int MondayToThursdayStartHour=0;//|-------start hour time filter the week
extern int MondayToThursdayEndHour=24;//|--------end hour time filter the week
extern bool FridayTimeFilter=false;//|-----------time filter on friday
extern int FridayStartHour=0;//|-----------------start hour time filter on friday
extern int FridayEndHour=21;//|------------------end hour time filter on friday
*/
extern string S6="---------------- Extras";
extern bool Hedge=false;//|----------------------enter an opposite trade
extern int HedgeSL=0;//|-------------------------stop loss
extern int HedgeTP=0;//|-------------------------take profit
extern bool ReverseSystem=false;//|--------------buy instead of sell, sell instead of buy
/*
extern bool ReverseAtStop=false;//|--------------buy instead of sell, sell instead of buy
extern int Expiration=240;//|--------------------expiration in minute for the reverse pending order
extern bool Comments=true;//|--------------------allow comments on chart
*/
datetime PreviousBarTime1;
datetime PreviousBarTime2;
double maxEquity,minEquity,Balance=0.0;
double LotsFactor=1;
double InitialLotsFactor=1;
int init()
{
// код доступен только после оплаты
}
/*int deinit()
{
return(0);
}*/
int start()
{
// код доступен только после оплаты
}
if(TrailingStop>0)MoveTrailingStop();
if(BreakEven>0)MoveBreakEven();
/*
if(BasketProfitLoss)
{
double CurrentProfit=0,CurrentBasket=0;
CurrentBasket=AccountEquity()-AccountBalance();
if(CurrentBasket>maxEquity)maxEquity=CurrentBasket;
if(CurrentBasket<minEquity)minEquity=CurrentBasket;
if(CurrentBasket>=BasketProfit||CurrentBasket<=(BasketLoss*(-1)))
{
CloseBuyOrders(Magic);
CloseSellOrders(Magic);
return(0);
}
}
*/
/*
if((TradeOnSunday==false&&DayOfWeek()==0)||(MondayToThursdayTimeFilter&&DayOfWeek()>=1&&DayOfWeek()<=4&&!(Hour()>=MondayToThursdayStartHour&&Hour()<MondayToThursdayEndHour))||(FridayTimeFilter&&DayOfWeek()==5&&!(Hour()>=FridayStartHour&&Hour()<FridayEndHour)))
{
CloseBuyOrders(Magic);
CloseSellOrders(Magic);
return(0);
}
*/
int limit=1;
for(int i=1;i<=limit;i++)
{
/*
double MAF=iMA(Symbol(),0,MAPeriod,0,MAMethod,MAPrice,i);
bool MABUY=false;bool MASELL=false;
if((MAFilter==false)||(MAFilter&&Bid>MAF))MABUY=true;
if((MAFilter==false)||(MAFilter&&Ask<MAF))MASELL=true;
double LastBuyOpenPrice=0;
double LastSellOpenPrice=0;
int BuyOpenPosition=0;
int SellOpenPosition=0;
int TotalOpenPosition=0;
int cnt=0;
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic&&OrderCloseTime()==0)
{
TotalOpenPosition++;
if(OrderType()==OP_BUY)
{
BuyOpenPosition++;
LastBuyOpenPrice=OrderOpenPrice();
}
if(OrderType()==OP_SELL)
{
SellOpenPosition++;
LastSellOpenPrice=OrderOpenPrice();
}
}
}
*/
double ADXa=iADX(NULL,EntryADXTF,ADXPeriod,PRICE_CLOSE,MODE_MAIN,i+1);
double ADXPlusa=iADX(NULL,EntryADXTF,ADXPeriod,PRICE_CLOSE,MODE_PLUSDI,i+1);
double ADXMinusa=iADX(NULL,EntryADXTF,ADXPeriod,PRICE_CLOSE,MODE_MINUSDI,i+1);
double ADX=iADX(NULL,EntryADXTF,ADXPeriod,PRICE_CLOSE,MODE_MAIN,i);
double ADXPlus=iADX(NULL,EntryADXTF,ADXPeriod,PRICE_CLOSE,MODE_PLUSDI,i);
double ADXMinus=iADX(NULL,EntryADXTF,ADXPeriod,PRICE_CLOSE,MODE_MINUSDI,i);
double FastRSIa=iRSI(NULL,EntryRSITF,FastRSIPeriod,PRICE_CLOSE,i+1);
double SlowRSIa=iRSI(NULL,EntryRSITF,SlowRSIPeriod,PRICE_CLOSE,i+1);
double FastRSI=iRSI(NULL,EntryRSITF,FastRSIPeriod,PRICE_CLOSE,i);
double SlowRSI=iRSI(NULL,EntryRSITF,SlowRSIPeriod,PRICE_CLOSE,i);
double SlowRSIDa=iRSI(NULL,CloseRSITF,CloseRSIPeriod,PRICE_CLOSE,i+1);
double SlowRSID=iRSI(NULL,CloseRSITF,CloseRSIPeriod,PRICE_CLOSE,i);
double StochM=iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,i);
double StochS=iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,i);
double OSMA=iOsMA(NULL,0,FastEMA,SlowEMA,MACDSMA,PRICE_CLOSE,i);
bool BUY=false;
bool SELL=false;
if(
(FastRSIa<RSILevel1&&FastRSI>RSILevel1&&SlowRSIa<RSILevel1&&SlowRSI>RSILevel1&&ADX>ADXLevel&&ADXPlus>ADXMinus)
&&(UseStochFilter==false||(UseStochFilter&&StochM>StochS))
&&(UseOsMAFilter==false||(UseOsMAFilter&&OSMA>0))
&&(UseRSIForClose==false||(UseRSIForClose&&!(SlowRSIDa>RSILevel4&&SlowRSID<RSILevel4)))
)BUY=true;
if(
(FastRSIa>RSILevel2&&FastRSI<RSILevel2&&SlowRSIa>RSILevel2&&SlowRSI<RSILevel2&&ADX>ADXLevel&&ADXMinus>ADXPlus)
&&(UseStochFilter==false||(UseStochFilter&&StochM<StochS))
&&(UseOsMAFilter==false||(UseOsMAFilter&&OSMA<0))
&&(UseRSIForClose==false||(UseRSIForClose&&!(SlowRSIDa<RSILevel3&&SlowRSID>RSILevel3)))
)SELL=true;
if(TradeWeakSignal&&
(FastRSIa<RSILevel1&&FastRSI>RSILevel1&&ADX>ADXLevel&&ADXPlus>ADXMinus)
&&(UseStochFilter==false||(UseStochFilter&&StochM>StochS))
&&(UseOsMAFilter==false||(UseOsMAFilter&&OSMA>0))
&&(UseRSIForClose==false||(UseRSIForClose&&!(SlowRSIDa>RSILevel4&&SlowRSID<RSILevel4)))
){BUY=true;Lots=WeakLots;}
if(TradeWeakSignal&&
(FastRSIa>RSILevel2&&FastRSI<RSILevel2&&ADX>ADXLevel&&ADXMinus>ADXPlus)
&&(UseStochFilter==false||(UseStochFilter&&StochM<StochS))
&&(UseOsMAFilter==false||(UseOsMAFilter&&OSMA<0))
&&(UseRSIForClose==false||(UseRSIForClose&&!(SlowRSIDa<RSILevel3&&SlowRSID>RSILevel3)))
){SELL=true;Lots=WeakLots;}
bool SignalBUY=false;
bool SignalSELL=false;
if(BUY/*&&MABUY*/)if(ReverseSystem)SignalSELL=true;else SignalBUY=true;
if(SELL/*&&MASELL*/)if(ReverseSystem)SignalBUY=true;else SignalSELL=true;
if(UseATRForSL)StopLoss=(iATR(NULL,0,ATRPeriod,i)*ATRFactor)/Point;
}
if(RiskMM)CalculateMM();Показано первые 50% кода (символов: 15884)
Что вы получите после оплаты
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? Адрес передаётся вместе с заказом в магазин и сохраняется для связи заказа с оплатой. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.
Стоимость полного кода
1 588₽
≈ $18.67