[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Pitchforks



PureBytes Links

Trading Reference Links

Don
Check to see that under the indicator settings that you have Subgraph one is
selected. Otherwise
it might plot in Subgraph one but produce a blank Subgraph two.

JerryWar

> -----Original Message-----
> From: Don Ewers [mailto:dbewers@xxxxxxxxxxxxx]
> Sent: Wednesday, June 12, 2002 4:42 PM
> To: omega-list@xxxxxxxxxx
> Subject: Pitchforks
>
>
> (sending this out a second time without a gif attachment since I don't
> believe omega allows gif's)
>
> Someone recently shared some code to produce Andrews Pitchforks.
>
> Can anyone who is familiar with easy language tell a very
> non-easy language
> person, what is causing the lower window to appear? (I am
> using r, t, y in
> lieu of A,B,C by the way for the points). If the gif does not
> come through
> email me directly and I will send it.
>
> The code is:
> input: TL_Thick(0);
> { ======================================
> This is my implementation of some aspects of Andrews
> Pitchforks. You are welcome to use this code freely.
> You may redistribute it provided you include this
> comment block, plus a description of any changes you
> make.
>
> If you extend it, or adapt it to other uses, I'd
> appreciate a look at what you've done.  Thanks.
>
>      Gregory Wood
>      SwissFranc@xxxxxxxxxxxxxxxx
>
> 12/18/96 v1.0 - Initial distribution
> 01/28/97 v2.0 - Configured for freeware post at
> http://www.stenbros.com/
> ========================================}
>
>

> USAGE
>
> Use the text tool to label swing high/lows with "A",
> "B" and "C", then refresh the indicator (clicking
> "Status" twice causes the indicator to recalculate).
> Be sure to put the label above the bar's high for a
> swing high, and below the low for a swing low.
>
> You can display other groups of points by using labels
> "Ax", "Bx" and "Cx", where 'x' is 1, 2, or 3, e.g.
> "A3", "B3", "C3".
>
> Note that you can use the pointer tool to move the
> points anytime. Then to view the new Pitchfork,
> refresh the indicator.
>
> Set MyColor (below) to be the colors for each
> Pitchfork
> }
>
> if currentbar = 1 then begin { initialize control
> arrays }
>    array: MyColor[7](0);
>       MyColor[0] = tool_red;        { <=========== SET
> COLORS HERE }
> MyColor[1] = tool_blue;
> MyColor[2] = tool_yellow;
> MyColor[3] = tool_cyan;
> MyColor[4] = tool_green;
> MyColor[5] = tool_white;
> MyColor[6] = tool_darkyellow;
>    array:abc[3]("");  { The basic point labels }
>       abc[0] = "r";
>       abc[1
> ] = "t";
>       abc[2] = "y";
>    array:nums[7]("");  { The way to distinguish one
> series of points
>  from another, A-B-C, A1-B1-C1, etc }
>       nums[0] = "";
>       nums[1] = "1";
>       nums[2] = "2";
>       nums[3] = "3";
>       nums[4] = "4";
>       nums[5] = "5";
>       nums[6] = "6";
>       var: inums(7);
> end;
>
> array:dd[3,7](0),tt[3,7](0),vv[3,7](0),bb[3,7](0),hh[3,7](0);
> var: tft(0), fdd(0), fvv(0), ptt(0), pdd(0), pvv(0),
> fbb(0), pbb(0), pvv2(0);
> var: ii(0), jj(0), mm(0);
> var: handl(0), handlA(0), handlB(0), handlC(0);
> var: ss("");
> var: y1(0), y2(0);
>
> if currentbar = 1 then begin { examine all the text
> strings and save some info about the ones we recognize
> }
>    handl = text_getfirst(2);
>    while handl > 0 begin
>       ss = text_getstring(handl);
>       for ii = 0 to inums - 1 begin
>          for jj = 0 to 2 begin { look for well-formed
> strings }
>             if ss = abc[jj] + nums[ii] then begin {
> save the item's date, time, value and handle }
>                tt[jj,ii] = text_gettime(handl);
>                dd[jj,ii] = text_getdate(handl);
>                vv[jj,ii] = text_getvalue(handl);
>                hh[jj,ii] = handl;
>             end;
>          end;
>       end;
>       handl = text_getnext(handl,2); { IMPORTANT --
> infinite loop if this is missing!  }
>    end;
> end;
>
> for ii = 0 to inums - 1 begin { check each series... }
>    for jj = 0 to 2 begin { check each point }
>       if time = tt[jj,ii] and date = dd[jj,ii] then
> begin { we've found a selected point }
>          bb[jj,ii] = currentbar; { remember where we
> found it }
>          if vv[jj,ii] > c then begin { move the label
> above the bar and center it }
>             vv[jj,ii] = h;
>
> Text_SetLocation(hh[jj,ii],text_GetDate(hh[jj,ii]),text_GetTim
> e(hh[jj,ii]),h
> );
>             Text_SetStyle(hh[jj,ii],2,1);
>          end else begin { move the label below the bar
> and center it }
>             vv[jj,ii] = l;
>
> Text_SetLocation(hh[jj,ii],text_GetDate(hh[jj,ii]),text_GetTim
> e(hh[jj,ii]),l
> );
>             Text_SetStyle(hh[jj,ii],2,0);
>          end;
>          plot1(vv[jj,ii],"Selection"); { show the user
> which point we used for the calculations }
>          if jj = 2 then begin { we're at the third
> point, generally the Cx }
> handl =
> TL_New(dd[0,ii],tt[0,ii],vv[0,ii],dd[1,ii],tt[1,ii],vv[1,ii]);
>             TL_SetExtLeft(handl,false);
>             TL_SetExtRight(handl,false);
> TL_SetColor(handl,MyColor[ii]);
> TL_SetSize(handl, TL_Thick);
>
> handl =
> TL_New(dd[0,ii],tt[0,ii],vv[0,ii],dd[2,ii],tt[2,ii],vv[2,ii]);
>             TL_SetExtLeft(handl,false);
>             TL_SetExtRight(handl,false);
> TL_SetColor(handl,MyColor[ii]);
> TL_SetSize(handl, TL_Thick);
>
>             fbb = bb[1,ii] / 2 + bb[2,ii] / 2;
>             fvv = vv[1,ii] / 2 + vv[2,ii] / 2;
>             pvv =
> TLValue(vv[0,ii],bb[0,ii],fvv,fbb,currentbar);
>             handlA =
> TL_New(dd[0,ii],tt[0,ii],vv[0,ii],date,time,pvv);
>             TL_SetExtRight(handlA,TRUE);
> TL_SetColor(handlA,MyColor[ii]);
> TL_SetSize(handlA, TL_Thick);
>
>             pvv =
> TLValue(vv[1,ii],bb[1,ii],fvv+vv[1,ii]-vv[0,ii],fbb+bb[1,ii]-b
> b[0,ii],curren
> tbar);
>             handlB =
> TL_New(dd[1,ii],tt[1,ii],vv[1,ii],date,time,pvv);
>             TL_SetExtRight(handlB,TRUE);
> TL_SetColor(handlB, MyColor[ii]);
> TL_SetSize(handlB, TL_Thick);
>
>             pvv =
> TLValue(vv[0,ii]-(fvv-vv[2,ii]),bb[0,ii]+(bb[2,ii]-fbb),vv[2,i
> i],bb[2,ii],bb
> [1,ii]);
>             handlC =
> TL_New(dd[1,ii],tt[1,ii],pvv,date,time,vv[2,ii]);
>             TL_SetExtRight(handlC,TRUE);
> TL_SetColor(handlC, MyColor[ii]);
> TL_SetSize(handlC, TL_Thick);
>          end;
>       end;
>    end;
> end;
>
>
>
>
>
>
> ---
>