{ MS_FilterSelf (C)Copyright, 2015, B.Eichberger from Professional Software Solutions, pss@pobox.com This program remains the exclusive property of B. EICHBERGER and may not be sold, used, copied, displayed or modified without the written consent of B. EICHBERGER } Input: ShowRank(1), TargetDate(0), VerboseLevel(1); Vars: double fRank(0.0), double fMktHr(0.0), mktColor(Green), RankColor(Green), txtID(Symbol + "_I" + numtostr(BarInterval,0) + "_T" + numtostr(BarType,0) + "_MSFilter1"), txtDiag("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXX"), retMS(0); Array: float arrValIn[50](0), float arrValOut[100](0); external: "C:\Database\TRD_MS\TRD_MS64.DLL", int, "MS_Filter", LPSTR,LPFLOAT,LPFLOAT,LPSTR; external: "C:\Database\TRD_MS\TRD_MS64.DLL", int, "MS_FilterSelf",LPSTR,LPSTR,IEasyLanguageObject {self}; arrValIn[0] = Date; arrValIn[1] = Time; arrValIn[2] = Open; arrValIn[3] = High; arrValIn[4] = Low ; arrValIn[5] = Close; arrValIn[6] = UpTicks + DownTicks; arrValIn[7] = BarNumber; arrValIn[8] = BarInterval; arrValIn[9] = BarType; arrValIn[10]= VerboseLevel; arrValIn[11]= TargetDate; //retMS = MS_FilterMC(txtID,&arrValIn[0],&arrValOut[0],txtDiag); retMS = MS_FilterSelf(txtID,txtDiag,Self); {====== PROCESS ERRORS ===============================================} IF retMS < -100 THEN RaiseRunTimeError(txtDiag); if retMS >= 0 THEN BEGIN fMktHr = arrValOut[0]; fRank = arrValOut[1]; If (fMktHr >= 1) THEN BEGIN fMktHr = 1 + (fMktHr/100); mktColor = Green; END; If (fMktHr < 0) THEN BEGIN fMktHr = -fMktHr; mktColor = Red; END; RankColor = Green; IF fRank < 0 THEN RankColor = Red; Plot1(fRank, "RankMS",RankColor); If ShowRank <= 0 THEN Plot2(fMktHr, "MktHr",mktColor); end;