،،،السلام عليكم ورحمة الله وبركاته،،،
،،،اعضاء وزوار منتديات ارابيا الكرام،،،
،،،اكسبيرتات التداول تعمل بنظام الوقت الفعلي او Real-Time بمعني انها تعمل كل حركة سعرية Every Tick ، وهذا النظام له ايجابياته ومساوئه،،،
،،،وعلي الجانب الايجابي نجد ان العمل كل حركة سعرية يتيح للاكسبيرت ان يمسك بالحركات السعرية الصغيرة وهذا مفيد جدا لمتاجري الاسكالبنج،،،
،،،وعلي الجانب السلبي يمكن ان يستجيب الاكسبيرت او يقوم بالدخول علي اشارات خاطئة،،،
،،،لذلك من الافضل ان يتم البحث عن شروط الدخول مرة واحدة في بداية افتتاح الشمعة وبذلك نكون قد تأكدنا من ثبات شروط الدخول،،،
،،،ايضا من المزايا عند عمل باك تيست ستكون النتيجة اكثر دقة وذلك لان البيانات يتم توليدها من فريم الدقيقة لذلك طريقة تحليل الشروط كل شمعة نتائجها اكثر دقة واسرع من طريقة تحليل الشروط كل حركة سعرية،،،
،،،هناك طريقتين لمعرفة ان شمعة جديدة فتحت ، الاولي عن طريق الوقت والثانية عن طريق الفوليوم،،،
،،،اولا عن طريق الوقت،،،
datetime CurrentTime;
void OnInit(){
CurrentTime= Time[0];
return(0);
}
void OnTick(){
if(CurrentTime != Time[0]){
// يتم كتابة شروط البيع او الشراء هنا
CurrentTime= Time[0];
return(0);
}
،،،بعد ذلك في وظيفة OnTick قمنا بمقارنة قيمة المتغير CurrentTime بقيمة الوقت الحالي وعند وجود اختلاف فهذا يعني ان شمعة جديدة فتحت ويتم البحث في شروط الدخول والتنفيذ اذا توافرت ، وبعد ذلك نقوم باسناد قيمة الوقت الحالي للمتغير CurrentTime مرة اخري،،،
،،،ثانيا عن طريق الفوليوم،،،
void OnTick(){
if(iVolume(Symbol(),PERIOD_CURRENT,0)<=1){
// يتم كتابة شروط البيع او الشراء هنا
}
return(0);
}
،،،وهذه الطريقة افضل بكثير والكود اقصر وكلما اختصرنا في الكود كان ذلك افضل من حيث استهلاك البرنامج لموارد الجهاز سواء الرامات او البروسيسور،،،
،،،تحياتي،،،