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

الموضوع في 'السوق الأمريكي للأوراق الماليه' بواسطة ksa2005, بتاريخ ‏4 أكتوبر 2004.

  1. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    توصية شراءءء Eres 13.35
     
  2. وليدخالد

    وليدخالد عضو جديد

    التسجيل:
    ‏11 فبراير 2004
    المشاركات:
    233
    عدد الإعجابات:
    0
  3. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    Eres 13.35
     

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

    • ERES1.gif
      ERES1.gif
      حجم الملف:
      19.9 KB
      المشاهدات:
      204
  4. عائض بن فيصل ال رشيد

    عائض بن فيصل ال رشيد عضو محترف

    التسجيل:
    ‏14 ديسمبر 2003
    المشاركات:
    6,715
    عدد الإعجابات:
    1
    مكان الإقامة:
    الـريـاض
    ممتاز يعطيك الففففففففففف عافيه
     
  5. SAIFY

    SAIFY عضو جديد

    التسجيل:
    ‏4 أغسطس 2004
    المشاركات:
    342
    عدد الإعجابات:
    0
    اخي Ksa2005
    ممكن طلب
    مطلوب منك ترسل لي فلتر اللي تستخدمة
    و لك جزيل الشكر مقدما
     
  6. الشعثاني

    الشعثاني عضو مميز

    التسجيل:
    ‏20 مارس 2003
    المشاركات:
    2,302
    عدد الإعجابات:
    1
    مكان الإقامة:
    ** بلاد الورد **
    ,,,,,,,
     

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

    • UUUUU4.gif
      UUUUU4.gif
      حجم الملف:
      87.4 KB
      المشاهدات:
      174
  7. SAIFY

    SAIFY عضو جديد

    التسجيل:
    ‏4 أغسطس 2004
    المشاركات:
    342
    عدد الإعجابات:
    0
    اخي KSA2005
    ممكن فلتر

    مشكور
     
  8. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    ابشر هذاا هو الفلتر


    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;
     
  9. SAIF1743

    SAIF1743 عضو جديد

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

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

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    هذا الفلتر لبرنامج wealth lab

    وكذلك يركب على ستوك فيتشر
     
  11. 10 %

    10 % عضو جديد

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

    ksa2005 عضو جديد

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

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

    • ERES.gif
      ERES.gif
      حجم الملف:
      27.1 KB
      المشاهدات:
      120
  13. SAIFY

    SAIFY عضو جديد

    التسجيل:
    ‏4 أغسطس 2004
    المشاركات:
    342
    عدد الإعجابات:
    0
    قوة اخوي
    اشكرك على الفلتر
    للاسف ما اشتغل عندي
    اخوي اذا امكن تعمل ابلود upload لملف فلتر اللي عندك
    اسف على ازعاج بس نبي نستفيد منكم

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

    مشكورررررررر مقدما
     
  14. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    انشاء الله سوف اعطيكم كذا فلتر بس انتظرنى
     
  15. SAIFY

    SAIFY عضو جديد

    التسجيل:
    ‏4 أغسطس 2004
    المشاركات:
    342
    عدد الإعجابات:
    0
    مشكور
    ان الله مع الصابرين
     
  16. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    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
    ==========================================================}
     
  17. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    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');

     
  18. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    الرقم (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;
     
  19. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    الرقم (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;
     
  20. ksa2005

    ksa2005 عضو جديد

    التسجيل:
    ‏24 سبتمبر 2004
    المشاركات:
    328
    عدد الإعجابات:
    0
    ترند فلتر فايل عدد 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;

    { ... }