توصية شراءءء Eres 13.35

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
Eres 13.35
 

الملفات المرفقه:

  • ERES1.gif
    ERES1.gif
    الحجم: 19.9 KB   المشاهدات: 239
التسجيل
14 ديسمبر 2003
المشاركات
6,715
الإقامة
الـريـاض
ممتاز يعطيك الففففففففففف عافيه
 

SAIFY

عضو نشط
التسجيل
4 أغسطس 2004
المشاركات
342
اخي Ksa2005
ممكن طلب
مطلوب منك ترسل لي فلتر اللي تستخدمة
و لك جزيل الشكر مقدما
 

SAIFY

عضو نشط
التسجيل
4 أغسطس 2004
المشاركات
342
SAIFY قال:
اخي Ksa2005
ممكن طلب
مطلوب منك ترسل لي فلتر اللي تستخدمة
و لك جزيل الشكر مقدما

اخي KSA2005
ممكن فلتر

مشكور
 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
ابشر هذاا هو الفلتر


var heMA, heMAOff, Bar, p: integer;

heMA := eMASeries( #Close, 13 );
{ Shift it 3 bars to the right }
heMAOff := OffsetSeries( heMA, -3 );

PlotSeriesLabel( heMAOff, 0, #yellow, #Thin, 'eMA Offset(-3)' );



heMA := eMASeries( #Close, 3 );
{ Shift it 3 bars to the left }
heMAOff := OffsetSeries( heMA, -3 );
PlotSeriesLabel( heMAOff, 0, #Red, #Thin, 'eMA Offset(-3)' );

InstallTimeBasedExit( 7 );
for Bar := 10 to BarCount - 1 do

begin
ApplyAutoStops( Bar );
if not LastPositionActive then
begin { Entry Rules }

begin
if CrossOver(bar, OffsetSeries( heMA, 3 ), OffsetSeries( heMA, -3 ) )
then
begin
CoverAtMarket( Bar+1 , LastPosition, 'Xover' );
BuyAtMarket( Bar+1 , 'Xover' );
end
else if CrossUnder( Bar , OffsetSeries( heMA, 3 ), OffsetSeries( heMA,
-3 )
) then
begin
SellAtMarket( Bar+1 , LastPosition, 'Xover' );
ShortAtMarket( Bar+1 , 'Xover' );
end;
end;


end;
end;
{ Place at the end of your script }
var a: integer;
var s: string;
for a := 0 to AlertCount - 1 do
begin
s := 'Alert ' + IntToStr( a + 1 ) + ' is a ';
case AlertPositionType( a ) of
0:
s := s + 'Buy';
1:
s := s + 'Sell';

end;
s := s + ' Order';
DrawLabel( s, 0 );
end;
 

SAIF1743

عضو نشط
التسجيل
18 يوليو 2004
المشاركات
1,279
الإقامة
safwa
مشكور على الفلتر .. بس هذا تبع اي برنامج بحث

جهد تشكر عليه في عرضك للأسهم و ايضا اختيار موفق ان شاء الله
جزاك الله خير و جعله الله في ميزان اعمالك
 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
هذا الفلتر لبرنامج wealth lab

وكذلك يركب على ستوك فيتشر
 

10 %

عضو نشط
التسجيل
26 أبريل 2004
المشاركات
271
الإقامة
الرياض
معليش إخواني تحملوني شوي،
أنا قعدت ساعة كاملة و أنا مطير عيوني في الشارت، لكن ماني شايف أي إشارة دخول :confused: فعلى أي أساس كانت التوصية،، خصوصا إن الأخ قاصد كريم بارك على التوصية.
 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
نعم اخى 10% السهم لم يعطى اشارة دخول لكن السهم كان منتهى من اوفر سولد ودخل منطقة تعتبر امان كما هو واضح فى الشارت وبعد هذة المنطقة انشاء الله ممكن يعطى اشارة شراء
 

الملفات المرفقه:

  • ERES.gif
    ERES.gif
    الحجم: 27.1 KB   المشاهدات: 151

SAIFY

عضو نشط
التسجيل
4 أغسطس 2004
المشاركات
342
ksa2005 قال:
هذا الفلتر لبرنامج wealth lab

وكذلك يركب على ستوك فيتشر

قوة اخوي
اشكرك على الفلتر
للاسف ما اشتغل عندي
اخوي اذا امكن تعمل ابلود upload لملف فلتر اللي عندك
اسف على ازعاج بس نبي نستفيد منكم

منتظر ملف فلتر على ناررررررررررررررررررر

مشكورررررررر مقدما
 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
انشاء الله سوف اعطيكم كذا فلتر بس انتظرنى
 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
var Y, X, Y1, Y2, Y3, Y4: float;
var BBOUGHT: boolean;
var NSMA, NPANE, NCOUNT, BAR, I, COLOR, LINE, XSERIES, HILO, X1, X2, X3, X4: integer;
{ Wealth-Lab's Master System }

{ Plot a 14 day Moving Average }
nSMA := SMASeries( #Close, 14 );
PlotSeries( nSMA, 0, 044, 1 );

{ Plot 14 day CMO in new chart pane }
nPane := CreatePane( 60, TRUE, FALSE );
PlotSeries( CMOSeries( #Close, 14 ), nPane, 009, 0 );
DrawText( 'CMO 14', nPane, 4, 4, 006, 8 );
DrawHorzLine( 0, nPane, 666, 0 );
DrawHorzLine( 50, nPane, 666, 1 );
DrawHorzLine( -50, nPane, 666, 1 );

{ Some variables }
nCount := BarCount();
bBought := false;

{ Max 1000 shares per position }
SetShareCap( 1000 );

{ Execute the Trading System }
for Bar := 15 to BarCount() - 1 do
begin
if CumDown( Bar, #Close, 4 ) = 0 then
bBought := false;
if CumDown( Bar, #Close, 4 ) >= 9 then
if not bBought then
begin
BuyAtMarket( Bar + 1, '');
bBought := true;
end;
if ( CumUp( Bar, #Close, 4 ) >= 9 ) OR ( CMO( Bar, #Close, 14 ) >= 50 ) then
begin
for i := 0 to PositionCount() - 1 do
if PositionActive( i ) then
SellAtMarket( Bar + 1, i, '');
end;
end;

{ Below is tbui's Support/Resistance PlugIn -
It displays the most recent up and down trendlines
Parameters
--------------------------------------------------------}
Bar := BarCount() - 20;
Color := 900;
Line := 0;

{High Low AVERAGE
For the last 50 bars:
. Calculate the diff. between PriceHight and PriceLow
. Normalize it with PriceClose
. Put it into a new series
. Total all them up
. Average them with highest and the lowest excluded.
---------------------------------------------------------}
x := 0 ;
xSeries := CreateSeries();
For i := Bar - 50 to Bar do
Begin
y := (PriceHigh(i) - PriceLow(i)) / PriceClose(i);
y := y * 100 ;
SetSeriesValue( i, xSeries, y );
x := x + y;
end;
x := x - Highest(Bar, xSeries, 50);
x := x - Lowest(Bar, xSeries, 50);
hilo := Round(x / 48 );

{ RESISTANCE LINE
. Calculate coordinates of 2 consecutive peaks using
hilo as ReversalPct.
. Extrapolate the coordinates to the current bar, also
10 bars to the left.
. Draw a resistance line.
---------------------------------------------------------}
y1 := Peak( Bar, #High, hilo);
x1 := Peakbar( Bar, #High, hilo);
y2 := Peak( x1, #High, hilo * 2);
x2 := Peakbar( x1, #High, hilo * 2);
If (x2 <> x1) then
Begin
x3 := x1 + 20;
if (x3 > (BarCount() - 1)) then x3 := BarCount() - 1;
y3 := (((y2 - y1) * (x3 - x1)) / (x2 - x1)) + y1;
x4 := x2 - 10;
y4 := (((y2 - y1) * (x4 - x1)) / (x2 - x1)) + y1;
DrawLine( x3, y3, x4, y4, 0, Color, Line);
end;

{ SUPPORT LINE
. Same as above
---------------------------------------------------------}
y1 := Trough( Bar, #Low, hilo);
x1 := Troughbar( Bar, #Low, hilo);
y2 := Trough( x1, #Low, hilo * 2);
x2 := Troughbar( x1, #Low, hilo * 2);
If (x2 <> x1) then
Begin
x3 := x1 + 20;
if (x3 > (BarCount() - 1)) then x3 := BarCount() - 1;
y3 := (((y2 - y1) * (x3 - x1)) / (x2 - x1)) + y1;
x4 := x2 - 10;
y4 := (((y2 - y1) * (x4 - x1)) / (x2 - x1)) + y1;
DrawLine( x3, y3, x4, y4, 0, Color, Line);
end;
{ END OF STUDY
==========================================================}
 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
watchlist scan ثلاثة فلاتر

الرقم (1)

//{$I 'Expectancy02_Sam'}
{$I 'Includes'}
//{$I 'JMA'}

var expscore: float;
var Bar: integer;
var mtick, StopLoss: float;
var FcstHigh, FcstLow, FcstM: float;
var FcstHighSeries, FcstLowSeries, FcstMSeries: Integer;
var mstring: string;
var MP: Integer; // MarketPosition
var LookBack : Integer;
FcstHighSeries := createseries;
FcstLowSeries := createseries;
FcstMSeries := createseries;
mtick := gettick;


LookBack := 14;
hidevolume;
EnableTradeNotes(true, true, true );


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Procedure SetForecastPrices;
begin
FcstHigh := PBandUpper(Bar, Lookback) ;
FcstLow := PBandLower(Bar, Lookback) ;

@FcstMSeries[bar] := FcstM;
@FcstHighSeries[bar] := FcstHigh;
@FcstLowSeries[bar] := FcstLow;

end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Procedure ExitExistingPositions;
begin

if MP <> 0 then begin

if MP = -1 then begin
CoverAtLimit(bar + 1, FcstLow, #all, 'cover');
end else if MP = 1 then begin
SellAtLimit(bar + 1, FcstHigh, #all, 'sell');
end;
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Procedure Trade;
begin

if (MP = 1) then begin

if not BuyAtLimit(Bar + 1, FcstLow, 'buy') then begin
ShortAtLimit(Bar + 1, FcstHigh, 'short');
end;
end;


if (MP = 0) or (MP = -1) then begin

if not ShortAtLimit(Bar + 1, FcstHigh, 'Short') then begin
BuyAtLimit(Bar + 1, FcstLow, 'buy');
end;
end;


end; // Procedure Trade

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Main Loop
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

for Bar := 21 to BarCount - 1 do
begin
SetSlippage(true, (0.015 / PriceClose(bar)) * 100,true);
portfoliosynch(bar,'');
//mString := StringDateTime(bar);
MP := MarketPosition;

SetForecastPrices;

ExitExistingPositions;

Trade;
end;
//expscore := ExpectancyScore();
//DrawLabel('Expectancy Score: ' + formatfloat('###0.00', expscore),0);
//SetOptimizeValue( expscore );
//expscore := Expectancy() * 100;
//DrawLabel('Expectancy: ' + formatfloat('###0.00', expscore),0);
PlotSeriesLabel(FcstHighSeries,0,#red,#thin,'FcstHigh');
PlotSeriesLabel(FcstLowSeries ,0,#blue,#thin,'FcstLow');

//PlotSeriesLabel(#average,0,#white,#dotted,'Average');
//PlotSeriesLabel(JMASeries(#low,4,0),0,#white,#dotted,'JMA');
//PlotSeriesLabel(JMASeries(#high,4,0),0,#white,#dotted,'JMA');
//Var LinRegSlopePane, StdErrorPane, RSquaredPane: Integer;
//LinRegSlopePane := CreatePane( 50, true, true );
//StdErrorPane := CreatePane( 50, true, true );
//RSquaredPane := CreatePane( 50, true, true );
//PlotSeriesLabel(LinearRegSlopeSeries(#Average, 30), LinRegSlopePane, 205, #Thin,'LRS' );
//DrawHorzLine(0,LinRegSlopePane,#White,#Thin);
//PlotSeriesLabel(StdErrorSeries(#Average,30),StdErrorPane,#Blue,#Thin,'Std Error');
//PlotSeriesLabel(RSquaredSeries(#Average,30),RSquaredPane,#Blue,#Thin,'RSquared');

 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
الرقم (2)


function StringDateTime(Bar:Integer): String;

begin
Result:= DateToStr(GetDate(Bar)) + ' ' + TimeToStr(GetTime(Bar));
end;
//------------------------------------------------------------------------/

function PositionTotalOpenProfit(Bar:Integer): Float;
begin
var i: integer;
var TotalProfit: float;
for i := 0 to PositionCount - 1 do
TotalProfit := TotalProfit + PositionOpenProfit(Bar, i);
Result := TotalProfit;
end;
//-------------------------------------------------------------

function sigmoid( x: float; k: float): float;
begin
// Range of k is ~ .05 to .15. Higher values move bands closer in
result := 1/(1+Exp((-1*x*k)));
end;
//-------------------------------------------------------------

function fx2( x: float; a: float; b: float; h: float; k: float ): float;
begin
//a := .01; // Increment
//b := .5; // Gain
//h := 0; // Base
//k := 0; // Add-on
result := (a * power(2, b * (x-h))) + k;
end;
//-------------------------------------------------------------

function ScaledSigmoid( x: float; base: float; k: float): float;
begin
result := ((1 + (0.5 - sigmoid(x-base, k)))) * (x-base) + x;
end;
//-------------------------------------------------------------

function PBandUpperSeries( Period : integer) : integer;
begin

var PBtop_slope : integer;
var Bar, L_back : integer;
var sName : string;

sName := 'PBandUpper('+IntToStr(Period)+ ')';
Result := FindNamedSeries( sName );
if (Result >= 0) then Exit;
Result := CreateNamedSeries( sName );

PBtop_slope := LinearRegSlopeSeries(#High, Period);

for Bar := Period-1 to BarCount-1 do
for L_back := 0 to Period-1 do
@Result[Bar] := max(@Result[Bar], @#High[Bar-L_back] + (@PBtop_slope[bar] * (l_back)));

end;
//-------------------------------------------------------------

function PBandUpper( Bar, Period : integer ) : float;
begin
Result := GetSeriesValue( Bar, PBandUpperSeries( Period ) );
end;

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

function PBandLowerSeries( Period : integer ) : integer;
begin

var PBbot_slope : integer;
var Bar, L_back : integer;
var sName : string;

sName := 'PBandLower('+ IntToStr(Period)+ ')';
Result := FindNamedSeries( sName );
if (Result >= 0) then Exit;
Result := CreateNamedSeries( sName );

PBbot_slope := LinearRegSlopeSeries( #Low, Period );

for Bar := Period-1 to BarCount-1 do
begin
@Result[bar] := @#High[bar];
for L_back := 0 to Period-1 do
@Result[Bar] := min(@Result[Bar], @#Low[Bar-L_back] + (@PBbot_slope[bar] * (L_back)));
end;

end;
//-------------------------------------------------------------

function PBandLower( Bar, Period : integer ) : float;
begin
Result := GetSeriesValue( Bar, PBandLowerSeries( Period ) );
end;
//-------------------------------------------------------------



function DebugPositionInfo(ActionFlag: Integer): String;
begin
var FileHandle: integer;
var destname, FileLine: string;

case ActionFlag of
1: // Initalize array
begin
end;
2: // Save Position info for bar
begin
end;
3: // Write to disk and clean up
begin
destname := Getsymbol() + '_Debug_Position_Info';

FileHandle := FileCreate( 'c:\' + destname + '.txt' );
FileClear( FileHandle );
{ build a string }
FileWrite( FileHandle, FileLine );
FileFlush( FileHandle );
FileClose( FileHandle );
end;
end;
end; // of function

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

Procedure DisplayAccountStatus;
begin
var SString: String;
SString := StringDateTime(barcount -1);
AddCommentary(SString);

end;


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

Function PriceOverlapSeries(): Integer;
begin
var hh, ll: float;
var hdif, ldif: float;
var sName: string;
var Bar: Integer;
sName := 'PriceOverlapSeries()';
Result := FindNamedSeries( sName );

if Result >= 0 then
Exit;
Result := CreateNamedSeries( sName );

for bar := 2 to barcount() -1 do begin
// Calculate the highest and lowest range for the two bars
if PriceHigh(Bar) > PriceHigh(Bar -1) then hh := PriceHigh(bar) else hh := PriceHigh(Bar -1);
if PriceLow(Bar) < PriceLow(Bar -1) then ll := PriceLow(bar) else ll := PriceLow(Bar -1);
hdif := abs(PriceHigh(bar) - PriceHigh(bar -1));
ldif := abs(PriceLow(bar) - PriceLow(bar -1));

if ((hdif + ldif) >= (hh - ll)) then // gap bar
SetSeriesValue(Bar, Result, 0)
else if ((hh - ll) = 0) then // no range
SetSeriesValue(Bar, Result, 100)
else
SetSeriesValue(Bar, Result, (((hh-ll)-(hdif + ldif)) / (hh - ll)* 100));
end; // for bar := 2
end; // function PriceOverlapSeries

//-------------------------------------------------------------
// Total True Range
Function TTR(Bar, Lookback: Integer): float;
begin
Result := Highest(Bar,#High,Lookback) - Lowest(Bar,#Low,Lookback);
end;
 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
الرقم (3)


function PBandUpperSeries( Period : integer ) : integer;
begin

var PBtop_slope : integer;
var Bar, L_back : integer;
var sName : string;

sName := 'PBandUpper( ' + IntToStr( Period ) + ')';
Result := FindNamedSeries( sName );
if ( Result >= 0 ) then Exit;
Result := CreateNamedSeries( sName );

PBtop_slope := LinearRegSlopeSeries( #High, Period );

for Bar := Period - 1 to BarCount-1 do
for L_back := 0 to Period - 1 do
@Result[Bar] := max( @Result[Bar], @#High[Bar - L_back]
+ ( @PBtop_slope[Bar] * L_back ) );

end;

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

function PBandUpper( Bar, Period : integer ) : float;
begin
Result := GetSeriesValue( Bar, PBandUpperSeries( Period ) );
end;

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

function PBandLowerSeries( Period : integer ) : integer;
begin

var PBbot_slope : integer;
var Bar, L_back : integer;
var sName : string;

sName := 'PBandLower(' + IntToStr( Period ) + ')';
Result := FindNamedSeries( sName );
if ( Result >= 0 ) then
Exit;
Result := CreateNamedSeries( sName );

PBbot_slope := LinearRegSlopeSeries( #Low, Period );

for Bar := Period - 1 to BarCount - 1 do
begin
@Result[Bar] := @#High[bar];
for L_back := 0 to Period - 1 do
@Result[Bar] := min( @Result[Bar], @#Low[Bar - L_back]
+ ( @PBbot_slope[Bar] * L_back ) );
end;

end;

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

function PBandLower( Bar, Period : integer ) : float;
begin
Result := GetSeriesValue( Bar, PBandLowerSeries( Period ) );
end;

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

const LookBack = 14;
var P, Bar : integer;
var FcstHigh, FcstLow : float;

HideVolume;
EnableTradeNotes( true, true, true );

for Bar := 21 to BarCount - 1 do
begin
SetSlippage( true, ( 0.015 / PriceClose( Bar ) ) * 100, true );
PortfolioSynch( Bar, '' );

FcstHigh := PBandUpper( Bar, Lookback );
FcstLow := PBandLower( Bar, Lookback );

for P := ActivePositionCount-1 downto 0 do
begin
if PositionActive( P ) then
begin
if PositionLong( P ) then
SellAtLimit( Bar + 1, FcstHigh, P, 'sell' )
else
CoverAtLimit( Bar + 1, FcstLow, P, 'cover' )
end;
end;

if not BuyAtLimit( Bar + 1, FcstLow, 'buy' ) then
ShortAtLimit( Bar + 1, FcstHigh, 'short' );

end;
 

ksa2005

عضو نشط
التسجيل
24 سبتمبر 2004
المشاركات
328
ترند فلتر فايل عدد 2

(1)


{ ... }

SetScaleWeekly;

C := DailyFromWeekly ( #Close );
S := DailyFromWeekly( SmaSeries( #Close, 39 ) );

SetPrimarySeries( '^DJI' );
C1 := DailyFromWeekly ( #Close );
S1 := DailyFromWeekly( SmaSeries( #Close, 39 ) );

SetPrimarySeries( '^DJU' );
C2 := DailyFromWeekly ( #Close );
S2 := DailyFromWeekly( SmaSeries( #Close, 39 ) );

RestorePrimarySeries;

{ ... }
 
أعلى