قديم 07-12-2011, 01:42 AM
  المشاركه #637

خبيرة الويلث لاب

تاريخ التسجيل: May 2009
المشاركات: 850
M O L Y غير متواجد حالياً  

مؤشر لحظي


{ Flag bars that are 5% Troughs }
var Bar, n, nPrev: integer;
for Bar := 0 to BarCount - 1 do
begin
n := TroughBar( Bar, #Low, 18 );
if ( n <> nPrev ) and ( n > -1 ) then
begin
DrawCircle( 10, 0, n, PriceLow( n ), 111, #Thick );
SetBarColor (bar,#yellow);

nPrev := n;
{ Draw a bullseye around the predicted closing price of the last bar of
the
chart based on a linear regression that completed 1 - bars earlier }
var X: float;
var ENDBAR, BAR1, BAR2: integer;
EndBar := BarCount - 1;
Bar1 := EndBar - 30;
Bar2 := EndBar - 10;
x := LinearRegLine( #Close, Bar1, Bar2, EndBar );
DrawCircle( 10, 0, EndBar, x, #Red, #Thick );


end;
end;

PlotSeries( PeakSeries( #Close, 5 ), 0, #Red, #Dots );
PlotSeries( TroughSeries( #Close, 5 ), 0, #Blue, #Dots );
{ Obtain the daily moving average from the intraday chart }
var dsma,CCIPane,ShortColor1,Choice,MODE,Series1,Series2,LongPermission,ShortPermi ssion,MACDPane,MyMACD,MyMACDHisto: integer;
SetScaleDaily;
dsma := SMASeries( #Close, 10 );
RestorePrimarySeries;
dsma := IntraDayFromDaily( dsma );
PlotSeries( dsma, 0, 645,#Thick );
{ Obtain the daily moving average from the intraday chart }


{ Color bars oversold/overbought based on CCI level }


for Bar := 14 to BarCount - 1 do
begin
if CCI( Bar, 14 ) > 100 then
SetBarColor( Bar, #GREEN )
else if CCI( Bar,14 ) < -100 then
SetBarColor( Bar, #RED );

end;
{#OptVar1 59;5;100;1}
{#OptVar2 3;1;3;1}
{#OptVar3 1;1;2;1}
//59, 3, 1
//------------------------------------------------------------------------------
//
//
//Color setup


//Peak Throught Channel

var PH,
PL:
integer;

var
CurPeak,
CurTrough,
Distance:
float;


Distance := #OptVar1/100;
Choice := #OptVar2;
MODE := #OptVar3;

Case MODE of
1: begin SetPeakTroughMode( 6765 );
end;//1
2: begin //Percent mode
end;//2
end;//case

Case Choice of
1: begin Series1 := #AverageC;
Series2 := Series1;
end;//1
2: begin Series1 := #High;
Series2 := #Low;
end;//2
3: begin Series1 := #High;
Series2 := #Low;
end;//3

end; //Case
SetColorScheme (#green,#red,55,222,#white,0);
PH := PeakSeries ( Series1, Distance );
PL := TroughSeries( Series2, Distance );




HideVolume;

//Start-------------------------------------------------------------------------
//------------------------------------------------------------------------------

For bar := 1 To BarCount - 1 do
Begin
Case Choice of
1: begin CurPeak := PriceAverageC (Bar);
CurTrough:= PriceAverageC (Bar);
end;//1
2: begin CurPeak := PriceHigh (Bar);
CurTrough:= PriceLow (Bar);
end;//2
3: begin CurPeak := PriceClose (Bar);
CurTrough:= PriceClose (Bar);
end;//3

end;//Case

// Position processor-------- --------------------------------------------------
//------------------------------------------------------------------------------
Case MarketPosition of

0: begin // LastPosition = Passive

//Long entry
if CurPeak > Peak( Bar, Series1, Distance)
then begin BuyAtMarket (Bar, 'Close over');
end;

if CurTrough < Trough( Bar, Series2, Distance)
then begin ShortAtMarket (Bar, 'Close Under');
end;
{0} end;//end


-1: begin
SetBackgroundColor ( Bar, ShortColor1 );
if CurPeak > Peak( Bar, Series1, Distance)
then LongPermission := 1;


Case LongPermission of
1: begin CoverAtClose (Bar, #All, 'Shot exit');
BuyAtMarket (Bar + 1, 'Close over');
{1} end;
{case} end;
LongPermission := 0;
{-1}end;

1: begin //Long Position


if CurTrough < Trough( Bar, Series2, Distance)
then ShortPermission := 1;

Case ShortPermission of
1: begin SellAtClose (Bar, #All, 'Long exit');
ShortAtMarket (Bar + 1, 'Close Under');
{1} end;

{case} end;
ShortPermission := 0;
{1}end;
{Case}end;

// End Position Processor
end;
{ Create a new chart pane to hold our MACD indicator }
MACDPane := CreatePane( 100, FALSE, FALSE );

{Develop the 12,26 MACD Oscillator}
MyMACD := CreateSeries();
for Bar := 26 to BarCount () - 1 do
SetSeriesValue ( Bar, MyMACD, EMA( Bar, #close, 12) - EMA( Bar, #close,26 ) );

{ Set the series for the MACD Histogram }
MyMACDHisto := CreateSeries();
for Bar := 26 to BarCount () - 1 do
SetSeriesValue ( Bar, MyMACDHisto, ((EMA( Bar, #close, 12) - EMA( Bar, #close,26 ))) - EMA(Bar, MyMACD, 9 )) ;
{Plot the 12,26 MACD}
PlotSeries( MyMACD, MACDPane, #red, #ThiCK ) ;

{Plot a 9 day MACD signal line}
PlotSeries( EMASeries( MyMACD, 9 ), MACDPane, #Blue, #thin ) ;

{Plot the MACD Histogram}
PlotSeries( MyMACDHisto,MACDPane, 999, #ThickHist) ;
DrawText( ' maccd ',MACDPane, 4, 4, #white, 10 );
for Bar := 0 to BarCount - 1 do
begin
if (MyMACDHisto[bar] > 0) then
SetSeriesBarColor( Bar, MyMACDHisto, #green )
else if (MyMACDHisto[bar] < 0) then
SetSeriesBarColor( Bar, MyMACDHisto, #red );
SetPaneBackgroundColor( Bar, MACDPane, #white )
end;

HideVolume



رد مع اقتباس
 
 

قديم 07-12-2011, 01:47 AM
  المشاركه #638

خبيرة الويلث لاب

تاريخ التسجيل: May 2009
المشاركات: 850
M O L Y غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة m o l y مشاهدة المشاركة
حياك الله اخوي
راجع الصفحات 48--47--46 وماقبلها انا رجعت نزلت اغلب الصور الي راحت
المعذرة 49---50



رد مع اقتباس
قديم 07-12-2011, 12:45 PM
  المشاركه #639

عضو موقوف

تاريخ التسجيل: Jul 2006
المشاركات: 6,130
slimi غير متواجد حالياً  

اخوي مولي الحمدلله حملت البرنامج ... وفتحت الشارت بعد ربطه ببرنامج تكر شارت .. وعملت على البرنامج بشكل جيد لكن اثناء عملية التحديث التي عملتها اختفت الشارتات فحذفت الملف واعدت عملية ولكن رفض يربط بحجة انه لا وجود لملف ميتاستوك (( علما انني رابط الميتاستوك بتكر شارت ولا فيه اي خلل )) ... وتظهر لي رساله عند الربط تقول لي

الرجاء انتقل إلى مجلد يحتوي على ملفات البيانات ميتاستوك

فما الحل في مشكلتي .



رد مع اقتباس
قديم 07-12-2011, 06:40 PM
  المشاركه #640

خبيرة الويلث لاب

تاريخ التسجيل: May 2009
المشاركات: 850
M O L Y غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة slimi مشاهدة المشاركة
اخوي مولي الحمدلله حملت البرنامج ... وفتحت الشارت بعد ربطه ببرنامج تكر شارت .. وعملت على البرنامج بشكل جيد لكن اثناء عملية التحديث التي عملتها اختفت الشارتات فحذفت الملف واعدت عملية ولكن رفض يربط بحجة انه لا وجود لملف ميتاستوك (( علما انني رابط الميتاستوك بتكر شارت ولا فيه اي خلل )) ... وتظهر لي رساله عند الربط تقول لي

الرجاء انتقل إلى مجلد يحتوي على ملفات البيانات ميتاستوك

فما الحل في مشكلتي .
طيب انت تحدث والبرنامج شغال ؟
او انك تشتغل على البرنامجين في وقت واحد
اعد عملية التحديث وانت مقفل البرنامج بعدها اربطه من جديد



رد مع اقتباس
قديم 07-12-2011, 06:51 PM
  المشاركه #641

عضو موقوف

تاريخ التسجيل: Jul 2006
المشاركات: 6,130
slimi غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة m o l y مشاهدة المشاركة
طيب انت تحدث والبرنامج شغال ؟
او انك تشتغل على البرنامجين في وقت واحد
اعد عملية التحديث وانت مقفل البرنامج بعدها اربطه من جديد
تكر شارت انا مخليه للربط فقط .. وبرنامج الويلث لاب هو اللي اشتغل عليه

ونعم انا احدث البرنامج واهو شغال .. لاني لا ارى تحرك الاسعار في الويلث لاب لذلك احدثه من اعلى الصفحه

وعندي سؤال كيف طريقة تحديث البرنامج وهو مغلق ..؟؟؟



رد مع اقتباس
قديم 08-12-2011, 01:49 AM
  المشاركه #642

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

تاريخ التسجيل: Dec 2006
المشاركات: 453
ابو حمزة المدني غير متواجد حالياً  

السلام عليكم ارجو التكرم بتعديل المعادلة للحظي (المطلوب تعديل مالون بالاحمر) مع الشكر
كود:
 
{#OptVar1 6;4;12;1} // Peak/Trough detection control
{#OptVar2 15;3;30;3} // Sensitivity for matching rectangle peaks/troughs
{#OptVar3 10;0;30;2} // Breakout sensitivity
ChangeScale( #Daily ); // written for daily scale only
type TRect = class
public
idBar: integer; // bar at which rect detected. (When adding to Result, use idBar as the Item)
stBar: integer; // bar at which rect starts
enBar: integer; // bar at which rect ends (confirmed breakout)
pVal, tVal: float; // upper/lower levels
T1, T2: float; // target levels. T1 = rect height; T2 uses equation from SAC article
breakUp: boolean; // true if breakout ***ection is up, false if down; valid only if enBar <> -1
end;
type TLevel = class
public
b1, b2: integer; // bar numbers of the peaks (or troughs) b1 = most recent
MinBar: integer; // bar at which level is crossed when projecting back; used to determine the start of the rect
Value: float; // price level
end;
var rectList: TList = TList.Create; // access this list of rectangles after calling FindRectangles
procedure FindRectangles( PCT, SENS, brkoutPCT: float );
var
Bar, b, b2, n, pb, tb, pbN, tbN, ptBar: integer;
pVal, tVal, f, diff, C: float;
rect: TRect;
Plvl, Tlvl: TLevel;
peakMatch, troughMatch: boolean;
begin
var LastRectEndBar: integer = 0;
var RectActive: boolean = false;
procedure CreateLevel( bar, b1, b2: integer; IsPeak: boolean; Val: float; var lvl: TLevel );
begin
var b: integer = b2;
if IsPeak then // find the previous bar that was greater than this peak (trough)
begin
repeat b := b - 1;
if b < 0 then break;
until PriceClose( b ) > Val;
end
else
repeat b := b - 1;
if b < 0 then break;
until PriceClose( b ) < Val;
lvl.b1 := b1;
lvl.b2 := b2;
lvl.Value := Val;
if b = -1 then
lvl.MinBar := 0
else
lvl.MinBar := b + 1;
end;
function IsARect( bar: integer ): boolean;
begin
Result := ( Plvl.b1 > Tlvl.b1 ) and ( Tlvl.b1 > Plvl.b2 ) and ( Plvl.b2 > Tlvl.b2 )
and ( Tlvl.b2 >= Plvl.MinBar ) and ( Plvl.b2 >= Tlvl.MinBar );
if not Result then
Result := ( Tlvl.b1 > Plvl.b1 ) and ( Plvl.b1 > Tlvl.b2 ) and ( Tlvl.b2 > Plvl.b2 )
and ( Tlvl.b2 >= Plvl.MinBar ) and ( Plvl.b2 >= Tlvl.MinBar );
if Result then
begin
rect := TRect.Create;
rect.stBar := Round( Max( Plvl.MinBar, Tlvl.MinBar ) );
rect.enBar := -1;
rect.idBar := bar;
rect.pVal := Plvl.Value;
rect.tVal := Tlvl.Value;
rect.T1 := 0;
rect.T2 := 0;
rectList.AddObject( bar, rect );
// Print( 'Plvl.b1: ' + IntToStr( Plvl.b1 ) + '; Plvl.b2: ' + IntToStr( Plvl.b2 ) + '; Tlvl.b1: ' + IntToStr( Tlvl.b1 ) + '; Tlvl.b2: ' + IntToStr( Tlvl.b2 ) );
end;
end;
procedure ProjectTargets( Bar: integer; ShowUpper, ShowLower, Breakout: boolean; var R: TRect );
{* Called when rect level crossed (breakout) or when rect is active on the final bar of chart *}
var
d, T1, T2, idBar: float;
Color: integer;
begin
procedure DrawTargets( b: integer; Start, T1, T2: float );
begin
DrawLine( b, Start, b, T2, 0, #Blue, #Dotted );
DrawCircle( 7, 0, b, T2, #Blue, #Thick );
DrawCircle( 7, 0, b, T1, #Red, #Thick );
AnnotateChart( 'T2: ' + FormatFloat( '0.00', T2 ), 0, b - 23, T2, #Blue, 8 );
AnnotateChart( 'T1: ' + FormatFloat( '0.00', T1 ), 0, b - 23, T1, #Red, 8 );
end;
d := R.pVal - R.tVal;
if ShowUpper then
begin
Color := #BlueBkg;
T1 := R.pVal + d;
T2 := R.pVal + 2.3 * Power( d, 0.8 );
DrawTargets( R.idBar, PriceHigh( R.idBar ) * 1.01, T1, T2 );
end;
if ShowLower then
begin
Color := #RedBkg; // Note! The SAC article did not specify downside targets
T1 := R.tVal - d; // For simplicity, I used the same calculation but constrained the target to 0
if T1 < 0 then
begin
T1 := 0;
T2 := 0;
end
else
T2 := R.tVal - 2.3 * Power( d, 0.8 );
if T2 < 0 then T2 := 0;
DrawTargets( R.idBar, PriceLow( R.idBar ) * 0.99, T1, T2 );
end;
if Breakout then
begin
R.T1 := T1; // if Breakout = true, then only ShowUpper OR ShowLower is true
R.T2 := T2;
R.enBar := Bar;
RectActive := false;
LastRectEndBar := Bar;
end;
end;
procedure ShowRectangle( Bar, Color: integer; var R: TRect );
var
brkoutP, brkoutT: float;
begin
brkoutP := 1 + brkoutPCT/100;
brkoutT := 1 - brkoutPCT/100;
DrawLine( R.stBar, R.pVal * brkoutP, Bar, R.pVal * brkoutP, 0, #Blue, #Thin );
DrawLine( R.stBar, R.tVal * brkoutT, Bar, R.tVal * brkoutT, 0, #Red, #Thin );
DrawRectangle( R.stBar, R.pVal, Bar, R.tVal, 0, Color, #Thick, Color, true );
end;
SENS := SENS / 100;
Plvl := TLevel.Create;
Tlvl := TLevel.Create;
for b := 20 to BarCount - 1 do
begin
pb := PeakBar( b, #Close, PCT );
tb := TroughBar( b, #Close, PCT );
if ( pb > 0 ) and ( tb > 0 ) then
break;
end;
for Bar := b + 1 to BarCount - 1 do
begin
if not RectActive then
begin
pbN := PeakBar( Bar, #Close, PCT );
tbN := TroughBar( Bar, #Close, PCT );
if ( pbN > pb ) or ( tbN > tb ) then
begin
pb := pbN;
pVal := Peak( Bar, #Close, PCT ); // Value of current peak to compare for match
ptBar := pbN - 1; // Subtract 1 to find the previous peak
n := 0;
peakMatch := false;
while ( PeakBar( ptBar, #Close, PCT ) > LastRectEndBar ) and ( n < 6 ) do //and ( n < 6 )
begin
f := Peak( ptBar, #Close, PCT );
ptBar := PeakBar( ptBar, #Close, PCT );
diff := f / pVal - 1;
peakMatch := Abs( diff ) <= SENS;
if peakMatch then
begin
pVal := Max( f, pVal ); // highest "matching" peak value
CreateLevel( Bar, pbN, ptBar, true, pVal, Plvl );
peakMatch := true;
break;
end
else if f > pVal then // already above current peak level
break;
ptBar := ptBar - 1;
n := n + 1;
end;
tb := tbN;
tVal := Trough( Bar, #Close, PCT ); // Value of current trough to compare for match
ptBar := tbN - 1;
n := 0;
troughMatch := false;
while TroughBar( ptBar, #Close, PCT ) > LastRectEndBar and ( n < 6 ) do
begin
f := Trough( ptBar, #Close, PCT );
ptBar := TroughBar( ptBar, #Close, PCT );
diff := f / tVal - 1;
troughMatch := Abs( diff ) <= SENS;
if troughMatch then
begin
tVal := Min( f, tVal );
CreateLevel( Bar, tbN, ptBar, false, tVal, Tlvl );
troughMatch := true;
break;
end
else if f < tVal then // already below current trough level
break;
ptBar := ptBar - 1;
n := n + 1;
end;
if peakMatch and troughMatch then
RectActive := IsARect( Bar );
end;
end;
if RectActive then
begin
{* Rectangle active, check for breakouts - could happen on the same bar as detection! *}
if CrossOverValue( Bar, #Close, rect.pVal * (1 + brkoutPCT/100) ) then
begin
ShowRectangle( Bar, #BlueBkg, rect );
ProjectTargets( Bar, true, false, true, rect );
rect.breakUp := true;
end
else if CrossUnderValue( Bar, #Close, Tlvl.Value * (1 - brkoutPCT/100) ) then
begin
ShowRectangle( Bar, #RedBkg, rect );
ProjectTargets( Bar, false, true, true, rect );
rect.breakUp := false;
end
else if Bar = BarCount - 1 then
begin
ShowRectangle( Bar, 997, rect );
ProjectTargets( Bar, true, true, false, rect );
end;
end;
end;
end;
var Bar, p, n: integer;
var breakPrice, stopPr: float;
var R: TRect;
var RectActive: boolean = false;
var enBreakEvenStop: boolean = false;
var PeakTroughPct: float = #OptVar1;
var SensitivityPct: float = #OptVar2 / 10;
var boSensitivityPct: float = #OptVar3 / 10;
{* Initialize the list of rectangles, rectList *}
FindRectangles( PeakTroughPct, SensitivityPct, boSensitivityPct );
{* Access and print some values from the rectangles shown on the chart *}
Print( 'stBar' + #9 + 'idBar' + #9 + 'enBar' + #9 + 'T2');
for n := 0 to rectList.Count - 1 do
begin
R := rectList.Object( n ) as TRect;
Print( IntToStr( R.stBar ) + #9 + IntToStr( R.idBar )
+ #9 + IntToStr( R.enBar ) + #9 + FormatFloat( '0.00', R.T2 ) );
end;
PlotStops;
for Bar := 20 to BarCount - 1 do
begin
if LastPositionActive then
begin
p := LastPosition;
var pePrice: float = PositionEntryPrice( p );
if PositionLong( p ) then
begin
if not enBreakEvenStop then
enBreakEvenStop := PriceHigh( Bar ) >= R.T1;
if enBreakEvenStop then
stopPr := pePrice
else
stopPr := GetPositionRiskStop( p );
if not SellAtStop( Bar + 1, stopPr, p, 'Stop Loss' ) then
SellAtLimit( Bar + 1, R.T2, p, 'T2' );
end
else
begin
if not enBreakEvenStop then
enBreakEvenStop := PriceLow( Bar ) <= R.T1;
if enBreakEvenStop then
stopPr := pePrice
else
stopPr := GetPositionRiskStop( p );
if not CoverAtStop( Bar + 1, stopPr, p, 'Stop Loss' ) then
CoverAtLimit( Bar + 1, R.T2, p, 'T2' );
end;
end
else
begin { Entry logic }
if not RectActive then
begin
enBreakEvenStop := false;
n := rectList.IndexOf( Bar ); // was a rectangle identified on this bar?
if n > -1 then
begin
R := rectList.Object( n ) as TRect;
RectActive := true;
end;
end;
{ breakouts occur on R.enBar }
if RectActive and ( Bar = R.enBar ) then
begin
RectActive := false;
stopPr := ( R.tVal + R.pVal ) / 2;
SetRiskStopLevel( stopPr );
if Bar - R.stBar > 60 then // only trade rectangles that span at least 3 months (daily bars)
if R.breakUp then
begin
BuyAtMarket( Bar + 1, '' );
breakPrice := R.pVal * (1 + boSensitivityPct/100);
end
else
begin
ShortAtMarket( Bar + 1, '' );
breakPrice := R.tVal * (1 - boSensitivityPct/100);
end;
end;
end;
end;



رد مع اقتباس
قديم 08-12-2011, 11:16 PM
  المشاركه #643

خبيرة الويلث لاب

تاريخ التسجيل: May 2009
المشاركات: 850
M O L Y غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة slimi مشاهدة المشاركة
تكر شارت انا مخليه للربط فقط .. وبرنامج الويلث لاب هو اللي اشتغل عليه

ونعم انا احدث البرنامج واهو شغال .. لاني لا ارى تحرك الاسعار في الويلث لاب لذلك احدثه من اعلى الصفحه

وعندي سؤال كيف طريقة تحديث البرنامج وهو مغلق ..؟؟؟
ايش نوع تكر الي عندك لانه لي فترة عن تكر شارت بحمله واكون معك بحول الله



رد مع اقتباس
قديم 08-12-2011, 11:26 PM
  المشاركه #644

خبيرة الويلث لاب

تاريخ التسجيل: May 2009
المشاركات: 850
M O L Y غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة ابو حمزة المدني مشاهدة المشاركة
السلام عليكم ارجو التكرم بتعديل المعادلة للحظي (المطلوب تعديل مالون بالاحمر) مع الشكر
كود:
 
{#OptVar1 6;4;12;1} // Peak/Trough detection control
{#OptVar2 15;3;30;3} // Sensitivity for matching rectangle peaks/troughs
{#OptVar3 10;0;30;2} // Breakout sensitivity
ChangeScale( #Daily ); // written for daily scale only
type TRect = class
public
idBar: integer; // bar at which rect detected. (When adding to Result, use idBar as the Item)
stBar: integer; // bar at which rect starts
enBar: integer; // bar at which rect ends (confirmed breakout)
pVal, tVal: float; // upper/lower levels
T1, T2: float; // target levels. T1 = rect height; T2 uses equation from SAC article
breakUp: boolean; // true if breakout ***ection is up, false if down; valid only if enBar <> -1
end;
type TLevel = class
public
b1, b2: integer; // bar numbers of the peaks (or troughs) b1 = most recent
MinBar: integer; // bar at which level is crossed when projecting back; used to determine the start of the rect
Value: float; // price level
end;
var rectList: TList = TList.Create; // access this list of rectangles after calling FindRectangles
procedure FindRectangles( PCT, SENS, brkoutPCT: float );
var
Bar, b, b2, n, pb, tb, pbN, tbN, ptBar: integer;
pVal, tVal, f, diff, C: float;
rect: TRect;
Plvl, Tlvl: TLevel;
peakMatch, troughMatch: boolean;
begin
var LastRectEndBar: integer = 0;
var RectActive: boolean = false;
procedure CreateLevel( bar, b1, b2: integer; IsPeak: boolean; Val: float; var lvl: TLevel );
begin
var b: integer = b2;
if IsPeak then // find the previous bar that was greater than this peak (trough)
begin
repeat b := b - 1;
if b < 0 then break;
until PriceClose( b ) > Val;
end
else
repeat b := b - 1;
if b < 0 then break;
until PriceClose( b ) < Val;
lvl.b1 := b1;
lvl.b2 := b2;
lvl.Value := Val;
if b = -1 then
lvl.MinBar := 0
else
lvl.MinBar := b + 1;
end;
function IsARect( bar: integer ): boolean;
begin
Result := ( Plvl.b1 > Tlvl.b1 ) and ( Tlvl.b1 > Plvl.b2 ) and ( Plvl.b2 > Tlvl.b2 )
and ( Tlvl.b2 >= Plvl.MinBar ) and ( Plvl.b2 >= Tlvl.MinBar );
if not Result then
Result := ( Tlvl.b1 > Plvl.b1 ) and ( Plvl.b1 > Tlvl.b2 ) and ( Tlvl.b2 > Plvl.b2 )
and ( Tlvl.b2 >= Plvl.MinBar ) and ( Plvl.b2 >= Tlvl.MinBar );
if Result then
begin
rect := TRect.Create;
rect.stBar := Round( Max( Plvl.MinBar, Tlvl.MinBar ) );
rect.enBar := -1;
rect.idBar := bar;
rect.pVal := Plvl.Value;
rect.tVal := Tlvl.Value;
rect.T1 := 0;
rect.T2 := 0;
rectList.AddObject( bar, rect );
// Print( 'Plvl.b1: ' + IntToStr( Plvl.b1 ) + '; Plvl.b2: ' + IntToStr( Plvl.b2 ) + '; Tlvl.b1: ' + IntToStr( Tlvl.b1 ) + '; Tlvl.b2: ' + IntToStr( Tlvl.b2 ) );
end;
end;
procedure ProjectTargets( Bar: integer; ShowUpper, ShowLower, Breakout: boolean; var R: TRect );
{* Called when rect level crossed (breakout) or when rect is active on the final bar of chart *}
var
d, T1, T2, idBar: float;
Color: integer;
begin
procedure DrawTargets( b: integer; Start, T1, T2: float );
begin
DrawLine( b, Start, b, T2, 0, #Blue, #Dotted );
DrawCircle( 7, 0, b, T2, #Blue, #Thick );
DrawCircle( 7, 0, b, T1, #Red, #Thick );
AnnotateChart( 'T2: ' + FormatFloat( '0.00', T2 ), 0, b - 23, T2, #Blue, 8 );
AnnotateChart( 'T1: ' + FormatFloat( '0.00', T1 ), 0, b - 23, T1, #Red, 8 );
end;
d := R.pVal - R.tVal;
if ShowUpper then
begin
Color := #BlueBkg;
T1 := R.pVal + d;
T2 := R.pVal + 2.3 * Power( d, 0.8 );
DrawTargets( R.idBar, PriceHigh( R.idBar ) * 1.01, T1, T2 );
end;
if ShowLower then
begin
Color := #RedBkg; // Note! The SAC article did not specify downside targets
T1 := R.tVal - d; // For simplicity, I used the same calculation but constrained the target to 0
if T1 < 0 then
begin
T1 := 0;
T2 := 0;
end
else
T2 := R.tVal - 2.3 * Power( d, 0.8 );
if T2 < 0 then T2 := 0;
DrawTargets( R.idBar, PriceLow( R.idBar ) * 0.99, T1, T2 );
end;
if Breakout then
begin
R.T1 := T1; // if Breakout = true, then only ShowUpper OR ShowLower is true
R.T2 := T2;
R.enBar := Bar;
RectActive := false;
LastRectEndBar := Bar;
end;
end;
procedure ShowRectangle( Bar, Color: integer; var R: TRect );
var
brkoutP, brkoutT: float;
begin
brkoutP := 1 + brkoutPCT/100;
brkoutT := 1 - brkoutPCT/100;
DrawLine( R.stBar, R.pVal * brkoutP, Bar, R.pVal * brkoutP, 0, #Blue, #Thin );
DrawLine( R.stBar, R.tVal * brkoutT, Bar, R.tVal * brkoutT, 0, #Red, #Thin );
DrawRectangle( R.stBar, R.pVal, Bar, R.tVal, 0, Color, #Thick, Color, true );
end;
SENS := SENS / 100;
Plvl := TLevel.Create;
Tlvl := TLevel.Create;
for b := 20 to BarCount - 1 do
begin
pb := PeakBar( b, #Close, PCT );
tb := TroughBar( b, #Close, PCT );
if ( pb > 0 ) and ( tb > 0 ) then
break;
end;
for Bar := b + 1 to BarCount - 1 do
begin
if not RectActive then
begin
pbN := PeakBar( Bar, #Close, PCT );
tbN := TroughBar( Bar, #Close, PCT );
if ( pbN > pb ) or ( tbN > tb ) then
begin
pb := pbN;
pVal := Peak( Bar, #Close, PCT ); // Value of current peak to compare for match
ptBar := pbN - 1; // Subtract 1 to find the previous peak
n := 0;
peakMatch := false;
while ( PeakBar( ptBar, #Close, PCT ) > LastRectEndBar ) and ( n < 6 ) do //and ( n < 6 )
begin
f := Peak( ptBar, #Close, PCT );
ptBar := PeakBar( ptBar, #Close, PCT );
diff := f / pVal - 1;
peakMatch := Abs( diff ) <= SENS;
if peakMatch then
begin
pVal := Max( f, pVal ); // highest "matching" peak value
CreateLevel( Bar, pbN, ptBar, true, pVal, Plvl );
peakMatch := true;
break;
end
else if f > pVal then // already above current peak level
break;
ptBar := ptBar - 1;
n := n + 1;
end;
tb := tbN;
tVal := Trough( Bar, #Close, PCT ); // Value of current trough to compare for match
ptBar := tbN - 1;
n := 0;
troughMatch := false;
while TroughBar( ptBar, #Close, PCT ) > LastRectEndBar and ( n < 6 ) do
begin
f := Trough( ptBar, #Close, PCT );
ptBar := TroughBar( ptBar, #Close, PCT );
diff := f / tVal - 1;
troughMatch := Abs( diff ) <= SENS;
if troughMatch then
begin
tVal := Min( f, tVal );
CreateLevel( Bar, tbN, ptBar, false, tVal, Tlvl );
troughMatch := true;
break;
end
else if f < tVal then // already below current trough level
break;
ptBar := ptBar - 1;
n := n + 1;
end;
if peakMatch and troughMatch then
RectActive := IsARect( Bar );
end;
end;
if RectActive then
begin
{* Rectangle active, check for breakouts - could happen on the same bar as detection! *}
if CrossOverValue( Bar, #Close, rect.pVal * (1 + brkoutPCT/100) ) then
begin
ShowRectangle( Bar, #BlueBkg, rect );
ProjectTargets( Bar, true, false, true, rect );
rect.breakUp := true;
end
else if CrossUnderValue( Bar, #Close, Tlvl.Value * (1 - brkoutPCT/100) ) then
begin
ShowRectangle( Bar, #RedBkg, rect );
ProjectTargets( Bar, false, true, true, rect );
rect.breakUp := false;
end
else if Bar = BarCount - 1 then
begin
ShowRectangle( Bar, 997, rect );
ProjectTargets( Bar, true, true, false, rect );
end;
end;
end;
end;
var Bar, p, n: integer;
var breakPrice, stopPr: float;
var R: TRect;
var RectActive: boolean = false;
var enBreakEvenStop: boolean = false;
var PeakTroughPct: float = #OptVar1;
var SensitivityPct: float = #OptVar2 / 10;
var boSensitivityPct: float = #OptVar3 / 10;
{* Initialize the list of rectangles, rectList *}
FindRectangles( PeakTroughPct, SensitivityPct, boSensitivityPct );
{* Access and print some values from the rectangles shown on the chart *}
Print( 'stBar' + #9 + 'idBar' + #9 + 'enBar' + #9 + 'T2');
for n := 0 to rectList.Count - 1 do
begin
R := rectList.Object( n ) as TRect;
Print( IntToStr( R.stBar ) + #9 + IntToStr( R.idBar )
+ #9 + IntToStr( R.enBar ) + #9 + FormatFloat( '0.00', R.T2 ) );
end;
PlotStops;
for Bar := 20 to BarCount - 1 do
begin
if LastPositionActive then
begin
p := LastPosition;
var pePrice: float = PositionEntryPrice( p );
if PositionLong( p ) then
begin
if not enBreakEvenStop then
enBreakEvenStop := PriceHigh( Bar ) >= R.T1;
if enBreakEvenStop then
stopPr := pePrice
else
stopPr := GetPositionRiskStop( p );
if not SellAtStop( Bar + 1, stopPr, p, 'Stop Loss' ) then
SellAtLimit( Bar + 1, R.T2, p, 'T2' );
end
else
begin
if not enBreakEvenStop then
enBreakEvenStop := PriceLow( Bar ) <= R.T1;
if enBreakEvenStop then
stopPr := pePrice
else
stopPr := GetPositionRiskStop( p );
if not CoverAtStop( Bar + 1, stopPr, p, 'Stop Loss' ) then
CoverAtLimit( Bar + 1, R.T2, p, 'T2' );
end;
end
else
begin { Entry logic }
if not RectActive then
begin
enBreakEvenStop := false;
n := rectList.IndexOf( Bar ); // was a rectangle identified on this bar?
if n > -1 then
begin
R := rectList.Object( n ) as TRect;
RectActive := true;
end;
end;
{ breakouts occur on R.enBar }
if RectActive and ( Bar = R.enBar ) then
begin
RectActive := false;
stopPr := ( R.tVal + R.pVal ) / 2;
SetRiskStopLevel( stopPr );
if Bar - R.stBar > 60 then // only trade rectangles that span at least 3 months (daily bars)
if R.breakUp then
begin
BuyAtMarket( Bar + 1, '' );
breakPrice := R.pVal * (1 + boSensitivityPct/100);
end
else
begin
ShortAtMarket( Bar + 1, '' );
breakPrice := R.tVal * (1 - boSensitivityPct/100);
end;
end;
end;
end;

وعليكم السلام ورحمة الله
انت ناسخ لي المعادلة خطا في السطر الاول
عموما هذي المعادلة بعد التعديل تقدر الان تشغلها لحظي

{#OptVar1 6;4;12;1} // Peak/Trough detection control
{#OptVar2 15;3;30;3} // Sensitivity for matching rectangle peaks/troughs
{#OptVar3 10;0;30;2} // Breakout sensitivity

type TRect = class
public
idBar: integer; // bar at which rect detected. (When adding to Result, use idBar as the Item)
stBar: integer; // bar at which rect starts
enBar: integer; // bar at which rect ends (confirmed breakout)
pVal, tVal: float; // upper/lower levels
T1, T2: float; // target levels. T1 = rect height; T2 uses equation from SAC article
breakUp: boolean; // true if breakout ***ection is up, false if down; valid only if enBar <> -1
end;
type TLevel = class
public
b1, b2: integer; // bar numbers of the peaks (or troughs) b1 = most recent
MinBar: integer; // bar at which level is crossed when projecting back; used to determine the start of the rect
Value: float; // price level
end;
var rectList: TList = TList.Create; // access this list of rectangles after calling FindRectangles
procedure FindRectangles( PCT, SENS, brkoutPCT: float );
var
Bar, b, b2, n, pb, tb, pbN, tbN, ptBar: integer;
pVal, tVal, f, diff, C: float;
rect: TRect;
Plvl, Tlvl: TLevel;
peakMatch, troughMatch: boolean;
begin
var LastRectEndBar: integer = 0;
var RectActive: boolean = false;
procedure CreateLevel( bar, b1, b2: integer; IsPeak: boolean; Val: float; var lvl: TLevel );
begin
var b: integer = b2;
if IsPeak then // find the previous bar that was greater than this peak (trough)
begin
repeat b := b - 1;
if b < 0 then break;
until PriceClose( b ) > Val;
end
else
repeat b := b - 1;
if b < 0 then break;
until PriceClose( b ) < Val;
lvl.b1 := b1;
lvl.b2 := b2;
lvl.Value := Val;
if b = -1 then
lvl.MinBar := 0
else
lvl.MinBar := b + 1;
end;
function IsARect( bar: integer ): boolean;
begin
Result := ( Plvl.b1 > Tlvl.b1 ) and ( Tlvl.b1 > Plvl.b2 ) and ( Plvl.b2 > Tlvl.b2 )
and ( Tlvl.b2 >= Plvl.MinBar ) and ( Plvl.b2 >= Tlvl.MinBar );
if not Result then
Result := ( Tlvl.b1 > Plvl.b1 ) and ( Plvl.b1 > Tlvl.b2 ) and ( Tlvl.b2 > Plvl.b2 )
and ( Tlvl.b2 >= Plvl.MinBar ) and ( Plvl.b2 >= Tlvl.MinBar );
if Result then
begin
rect := TRect.Create;
rect.stBar := Round( Max( Plvl.MinBar, Tlvl.MinBar ) );
rect.enBar := -1;
rect.idBar := bar;
rect.pVal := Plvl.Value;
rect.tVal := Tlvl.Value;
rect.T1 := 0;
rect.T2 := 0;
rectList.AddObject( bar, rect );
// Print( 'Plvl.b1: ' + IntToStr( Plvl.b1 ) + '; Plvl.b2: ' + IntToStr( Plvl.b2 ) + '; Tlvl.b1: ' + IntToStr( Tlvl.b1 ) + '; Tlvl.b2: ' + IntToStr( Tlvl.b2 ) );
end;
end;
procedure ProjectTargets( Bar: integer; ShowUpper, ShowLower, Breakout: boolean; var R: TRect );
{* Called when rect level crossed (breakout) or when rect is active on the final bar of chart *}
var
d, T1, T2, idBar: float;
Color: integer;
begin
procedure DrawTargets( b: integer; Start, T1, T2: float );
begin
DrawLine( b, Start, b, T2, 0, #Blue, #Dotted );
DrawCircle( 7, 0, b, T2, #Blue, #Thick );
DrawCircle( 7, 0, b, T1, #Red, #Thick );
AnnotateChart( 'T2: ' + FormatFloat( '0.00', T2 ), 0, b - 23, T2, #Blue, 8 );
AnnotateChart( 'T1: ' + FormatFloat( '0.00', T1 ), 0, b - 23, T1, #Red, 8 );
end;
d := R.pVal - R.tVal;
if ShowUpper then
begin
Color := #BlueBkg;
T1 := R.pVal + d;
T2 := R.pVal + 2.3 * Power( d, 0.8 );
DrawTargets( R.idBar, PriceHigh( R.idBar ) * 1.01, T1, T2 );
end;
if ShowLower then
begin
Color := #RedBkg; // Note! The SAC article did not specify downside targets
T1 := R.tVal - d; // For simplicity, I used the same calculation but constrained the target to 0
if T1 < 0 then
begin
T1 := 0;
T2 := 0;
end
else
T2 := R.tVal - 2.3 * Power( d, 0.8 );
if T2 < 0 then T2 := 0;
DrawTargets( R.idBar, PriceLow( R.idBar ) * 0.99, T1, T2 );
end;
if Breakout then
begin
R.T1 := T1; // if Breakout = true, then only ShowUpper OR ShowLower is true
R.T2 := T2;
R.enBar := Bar;
RectActive := false;
LastRectEndBar := Bar;
end;
end;
procedure ShowRectangle( Bar, Color: integer; var R: TRect );
var
brkoutP, brkoutT: float;
begin
brkoutP := 1 + brkoutPCT/100;
brkoutT := 1 - brkoutPCT/100;
DrawLine( R.stBar, R.pVal * brkoutP, Bar, R.pVal * brkoutP, 0, #Blue, #Thin );
DrawLine( R.stBar, R.tVal * brkoutT, Bar, R.tVal * brkoutT, 0, #Red, #Thin );
DrawRectangle( R.stBar, R.pVal, Bar, R.tVal, 0, Color, #Thick, Color, true );
end;
SENS := SENS / 100;
Plvl := TLevel.Create;
Tlvl := TLevel.Create;
for b := 20 to BarCount - 1 do
begin
pb := PeakBar( b, #Close, PCT );
tb := TroughBar( b, #Close, PCT );
if ( pb > 0 ) and ( tb > 0 ) then
break;
end;
for Bar := b + 1 to BarCount - 1 do
begin
if not RectActive then
begin
pbN := PeakBar( Bar, #Close, PCT );
tbN := TroughBar( Bar, #Close, PCT );
if ( pbN > pb ) or ( tbN > tb ) then
begin
pb := pbN;
pVal := Peak( Bar, #Close, PCT ); // Value of current peak to compare for match
ptBar := pbN - 1; // Subtract 1 to find the previous peak
n := 0;
peakMatch := false;
while ( PeakBar( ptBar, #Close, PCT ) > LastRectEndBar ) and ( n < 6 ) do //and ( n < 6 )
begin
f := Peak( ptBar, #Close, PCT );
ptBar := PeakBar( ptBar, #Close, PCT );
diff := f / pVal - 1;
peakMatch := Abs( diff ) <= SENS;
if peakMatch then
begin
pVal := Max( f, pVal ); // highest "matching" peak value
CreateLevel( Bar, pbN, ptBar, true, pVal, Plvl );
peakMatch := true;
break;
end
else if f > pVal then // already above current peak level
break;
ptBar := ptBar - 1;
n := n + 1;
end;
tb := tbN;
tVal := Trough( Bar, #Close, PCT ); // Value of current trough to compare for match
ptBar := tbN - 1;
n := 0;
troughMatch := false;
while TroughBar( ptBar, #Close, PCT ) > LastRectEndBar and ( n < 6 ) do
begin
f := Trough( ptBar, #Close, PCT );
ptBar := TroughBar( ptBar, #Close, PCT );
diff := f / tVal - 1;
troughMatch := Abs( diff ) <= SENS;
if troughMatch then
begin
tVal := Min( f, tVal );
CreateLevel( Bar, tbN, ptBar, false, tVal, Tlvl );
troughMatch := true;
break;
end
else if f < tVal then // already below current trough level
break;
ptBar := ptBar - 1;
n := n + 1;
end;
if peakMatch and troughMatch then
RectActive := IsARect( Bar );
end;
end;
if RectActive then
begin
{* Rectangle active, check for breakouts - could happen on the same bar as detection! *}
if CrossOverValue( Bar, #Close, rect.pVal * (1 + brkoutPCT/100) ) then
begin
ShowRectangle( Bar, #BlueBkg, rect );
ProjectTargets( Bar, true, false, true, rect );
rect.breakUp := true;
end
else if CrossUnderValue( Bar, #Close, Tlvl.Value * (1 - brkoutPCT/100) ) then
begin
ShowRectangle( Bar, #RedBkg, rect );
ProjectTargets( Bar, false, true, true, rect );
rect.breakUp := false;
end
else if Bar = BarCount - 1 then
begin
ShowRectangle( Bar, 997, rect );
ProjectTargets( Bar, true, true, false, rect );
end;
end;
end;
end;
var Bar, p, n: integer;
var breakPrice, stopPr: float;
var R: TRect;
var RectActive: boolean = false;
var enBreakEvenStop: boolean = false;
var PeakTroughPct: float = #OptVar1;
var SensitivityPct: float = #OptVar2 / 10;
var boSensitivityPct: float = #OptVar3 / 10;
{* Initialize the list of rectangles, rectList *}
FindRectangles( PeakTroughPct, SensitivityPct, boSensitivityPct );
{* Access and print some values from the rectangles shown on the chart *}
Print( 'stBar' + #9 + 'idBar' + #9 + 'enBar' + #9 + 'T2');
for n := 0 to rectList.Count - 1 do
begin
R := rectList.Object( n ) as TRect;
Print( IntToStr( R.stBar ) + #9 + IntToStr( R.idBar )
+ #9 + IntToStr( R.enBar ) + #9 + FormatFloat( '0.00', R.T2 ) );
end;
PlotStops;
for Bar := 20 to BarCount - 1 do
begin
if LastPositionActive then
begin
p := LastPosition;
var pePrice: float = PositionEntryPrice( p );
if PositionLong( p ) then
begin
if not enBreakEvenStop then
enBreakEvenStop := PriceHigh( Bar ) >= R.T1;
if enBreakEvenStop then
stopPr := pePrice
else
stopPr := GetPositionRiskStop( p );
if not SellAtStop( Bar + 1, stopPr, p, 'Stop Loss' ) then
SellAtLimit( Bar + 1, R.T2, p, 'T2' );
end
else
begin
if not enBreakEvenStop then
enBreakEvenStop := PriceLow( Bar ) <= R.T1;
if enBreakEvenStop then
stopPr := pePrice
else
stopPr := GetPositionRiskStop( p );
if not CoverAtStop( Bar + 1, stopPr, p, 'Stop Loss' ) then
CoverAtLimit( Bar + 1, R.T2, p, 'T2' );
end;
end
else
begin { Entry logic }
if not RectActive then
begin
enBreakEvenStop := false;
n := rectList.IndexOf( Bar ); // was a rectangle identified on this bar?
if n > -1 then
begin
R := rectList.Object( n ) as TRect;
RectActive := true;
end;
end;
{ breakouts occur on R.enBar }
if RectActive and ( Bar = R.enBar ) then
begin
RectActive := false;
stopPr := ( R.tVal + R.pVal ) / 2;
SetRiskStopLevel( stopPr );
if Bar - R.stBar > 60 then // only trade rectangles that span at least 3 months (daily bars)
if R.breakUp then
begin
BuyAtMarket( Bar + 1, '' );
breakPrice := R.pVal * (1 + boSensitivityPct/100);
end
else
begin
ShortAtMarket( Bar + 1, '' );
breakPrice := R.tVal * (1 - boSensitivityPct/100);
end;
end;
end;
end;



رد مع اقتباس
قديم 09-12-2011, 01:55 PM
  المشاركه #645

عضو موقوف

تاريخ التسجيل: Jul 2006
المشاركات: 6,130
slimi غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة slimi مشاهدة المشاركة
تكر شارت انا مخليه للربط فقط .. وبرنامج الويلث لاب هو اللي اشتغل عليه

ونعم انا احدث البرنامج واهو شغال .. لاني لا ارى تحرك الاسعار في الويلث لاب لذلك احدثه من اعلى الصفحه

وعندي سؤال كيف طريقة تحديث البرنامج وهو مغلق ..؟؟؟
برنامج تكر شارت ترند الاصدار الاخير موجود في موقع تكر شارت

...

والحين عند فتح الشارت يظهر لي الشارت ناقص وشبه فاضي مدري شسالفه وهذه صورة الشارت ..

[IMG]رد: تنصيب -- خصائص -- مؤشرات -- لبرنامج -- Wealth-Lab Pro --[/IMG]



رد مع اقتباس
قديم 09-12-2011, 04:03 PM
  المشاركه #646

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

تاريخ التسجيل: Mar 2008
المشاركات: 997
المسلفط غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة slimi مشاهدة المشاركة
برنامج تكر شارت ترند الاصدار الاخير موجود في موقع تكر شارت

...

والحين عند فتح الشارت يظهر لي الشارت ناقص وشبه فاضي مدري شسالفه وهذه صورة الشارت ..

[IMG]رد: تنصيب -- خصائص -- مؤشرات -- لبرنامج -- Wealth-Lab Pro --[/IMG]
اخوي الغالي slimi اذا كنت تستخدم التكرتشارت اختر اقيونة الاعدادات واختر منها ميتاستوك ثم اختر اعادة بناء بيانات الميتاستوك وقبل كل هذا تأكد انك ما لعبت في اعدادات بيانات برنامج الويلث تلقها على يسارك اعلى بين صورة الشارت وقائمة الاسهم ضع خيار كل البيانات



رد مع اقتباس
قديم 09-12-2011, 04:51 PM
  المشاركه #647

محلل فني

تاريخ التسجيل: Dec 2009
المشاركات: 14,448
شاهي منعنع غير متواجد حالياً  

اقتباس:
المشاركة الأصلية كتبت بواسطة m o l y مشاهدة المشاركة
طريقة ربط البرنامج وتشغيله لحظيا وقت التداول لا اخونا abo eliasالله يجزاه كل خير بشرح مني لكم



تحميل الملف من هذا الرابط
رد: مشاركة: Wealth-Lab Pro -- تنصيب -- خصائص -- مؤشرات


بعد تحميل الملف نفك الضغط
ثم ننسخ الملفات إلى دليل برنامج ويلث لاب وهو عادة في
c:\program files\fidelity investments\wealth-lab pro



رد: مشاركة: Wealth-Lab Pro -- تنصيب -- خصائص -- مؤشرات

بعد ذلك نحتاج إلى تسجيل الملفات الجديدة في الوندوز كما يلي:-
من ابدأ ثم تشغيل نكتب السطر التالي ثم ok
regsvr32 "c:\program files\fidelity investments\wealth-lab pro\metalib.dll"



سوف تظهر بعد ذلك رسالة تفيد بأن العملية تمت بنجاح ونضغط على ok


اقتباس:
المشاركة الأصلية كتبت بواسطة m o l y مشاهدة المشاركة
طريقة الربط لحظي


رد: مشاركة: Wealth-Lab Pro -- تنصيب -- خصائص -- مؤشرات

رد: مشاركة: Wealth-Lab Pro -- تنصيب -- خصائص -- مؤشرات

رد: مشاركة: Wealth-Lab Pro -- تنصيب -- خصائص -- مؤشرات

رد: مشاركة: Wealth-Lab Pro -- تنصيب -- خصائص -- مؤشرات

رد: مشاركة: Wealth-Lab Pro -- تنصيب -- خصائص -- مؤشرات


رد: مشاركة: Wealth-Lab Pro -- تنصيب -- خصائص -- مؤشرات

الأخت مولي مشكورة ..او اي احد من الأخوان ياليت تفيدونا في طريقة عمل البرنامج لحظي ..



رد مع اقتباس
قديم 09-12-2011, 09:20 PM
  المشاركه #648

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

تاريخ التسجيل: Dec 2006
المشاركات: 453
ابو حمزة المدني غير متواجد حالياً  

السلام عليكم جزاك الله الف خير اختي الكريمة


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


الكلمات الدلالية (Tags)
لبرنامج, مؤشرات, تنصيب, خصائص, pro, wealthlab

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

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

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

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



07:51 AM