Tuesday, June 12, 2018

save code for counters

               // test further(long) bars if all red
                int greenCnt = 0;
                int redCnt = 0;
                int volumeCnt = 0;
                int loopCnt = 0;
                int j = 0; //track the next bar beyond the short term range
                int k = bar - lookbackShort;
                PrintDebug("loop through short range bar:" + bar + " to " + k);
                for (int i = bar; i >= k; i--)
                {
                    Console.WriteLine("loop:" + loopCnt);
                    loopCnt += 1;
                    if (greenOrRed(Bars, i))
                    {
                        greenCnt += 1;
                        PrintDebug(bar + ":green:" + greenCnt + " close:[" + i + "]=" + Bars.Close[i] + " loop:" + loopCnt);
                    }
                    else
                    {
                        redCnt += 1;
                        PrintDebug(bar + ":red:" + redCnt + " close:[" + i + "]=" + Bars.Close[i] + " loop:" + loopCnt);

                    }
                    if (Bars.Volume[i] >= Bars.Volume[i - 1])
                    {
                        volumeCnt += 1;
                        PrintDebug(bar + ":volcnt=" + volumeCnt + " vol:" + Bars.Volume[i] + " bar:" + (bar - 1) + " vol:" + Bars.Volume[i - 1] + " close:" + Bars.Close[i] + " loop:" + loopCnt);
                    }
                    j = i;
                }

                s1.greenCntShort = greenCnt;
                AnnotateBar(greenCnt + " G", bar, true, Color.White, Color.Black);
                s1.redCntShort = redCnt;
                PrintDebug("end of loop bar:" + bar + ": total short green cnt:" + greenCnt);
                PrintDebug("end of loop bar:" + bar + ": total short red cnt:" + redCnt);
                PrintDebug("end of loop bar:" + bar + ": total short vol cnt:" + volumeCnt + " red cnt:" + redCnt + " loop:" + loopCnt);
                j = j - 1;
                int l = k - lookbackLong; // look back further

                PrintDebug("loop through long range bar:" + j + " to " + l);

                // looking for the futher bars than short  range
                redCnt = 0;

                loopCnt = 0;
                for (int i = j; i >= l; i--)
                {
                    //Console.WriteLine("loop:" + loopCnt);
                    loopCnt += 1;

                    if (Bars.Close[i] < Bars.Close[i - 1])
                    {
                        redCnt += 1;
                        PrintDebug(bar + ":long red cnt:" + redCnt + " close:[" + i + "]=" + Bars.Close[i] + " loop:" + loopCnt);
                    }

                    if (Bars.Close[i] > Bars.Close[i - 1])
                    {
                        greenCnt += 1;
                        PrintDebug(bar + ":" + greenCnt + " close:[" + i + "]=" + Bars.Close[i] + " loop:" + loopCnt);
                    }

                    if (Bars.Volume[i] >= Bars.Volume[i - 1])
                    {
                        volumeCnt += 1;
                        PrintDebug(bar + ":vol cnt:" + volumeCnt + " close:[" + i + "]=" + Bars.Close[i] + " loop:" + loopCnt);
                    }
                    //j = i;
                }

                s1.greenCntLong = greenCnt + s1.greenCntShort; //total green cnt for short and long # of bars

No comments:

Post a Comment