// int zIndex = 0; int cIndex = zIndex + 1; int pIndex = cIndex + 1; // // XSTR ... ENUM_XSTR_TREND_STATES cStrState = cMarket .str .GetState(cIndex); double cStrTrend = cMarket.str.GetTrend(cIndex); bool isCStrBullish = cStrState == X_STR_BULLISH; bool isCStrBearish = cStrState == X_STR_BEARISH; // ENUM_XSTR_TREND_STATES pStrState = cMarket .str .GetState(pIndex); double pStrTrend = cMarket.str.GetTrend(pIndex); bool isPStrBullish = pStrState == X_STR_BULLISH; bool isPStrBearish = pStrState == X_STR_BEARISH; // bool isTrendBullish = isCStrBullish; bool isTrendBearish = isCStrBearish; // bool isTrendSwitchedToBullish = // isCStrBullish && !isPStrBullish // ; // bool isTrendSwitchedToBearish = // isCStrBearish && !isPStrBearish // ; // // XCHE ... // double cCHELongExit1 = cMarket.che.GetLongExit1(cIndex); double cCHELongExit2 = cMarket.che.GetLongExit2(cIndex); // double pCHELongExit1 = cMarket.che.GetLongExit1(pIndex); double pCHELongExit2 = cMarket.che.GetLongExit2(pIndex); // double cCHEShortExit1 = cMarket.che.GetShortExit1(cIndex); double cCHEShortExit2 = cMarket.che.GetShortExit2(cIndex); // double pCHEShortExit1 = cMarket.che.GetShortExit1(pIndex); double pCHEShortExit2 = cMarket.che.GetShortExit2(pIndex); // bool CCHEHasLongExit1 = NotEmpty(cCHELongExit1); bool CCHEHasLongExit2 = NotEmpty(cCHELongExit2); // bool CCHEHasShortExit1 = NotEmpty(cCHEShortExit1); bool CCHEHasShortExit2 = NotEmpty(cCHEShortExit2); // bool PCHEHasLongExit1 = NotEmpty(pCHELongExit1); bool PCHEHasLongExit2 = NotEmpty(pCHELongExit2); // bool PCHEHasShortExit1 = NotEmpty(pCHEShortExit1); bool PCHEHasShortExit2 = NotEmpty(pCHEShortExit2); // bool isCCHEBullish = // CCHEHasLongExit1 && CCHEHasLongExit2 // ; // bool isCCHEBearish = // CCHEHasShortExit1 && CCHEHasShortExit2 // ; // bool isPCHEBullish = // PCHEHasLongExit1 && PCHEHasLongExit2 // ; // bool isPCHEBearish = // PCHEHasShortExit1 && PCHEHasShortExit2 // ; // bool isCHEBullish = isCCHEBullish; bool isCHEBearish = isCCHEBearish; bool isCHESwitchedToBullish = // isCCHEBullish && !isPCHEBullish // ; bool isCHESwitchedToBearish = // isCCHEBearish && !isPCHEBearish // ; // // XPV ... double cPVPeak = cMarket.pv.GetPeak(cIndex); double cPVVale = cMarket.pv.GetVale(cIndex); // double pPVPeak = cMarket.pv.GetPeak(pIndex); double pPVVale = cMarket.pv.GetVale(pIndex); // double cPVSup = cMarket.pv.GetSupport(cIndex); double pPVSup = cMarket.pv.GetSupport(pIndex); // double cPVRes = cMarket.pv.GetResistance(cIndex); double pPVRes = cMarket.pv.GetResistance(pIndex); // double cPVFib1 = cMarket.pv.GetFib1(cIndex); double cPVFib2 = cMarket.pv.GetFib2(cIndex); double cPVFib3 = cMarket.pv.GetFib3(cIndex); double cPVFib4 = cMarket.pv.GetFib4(cIndex); double cPVFib5 = cMarket.pv.GetFib5(cIndex); // double pPVFib1 = cMarket.pv.GetFib1(pIndex); double pPVFib2 = cMarket.pv.GetFib2(pIndex); double pPVFib3 = cMarket.pv.GetFib3(pIndex); double pPVFib4 = cMarket.pv.GetFib4(pIndex); double pPVFib5 = cMarket.pv.GetFib5(pIndex); // bool isNewPeak = cPVPeak != pPVPeak; bool isNewPeakUnderLast = // isNewPeak && cPVPeak < pPVPeak // ; bool isNewPeakOverLast = // isNewPeak && cPVPeak > pPVPeak // ; // bool isNewVale = cPVVale != pPVVale; bool isNewValeUnderLast = // isNewVale && cPVVale < pPVVale // ; bool isNewValeOverLast = // isNewVale && cPVVale > pPVVale // ; // bool isFiboIncreased = // cPVFib1 > pPVFib1 && cPVFib2 > pPVFib2 && cPVFib3 > pPVFib3 && cPVFib4 > pPVFib4 && cPVFib5 > pPVFib5 // ; // bool isFiboDecreased = // cPVFib1 < pPVFib1 && cPVFib2 < pPVFib2 && cPVFib3 < pPVFib3 && cPVFib4 < pPVFib4 && cPVFib5 < pPVFib5 // ; // bool isFiboSectionChanged = // (isFiboDecreased && isNewPeakUnderLast) // || // (isFiboIncreased && isNewValeOverLast) // ; // // XFI ... // double cFI = fiHelper.GetMain(cIndex); double pFI = fiHelper.GetMain(pIndex); // bool isCFIOverZero = cFI > 0; bool isCFIUnderZero = cFI > 0; // bool isPFIOverZero = pFI > 0; bool isPFIUnderZero = pFI > 0; // bool isFICrossedOverZero = // isCFIOverZero && !isPFIOverZero // ; // bool isFICrossedUnderZero = // isCFIUnderZero && !isPFIUnderZero // ; // // XHK ... // XOHCL cSMHKBar; cMarket.hk.SMAsOHCL( cSMHKBar, cIndex // ); // XOHCL pSMHKBar; cMarket.hk.SMAsOHCL( pSMHKBar, pIndex // ); // bool isCSMHKBullish = cSMHKBar.IsBullish(); bool isCSMHKBearish = cSMHKBar.IsBearish(); // bool isPSMHKBullish = pSMHKBar.IsBullish(); bool isPSMHKBearish = pSMHKBar.IsBearish(); // bool isSMHKSwitchedToBullish = // isCSMHKBullish && isPSMHKBearish // ; // bool isSMHKSwitchedToBearish = // isCSMHKBearish && isPSMHKBullish // ; // // XTD ... // double cTDBullish = tdHelper.GetBullish(cIndex); double pTDBullish = tdHelper.GetBullish(pIndex); // double cTDBearish = tdHelper.GetBearish(cIndex); double pTDBearish = tdHelper.GetBearish(pIndex); // bool isCTDBullish = // cTDBullish > cTDBearish // ; // bool isCTDBearish = // cTDBearish > cTDBullish // ; // bool isPTDBullish = // pTDBullish > pTDBearish // ; // bool isPTDBearish = // pTDBearish > pTDBullish // ; // bool isTDBullish = isCTDBullish; bool isTDBearish = isCTDBearish; bool isTDSwitchedToBullish = // isCTDBullish && !isPTDBullish // ; bool isTDSwitchedToBearsih = // isCTDBearish && !isPTDBearish // ; // // XDON ... // XOHCL cBar = cMarket.GetBar(cIndex); XOHCL pBar = cMarket.GetBar(pIndex); // double cDONUpperOpen = cMarket.don.GetUpperO(cIndex); double cDONUpperClose = cMarket.don.GetUpperC(cIndex); double cDONUpperHigh = cMarket.don.GetUpperH(cIndex); double cDONUpperLow = cMarket.don.GetUpperL(cIndex); // double cDONLowerOpen = cMarket.don.GetLowerO(cIndex); double cDONLowerClose = cMarket.don.GetLowerC(cIndex); double cDONLowerHigh = cMarket.don.GetLowerH(cIndex); double cDONLowerLow = cMarket.don.GetLowerL(cIndex); // double pDONUpperOpen = cMarket.don.GetUpperO(pIndex); double pDONUpperClose = cMarket.don.GetUpperC(pIndex); double pDONUpperHigh = cMarket.don.GetUpperH(pIndex); double pDONUpperLow = cMarket.don.GetUpperL(pIndex); // double pDONLowerOpen = cMarket.don.GetLowerO(pIndex); double pDONLowerClose = cMarket.don.GetLowerC(pIndex); double pDONLowerHigh = cMarket.don.GetLowerH(pIndex); double pDONLowerLow = cMarket.don.GetLowerL(pIndex); // bool isBarCrossedDownDONLowerHigh = // cBar.IsBreakDown(pDONLowerHigh) // ; // bool isBarCrossedUpDONLowerHigh = // cBar.IsBreakUp(pDONLowerHigh) // ; // result = // isSMHKSwitchedToBullish // isSMHKSwitchedToBearish // isBarCrossedUpDONLowerHigh // ; if (result) { Print("Salam"); } // if (result) { r2r = 2; sl = cDONLowerHigh; } // return result;