قديم 08-11-2012, 09:26 PM
  المشاركه #661

كاتب قدير

تاريخ التسجيل: Oct 2005
المشاركات: 8,424
منادي_2005 غير متواجد حالياً  

_SECTION_BEGIN("Heatmap V1.0");



IndicatorOnOff = ParamToggle("Heatmap","Off|On", 1);

Category = "";
function ParamCategory()
{
global CategoryList;
CategoryList = "Group ,Market ,Sector ,Industry ,Watchlist,Favorite ,Index ";
Tickercategory = ParamList("Ticker category", "Group|Market|Sector|Industry|Watchlist|Favorite|Index");
Category = TickerCategory;
TickerCategory = (StrFind( CategoryList, Tickercategory)-1)/10;
return TickerCategory;
}

function ParamListNum( Category )
{
global ListNum;
ListNum = Param("List Number",0, 0, 63, 1);
return ListNum;
}

EnableTextOutput(False);
Title = "";
TickerCategory = ParamCategory();
TickerListNum = ParamListNum(TickerCategory);
CategoryListOK = IIf(StrLen(CategoryGetSymbols(TickerCategory, TickerListNum)) > 0, 1, 0);
NumRowColumn = Param("Number of Rows/Columns:", 6, 2, 30, 1);
Font = ParamList("Font:","Arial|Calibri|Futura|Tahoma|Arial");//Times New Roman");
BasePeriod = Param( "RT Interval (Sec):", 30, 0, 60, 1 );
RefreshBy = ParamList("Refresh By:", "Set RT Interval|By Period|Manual", 2);
ManualRefresh = ParamTrigger( "Manual Refresh:", "REFRESH NOW");
SortingOnOff = ParamToggle("Sorting:","Off|On", 1);
FavoritesOnOff = ParamToggle("Highlight Favourites:","Off|On", 1);
SortBy = ParamList("Sort By:", "Close Listing|Change %|Volume|Dollar Volume|Total Volume|Close|Index Match|Bulls n Bears|ADX Trend|Spread", 1);
CompositeOnOff = ParamToggle("Create Composite:","OFF|ON", 0);
ClearComposite = ParamTrigger("Clear Composite:","CLEAR");
CheckPeriod = Param("Bars To Check (Index Match):", 24, 1, 390);
NumBarsToAverage = Param("Bars To Check (Price Move):", 8, 1, 21, 1);
Range = Param("Periods (ADX Trend):", 14, 1, 34, 1);
HAPeriod = Param("Hekin-Ashi Periods (Several):", 18, 1, 34, 1);
ParamTotal = IndicatorOnOff +TickerCategory+TickerListNum+IndicatorOnOff+NumRowColumn+SortingOnOff+CheckPe riod+NumBarsToAverage;

global Prefix, Suffix, SgnFlag, format, TrendAngle;
SgnFlag = 1;
TotalScore = 0;
MouseFlag = 0;
TimeStamp = 0;
ExecuteTime = 0;
NumTickers = NumRowColumn^2;
Trigger = 0;
DoRefresh = 0;
BackGroundColor = 0;

EnableScript("JScript");
<%
function SetChartTicker(newTicker)
{
AB = new ActiveXObject("Broker.Application");
AB.ActiveDocument.Name = newTicker;
return 1;
}
%>

function GetSymbols()
{
TickerList = "";
SymbolList = CategoryGetSymbols(TickerCategory, TickerListNum);

for(n = 0; n < NumTickers; n++)
{
Ticker = StrExtract(SymbolList,n);
TickerList = TickerList + Ticker + ",";
}
return TickerList;
}

function GetSecondNum()
{
Time = Now( 4 );
Seconds = int( Time % 100 );
Minutes = int( Time / 100 % 100 );
Hours = int( Time / 10000 % 100 );
SecondNum = int( Hours * 60 * 60 + Minutes * 60 + Seconds );
return SecondNum;
}

if(ClearComposite)
{
AddToComposite(0,"~XU100","X",atcFlagDeleteValues|atcFlagCompositeGroup|atcFla gEnableInIndicator);
AddToComposite(0,"~XU100","X",atcFlagDeleteValues|atcFlagCompositeGroup|atcFla gEnableInIndicator);
}

global SVKey;
SVKey = NumToStr(GetChartID(),1.0,False);

procedure xStaticVarSet( SName, SValue )
{
global SVKey;
InIndicator = Status("Action") == 1;
if( InIndicator ) StaticVarSet(Sname+SVKey, Svalue);
}
function xStaticVarGet( SName )
{
global SVKey;
if( IsNull( Var = StaticVarGet(Sname+SVKey) ) ) Var = 0;;
return Var;
}
procedure xStaticVarSetText( SName, SValue )
{
global SVKey;
InIndicator = Status("Action") == 1;
if( InIndicator ) StaticVarSetText(Sname+SVKey, Svalue);
}
function xStaticVarGetText( SName )
{
global SVKey;
return StaticVarGetText(Sname+SVKey);
}

function ZeroLagTEMA( array, HAperiod )
{
TMA1 = TEMA( array, HAperiod );
TMA2 = TEMA( TMA1, HAperiod );
Diff = TMA1 - TMA2;
return TMA1 + Diff ;
}

function HekinAshi(Code)
{
if(Code == 0){
NSQClose = Foreign( "XU100.X", "Close" );
NSQOpen = Foreign( "XU100.X", "Open" );
NSQHigh = Foreign( "XU100.X", "High" );
NSQLow = Foreign( "XU100.X", "Low" );
HaClose = (NSQOpen+NSQHigh+NSQLow+NSQClose)/4;
HighV = NSQHigh; LowV = NSQLow;
ZLTyp = ZeroLagTEMA((NSQHigh+NSQLow+NSQClose)/3, HAPeriod); }
else {
HaClose = (O+H+L+C)/4;
HighV = High; LowV = Low;
ZLTyp = ZeroLagTEMA(Avg, HAPeriod); }


HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
HaHigh = Max( HighV, Max( HaClose, HaOpen ) );
HaLow = Min( LowV, Min( HaClose, HaOpen ) );
HaClose = (HaClose + HaOpen + HaHigh + HaLow)/4;

ZLHa = ZeroLagTEMA(HaClose, HAPeriod);


BuySymb = Cross( ZLTyp, ZLHa );
SellSymb = Cross( ZLHa, ZLTyp );
StatusBuy= Flip(BuySymb, SellSymb);

if(Code == 0 OR Code == 1)
Value = StatusBuy;
if(Code == 3)
Value = IIf(BuySymb, 1, IIf(SellSymb, -1, 0));

return Value;
}

function GetScore(Ticker )
{
if(SortBy == "Close Listing"){
Prefix = "$";
Suffix = "";
SgnFlag= 0;
format = 1.2;
Value = Close;}

if(SortBy == "Change %"){
C1 = SelectedValue(TimeFrameGetPrice( "C", inDaily, -1 ));
Value = ((LastValue(Close)/C1)-1)* 100;
Prefix = "";
Suffix = "%";
SgnFlag= 0;
format = 1.2;}

if(SortBy == "Volume")
{
Value = IIf(Close < Open, -Volume, Volume);
Prefix = "";
Suffix = "";
SgnFlag= 1;
format = 1.0;
}

if(SortBy == "Dollar Volume")
{
Value = IIf(Close < Open, Close * (-Volume/1000), Close * (Volume/1000));
Prefix = "";
Suffix = "";
SgnFlag= 1;
format = 1.0;
}

if(SortBy == "Total Volume"){
Bars_so_far_today = 1 + BarsSince( Day() != Ref(Day(), -1));
Value = Sum(Volume, Bars_so_far_today);
Prefix = "";
Suffix = "";
SgnFlag= 0;
format = 1.0;
}

if(SortBy == "Close"){
Prefix = "$";
Suffix = "";
SgnFlag= 0;
format = 1.2;
Value = IIf(Close > Open, Close, -Close);}

if(SortBy == "Index Match"){
StatusBuyI = HekinAshi(0);
StatusBuy = HekinAshi(1);
Match = 0;
for (i = BarCount - CheckPeriod; i < BarCount; i++ )
Match = IIf( StatusBuyI == StatusBuy, 1, 0);
Match = Sum(Match, CheckPeriod);
Prefix = "";
Suffix = "%";
SgnFlag= 0;
format = 1.0;
Value = (Match/CheckPeriod) * 100;}

if(SortBy == "Bulls n Bears"){
Statusbuy = HekinAshi(1);
value = Trend = IIf(StatusBuy, 1, 0);

if(LastValue(Trend) == 0)
for(i = BarCount-1; Statusbuy[i] == 0; i--)
Value = BarCount - i;
else
for(i = BarCount-1; Statusbuy[i] == 1; i--)
Value = BarCount - i;
Prefix = "";
Suffix = "";
SgnFlag= 1;
format = 1.0;
Value = IIf(StatusBuy, Value, -1 * Value);}

if(SortBy == "ADX Trend"){
TrendAngle = 100* atan( (Zig(ADX(Range), 1) - Ref(Zig(ADX(Range), 1), -1 ) ) / 5 );
if(LastValue(TrendAngle) > 15){
ADXBuy = IIf(ADX(Range) > Ref(ADX(Range), -1) AND PDI(Range) > MDI(Range), 1, 0);
ADXSell = IIf(ADX(Range) > Ref(ADX(Range), -1) AND PDI(Range) < MDI(Range), 1, 0);
Prefix = "";
Suffix = "";
SgnFlag = 1;
format = 1.1;
Value = IIf(ADXBuy, ADX(Range), IIf(ADXSell, -1* ADX(Range), 0));}
else
Value = 0;
}

if(SortBy == "Spread"){
Prefix = "$";
Suffix = "";
SgnFlag= 0;
format = 1.2;
Value = GetRTDataForeign("Ask", Ticker) - GetRTDataForeign("Bid", Ticker);}

xStaticVarSetText("Prefix", Prefix);
xStaticVarSetText("Suffix", Suffix);
xStaticVarSet("SgnFlag", SgnFlag);
xStaticVarSet("format", format);

return Value;
}
procedure getPositionScores(TickerListNum, NumTickers)
{
global TopTickerList, TopTickerClose, TickerList, TopTickerScore, TopTickerNum, TotalScore, MaxNegVal, MinNegVal, MaxPosVal, MinPosVal;
TotalScore = 0;
TickerList = GetSymbols();
CompTickers = "";
MaxNegVal = 0;
MinNegVal = -100000000;
MaxPosVal = 0;
MinPosVal = 100000000;
TickerClose = TickerScores = Tickerindex = 0;

for( n = 0; (Ticker = StrExtract(TickerList, n)) != ""; n++)
{
SetForeign(Ticker);
Temp = LastValue(GetScore(Ticker));
SClose = LastValue(Close);
TotalScore = TotalScore + abs(temp);

if(CompositeOnOff){
G=1;
AddToComposite(G*O,"~XU100","O",atcFlagDeleteValues|atcFlagCompositeGroup|atcF lagEnableInIndicator);
AddToComposite(G*H,"~XU100","H",atcFlagDeleteValues|atcFlagCompositeGroup|atcF lagEnableInIndicator);
AddToComposite(G*L,"~XU100","L",atcFlagDeleteValues|atcFlagCompositeGroup|atcF lagEnableInIndicator);
AddToComposite(G*C,"~XU100","C",atcFlagDeleteValues|atcFlagCompositeGroup|atcF lagEnableInIndicator);
AddToComposite(G*V,"~XU100","V",atcFlagDeleteValues|atcFlagCompositeGroup|atcF lagEnableInIndicator);
AddToComposite(G*1,"~XU100","X",atcFlagDeleteValues|atcFlagCompositeGroup|atcF lagEnableInIndicator);
CompTickers = CompTickers + Ticker +"\n";}

if(temp < 0){
if(MinNegVal < temp) MinNegVal = temp;
if(MaxNegVal > temp) MaxNegVal = temp;}

if(temp > 0){
if(MinPosVal > temp) MinPosVal = temp;
if(MaxPosVal < temp) MaxPosVal = temp;}

RestorePriceArrays();
TickerScores[n] = Temp;
TickerIndex[n] = n;
TickerClose[n] = SClose;
}

TickerCount= n;
TopTickerList = TopTickerClose = TopTickerNum = TopTickerScore = Toptickerlist = "";
i = 0;

if(SortingOnOff AND TotalScore > 0)
{

for(i = n; i > 0; i--)
{
for (j = 1; j < i; j++)
{
if (TickerScores[j-1] > TickerScores[j])
{
temp = TickerScores[j-1];
TickerScores[j-1] = TickerScores[j];
TickerScores[j] = temp;
temp = TickerIndex[j-1];
TickerIndex[j-1] = TickerIndex[j];
TickerIndex[j] = temp;
}
}
}

for(n = TickerCount-1; n > -1; n--)
{
T5[i++] = TickerIndex[n];
Ticker = StrExtract(Tickerlist,T5[i-1]);
SClose = NumToStr(TickerClose[T5[i-1]],1.2,0);
Score = NumToStr(TickerScores[n],1.2,0);
TickerNum = NumToStr(TickerIndex[n],1.0,0);
TopTickerList = TopTickerList + Ticker + ",";
TopTickerClose = TopTickerClose + SClose + ",";
TopTickerScore = TopTickerScore + Score +",";
TopTickerNum = TopTickerNum + TickerNum +",";
}
}
else
{ for(n = 0; n < 100; n++)
{
Ticker = StrExtract(Tickerlist,n);
SClose = NumToStr(TickerClose[n],1.2,0);
Score = NumToStr(TickerScores[n],1.2,0);
TickerNum = NumToStr(TickerIndex[n],1.0,0);
TopTickerList = TopTickerList + Ticker + ",";
TopTickerClose = TopTickerClose + SClose + ",";
TopTickerScore = TopTickerScore + Score +",";
TopTickerNum = TopTickerNum + TickerNum +",";
}
}
xStaticVarSet("TotalScore", TotalScore);
xStaticVarSet("MinNegVal", MinNegVal);
xStaticVarSet("MaxNegVal", MaxNegVal);
xStaticVarSet("MinPosVal", MinPosVal);
xStaticVarSet("MaxPosVal", MaxPosVal);
xStaticVarSetText("TopTickerList", TopTickerList);
xStaticVarSetText("TopTickerClose", TopTickerClose);
xStaticVarSetText("TopTickerScore", TopTickerScore);
StaticVarSetText("CompTickers",CompTickers);
xStaticVarSet("BackGroundColor", colorWhite);
}
function FillColor(Value)
{
UpRed = 0;
UpGreen = 255;
UpBlue = 0;
DnRed = 255;
DnGreen = 0;
DnBlue = 0;
DarkColor = 0;
LightColor = 230;

if(Value >= 0)
{
UpRed = LightColor - int((LightColor -(((MaxPosVal-Value)*(LightColor-DarkColor))/(MaxPosVal-MinPosVal))));
if(Value == 0) UpRed = 255;
UpBlue = UpRed;
}
if(Value <= 0)
{
DnGreen = LightColor - int((LightColor -(((abs(MaxNegVal)-abs(Value))*(LightColor-DarkColor))/(abs(MaxNegVal)-abs(MinNegVal)))));
if(Value == 0) DnGreen = 255;
DnBlue = DnGreen;
}

Color = IIf(Value >= 0, ColorRGB(UpRed, UpGreen, UpBlue), ColorRGB(DnRed, DnGreen, DnBlue));
return Color;
}

function SymbolClick(px, py, Flag)
{
x2 = Status("pxchartright");
y2 = Status("pxchartbottom");

if(px <= x2 AND py <= y2)
{
SymbolIndex = (int((px/(x2/NumRowColumn))) + 1) + int((py/(y2/NumRowColumn)) ) * NumRowColumn;
Symbol = StrExtract(TopTickerList, SymbolIndex-1);

if(Flag == 3 AND px <= x2 AND py <= y2)
CategoryRemoveSymbol( Symbol, categoryFavorite, 0);

if(Flag == 2 AND px <= x2 AND py <= y2)
CategoryAddSymbol(Symbol, categoryFavorite, 0);

if(Flag == 2 OR Flag == 3)
{

AB = CreateObject("Broker.Application");
AB.RefreshAll();
}

if(Flag == 1){
script = GetScriptObject();
script.SetChartTicker(Symbol);}
}
}
function MyOnLMouseButton(px, py)
{
SymbolClick(px, py, 1);
}

function MyOnRMouseButton(px, py)
{
SymbolClick(px, py, 2);
}

function MyOnMMouseButton(px, py)
{
SymbolClick(px, py, 3);
}
function MyEventHandler()
{
local b, px, py;
b = GetCursorMouseButtons();

px = GetCursorXPosition(1);
py = GetCursorYPosition(1);

if( b & 8 )
{
if( b & 1 ) MyOnLMouseButton(px, py);
if( b & 2 ) MyOnRMouseButton(px, py);
if( b & 4 ) MyOnMMouseButton(px, py);
}
}

if( Status("Action") == 1 )
{

if ( IndicatorOnOff AND CategoryListOK )
{
Value = 0;
Prefix = "";
Suffix = "";
SgnFlag = 0;
format = 0;

RefreshFlag = 0;
Prefix = xStaticVarGetText("Prefix");
Suffix = xStaticVarGetText("Suffix");
SgnFlag = xStaticVarGet("SgnFlag");
format = xStaticVarGet("format");

TotalScore = xStaticVarGet("TotalScore");
MinNegVal = xStaticVarGet("MinNegVal");
MaxNegVal = xStaticVarGet("MaxNegVal");
MinPosVal = xStaticVarGet("MinPosVal");
MaxPosVal = xStaticVarGet("MaxPosVal");
TopTickerList = xStaticVarGetText("TopTickerList");
TopTickerClose = xStaticVarGetText("TopTickerClose");
TopTickerScore = xStaticVarGetText("TopTickerScore");

TimePeriod = Interval();

if((ParamTotal != xStaticVarGet("ParamTotal")) OR (SortBy != xStaticVarGetText("SortBy"))
OR (BasePeriod != xStaticVarGet("BasePeriod")) OR (TimePeriod != xStaticVarGet("TimePeriod")) OR xStaticVarGet("MouseFlag"))
{
RefreshFlag = 1;
xStaticVarSet("ParamTotal", ParamTotal);
xStaticVarSetText("SortBy", SortBy);
xStaticVarSet("BasePeriod", BasePeriod);
xStaticVarSet("TimePeriod", TimePeriod);
xStaticVarSet("MouseFlag", 0);
}

TimeFrame = Interval();
SecNumber = GetSecondNum();
Newperiod = SecNumber % TimeFrame == 0;
SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame;
SecsToGo = TimeFrame - SecsLeft;

if(RefreshBy == "Set RT Interval")
{
RTSecToNextPeriod = SecsToGo % BasePeriod;
UpdatePeriod = BasePeriod;
}
else
if(RefreshBy == "By Period")
{
RTSecToNextPeriod = SecsToGo;
UpdatePeriod = TimeFrame;
}
else
if(RefreshBy == "Manual")
{
RTSecToNextPeriod = "N/A";
UpdatePeriod = "Manual";
}

if(ManualRefresh)
RefreshFlag = 1;

if(xStaticVarGet("DoRefresh"))
{
if(NumTickers < BarCount)
{
xStaticVarSet("DoRefresh", False);
GetPerformanceCounter(True);
getPositionScores(TickerListNum, NumTickers);
xStaticVarSet("ExecuteTime", GetPerformanceCounter());
}
else
PopupWindow( "Please check your data source, or decrease the number of Rows/Columns", "Heatmap Error- Subscript out of range!", 5, -1, -1 );
}

if(RefreshBy == "Set RT Interval")
RequestTimedRefresh(BasePeriod);
if(IIf(RefreshBy == "Set RT Interval", Status("Redrawaction") OR RefreshFlag OR NOT BasePeriod,
(NewPeriod AND NOT RefreshBy == "Manual") OR RefreshFlag))
xStaticVarSet("Trigger", True);

if(xStaticVarGet("Trigger"))
{
Time = NumToStr(Now(4) , 1.0, 0);
if(StrLen(Time)== 4) Time = "00"+Time;
if(StrLen(Time)== 5) Time = "0"+Time;
Hours = StrLeft(Time, 2);
Minutes = StrMid(Time, 2, 2);
Seconds = StrRight(Time, 2);
xStaticVarSetText("TimeStamp", Hours+":"+Minutes+":"+Seconds);

xStaticVarSet("DoRefresh",True);
xStaticVarSet("Trigger", False);
xStaticVarSet("BackGroundColor", ColorRGB(255, 255, 150));
}

SetChartBkColor(Nz(xStaticVarGet("BackGroundColor")));
x2 = Status("pxchartright");
y2 = Status("pxchartbottom");
PenColor = colorBlack;
TxtColor = colorBlack;

Width = x2 / sqrt(NumTickers);
Hight = y2 / sqrt(NumTickers);
StartX = 1;
StartY = 1;

PointSize = Width/7;
Weight = 100;
GfxSelectPen(PenColor, 2);
GfxSetTextColor(TxtColor);
GfxSelectFont(Font, PointSize, Weight);
GfxSetBkMode(1);

OriginalSuffix = Suffix; OriginalFormat = Format;

for( i = 0; i < NumRowColumn; i++ )
{
for(e=0; e < NumRowColumn; e++)
{
Symbol = StrExtract(TopTickerList, i + (e * NumRowColumn));
ForClose = StrExtract( TopTickerClose, i + (e * NumRowColumn));
Value2 = StrToNum(StrExtract(TopTickerScore, i + (e * NumRowColumn)));
Sgn = IIf(SgnFlag < 1, 1, IIf( Value2 > 0, 1, -1));
PenWidth = 1;

if(FavoritesOnOff){

Favourites = CategoryGetSymbols(categoryFavorite, 0);
PenWidth = IIf(StrFind(","+Favourites+",", ","+Symbol+",") > 0, 4, 1);
GfxSelectPen(PenColor,PenWidth);}
GfxSelectSolidBrush(FillColor(Value2));


if(abs(Value2) >= 1000000)
{ Value2 = Value2/1000000; Suffix = "M"+ OriginalSuffix; Format = 1.2; }
else { Suffix = OriginalSuffix; Format = OriginalFormat; }

DollarSign = "$";
Result = NumToStr(Sgn * Value2, Format,1);
if(Symbol == ""){ Symbol = ""; DollarSign = ""; Result = ""; Prefix = ""; Suffix = ""; ForClose = "No Data";}

if( RefreshBy == "Set RT Interval" AND BasePeriod == 0){ UpdatePeriod = "RT"; RTSecToNextPeriod = "RT";}

GfxRoundRect( StartX + (i * Width), StartY + (e * Hight), Width * (i+1), Hight * (e+1), 15, 15 );
if(SortBy == "Close" OR SortBy == "Close Listing")
PlotInformation = Symbol+"\r"+ DollarSign + ForClose;
else
PlotInformation = Symbol+"\r"+ DollarSign + ForClose + "\r"+ Prefix + Result + Suffix;
GfxDrawText(PlotInformation, StartX + (i * Width), 5 + StartY + (e * Hight), Width * (i+1), Hight * (e+1), 1);
}

GfxSelectFont(Font, 10, Weight);
GfxDrawText(Category + "\n"+ ListNum +"\n" + "\n" +"Sort By:" + "\n" + SortBy + "\n" + "\n" + "Refresh:" + "\n" + UpdatePeriod + "\n"+ "\n" + "Next Update:"
+ "\n" + RTSecToNextPeriod + "\n" + "\n" + "Last Update:" + "\n" + xStaticVarGetText("TimeStamp")+ "\n" + "\n"
+ "Execute Time:" + "\n" + xStaticVarGet("ExecuteTime") , x2+4, (y2 - 335)/2, x2+59, y2, 17);
GfxSelectFont(Font, PointSize, Weight);
}
}
else if( !CategoryListOK )
{
Title = "\n"+
"Category: "+Category+"\n"+
"List Name: "+NumToStr(ListNum, 1.0, 1)+"\n"+
"Category or List Empty or NOT Found!";
}
else if( NOT IndicatorOnOff)
{
Title ="\n"+
"The Heatmap is switched off.";
}
if(IndicatorOnOff AND CategoryListOK)
MyEventHandler();
}

_SECTION_END();

TotalOpen = Foreign("~XU100", "O");
TotalClose = Foreign("~XU100", "C");
TotalVolume = Foreign("~XU100", "V");
TotalHigh = Foreign("~XU100", "H");
TotalLow = Foreign("~XU100", "L");
PlotOHLC( TotalOpen, TotalHigh, TotalLow, TotalClose, "", colorBlack, styleCandle);



رد مع اقتباس
 
 

قديم 15-11-2012, 11:23 AM
  المشاركه #662

عضو هوامير المؤسس

تاريخ التسجيل: Nov 2005
المشاركات: 7,916
o_o غير متواجد حالياً  

معادله اخرى للايمي بروكر


_SECTION_BEGIN("Cycles");
// Cycles

// set chart options

SetBarsRequired( 10000, 10000 );

SetChartOptions( 0, chartShowDates );

Periods = Param( "Cycle Pds", 13, 1, 252, 1 );

XShift = Param( "Shift L/R", 0, -252, 252, 1 ) / 3.14159^2;

XFactor = Param( "FT Freq", 1, 0, 2, 0.001 );

YFactor = Param( "FT Amp", 1, 0, 1, 0.01 );

Color = ParamColor( "Color", colorBlue );

// calc and plot wave

X = 2 * 3.14159 / Periods / XFactor;

Y = sin( Cum( X ) - XShift ) * YFactor;

FineTunedPds = Periods * XFactor;

Plot( Y, NumToStr( FineTunedPds, 0.2 ) + " Bar Cycle", Color,
styleLine|styleLeftAxisScale|styleNoLabel );




Plot ( Y, " This cycle is", Color,
styleLine|styleLeftAxisScale|styleNoLabel );

"This Cycle is" ;

avgcond1 = ( Y > -.80) == 1.1 ;
avgcond2 = ( Y > .20) == 1.2 ;
avgcond3 = ( Y > .80) == 1.3 ;
avgcond4 = ( Y < .99) == 1.4 ;


avgcond5 = ( y < .80) == 1.5 ;
avgcond6 = ( y < -.20) == 1.6 ;
avgcond7 = ( y < -.80) == 1.7 ;
avgcond8 = ( y > -.99) == 1.8 ;


WriteIf( avgcond1 == 1.1,
"Hard Up",
WriteIf( avgcond2 == 1.2,
"Hard Up-Slowing",
WriteIf( avgcond3 == 1.3,
"Topping",
WriteIf( avgcond4 == 1.4,
"Topped-Turning", "") ) ) ) +


WriteIf( avgcond5 == -1.5,
"Hard Down",
WriteIf( avgcond6 == -1.6,
"Hard Down-Slowing",
WriteIf( avgcond7 == -1.7,
"Bottoming",
WriteIf( avgcond8 == -1.8,
"Bottomed-Turning", "") ) ) ) ;



Plot( 0, "", Color,
styleLine|styleDashed|styleLeftAxisScale|styleNoLabel );

Plot( 1, "", Color, styleNoLine|styleLeftAxisScale|styleNoLabel );

Plot( -1, "", Color, styleNoLine|styleLeftAxisScale|styleNoLabel );

// calc and plot vertical lines for pivots

Ym1 = Ref( Y, -1 );

Yp1 = Ref( Y, 1 );

Peaks = Y > Ym1 AND Y > Yp1;

Troughs = Y < Ym1 AND Y < Yp1;

Pivots = IIf( Peaks, YFactor, IIf( Troughs, -YFactor, Null ) );

Plot( Pivots, "", Color,
styleHistogram|styleDashed|styleLeftAxisScale|styleNoLabel );

Plot( -Pivots, "", Color,
styleHistogram|styleDashed|styleLeftAxisScale|styleNoLabel );

رد: مواضيع مدمجة عن معادلات الأمي بروكر



رد مع اقتباس
قديم 16-11-2012, 05:36 AM
  المشاركه #663

عضو هوامير المميز

تاريخ التسجيل: Jul 2012
المشاركات: 2
مختار الرومانسى غير متواجد حالياً  

رد: مواضيع مدمجة عن معادلات الأمي بروكر



رد مع اقتباس
قديم 17-11-2012, 11:49 PM
  المشاركه #664

عضو هوامير المميز

تاريخ التسجيل: May 2011
المشاركات: 873
AboOthman غير متواجد حالياً  

ابي معادلة الذيب بالقليب؟؟!
ولاعليك امر ترى مالنا الا الله ثم انت..



رد مع اقتباس
قديم 18-11-2012, 01:37 AM
  المشاركه #665

كاتب قدير

تاريخ التسجيل: Oct 2005
المشاركات: 8,424
منادي_2005 غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة aboothman مشاهدة المشاركة
ابي معادلة الذيب بالقليب؟؟!
ولاعليك امر ترى مالنا الا الله ثم انت..
حلوووووووووووووه معادلة جديده هذي يبيلها مخمخمــــــــــة

بس يبيلها مفهومية شوية

والمعنى في بطن الشاعر



رد مع اقتباس
قديم 19-11-2012, 11:36 PM
  المشاركه #666

عضو هوامير المميز

تاريخ التسجيل: Sep 2011
المشاركات: 17,964
الرأي الأول غير متواجد حالياً  

اخونا منادي

اتمنى معادله تجمع بين الفيبوناتشي الاتوماتيكي ونقاط الدعم والمقاومه

وماسح الاسهم

مع وجود علامه سفليه للبيع والشراء



رد مع اقتباس
قديم 10-12-2012, 02:17 AM
  المشاركه #667

كاتب قدير

تاريخ التسجيل: Oct 2005
المشاركات: 8,424
منادي_2005 غير متواجد حالياً  

حــــــــــــــــــــدد أهدافك بكل هدوء وتناقش مع المحلليـــــــــــــــــــن وأيدك مليــــــــــانة

رد: مواضيع مدمجة عن معادلات الأمي بروكر


_SECTION_BEGIN("Chart Settings");
SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("Outer Panel",colorPaleBlue));
SetChartBkGradientFill(ParamColor("Upper Chart",1),ParamColor("Lower Chart",1));
_SECTION_END();

_SECTION_BEGIN("Pattern revealer");

x = Cum(1);
per = Param("Percent",2,1,50,1);
s1=L;
s11=H;
pS = TroughBars( s1, per, 1 ) == 0;
endt= LastValue(ValueWhen( pS, x, 1 ));
startt=LastValue(ValueWhen( pS, x, 2 ));
endS = LastValue(ValueWhen( pS, s1, 1 ) );
startS = LastValue( ValueWhen( pS, s1, 2 ));
dtS =endt-startt;
aS = (endS-startS)/dtS;
bS = endS;
trendlineS = aS * ( x -endt ) + bS;
pR = PeakBars( s11, per, 1 ) == 0;
endt1= LastValue(ValueWhen( pR, x, 1 ));
startt1=LastValue(ValueWhen( pR, x, 2 ));
endR = LastValue(ValueWhen( pR, s11, 1 ) );
startR = LastValue( ValueWhen( pR, s11, 2 ));
DTR=ENDT1-STARTT1;
aR = (endR-startR)/dtR;
bR = endR;
trendlineR = aR * ( x -endt1 ) + bR;
BEGIN=Min(STARTT,STARTT1);
TRS = IIf(x>BEGIN-10,trendlineS,-1e10);
TRR = IIf(x>BEGIN-10,trendlineR,-1e10);
Condcolor=(Cross(C,trendlineR) AND X>ENDT1) OR (Cross(trendlineS,C) AND X>ENDT);
Plot(C,"Close",colorWhite,styleCandle);
Plot(TRS,"Support",colorAqua,styleLine|styleThick);
Plot(TRR,"Resist",colorRed,styleLine|styleThick);
fill=Param("style",2,1,2,1);
style=IIf(fill==1,styleHistogram,IIf(fill==2,styleArea,Null));
x=IIf(trs > trr,trr,trs);
Plot(x,"",colorGold,style);
Plot(trr,"",20,style);
Lowline=Ends-starts;
Highline=endr-startr;
Wedge=IIf(Highline <0 AND Lowline > 0,1,0);
DecendingTriangle=IIf(Highline < 0 AND Lowline==0,1,0);
AscendingTriangle=IIf(Highline==0 AND Lowline > 0,1,0);
DownChannel=IIf(Highline<0 AND Lowline<0,1,0);
UpChannel=IIf(Highline>0 AND Lowline>0,1,0);
BroadeningWedge=IIf(Highline > 0 AND Lowline < 0,1,0);
BullishBreakout=Cross(C,trendlineR);
BearishBreakout=Cross(trendlineS,C);
Title=Name()+ WriteIf(wedge==1," Wedge","")+WriteIf(DecendingTriangle==1," Decending Triangle","")+WriteIf(AscendingTriangle==1,"Ascending Triangle","")/*+WriteVal(Lowline)*/+WriteIf(DownChannel==1," Downward Sloping Channel","")+WriteIf(UpChannel==1," Upward Sloping Channel","")+WriteIf(broadeningWedge==1," Broadening Wedge","")+"\n"+EncodeColor(colorGreen)+WriteIf(bullishbreakout,"Bullish Breakout",EncodeColor(colorRed)+WriteIf(bearishbreakout,"Bearish Breakout",""))/*+WriteVal(highline)*/;
Filter=AscendingTriangle OR DecendingTriangle OR Wedge OR DownChannel OR UpChannel OR BroadeningWedge OR Bullishbreakout OR bearishbreakout;
AddTextColumn(WriteIf(bullishbreakout,"bullish Breakout",""),"BullBreak");
AddTextColumn(WriteIf(bearishBreakout,"Bearish Breakout",""),"BearBreak");
AddTextColumn(WriteIf(ascendingtriangle,"Ascending Triangle",WriteIf(decendingtriangle,"Decending Triangle",WriteIf(Wedge,"Wedge",WriteIf(DownChannel,"Down Channel",WriteIf(UpChannel,"Up Channel",WriteIf(BroadeningWedge,"Broadening Wedge","")))))),"Pattern");
AddColumn(C,"Close");

_SECTION_END();



رد مع اقتباس
قديم 10-12-2012, 09:48 AM
  المشاركه #668

عضو هوامير المميز

تاريخ التسجيل: Mar 2012
المشاركات: 37
مــهــا غير متواجد حالياً  

السلام عليكم ورحمة الله وبركاته

استاذ منادي
ممكن اعرف على اي اصدار تشتغل انت والاستاذ لورد الاسهم

لــ برنامج
الايمي بروكر
ويسلمووووووووووو .



رد مع اقتباس
قديم 10-12-2012, 10:53 AM
  المشاركه #669

كاتب قدير

تاريخ التسجيل: Oct 2005
المشاركات: 8,424
منادي_2005 غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة مــهــا مشاهدة المشاركة
السلام عليكم ورحمة الله وبركاته

استاذ منادي
ممكن اعرف على اي اصدار تشتغل انت والاستاذ لورد الاسهم

لــ برنامج
الايمي بروكر
ويسلمووووووووووو .
وعليكم السلام

هلا أخت مها بالنسبة للأصدار هو آخر أصدار للأيمي بروكر 5.60



رد مع اقتباس
قديم 10-12-2012, 11:36 AM
  المشاركه #670

عضو هوامير المميز

تاريخ التسجيل: Mar 2012
المشاركات: 37
مــهــا غير متواجد حالياً  

انا جالسة احمل اصدار 5.40 لانه معرب
وبشوف اذا ظبط معي مع الكراك او لأ

اخاف احمل اصدارك وماافهم
لاني باللغة الانجلش غير ضليعة ههه




رد مع اقتباس
قديم 10-12-2012, 02:26 PM
  المشاركه #671

عضو هوامير المميز

تاريخ التسجيل: Jan 2007
المشاركات: 130
al7laooo غير متواجد حالياً  





ياحبني للي ناقش المحللين

ابدعت يابو محمد



رد مع اقتباس
قديم 16-12-2012, 01:51 AM
  المشاركه #672

كاتب قدير

تاريخ التسجيل: Oct 2005
المشاركات: 8,424
منادي_2005 غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة al7laooo مشاهدة المشاركة




ياحبني للي ناقش المحللين

ابدعت يابو محمد
حياك يا غالي وشرفني مرورك



رد مع اقتباس
إضافة رد


الكلمات الدلالية (Tags)
لعشاق, مواضيع, مجوعة, مدمجة, معادلات, الأمي, المعادلات, الخاصة, بالعضو, بروكر, تستاهلون, خير, ksa, lord, كبيرة, عن

أدوات الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع



12:56 PM