NexusFi: Find Your Edge


Home Menu

 





Sidus V2 MT4


Discussion in Platforms and Indicators

Updated
    1. trending_up 4,393 views
    2. thumb_up 0 thanks given
    3. group 0 followers
    1. forum 1 posts
    2. attach_file 0 attachments




 
Search this Thread

Sidus V2 MT4

  #1 (permalink)
 AR01 
CA
 
Experience: Beginner
Platform: MT4, Ninja Trader
Trading: EUR/USD
Posts: 494 since Oct 2009
Thanks Given: 400
Thanks Received: 628

I found this indicator and it appears as if it is using the 14EMA, 21EMA, and cross of the 17RSI to determine an entry. However, when I put these indicators on the chart I get a different entry visually than the arrow. For example, the arror seems to occur before the 14/21 cross in some instances. Could someone look at the code and determine what it is doing? Am I missing something?

Thanks

//+------------------------------------------------------------------+
//| Sidus v.2 Entry Indicator.mq4 |
//| |
//| Ideas by Sidus |
//+------------------------------------------------------------------+
#property copyright "Sidus"
#property link ""

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Blue
#property indicator_color4 DodgerBlue

#include <WinUser32.mqh>
//---- input parameters
extern int FastEMA=14;
extern int SlowEMA=21;
extern int RSIPeriod=17;
extern bool Alerts=false;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
//double rsi_sig[];
//---- variables
int sigCurrent=0;
int sigPrevious=0;
double pipdiffCurrent=0;
double pipdiffPrevious=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE,1,3);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_ARROW,1,5);
SetIndexArrow(2,233);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexEmptyValue(2,0.0);
SetIndexStyle(3,DRAW_ARROW,1,5);
SetIndexArrow(3,234);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexEmptyValue(3,0.0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
double rsi_sig=0;
bool entry=false;
double entry_point=0;

//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

//---- main loop
for(int i=0; i<limit; i++)
{
//---- ma_shift set to 0 because SetIndexShift called abowe
ExtMapBuffer1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i);
ExtMapBuffer2[i]=iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
rsi_sig = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, i);

pipdiffCurrent=(ExtMapBuffer1[i]-ExtMapBuffer2[i]);

Comment("pipdiffCurrent = "+pipdiffCurrent+" ");
if (pipdiffCurrent>0 && rsi_sig>50)
{
sigCurrent = 1; //Up
}
else if (pipdiffCurrent<0 && rsi_sig<50)
{
sigCurrent = 2; //Down
}
/*
if (pipdiffCurrent>0)
{
sigCurrent = 1; //Up
}
else if (pipdiffCurrent<0)
{
sigCurrent = 2; //Down
}
*/

if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3[i] = Ask;
entry=true;
entry_point=Ask;
}
else if (sigCurrent==2 && sigPrevious==1)
{
ExtMapBuffer3[i-1] = Low[i-1]-5*Point;
//ExtMapBuffer4[i] = Bid;
entry=true;
entry_point=Bid;
}


sigPrevious=sigCurrent;
pipdiffPrevious=pipdiffCurrent;
}

//----
if(Alerts && entry)
{
PlaySound("alert.wav");
if (sigPrevious==1)
{
MessageBox("Entry point: buy at "+entry_point+"!!", "Entry Point", MB_OK);
}
else if (sigPrevious==2)
{
MessageBox("Entry point: sell at "+entry_point+"!!", "Entry Point", MB_OK);
}

entry=false;
}
RefreshRates();

//----
return(0);
}
//+------------------------------------------------------------------+

Visit my NexusFi Trade Journal Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
ZombieSqueeze
Platforms and Indicators
Better Renko Gaps
The Elite Circle
Exit Strategy
NinjaTrader
Futures True Range Report
The Elite Circle
The space time continuum and the dynamics of a financial …
Emini and Emicro Index
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Get funded firms 2023/2024 - Any recommendations or word …
61 thanks
Funded Trader platforms
39 thanks
NexusFi site changelog and issues/problem reporting
26 thanks
The Program
18 thanks
GFIs1 1 DAX trade per day journal
18 thanks




Last Updated on February 1, 2011


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts