Hi all,
I am trying to overlay my AFL indicator on two different sheets or panels.
However, when I change any parameter in panel/sheet P1 (for example P1/P2 settings), the same change also appears in other panel/sheet. please help me doing the code running indipendently on each sheet/ or panel. Here in may code:
_SECTION_BEGIN("Title & Price");
SetChartOptions(0, chartShowArrows | chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} "
+ "O %g H %g L %g C %g (%.1f%%) {{VALUES}}",
O, H, L, C, SelectedValue(ROC(C,1)) ));
Plot(C, "Close",
ParamColor("Color", colorDefault),
styleNoTitle | ParamStyle("Style") | GetPriceStyle());
_SECTION_END();
/************************************************************
FAN DRAWING FUNCTION
************************************************************/
function DRAW_FAN_SQRT(mult, col, label,
OriginBarF, ExtendBarsF,
BaseRoot, DirSign,
bi, OriginPriceF, LabelFan)
{
t = bi - OriginBarF;
k = mult * DirSign;
FanVal = (BaseRoot + k * t)^2;
Mask = IIf(t >= 0 AND t <= ExtendBarsF, FanVal, Null);
Plot(Mask, label, col, styleLine | styleNoRescale);
if (LabelFan)
PlotText(label, OriginBarF + 4, OriginPriceF, col);
}
/************************************************************
GLOBAL VARIABLES
************************************************************/
bi = BarIndex();
BC = BarCount;
DataPath = "C:\\GannFanLocks\\";
if (Status("action") == actionIndicator)
fmkdir(DataPath);
/************************************************************
GANN FAN 1 — ABSOLUTE LOCK OFFSET
************************************************************/
_SECTION_BEGIN("GANN FAN 1");
EnableFan1 = ParamToggle("Enable Fan 1", "OFF|ON", 1);
FanDir1 = Param("Fan1 Direction (1=UP, -1=DOWN)", 1, -1, 1, 2);
DirSign1 = FanDir1;
RootStep1 = Param("Fan1 Root Step", 0.02, 0.001, 1, 0.001);
ExtendBars1 = Param("Fan1 Extend Bars", 300, 20, 2000, 20);
LabelFan1 = ParamToggle("Fan1 Labels", "No|Yes", 1);
F1_1x8_ON = ParamToggle("Fan1 Show 1x8", "OFF|ON", 1);
F1_1x4_ON = ParamToggle("Fan1 Show 1x4", "OFF|ON", 1);
F1_1x2_ON = ParamToggle("Fan1 Show 1x2", "OFF|ON", 1);
F1_1x1_ON = ParamToggle("Fan1 Show 1x1", "OFF|ON", 1);
F1_2x1_ON = ParamToggle("Fan1 Show 2x1", "OFF|ON", 1);
F1_4x1_ON = ParamToggle("Fan1 Show 4x1", "OFF|ON", 1);
F1_8x1_ON = ParamToggle("Fan1 Show 8x1", "OFF|ON", 1);
ColF1_1x8 = ParamColor("Fan1 Color 1x8", colorYellow);
ColF1_1x4 = ParamColor("Fan1 Color 1x4", colorOrange);
ColF1_1x2 = ParamColor("Fan1 Color 1x2", colorGreen);
ColF1_1x1 = ParamColor("Fan1 Color 1x1", colorBrightGreen);
ColF1_2x1 = ParamColor("Fan1 Color 2x1", colorBlue);
ColF1_4x1 = ParamColor("Fan1 Color 4x1", colorRed);
ColF1_8x1 = ParamColor("Fan1 Color 8x1", colorAqua);
// ---------- FAN 1 LOCKING SYSTEM ----------
fn1 = DataPath + Name() + "_FAN1_" + NumToStr(GetChartID(),1.0) + ".txt";
if (ParamTrigger("Lock Fan 1", "LOCK!"))
{
Offset1 = BC - 1 - SelectedValue(bi);
fh = fopen(fn1, "w");
if (fh)
{
fputs(NumToStr(Offset1, 1.0), fh);
fclose(fh);
}
}
// Load offset from file
fh = fopen(fn1, "r");
if (fh)
{
Offset1 = StrToNum(fgets(fh));
fclose(fh);
}
else
Offset1 = 20;
// Recalculate origin bar
OriginBarF1 = BC - 1 - Offset1;
OriginBarF1 = Max(0, Min(OriginBarF1, BC-1));
// Origin price
OriginPriceF1 = IIf(FanDir1 == 1, L[OriginBarF1], H[OriginBarF1]);
// ------ DRAW FAN 1 ------
if (EnableFan1)
{
BaseRoot1 = sqrt(OriginPriceF1);
if (F1_1x8_ON) DRAW_FAN_SQRT(RootStep1/8, ColF1_1x8, "1x8",
OriginBarF1, ExtendBars1,
BaseRoot1, DirSign1,
bi, OriginPriceF1, LabelFan1);
if (F1_1x4_ON) DRAW_FAN_SQRT(RootStep1/4, ColF1_1x4, "1x4",
OriginBarF1, ExtendBars1,
BaseRoot1, DirSign1,
bi, OriginPriceF1, LabelFan1);
if (F1_1x2_ON) DRAW_FAN_SQRT(RootStep1/2, ColF1_1x2, "1x2",
OriginBarF1, ExtendBars1,
BaseRoot1, DirSign1,
bi, OriginPriceF1, LabelFan1);
if (F1_1x1_ON) DRAW_FAN_SQRT(RootStep1, ColF1_1x1, "1x1",
OriginBarF1, ExtendBars1,
BaseRoot1, DirSign1,
bi, OriginPriceF1, LabelFan1);
if (F1_2x1_ON) DRAW_FAN_SQRT(RootStep1*2, ColF1_2x1, "2x1",
OriginBarF1, ExtendBars1,
BaseRoot1, DirSign1,
bi, OriginPriceF1, LabelFan1);
if (F1_4x1_ON) DRAW_FAN_SQRT(RootStep1*4, ColF1_4x1, "4x1",
OriginBarF1, ExtendBars1,
BaseRoot1, DirSign1,
bi, OriginPriceF1, LabelFan1);
if (F1_8x1_ON) DRAW_FAN_SQRT(RootStep1*8, ColF1_8x1, "8x1",
OriginBarF1, ExtendBars1,
BaseRoot1, DirSign1,
bi, OriginPriceF1, LabelFan1);
}
_SECTION_END();
Moderator comment: PLEASE DO USE CODE TAGS!