Jump to content

mukyav

Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by mukyav

  1. Pls add buy sell condition and definition

     

    Pls somebody add BUY and SELL conditions as given :

    1. BUY on PIVOT HIGH and next candle color change from dark bright blue to light , purple blue or yellow.

    SELL on PIVOT LOW and next candle color change from dark bright RED to light , red , pinkish or yellow.

    THANKS AND LOT OF THANKS IN ADVANCE.

     

     

    _SECTION_BEGIN("TREND good");

    SetChartBkColor(colorLightGrey) ;

    SetBarFillColor( IIf( C >O AND C>MA(C,21) AND C>EMA(C,8),colorBlue, IIf( C <O AND C>MA(C,21) AND C>EMA(C,8),colorBlueGrey,IIf(( C<O AND C<MA(C,21) AND C>EMA(C,8)) OR (

     

    C<O AND C>MA(C,21) AND C<EMA(C,8)) ,colorYellow,IIf(( C>O AND C<MA(C,21) AND C>EMA(C,8)) OR ( C>O AND C>MA(C,21) AND C<EMA(C,8)) ,colorPink,IIf( C>O AND C<MA

     

    (C,21) AND C<EMA(C,8) ,colorPink,colorRed) )))));

    Col=IIf( C<MA(C,21) AND C<EMA(C,8) ,colorRed,IIf( C>MA(C,21) AND C>EMA(C,8),colorBlueGrey,IIf(( C<MA(C,21) AND C>EMA(C,8)) OR ( C>MA(C,21) AND C<EMA(C,8))

     

    ,colorYellow,colorYellow)));

    Plot( C, "Close", col, styleNoTitle | ParamStyle("Style") | GetPriceStyle() );

     

    _SECTION_END();

     

    _SECTION_BEGIN("PIVOT FINDER");

    // /* **********************************

    //

    // Code to automatically identify pivots

    //

    // ********************************** */

    //

    // // -- what will be our lookback range for the hh and ll?

    //

    // farback=Param("How Far back to go",100,50,5000,10);

    //

    // nBars = Param("Number of bars", 12, 5, 40);

    //

    // // -- Title.

    //

    // Title = Name() + " (" + StrLeft(FullName(), 15) + ") O: " + Open + ",

    //

    // H: " + High + ", L: " + Low + ", C: " + Close;

    //

    // // -- Plot basic candle chart

    //

    // PlotOHLC(Open, High, Low, Close,

    //

    // "BIdx = " + BarIndex() +

    //

    // "\n" + "O = " + O + "\n"+"H = "+ H + "\n"+"L = " + L

    //

    // + "\n"+"C ",

    //

    // colorBlack, styleCandle);

    //

    // GraphXSpace=7;

    //

    // // -- Create 0-initialized arrays the size of barcount

    //

    // aHPivs = H - H;

    //

    // aLPivs = L - L;

    //

    // // -- More for future use, not necessary for basic plotting

    //

    // aHPivHighs = H - H;

    //

    // aLPivLows = L - L;

    //

    // aHPivIdxs = H - H;

    //

    // aLPivIdxs = L - L;

    //

    // nHPivs = 0;

    //

    // nLPivs = 0;

    //

    // lastHPIdx = 0;

    //

    // lastLPIdx = 0;

    //

    // lastHPH = 0;

    //

    // lastLPL = 0;

    //

    // curPivBarIdx = 0;

    //

    // // -- looking back from the current bar, how many bars

    //

    // // back were the hhv and llv values of the previous

    //

    // // n bars, etc.?

    //

    // aHHVBars = HHVBars(H, nBars);

    //

    // aLLVBars = LLVBars(L, nBars);

    //

    // aHHV = HHV(H, nBars);

    //

    // aLLV = LLV(L, nBars);

    //

    // // -- Would like to set this up so pivots are calculated back from

    //

    // // last visible bar to make it easy to "go back" and see the pivots

    //

    // // this code would find. However, the first instance of

    //

    // // _Trace output will show a value of 0

    //

    // aVisBars = Status("barvisible");

    //

    // nLastVisBar = LastValue(Highest(IIf(aVisBars, BarIndex(), 0)));

    //

    // _TRACE("Last visible bar: " + nLastVisBar);

    //

    // // -- Initialize value of curTrend

    //

    // curBar = (BarCount-1);

    //

    // curTrend = "";

    //

    // if (aLLVBars[curBar] <

    //

    // aHHVBars[curBar]) {

    //

    // curTrend = "D";

    //

    // }

    //

    // else {

    //

    // curTrend = "U";

    //

    // }

    //

    // // -- Loop through bars. Search for

    //

    // // entirely array-based approach

    //

    // // in future version

    //

    // for (i=0; i<farback; i++) {

    //

    // curBar = (BarCount - 1) - i;

    //

    // // -- Have we identified a pivot? If trend is down...

    //

    // if (aLLVBars[curBar] < aHHVBars[curBar]) {

    //

    // // ... and had been up, this is a trend change

    //

    // if (curTrend == "U") {

    //

    // curTrend = "D";

    //

    // // -- Capture pivot information

    //

    // curPivBarIdx = curBar - aLLVBars[curBar];

    //

    // aLPivs[curPivBarIdx] = 1;

    //

    // aLPivLows[nLPivs] = L[curPivBarIdx];

    //

    // aLPivIdxs[nLPivs] = curPivBarIdx;

    //

    // nLPivs++;

    //

    // }

    //

    // // -- or current trend is up

    //

    // } else {

    //

    // if (curTrend == "D") {

    //

    // curTrend = "U";

    //

    // curPivBarIdx = curBar - aHHVBars[curBar];

    //

    // aHPivs[curPivBarIdx] = 1;

    //

    // aHPivHighs[nHPivs] = H[curPivBarIdx];

    //

    // aHPivIdxs[nHPivs] = curPivBarIdx;

    //

    // nHPivs++;

    //

    // }

    //

    // // -- If curTrend is up...else...

    //

    // }

    //

    // // -- loop through bars

    //

    // }

    //

    // // -- Basic attempt to add a pivot this logic may have missed

    //

    // // -- OK, now I want to look at last two pivots. If the most

    //

    // // recent low pivot is after the last high, I could

    //

    // // still have a high pivot that I didn't catch

    //

    // // -- Start at last bar

    //

    // curBar = (BarCount-1);

    //

    // candIdx = 0;

    //

    // candPrc = 0;

    //

    // lastLPIdx = aLPivIdxs[0];

    //

    // lastLPL = aLPivLows[0];

    //

    // lastHPIdx = aHPivIdxs[0];

    //

    // lastHPH = aHPivHighs[0];

    //

    // if (lastLPIdx > lastHPIdx) {

    //

    // // -- Bar and price info for candidate pivot

    //

    // candIdx = curBar - aHHVBars[curBar];

    //

    // candPrc = aHHV[curBar];

    //

    // if (

    //

    // lastHPH < candPrc AND

    //

    // candIdx > lastLPIdx AND

    //

    // candIdx < curBar) {

    //

    // // -- OK, we'll add this as a pivot...

    //

    // aHPivs[candIdx] = 1;

    //

    // // ...and then rearrange elements in the

    //

    // // pivot information arrays

    //

    // for (j=0; j<nHPivs; j++) {

    //

    // aHPivHighs[nHPivs-j] = aHPivHighs[nHPivs-

    //

    // (j+1)];

    //

    // aHPivIdxs[nHPivs-j] = aHPivIdxs[nHPivs-(j+1)];

    //

    // }

    //

    // aHPivHighs[0] = candPrc ;

    //

    // aHPivIdxs[0] = candIdx;

    //

    // nHPivs++;

    //

    // }

    //

    // } else {

    //

    // // -- Bar and price info for candidate pivot

    //

    // candIdx = curBar - aLLVBars[curBar];

    //

    // candPrc = aLLV[curBar];

    //

    // if (

    //

    // lastLPL > candPrc AND

    //

    // candIdx > lastHPIdx AND

    //

    // candIdx < curBar) {

    //

    // // -- OK, we'll add this as a pivot...

    //

    // aLPivs[candIdx] = 1;

    //

    // // ...and then rearrange elements in the

    //

    // // pivot information arrays

    //

    // for (j=0; j<nLPivs; j++) {

    //

    // aLPivLows[nLPivs-j] = aLPivLows[nLPivs-(j+1)];

    //

    // aLPivIdxs[nLPivs-j] = aLPivIdxs[nLPivs-(j+1)];

    //

    // }

    //

    // aLPivLows[0] = candPrc;

    //

    // aLPivIdxs[0] = candIdx;

    //

    // nLPivs++;

    //

    // }

    //

    // }

    //

    // // -- Dump inventory of high pivots for debugging

    //

    // /*

    //

    // for (k=0; k<nHPivs; k++) {

    //

    // _TRACE("High pivot no. " + k

    //

    // + " at barindex: " + aHPivIdxs[k] + ", "

    //

    // + WriteVal(ValueWhen(BarIndex()==aHPivIdxs[k],

    //

    // DateTime(), 1), formatDateTime)

    //

    // + ", " + aHPivHighs[k]);

    //

    // }

    //

    // */

    //

    // // -- OK, let's plot the pivots using arrows

    //

    // PlotShapes(

    //

    // IIf(aHPivs==1, shapeDownArrow, shapeNone), colorRed, 0,

    //

    // High, Offset=-15);

    //

    // PlotShapes(

    //

    // IIf(aLPivs==1, shapeUpArrow , shapeNone), colorGreen, 0,

    //

    // Low, Offset=-15);

    //

    //------------------------------------------------------------------------------

     

    /* **********************************

     

    Code to automatically identify pivots

     

    ********************************** */

     

    // -- what will be our lookback range for the hh and ll?

    farback=Param("How Far back to go",100,50,5000,10);

    nBars = Param("Number of bars", 12, 5, 40);

     

    // -- Title.

     

    Title = Name() + " (" + StrLeft(FullName(), 15) + ") O: " + Open + ",

     

    H: " + High + ", L: " + Low + ", C: " + Close;

     

    // -- Plot basic candle chart

     

    PlotOHLC(Open, High, Low, Close,

     

    "BIdx = " + BarIndex() +

     

    "\n" + "O = " + O + "\n"+"H = "+ H + "\n"+"L = " + L

     

    + "\n"+"C ",

     

    colorBlack, styleCandle);

     

    GraphXSpace=7;

     

    // -- Create 0-initialized arrays the size of barcount

     

    aHPivs = H - H;

     

    aLPivs = L - L;

     

    // -- More for future use, not necessary for basic plotting

     

    aHPivHighs = H - H;

     

    aLPivLows = L - L;

     

    aHPivIdxs = H - H;

     

    aLPivIdxs = L - L;

     

    nHPivs = 0;

     

    nLPivs = 0;

     

    lastHPIdx = 0;

     

    lastLPIdx = 0;

     

    lastHPH = 0;

     

    lastLPL = 0;

     

    curPivBarIdx = 0;

     

    // -- looking back from the current bar, how many bars

     

    // back were the hhv and llv values of the previous

     

    // n bars, etc.?

     

    aHHVBars = HHVBars(H, nBars);

     

    aLLVBars = LLVBars(L, nBars);

     

    aHHV = HHV(H, nBars);

     

    aLLV = LLV(L, nBars);

     

    // -- Would like to set this up so pivots are calculated back from

     

    // last visible bar to make it easy to "go back" and see the pivots

     

    // this code would find. However, the first instance of

     

    // _Trace output will show a value of 0

     

    aVisBars = Status("barvisible");

     

    nLastVisBar = LastValue(Highest(IIf(aVisBars, BarIndex(), 0)));

     

    _TRACE("Last visible bar: " + nLastVisBar);

     

    // -- Initialize value of curTrend

     

    curBar = (BarCount-1);

     

    curTrend = "";

     

    if (aLLVBars[curBar] <

     

    aHHVBars[curBar]) {

     

    curTrend = "D";

     

    }

     

    else {

     

    curTrend = "U";

     

    }

     

    // -- Loop through bars. Search for

     

    // entirely array-based approach

     

    // in future version

     

    for (i=0; i<farback; i++) {

     

    curBar = (BarCount - 1) - i;

     

    // -- Have we identified a pivot? If trend is down...

     

    if (aLLVBars[curBar] < aHHVBars[curBar]) {

     

    // ... and had been up, this is a trend change

     

    if (curTrend == "U") {

     

    curTrend = "D";

     

    // -- Capture pivot information

     

    curPivBarIdx = curBar - aLLVBars[curBar];

     

    aLPivs[curPivBarIdx] = 1;

     

    aLPivLows[nLPivs] = L[curPivBarIdx];

     

    aLPivIdxs[nLPivs] = curPivBarIdx;

     

    nLPivs++;

     

    }

     

    // -- or current trend is up

     

    } else {

     

    if (curTrend == "D") {

     

    curTrend = "U";

     

    curPivBarIdx = curBar - aHHVBars[curBar];

     

    aHPivs[curPivBarIdx] = 1;

     

    aHPivHighs[nHPivs] = H[curPivBarIdx];

     

    aHPivIdxs[nHPivs] = curPivBarIdx;

     

    nHPivs++;

     

    }

     

    // -- If curTrend is up...else...

     

    }

     

    // -- loop through bars

     

    }

     

    // -- Basic attempt to add a pivot this logic may have missed

     

    // -- OK, now I want to look at last two pivots. If the most

     

    // recent low pivot is after the last high, I could

     

    // still have a high pivot that I didn't catch

     

    // -- Start at last bar

     

    curBar = (BarCount-1);

     

    candIdx = 0;

     

    candPrc = 0;

     

    lastLPIdx = aLPivIdxs[0];

     

    lastLPL = aLPivLows[0];

     

    lastHPIdx = aHPivIdxs[0];

     

    lastHPH = aHPivHighs[0];

     

    if (lastLPIdx > lastHPIdx) {

     

    // -- Bar and price info for candidate pivot

     

    candIdx = curBar - aHHVBars[curBar];

     

    candPrc = aHHV[curBar];

     

    if (

     

    lastHPH < candPrc AND

     

    candIdx > lastLPIdx AND

     

    candIdx < curBar) {

     

     

    // -- OK, we'll add this as a pivot...

     

    aHPivs[candIdx] = 1;

     

    // ...and then rearrange elements in the

     

    // pivot information arrays

     

    for (j=0; j<nHPivs; j++) {

     

    aHPivHighs[nHPivs-j] = aHPivHighs[nHPivs-

     

    (j+1)];

     

    aHPivIdxs[nHPivs-j] = aHPivIdxs[nHPivs-(j+1)];

     

    }

     

    aHPivHighs[0] = candPrc ;

     

    aHPivIdxs[0] = candIdx;

     

    nHPivs++;

     

    }

     

    } else {

     

     

    // -- Bar and price info for candidate pivot

     

    candIdx = curBar - aLLVBars[curBar];

     

    candPrc = aLLV[curBar];

     

    if (

     

    lastLPL > candPrc AND

     

    candIdx > lastHPIdx AND

     

    candIdx < curBar) {

     

     

    // -- OK, we'll add this as a pivot...

     

    aLPivs[candIdx] = 1;

     

    // ...and then rearrange elements in the

     

    // pivot information arrays

     

    for (j=0; j<nLPivs; j++) {

     

    aLPivLows[nLPivs-j] = aLPivLows[nLPivs-(j+1)];

     

    aLPivIdxs[nLPivs-j] = aLPivIdxs[nLPivs-(j+1)];

     

    }

     

    aLPivLows[0] = candPrc;

     

    aLPivIdxs[0] = candIdx;

     

    nLPivs++;

     

    }

     

    }

     

    // -- Dump inventory of high pivots for debugging

     

    /*

     

    for (k=0; k<nHPivs; k++) {

     

    _TRACE("High pivot no. " + k

     

    + " at barindex: " + aHPivIdxs[k] + ", "

     

    + WriteVal(ValueWhen(BarIndex()==aHPivIdxs[k],

     

    DateTime(), 1), formatDateTime)

     

    + ", " + aHPivHighs[k]);

     

    }

     

    */

     

    // -- OK, let's plot the pivots using arrows

     

    PlotShapes(

     

    IIf(aHPivs==1, shapeDownArrow, shapeNone), colorRed, 0,

     

    High, Offset=-15);

     

    PlotShapes(

     

    IIf(aLPivs==1, shapeUpArrow , shapeNone), colorGreen, 0,

     

    Low, Offset=-15);

     

    _SECTION_END();

×
×
  • Create New...