last works on implementing Candlestick Patterns on Bar Analyser Class ...
This commit is contained in:
@@ -3425,6 +3425,183 @@ int GetCycleLengthOn(
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve Sharp Change Info for Specified Period ...
|
||||
*
|
||||
* @param priceChange: double, required Price Change ...
|
||||
* @param mPeriod: ENUM_TIMEFRAMES member, Specified Period ...
|
||||
*
|
||||
* @return ( int )
|
||||
*/
|
||||
int GetPeriodSharpData(
|
||||
double &priceChange,
|
||||
ENUM_TIMEFRAMES mPeriod = NULL //
|
||||
)
|
||||
{
|
||||
//
|
||||
int result = 0;
|
||||
|
||||
//
|
||||
priceChange = 0.0;
|
||||
|
||||
//
|
||||
mPeriod = NormalizePeriod(mPeriod);
|
||||
|
||||
//
|
||||
switch (mPeriod)
|
||||
{
|
||||
//
|
||||
case PERIOD_M1:
|
||||
//
|
||||
priceChange = 0.000008;
|
||||
result = 14;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M2:
|
||||
//
|
||||
priceChange = 0.000008;
|
||||
result = 14;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M3:
|
||||
//
|
||||
priceChange = 0.00001;
|
||||
result = 14;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M4:
|
||||
//
|
||||
priceChange = 0.000011;
|
||||
result = 14;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M5:
|
||||
//
|
||||
priceChange = 0.000015;
|
||||
result = 14;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M6:
|
||||
//
|
||||
priceChange = 0.000015;
|
||||
result = 14;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M10:
|
||||
//
|
||||
priceChange = 0.000015;
|
||||
result = 12;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M12:
|
||||
//
|
||||
priceChange = 0.000015;
|
||||
result = 11;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M15:
|
||||
//
|
||||
priceChange = 0.000015;
|
||||
result = 9;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M20:
|
||||
//
|
||||
priceChange = 0.000015;
|
||||
result = 9;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_M30:
|
||||
//
|
||||
priceChange = 0.000017;
|
||||
result = 7;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_H1:
|
||||
//
|
||||
priceChange = 0.000019;
|
||||
result = 5;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_H2:
|
||||
//
|
||||
priceChange = 0.000019;
|
||||
result = 5;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_H3:
|
||||
//
|
||||
priceChange = 0.000019;
|
||||
result = 5;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_H4:
|
||||
//
|
||||
priceChange = 0.000022;
|
||||
result = 5;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_H6:
|
||||
//
|
||||
priceChange = 0.000022;
|
||||
result = 5;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_H8:
|
||||
//
|
||||
priceChange = 0.000025;
|
||||
result = 5;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_H12:
|
||||
//
|
||||
priceChange = 0.000027;
|
||||
result = 5;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_D1:
|
||||
//
|
||||
priceChange = 0.000027;
|
||||
result = 3;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_W1:
|
||||
//
|
||||
priceChange = 0.00003;
|
||||
result = 3;
|
||||
break;
|
||||
|
||||
//
|
||||
case PERIOD_MN1:
|
||||
//
|
||||
priceChange = 0.00003;
|
||||
result = 3;
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// END Cycles ...
|
||||
//
|
||||
@@ -5873,6 +6050,137 @@ double GetAppliedPrice(
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate Applied Price ...
|
||||
*
|
||||
* @param mSymbol: string, Specified Symbol ...
|
||||
* @param mPeriod: ENUM_TIMEFRAMES member, Specified PEriod ...
|
||||
* @param barIndex: int, Specified Bar Index ...
|
||||
* @param mType: ENUM_X_PRICE member, Specified Price Type ...
|
||||
*
|
||||
* @return ( double )
|
||||
*/
|
||||
double GetAppliedPrice(
|
||||
string mSymbol = NULL, // Symbol
|
||||
ENUM_TIMEFRAMES mPeriod = NULL, // Period
|
||||
int barIndex = 0, // Bar Index
|
||||
ENUM_X_PRICE mType = X_PRICE_CLOSE // Type of Price Selection,
|
||||
)
|
||||
{
|
||||
//
|
||||
double result = 0;
|
||||
|
||||
//
|
||||
mSymbol = NormalizeSymbol(mSymbol);
|
||||
mPeriod = NormalizePeriod(mPeriod);
|
||||
barIndex = NormalizeInt(barIndex, 0);
|
||||
|
||||
//
|
||||
bool has = IsValid(mType);
|
||||
if (!has)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
double open = iOpen(
|
||||
mSymbol,
|
||||
mPeriod,
|
||||
barIndex //
|
||||
);
|
||||
|
||||
//
|
||||
double high = iHigh(
|
||||
mSymbol,
|
||||
mPeriod,
|
||||
barIndex //
|
||||
);
|
||||
|
||||
//
|
||||
double low = iLow(
|
||||
mSymbol,
|
||||
mPeriod,
|
||||
barIndex //
|
||||
);
|
||||
|
||||
//
|
||||
double close = iClose(
|
||||
mSymbol,
|
||||
mPeriod,
|
||||
barIndex //
|
||||
);
|
||||
|
||||
//
|
||||
// Retrieve Applied Price ...
|
||||
result = GetAppliedPrice(
|
||||
mType,
|
||||
open,
|
||||
high,
|
||||
low,
|
||||
close //
|
||||
);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate Applied Price ...
|
||||
*
|
||||
* @param mSymbol: string, Specified Symbol ...
|
||||
* @param mPeriod: ENUM_TIMEFRAMES member, Specified PEriod ...
|
||||
* @param time: int, Specified Bar Time ...
|
||||
* @param mType: ENUM_X_PRICE member, Specified Price Type ...
|
||||
*
|
||||
* @return ( double )
|
||||
*/
|
||||
double GetAppliedPrice(
|
||||
string mSymbol = NULL, // Symbol
|
||||
ENUM_TIMEFRAMES mPeriod = NULL, // Period
|
||||
datetime mTime = NULL, // Bar Time
|
||||
ENUM_X_PRICE mType = X_PRICE_CLOSE // Type of Price Selection,
|
||||
)
|
||||
{
|
||||
//
|
||||
double result = 0;
|
||||
|
||||
//
|
||||
mTime = NormalizeTime(mTime);
|
||||
mSymbol = NormalizeSymbol(mSymbol);
|
||||
mPeriod = NormalizePeriod(mPeriod);
|
||||
|
||||
//
|
||||
bool has = IsValid(mType);
|
||||
if (!has)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
int barIndex = GetBarIndex(
|
||||
mSymbol,
|
||||
mPeriod,
|
||||
mTime //
|
||||
);
|
||||
has = IsValidIndex(barIndex);
|
||||
if (!has)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Retrieve Applied Price ...
|
||||
result = GetAppliedPrice(
|
||||
mSymbol,
|
||||
mPeriod,
|
||||
barIndex,
|
||||
mType //
|
||||
);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// END Price ...
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user