last ...
This commit is contained in:
@@ -3127,89 +3127,60 @@ public:
|
||||
|
||||
//
|
||||
// Generate Support Signal for Specified Provider ...
|
||||
if (result && provider == ToString(PROVIDER_NONE))
|
||||
if (result)
|
||||
{
|
||||
//
|
||||
double cKijunSen = cMarket.ich.GetKijunSen(0);
|
||||
double sKijunSen = sMarket.ich.GetKijunSen(0);
|
||||
double mKijunSen = mMarket.ich.GetKijunSen(0);
|
||||
double lKijunSen = lMarket.ich.GetKijunSen(0);
|
||||
double hKijunSen = hMarket.ich.GetKijunSen(0);
|
||||
// Generate Opposit Signal ...
|
||||
|
||||
//
|
||||
double kijunSens[] = {
|
||||
cKijunSen,
|
||||
sKijunSen,
|
||||
mKijunSen,
|
||||
lKijunSen,
|
||||
hKijunSen //
|
||||
};
|
||||
XSignal sSignal;
|
||||
|
||||
//
|
||||
double lesserKijun = FindLesserThan(
|
||||
entry,
|
||||
kijunSens,
|
||||
true //
|
||||
);
|
||||
|
||||
//
|
||||
double biggerKijun = FindBiggerThan(
|
||||
entry,
|
||||
kijunSens,
|
||||
true //
|
||||
);
|
||||
|
||||
//
|
||||
ENUM_POSITION_TYPE sType =
|
||||
hasLong
|
||||
ENUM_POSITION_TYPE mType = IsLong(mSignal.type)
|
||||
? POSITION_TYPE_SELL
|
||||
: POSITION_TYPE_BUY;
|
||||
|
||||
bool isLongS = IsLong(sType);
|
||||
//
|
||||
bool isSLong = IsLong(mType);
|
||||
|
||||
//
|
||||
double sEntry =
|
||||
isLongS
|
||||
? biggerKijun
|
||||
: lesserKijun;
|
||||
double sEntry = GetEntry(
|
||||
mSignal.symbol,
|
||||
mType //
|
||||
);
|
||||
|
||||
//
|
||||
double peakMin = GetMinPeaks(true);
|
||||
double peakMax = GetMinPeaks(true);
|
||||
double valeMin = GetMaxVales(true);
|
||||
double valeMax = GetMaxVales(true);
|
||||
double risk = MathAbs(mSignal.entry - sl);
|
||||
|
||||
//
|
||||
double sTP =
|
||||
isLongS
|
||||
? peakMin
|
||||
: valeMax;
|
||||
double reward = risk * r2r;
|
||||
|
||||
//
|
||||
double sSL =
|
||||
isLongS
|
||||
? valeMin
|
||||
: peakMax;
|
||||
double sSL = isSLong
|
||||
? entry - risk
|
||||
: entry + risk;
|
||||
|
||||
//
|
||||
double sVolume = mSignal.volume * 2;
|
||||
double sTP = isSLong
|
||||
? entry + reward
|
||||
: entry - reward;
|
||||
|
||||
//
|
||||
// Prepare ...
|
||||
XSignal sSignal;
|
||||
bool isValid = sSignal.Prepare(
|
||||
bool isPrepared = sSignal.Prepare(
|
||||
mSignal.symbol,
|
||||
mSignal.provider,
|
||||
mSignal.period,
|
||||
sType,
|
||||
X_ORDER_MODE_STOP,
|
||||
mType,
|
||||
mSignal.mode,
|
||||
sEntry,
|
||||
sVolume,
|
||||
X_SIGNAL_USE_NOTHING,
|
||||
mSignal.volume,
|
||||
mSignal.action,
|
||||
sSL,
|
||||
sTP //
|
||||
);
|
||||
if (isValid)
|
||||
|
||||
//
|
||||
if (isPrepared)
|
||||
{
|
||||
//
|
||||
AddRef(
|
||||
|
||||
Reference in New Issue
Block a user