النتائج 1 إلى 15 من 82
- 12-11-2017, 03:17 AM #1
- 12-11-2017, 03:24 AM #2
اسفل مؤشر من احد المنتديات وفيه بعض العيوب
فهو يربط الحسابات بالشموع المرئية على التشارت من خلال: WindowFirstVisibleBar
- 12-11-2017, 03:27 AM #3
تأمل العيب في الاصورة اسفل
انا ازحتها شوي بعد التطبيق لكي يظهر لك ان هناك قيعان قبل البدء
- 12-11-2017, 03:31 AM #4
- 12-11-2017, 05:51 AM #5
إذن أقل أسطر برمجية لرسم فيبو بقيم صفرية هو دالة ObjectCreate
وكما ترى تتكون من 7 برامترز "معطيات" :
1) اسم الشيء--اخترنا هنا DrawFibo
2) نوع الشيء وهو هنا OBJ_FIBO
3) رقم النافذة وهو هنا 0 -- يعني على التشرات الحالي
4) زمن فيبو الاول عند القمة او القاع --ايهما سبق
5) سعر فيبو الاول للقمة او القاع ايهما سبق
6) زمن نقطة فيبو الثانية عند القمة او القاع ايهما سبق
7) سعر فيبو الاول للقمة او القاع ايهما سبق
===
مجرد وجود OBJ_FIBO يحسب لك نسب فيبو حسب السعرين 5 و 7 ويرسمها كما حددتها انت في المعطيات الخارجية--والتي تعتبر هنا مخفية
- 12-11-2017, 05:53 AM #6
الان بينا عيب طريقتهم في المثال الذي طرحوه في المانوال
سنعتمد هنا افضل طريقة اعرفها حتى الان, التفتيش عن قمم او قيعان حقيقية على مسافة بحث زمنية متساوية.
- 12-11-2017, 06:27 AM #7
تم تصميمه كاملا بقوة 50 شمعة--كل المتغيرات محلية local
مع الشرح نجعلها في الحالة المثالية
اسفل-يكشتف القمة والقاع الحقيقي
ثم دبل تشك لهذه القمة او القاع الحقيقي وفي نفس الوقت يكتشف رقم باراتها
ثم يبحث ايهما سبق
ثم يرسم
كود PHP:void OnInit()
{
datetime TIME1, TIME2 ;
double PRICE1, PRICE2 ;
int NumberOfCandles=50;
double high;
double low;
int TotalCandles=20000;
int Clow,Chigh;
for(int j=0;j<=TotalCandles;j++)
{ //3
double high1 = iHigh( NULL, 0, iHighest(NULL, 0, MODE_HIGH, NumberOfCandles, j));
double high2 = iHigh( NULL, 0, iHighest(NULL, 0, MODE_HIGH, NumberOfCandles, NumberOfCandles+j-1));
if(high1==high2 && high1!=0 && high2!=0)
{//4
high=high1;
Chigh=NumberOfCandles+j-1;
break;
}//4
}//3
for(j=0;j<=TotalCandles;j++)
{//3
double low1 = iLow( NULL, 0, iLowest( NULL, 0, MODE_LOW, NumberOfCandles, j));
double low2 = iLow( NULL, 0, iLowest( NULL, 0, MODE_LOW, NumberOfCandles, NumberOfCandles+j-1));
if(low1==low2 && low1!=0 && low2!=0)
{//4
low=low1;
Clow=NumberOfCandles+j-1;
break;
}//4
}//3
int From, To;
int FROM, TO;
string state;
if(Clow>Chigh) { From=Chigh; To=Clow; state="FromHighToLow"; }
else { From=Clow; To=Chigh; state="FromLowToHigh"; }
PRICE1=iHigh( NULL, 0, iHighest(NULL, 0, MODE_HIGH, To-From+1, From));
PRICE2=iLow( NULL, 0, iLowest(NULL, 0, MODE_LOW, To-From+1, From));
FROM=iHighest( NULL, 0, MODE_HIGH, To-From+1, From);
TO=iLowest( NULL, 0, MODE_LOW, To-From+1, From);
TIME1=iTime(NULL,0,FROM);
TIME2=iTime(NULL,0,TO);
ObjectDelete("DrawFibo");
if(state=="FromHighToLow")
ObjectCreate("DrawFibo",OBJ_FIBO,0,TIME2,PRICE2,TIME1,PRICE1);
else if(state=="FromLowToHigh")
ObjectCreate("DrawFibo",OBJ_FIBO,0,TIME1,PRICE1,TIME2,PRICE2);
}
- 12-11-2017, 06:28 AM #8
- 12-11-2017, 08:43 AM #9
الكود اعلاه داخل OnInit سنجعله في دالة مستقلة
بحيث نستطيع بعد ذلك رسم اي عدد من نسب فيبو على التشارت من خلال استدعاء تلك الدالة عدة مرات من داخل Oninit
لاحظ لان فيبو حسبة مرة واحدة فقط--- لذا افضل مكان له هو دالة OnInit -يعني ماتحتاج OnTick و OnTimer
وطبعا ممكن تضعه تحت اي من الثلاثة : 1) المؤشرات 2) السكربتات 3) الاكسبيرتات
وفيها كلها تحتاج فقط OnInit -- لانه هنا لاحاجة للمتسلسلة الزومنية timeSeries + انه سيكون على التشارت الاصلي!
فقط لو اخترت مؤشرات ماتنسى البروبرتي chart_windiw
- 12-11-2017, 08:45 AM #10
- 12-11-2017, 08:47 AM #11
سترى شيء كهذا
ثلاث فيبوهات!!
يعني ابيك تتصور تريد فيبو اسبوعي مع الديلي ولكن مطبق ديلي!!! اذن تحتاج فقط تضاعف بحث احدها خمس مرات--لان الاسبوع خمسة ايام!!
او اذا لديك خلفية عن نماذج الخفاش الخ او موجات اليوت!! تحتاج اكثر من فيبو وفق منهجية معينة,
الطريق يبدأ من هنا.
- 12-11-2017, 08:50 AM #12
لماذا البرنامج اعلاه عندما تطبقه وتغير الفريم فعلا ترى قمم وقيعان حقيقية!!
السر في تقاطع البحث نقطة NumberOfCandles+j-1
ملحوظة: انا اول من اعتمد هذا الاسلوب او اكتشفه
فانت لديك مجال بحث 50 شمعة -- اذن تفترض وجود خطين افقيين يتحركان من اليمين لليسار الخط الاول من الشمعة 0 وحتى 50 والخط الثاني من الشمعة 50 وحتى الشمعة 99
لاحظ يتقاطعون دائما في شمعة واحدة هي الشمعة 50
ومستحيل يكون هناك قمة صريحة الا اذا كان كلا الخطين يرون نفس القمة عند نفس البارة
هذه الفكرة كلها
تستمر ازاحة الخطين الى اليسار شمعة شمعة حتى اككتشاف قمة مشتركة! فيحدث بريك لـ اللوووووووووووبآخر تعديل بواسطة فيلسوف البادية ، 12-11-2017 الساعة 08:55 AM
- 12-11-2017, 08:54 AM #13
اسفل الكود
يعود لك جعل C1 و C2 و C3 متغيرات خارجية
وممكن تخليه 60 فيبو لو حبيت او 2 فيبو بحذف عبارة استدعاء من اسفل
كود PHP:int C1=100;
int C2=200;
int C3=300;
void OnInit()
{
GF1("FIBO_A", C1, clrWhite);
GF1("FIBO_B", C2, clrYellow);
GF1("FIBO_C", C3, clrAqua);
}
void GF1(string name, int NumberOfCandles, color clr)
{
datetime TIME1, TIME2 ;
double PRICE1, PRICE2 ;
double high;
double low;
int TotalCandles=20000;
int Clow,Chigh;
for(int j=0;j<=TotalCandles;j++)
{ //3
double high1 = iHigh( NULL, 0, iHighest(NULL, 0, MODE_HIGH, NumberOfCandles, j));
double high2 = iHigh( NULL, 0, iHighest(NULL, 0, MODE_HIGH, NumberOfCandles, NumberOfCandles+j-1));
if(high1==high2 && high1!=0 && high2!=0)
{//4
high=high1;
Chigh=NumberOfCandles+j-1;
break;
}//4
}//3
for(j=0;j<=TotalCandles;j++)
{//3
double low1 = iLow( NULL, 0, iLowest( NULL, 0, MODE_LOW, NumberOfCandles, j));
double low2 = iLow( NULL, 0, iLowest( NULL, 0, MODE_LOW, NumberOfCandles, NumberOfCandles+j-1));
if(low1==low2 && low1!=0 && low2!=0)
{//4
low=low1;
Clow=NumberOfCandles+j-1;
break;
}//4
}//3
int From, To;
int FROM, TO;
string state;
if(Clow>Chigh) { From=Chigh; To=Clow; state="FromHighToLow"; }
else { From=Clow; To=Chigh; state="FromLowToHigh"; }
PRICE1=iHigh( NULL, 0, iHighest(NULL, 0, MODE_HIGH, To-From+1, From));
PRICE2=iLow( NULL, 0, iLowest(NULL, 0, MODE_LOW, To-From+1, From));
FROM=iHighest( NULL, 0, MODE_HIGH, To-From+1, From);
TO=iLowest( NULL, 0, MODE_LOW, To-From+1, From);
TIME1=iTime(NULL,0,FROM);
TIME2=iTime(NULL,0,TO);
ObjectDelete(name);
if(state=="FromHighToLow")
ObjectCreate(name,OBJ_FIBO,0,TIME2,PRICE2,TIME1,PRICE1);
else if(state=="FromLowToHigh")
ObjectCreate(name,OBJ_FIBO,0,TIME1,PRICE1,TIME2,PRICE2);
ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,0,clr);
ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,0,2);
}
- 12-11-2017, 08:54 AM #14
انتهى الاهم
لو وجد اي اضافات فهو شكليات
- 13-11-2017, 11:15 PM #15
ما شاء اللخ عليك اخي الكريم
اكواد نظيفة ... ارفع لك القبعة يا فيلسوف