اصابة السهم |
10-12-2007 12:08 AM |
هدية عيد الاضحى " مؤشر وزنك ذهب " المؤشر الذي اعطانا نهاية التصحيح منذ شهر 6/2007م
بسم الله الرحمن الرحيم
الحمد لله والصلاة والسلام على رسول الله صلى الله عليه وسلم
اخواني في الله
كل عام وانتم بخير بمناسبة قرب حلول عيد الاضحى المبارك اعاده الله علينا وعليكم باليمن والبركات وتقبل منا ومنكم صالح الاعمال
في هذه المناسبة احببت ان اهدي لكم مؤشر من العيار الثقيل
هذا المؤشر الذي بفضل الله تم تحديد نهاية التصحيح من خلاله منذ شهر 7/2007 م عندما كان المؤشر في مشارف 7000 نقطة
وكان الموضوع على الرابط التالي
http://tdwl.net/vb/showthread.php?t=228425
وهذه صورة المؤشر عندما حددنا ان شهر 6/2007م نهاية الاحزان إن شاء الله
http://www.chartsreaders.com/tasi472007.jpg
الان ناتي لشرح المؤشر
المؤشر ضمن مؤشرات برنامج الويلث لاب
مؤشر وزنك ذهب
اصل المؤشر في الويلث لكن تم تعديله بمعرفتي ليكون اكثر دقة ووضوح في اشاراته
هذا المؤشر هو المؤشر المتخصص في توضيح مستويات الصعود المختلفة وكذلك مستويات النزول المختلفة
هذا المؤشر هو الذي يعطينا الضوء الاخضر لانتهاء مستويات النزول وقرب الدخول في مستويات الصعود
هذا المؤشر هو الذي يعطينا الضوء الاحمر لقرب عمليات جني الارباح والدخول في مستويات النزول
ارجو التمعن في الصورة التالية التي تم تطبيق المؤشر عليها لسهم شمس
http://www.chartsreaders.com/wellab/qu4170.jpg
وسوف ارفق لكم كود معادلة المؤشر الأن ما عليك إلا نسخ الكود واضافته في برنامج الويلث لاب كمؤشر جديد
كود:
var
Bar
: integer;
// Put Trading System Vars Here ---
var
iRSISeries, iStochDSeries, iRSIStochSeries, iPriceOscSeries,
iMA19, iMA39, iMA30, iCountSeries,
iCount
: integer;
// End of Trading System Vars ---
// Integers required by ST Loop ---
var
StartScan, StopScan,
P1, P2, P3, P4, P5, P6, P7, P1Max,
Start,
SmoothedEquity
: integer;
// Floats required by ST Loop ---
var
EquityFinal, EquityMax,
tempf
: float;
// Booleans required by ST Loop ---
var
FinalRun
: boolean;
// Limits Of Our Self Tuning Loop ---
StartScan := 3;
StopScan := 13;
// Reset our Vars ---
EquityMax := 0.0 ;
P1Max := 0 ;
FinalRun := False ;
// Start of our self tuning loop ---
for P1 := StartScan to StopScan do
begin
//If we are at the end of the run, set up for the best Equity Results ---
if ( P1 = StopScan )
then
begin
FinalRun := True ;
P1 := P1Max ;
end;
// Calculate our current tuning Paramaters ---
P2 := trunc( P1 * 14/5 ) ;
P3 := trunc( P1 * 21/5 ) ;
P4 := trunc( P1 * 13/5 ) ;
P5 := trunc( P1 * 19/5 ) ;
P6 := trunc( P1 * 30/5 ) ;
P7 := trunc( P1 * 39/5 ) ;
// starting bar to fill longest period indicator ---
Start := P7 + 1 ;
// Uncomment For Debug ---
//Print('P1:' + IntToStr(P1) + ' P2:' + IntToStr(P2) + ' P3:' + IntToStr(P3) + ' Start:' + IntToStr(Start) );
//-------------------------------------------
//Build our Working Indicator Series Here ---
//-------------------------------------------
iCountSeries := CreateSeries();
iRSISeries := RSISeries(#Close, P2 );
iStochDSeries := StochDSeries( P3 , P4 );
iMA19 := SMASeries( #Close, P5 );
iMA30 := SMASeries( #Close, P6 );
iMA39 := SMASeries( #Close, P7 );
iRSIStochSeries := DivideSeriesValue(AddSeries(iRSISeries, iStochDSeries),2);
iPriceOscSeries := SubtractSeries(iMA19, iMA39);
for Bar := Start to BarCount -1 do
begin
iCount := 0;
if @iRSIStochSeries[Bar] >= 50 then
Inc(iCount);
if @iRSIStochSeries[Bar] >= 65 then
Inc(iCount);
if @iPriceOscSeries[Bar] > 0 then
Inc(iCount);
if (@iPriceOscSeries[Bar] - @iPriceOscSeries[Bar-6]) > 0 then
Inc(iCount);
if (@iRSIStochSeries[Bar] - @iRSIStochSeries[Bar-6]) > 0 then
Inc(iCount);
if PriceClose(Bar) > @iMA30[Bar] then
Inc(iCount);
@iCountSeries[Bar] := iCount;
if iCount <= 0.5 then
SetSeriesBarColor(Bar, iCountSeries, #red );
if (iCount > 0.5) and (iCount < 2) then
SetSeriesBarColor(Bar, iCountSeries, #black );
if (iCount >= 2) and (iCount < 3) then
SetSeriesBarColor(Bar, iCountSeries, #Fuchsia );
if (iCount >= 3) and (iCount < 4.5) then
SetSeriesBarColor(Bar, iCountSeries, #blue );
if (iCount >= 4.5) and (iCount <= 5) then
SetSeriesBarColor(Bar, iCountSeries, #lime );
if iCount > 5 then
SetSeriesBarColor(Bar, iCountSeries, #Green );
end;
//-------------------------------------------
//Build our Trading Loop Here ---
//-------------------------------------------
for Bar := Start to BarCount - 1 do
begin
if not LastPositionActive then
{ Entry Rules }
begin
if @iCountSeries[Bar] >= 5 then
BuyAtMarket(Bar+1, 'Turtle Buy');
end
else
{ Exit Rules }
begin
if @iRSIStochSeries[Bar] < 65 then
if @iCountSeries[Bar] <= 3 then
SellAtMarket(Bar+1, LastPosition, 'Turtle Sell');
end;
end; //Trading Loop ---
// smooth the equity curve for the last 30 samples ---
SmoothedEquity := CreateSeries;
tempf := 0.0 ;
//Sum up the Equity ---
For Bar := Start to BarCount -1 do
tempf := tempf + Equity(Bar);
// ave equity of the last 30 bars ---
EquityFinal := tempf / 30 ;
// Uncomment For Debug ---
//ShowMessage('Test for P1 '+IntToStr(P1)+' Equity = '+ FormatFloat( '#,##0.00', EquityFinal ) );
// See if we have a new max equity ---
if ( EquityFinal > EquityMax )
then
begin
EquityMax := EquityFinal ;
P1Max := P1 ;
end;
// If this is the final run, break the loop so our Indicators can print ---
if (FinalRun )then break ;
// Reset the Position and try again ---
ClearPositions ;
end; //P1 Loop ---
// Uncomment For Debug ---
Print('P1Max:' + IntToStr(P1Max) + ' EquityMax:' + FloatToStr(EquityMax));
// Display All Indicators Here ---
hidevolume;
var RSIPane: integer;
RSIPane := CreatePane(50, true, true );
PlotSeries( iRSISeries, RSIPane, 900, #Thick );
DrawLabel( 'RSI(Close,'+IntToStr(P2)+')', RSIPane );
PlotSeries( iStochDSeries, RSIPane, 009, #Thick );
DrawLabel( 'StochD('+IntToStr(P3)+','+IntToStr(P4)+')', RSIPane );
var RSIStochPane: integer;
RSIStochPane := CreatePane(50, true, true );
PlotSeries( iRSIStochSeries, RSIStochPane, 900, #Thick );
DrawLabel( 'RSI/Stoc', RSIStochPane );
PlotSeries( iMA19, 0, 050, #Thin );
DrawLabel( 'SMA(Close,'+IntToStr(P5)+')', 0 );
PlotSeries( iMA39, 0, 009, #Thin );
DrawLabel( 'SMA(Close,'+IntToStr(P7)+')', 0 );
PlotSeries( iMA30, 0, 900, #thick );
DrawLabel( 'SMA(Close,'+IntToStr(P6)+')', 0 );
var CountPane: integer;
CountPane := CreatePane(100, false, true );
PlotSeries( iCountSeries, CountPane, 900, #ThickHist );
DrawLabel( 'Turtle Count Green-Buy / Blue-Hold / Red-Sell', CountPane );
SetPaneMinMax(CountPane, 0, 7);
DrawLabel( 'Base Tuning Variable P1 = '+IntToStr(P1), CountPane );
DrawLabel( ' ' , CountPane);
// warn that tune chose the start value
if ( P1 = StartScan ) then
begin
DrawLabel( 'WARNING P1 = the starting scan value - Not a Good Choice! ' , CountPane );
end;
if ( P1 = StopScan ) then
begin
DrawLabel( 'WARNING P1 = the stop scan value ' , CountPane );
end;
في نهاية موضوعي اعتذر عن عدم طرح اي امور تخص السوق الفترة الماضية وكذلك الفترة الحالية لاعتزالي الكتابة في جميع المنتديات لاسباب خاصة فارجو السموحة من الجميع عن اي خطا صدر مني في جميع موضوعاتي السابقة فما انا الا بشر قد اصيب وقد اخطا
ولكن بين الحين والاخر سوف اطرح لكم بعض المؤشرات الخاصة جدا داخل برنامج الويلث لاب الذي يعتبر اقوى برامج التحليل الفني على الاطلاق
تحياتي لكم جميعا
اخوكم
ابومحمد-اصابة السهم
|