Distance of Moving average - page 2

 
whroeder1:
  1. OP stated he wants to compare the distance to 50 PIPs, not to 50 points. A PIP is not a point. Either he has to translate 50 PIPs to points to compare to your delta/_Point, or he has to translate your delta/_Point to PIPs to compare to 50 (PIPs.) Your answer is wrong. Your are missing the point. You can not compare 50 (PIPs) to distance (in points) and get a valid answer.
  2. True and irrelevant.
  3. True and irrelevant.
Thanks for your input 

If this is the incorrect way to tackle the issue what would be the correct way in your opinion?

 
William Roeder:

If I measured a 9 foot distance using a yard stick I would get an answer of 3 yards. If I used a foot ruler, I would get an answer of 9 feet. If I wanted yards, 9 is the wrong answer.

OP wanted an answer in PIPs. using _Point gives the wrong answer. A PIP is not a point.

i  like this explanation , 

thanks 

paul

 

yess, i need this solution also.. using point doesn't do much.. how to change from point to pipstep ???


extern string  Setting_3   = "---------- Moving Average ----------";
extern bool    Use_MovingAverage                               = true;
extern         int MASlowPeriod                                = 200;
extern         int MAMedPeriod                                 = 100;
extern         int MAFastPeriod                                = 50;
extern         ENUM_MA_METHOD MA_METHOD                        = MODE_EMA;
extern         ENUM_APPLIED_PRICE MA_PRICE                     = PRICE_CLOSE;
extern int     Distance_Signal_Buy                             = 30;// Distance by pipstep from MA_Sell
extern int     Distance_Signal Sell                            = 30;// Distance by pipstep from MA_Buy


void SetupTrade()
{

double StocFast = iStochastic(Symbol(), Period(), Kperiod, Dperiod, Slowing, MA_Stoc, Price_Field, 0, 1);
double StocSlow = iStochastic(Symbol(), Period(), Kperiod, Dperiod, Slowing, MA_Stoc, Price_Field, 1, 1);

double MASlowCurr = iMA(Symbol(), 0, MASlowPeriod, 0, MODE_EMA, PRICE_CLOSE, 1);
double MASlowPrev = iMA(Symbol(), 0, MASlowPeriod, 0, MODE_EMA, PRICE_CLOSE, 2);
double MAMedCurr = iMA(Symbol(), 0, MAMedPeriod, 0, MODE_EMA, PRICE_CLOSE, 1);
double MAMedPrev = iMA(Symbol(), 0, MAMedPeriod, 0, MODE_EMA, PRICE_CLOSE, 2);
double MAFastCurr = iMA(Symbol(), 0, MAFastPeriod, 0, MODE_EMA, PRICE_CLOSE, 1);
double MAFastPrev = iMA(Symbol(), 0, MAFastPeriod, 0, MODE_EMA, PRICE_CLOSE, 2);

bool buy = (((!Use_Stochastic)||((StocFast < Lower_level) && (StocSlow < Lower_level)))
&&((!Use_MovingAverage)||(((MASlowCurr < MAMedCurr && MAMedCurr < MAFastCurr) && (((MAFastPrev >= MAMedPrev && MAMedPrev >= MASlowPrev)/Point)>Distance_Signal_Buy)))));
bool sell = (((!Use_Stochastic)||((StocFast > Upper_level) && (StocSlow > Upper_level)))
&&((!Use_MovingAverage)||(((MASlowCurr > MAMedCurr && MAMedCurr > MAFastCurr) && (((MAFastPrev <= MAMedPrev && MAMedPrev <= MASlowPrev)/Point)>Distance_Signal_Sell)))));



datetime candleTime = iTime(Symbol(),Period(),0);
static datetime timeTrade;
bool trade = Hour() >= StartHour && Hour() <= EndHour;
bool trade2 = true;
int candlebaru = iClose(Symbol(),Period(),0);

if(trade && trade2 && candleTime)
{
if(buy && TradeBuy && TotalOrder(OP_BUY)==0)
{
Order(OP_BUY,Commentt);
trail_mode = 0;
timeTrade = candleTime;
}
if(sell && TradeSell && TotalOrder(OP_SELL)==0)
{
Order(OP_SELL,Commentt);
trail_mode = 0;
timeTrade = candleTime;
}

}

}



Reason: