المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الموضوع المخصص للأسئلة البرمجية mql4



الصفحات : 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15

kira-h
09-03-2020, 06:20 PM
السلام عليكم
كيف اقول برمجه
اذا كان الوقت اغلاق اخر صفقه على نفس الزوج
على نفس الشمعه على نفس التيم فريم
لا تفتح حتى تغلق الشمعه الحاليه
ثانى شى
الوقت يخرج بشكل رقم صحيح كيف اغيره الى صيغه الوقت الساعه ودقائق
وعليكم السلام
لا يمكن معرفة فريم الصفقة ! ولكن إذا تقصد مقارنة توقيت إغلاق الصفقة مع توقيت الشمعة بالفريم الحالي (او بفريم محدد سلفا) فهذا ممكن كالتالي :


int OrdersTime(int timeframe)
{
int cnt=0;
for(int i=0;i<OrdersHistoryTotal();i++)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
string sy=OrderSymbol();
datetime tm=OrderِCloseTime();
if(sy==Symbol()&&mn==MagicNo&&ty<=OP_SELL)
{
if(tm>=iTime(Symbol(),timeframe,0))cnt++;
}
}
return(cnt);
}


مثلا تريد عدد الصفقات المغلقة قبل اغلاق شمعة الفريم الحالي سيكون الشرط كالتالي:
if(OrdersTime(0)==0)//open order
أو فريم محدد مثلا الساعة سيكون الشرط كالتالي:
if(OrdersTime(60)==0)//open order

kira-h
09-03-2020, 06:24 PM
الله يعطيك العافيه اخي الكريم ما قصرت
العفو أخي الكريم

shivaa
10-03-2020, 03:03 AM
السلام عليكم
المشكله عندى انى الربح بالدولار
بعد تحقق يعيد الدخول على نفس الشمعه هذا لا اريده
انا عاوزالمساعده فى كتابه هذه الداله

kira-h
10-03-2020, 04:39 PM
السلام عليكم
المشكله عندى انى الربح بالدولار
بعد تحقق يعيد الدخول على نفس الشمعه هذا لا اريده
انا عاوزالمساعده فى كتابه هذه الداله
وعليكم السلام
الدالة السابقة سليمة تحقق ما تريد
او ارفق الكود للمراجعة

Sherry
12-03-2020, 01:23 PM
السلام عليكم

اخي حسن
الله يعطيك العافيه

عندي استفسار

هل ممكن عمل داله تحدد لوت الشراء او البيع على اساس

اذا كان عندي لوت الشراء اكبر من لوت البيع

و حابب ان يكون الفرق بينهم يعادل لوت الشراء الاعلى


OrderLots()!=LOW_BUY_LOT&&LOW_BUY_LOT==SELL_LOTS

هل هي منطقيه ؟؟؟

hatembashir12
13-03-2020, 12:28 AM
السلام عليكم
اخي اريد تحويل الصيغه من ex4 ل mql4

kira-h
13-03-2020, 01:07 AM
السلام عليكم
اخي اريد تحويل الصيغه من ex4 ل mql4
وعليكم السلام
عفوا! لا اقوم بكسر الكود، ولكن يمكنك فتح موضوع طلب ربما تجد من يستطيع ذلك

kira-h
13-03-2020, 01:09 AM
السلام عليكم

اخي حسن
الله يعطيك العافيه

عندي استفسار

هل ممكن عمل داله تحدد لوت الشراء او البيع على اساس

اذا كان عندي لوت الشراء اكبر من لوت البيع

و حابب ان يكون الفرق بينهم يعادل لوت الشراء الاعلى


OrderLots()!=LOW_BUY_LOT&&LOW_BUY_LOT==SELL_LOTS

هل هي منطقيه ؟؟؟
وعليكم السلام
لا يمكنني معرفة ذلك فلا اعلم مصدر تلك المتغيرات وقيمها بالكود ...
لكن وضح أكثر المطلوب مع مثال رقمي حتى استطيع المساعدة

Sherry
13-03-2020, 03:37 PM
وعليكم السلام
لا يمكنني معرفة ذلك فلا اعلم مصدر تلك المتغيرات وقيمها بالكود ...
لكن وضح أكثر المطلوب مع مثال رقمي حتى استطيع المساعدة


جمعه مباركه

القصد هو اذا كان اجمالي صفقات البيع المفتوحه عندي 4 و تعادل 0.40 لوت و اجمالي صفقات الشراء المفتوحه 7 و تعادل 0.65 لوت و اسعار صفقات الشراء اكبر من اسعار صفقات البيع

المطلوب معرفة نقطة التوازن لصفقات الشراء التي تعادل الفرق بينهم و هو 0.25 لوت و هذا الفرق مطلوب ان يكون الاعلى

اي 0.40 لوت من الشراء == اللو للشراء

و ان 0.25 لوت من الشراء == الهاي للشراء

و ايضا معرفة نقطة التعادل ل 0.25 لوت من الشراء

الف شكر و اعتذر عن الاطاله

kira-h
13-03-2020, 05:13 PM
جمعه مباركه

القصد هو اذا كان اجمالي صفقات البيع المفتوحه عندي 4 و تعادل 0.40 لوت و اجمالي صفقات الشراء المفتوحه 7 و تعادل 0.65 لوت و اسعار صفقات الشراء اكبر من اسعار صفقات البيع

المطلوب معرفة نقطة التوازن لصفقات الشراء التي تعادل الفرق بينهم و هو 0.25 لوت و هذا الفرق مطلوب ان يكون الاعلى

اي 0.40 لوت من الشراء == اللو للشراء

و ان 0.25 لوت من الشراء == الهاي للشراء

و ايضا معرفة نقطة التعادل ل 0.25 لوت من الشراء

الف شكر و اعتذر عن الاطاله

يعني تريد السعر الذي يحقق التعادل لجميع الصفقات
كالتالي :


double Av_TotalPrices()
{
int Q=1;
if(_Digits==5||_Digits==3)int Q=10;

int B_Trades=0,S_Trades=0,Net_Trades=0;
double B_Size=0,B_Price=0,B_Profit=0,S_Size=0,S_Price=0,S _Profit=0,
Net_Lots=0,Net_Result=0,Average_Prices=0,steppips= 0,
Pip_Value=MarketInfo(Symbol(),MODE_TICKVALUE)*Q,
Pip_Size=MarketInfo(Symbol(),MODE_TICKSIZE)*Q;
//---
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string sy=OrderSymbol();
double op=OrderOpenPrice(),
lo=OrderLots(),
pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
int mn=OrderMagicNumber(),
ty=OrderType();
if(sy==Symbol()&&mn=MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B_Trades++;
B_Price +=op*lo;
B_Size +=lo;
B_Profit+=op+sw+cm;
}
if(ty==OP_SELL)
{
S_Trades++;
S_Price +=op*lo;
S_Size +=lo;
S_Profit+=op+sw+cm;
}
}
if(B_Size>0)B_Price/=B_Size;
if(S_Size>0)S_Price/=S_Size;
Net_Trades=B_Trades+S_Trades;
Net_Lots=B_Size-S_Size;
Net_Result=B_Profit+S_Profit;
//---
if(Net_Trades>0&&Net_Lots!=0)
{
steppips=(Net_Result/(MathAbs(Net_Lots*MarketInfo(Symbol(),MODE_TICKVAL UE)))*MarketInfo(Symbol(),MODE_TICKSIZE));
if(Net_Lots>0)Average_Prices=Bid-steppips;
if(Net_Lots<0)Average_Prices=Ask+steppips;
}
if(Net_Trades>0&&Net_Lots==0)Average_Prices=0;
}
}
return(NormalizeDouble(Average_Prices,Digits));
}

Sherry
14-03-2020, 01:30 AM
يعني تريد السعر الذي يحقق التعادل لجميع الصفقات
كالتالي :


double Av_TotalPrices()
{
int Q=1;
if(_Digits==5||_Digits==3)int Q=10;

int B_Trades=0,S_Trades=0,Net_Trades=0;
double B_Size=0,B_Price=0,B_Profit=0,S_Size=0,S_Price=0,S _Profit=0,
Net_Lots=0,Net_Result=0,Average_Prices=0,steppips= 0,
Pip_Value=MarketInfo(Symbol(),MODE_TICKVALUE)*Q,
Pip_Size=MarketInfo(Symbol(),MODE_TICKSIZE)*Q;
//---
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string sy=OrderSymbol();
double op=OrderOpenPrice(),
lo=OrderLots(),
pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
int mn=OrderMagicNumber(),
ty=OrderType();
if(sy==Symbol()&&mn=MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B_Trades++;
B_Price +=op*lo;
B_Size +=lo;
B_Profit+=op+sw+cm;
}
if(ty==OP_SELL)
{
S_Trades++;
S_Price +=op*lo;
S_Size +=lo;
S_Profit+=op+sw+cm;
}
}
if(B_Size>0)B_Price/=B_Size;
if(S_Size>0)S_Price/=S_Size;
Net_Trades=B_Trades+S_Trades;
Net_Lots=B_Size-S_Size;
Net_Result=B_Profit+S_Profit;
//---
if(Net_Trades>0&&Net_Lots!=0)
{
steppips=(Net_Result/(MathAbs(Net_Lots*MarketInfo(Symbol(),MODE_TICKVAL UE)))*MarketInfo(Symbol(),MODE_TICKSIZE));
if(Net_Lots>0)Average_Prices=Bid-steppips;
if(Net_Lots<0)Average_Prices=Ask+steppips;
}
if(Net_Trades>0&&Net_Lots==0)Average_Prices=0;
}
}
return(NormalizeDouble(Average_Prices,Digits));
}


الله يعطيك الف عافيه

القصد نقطة التعادل فعلا بس مو لكل الصفقات بيع و شراء

القصد نقطة التعادل لصفقات الشراء فقط بالفرق بمعنى ان 0.65 لوت شراء - 0.40 لوت بيع = 0.25 لوت شراء
و المطلوب ان يكون هذا الفرق 0.25 لوت لصفقات الشراء الهاي فقط
و العكس بالعكس بالنسبه للبيع اذا كان لوت البيع اكبر و يكون الفرق هنا لصفقات البيع اللو
دمت بكل الود سامحني ازعجتك

kira-h
14-03-2020, 03:57 AM
الله يعطيك الف عافيه

القصد نقطة التعادل فعلا بس مو لكل الصفقات بيع و شراء

القصد نقطة التعادل لصفقات الشراء فقط بالفرق بمعنى ان 0.65 لوت شراء - 0.40 لوت بيع = 0.25 لوت شراء
و المطلوب ان يكون هذا الفرق 0.25 لوت لصفقات الشراء الهاي فقط
و العكس بالعكس بالنسبه للبيع اذا كان لوت البيع اكبر و يكون الفرق هنا لصفقات البيع اللو
دمت بكل الود سامحني ازعجتك
يعني تريد فقط معرفة فرق احجام العقود بين الشراء والبيع؟

Sherry
14-03-2020, 04:23 AM
يعني تريد فقط معرفة فرق احجام العقود بين الشراء والبيع؟

هحاول اوضحها بشكل اخر
مثلا عندي صفقات للذهب كالاتي

بيع 1650 لوت 0.10
بيع 1640 لوت 0.15
بيع 1630 لوت 0.15
اجمالي عدد صفقات البيع 3 و مجموع اللوت 0.40
شراء 1660 لوت 0.15
شراء 1670 لوت 0.15
شراء 1680 لوت 0.15
شراء 1690 لوت 0.20
عدد صفقات الشراء = 4 و مجموع اللوت 0.65
الفرق بينهم 0.25 لوت شراء
المطلوب تحديد ان يكون هذا الفرق بالقيم الهاي للشراء
و في هذا المثال يعني
0.20 لوت شراء بقيمة 1690
0.05 لوت شراء بقيمة 1680
المطلوب تحديد نقطة التعادل (0.20 لوت شراء بقيمة 1690
+ 0.05 لوت شراء بقيمة 1680)

kira-h
14-03-2020, 06:59 PM
هحاول اوضحها بشكل اخر
مثلا عندي صفقات للذهب كالاتي

بيع 1650 لوت 0.10
بيع 1640 لوت 0.15
بيع 1630 لوت 0.15
اجمالي عدد صفقات البيع 3 و مجموع اللوت 0.40
شراء 1660 لوت 0.15
شراء 1670 لوت 0.15
شراء 1680 لوت 0.15
شراء 1690 لوت 0.20
عدد صفقات الشراء = 4 و مجموع اللوت 0.65
الفرق بينهم 0.25 لوت شراء
المطلوب تحديد ان يكون هذا الفرق بالقيم الهاي للشراء
و في هذا المثال يعني
0.20 لوت شراء بقيمة 1690
0.05 لوت شراء بقيمة 1680
المطلوب تحديد نقطة التعادل (0.20 لوت شراء بقيمة 1690
+ 0.05 لوت شراء بقيمة 1680)
اخي الكريم المثال غير واضح وغير مكتمل يجب ان يشمل كل النتائج واسبابها، وليس فقط اسعار الصفقات واحجام العقود!
هذا الناتج على أي اساس ؟ ما المعادلة حتى استخرجت 0.20 و 0.05 ؟
0.20 لوت شراء بقيمة 1690 ؟؟
0.05 لوت شراء بقيمة 1680 ؟؟


المطلوب تحديد نقطة التعادل (0.20 لوت شراء بقيمة 1690
+ 0.05 لوت شراء بقيمة 1680)
ماذا تعني بنقطة التعادل؟ طيب ما هي نقطة التعادل لمثالك هذا؟!

اعتقد الفكرة غير منطقية فلا اجد معنى او معادلة لتلك القيم بمثالك!
وعموما لديك صافي أحجام العقود بمشاركتي السابقة وتعرف طبعا عدد صفقات الشراء والبيع والفرق بينهما وبالتالي يمكنك بناء معادلتك

Sherry
14-03-2020, 07:52 PM
اخي الكريم المثال غير واضح وغير مكتمل يجب ان يشمل كل النتائج واسبابها، وليس فقط اسعار الصفقات واحجام العقود!
هذا الناتج على أي اساس ؟ ما المعادلة حتى استخرجت 0.20 و 0.05 ؟
0.20 لوت شراء بقيمة 1690 ؟؟
0.05 لوت شراء بقيمة 1680 ؟؟


المطلوب تحديد نقطة التعادل (0.20 لوت شراء بقيمة 1690
+ 0.05 لوت شراء بقيمة 1680)
ماذا تعني بنقطة التعادل؟ طيب ما هي نقطة التعادل لمثالك هذا؟!

اعتقد الفكرة غير منطقية فلا اجد معنى او معادلة لتلك القيم بمثالك!
وعموما لديك صافي أحجام العقود بمشاركتي السابقة وتعرف طبعا عدد صفقات الشراء والبيع والفرق بينهما وبالتالي يمكنك بناء معادلتك


هذا الناتج على أي اساس ؟ ما المعادلة حتى استخرجت 0.20 و 0.05 ؟
0.20 لوت شراء بقيمة 1690 ؟؟
0.05 لوت شراء بقيمة 1680 ؟؟

هذا الناتج فرق حجم الشراء و هو 0.65 من حجم البيع و هو 0.40
و هو 0.25 شراء
و المطلوب ان يكون هذا الفرق محدد بالاسعار الهاي للشراء
لذلك اخذنا 0.20 بسعر 1690 و 0.05 من السعر الاقل من الهاي و هو 1680 و الذي فتح صفقه بحجم 0.15

kira-h
14-03-2020, 08:54 PM
هذا الناتج على أي اساس ؟ ما المعادلة حتى استخرجت 0.20 و 0.05 ؟
0.20 لوت شراء بقيمة 1690 ؟؟
0.05 لوت شراء بقيمة 1680 ؟؟

هذا الناتج فرق حجم الشراء و هو 0.65 من حجم البيع و هو 0.40
و هو 0.25 شراء
و المطلوب ان يكون هذا الفرق محدد بالاسعار الهاي للشراء
لذلك اخذنا 0.20 بسعر 1690 و 0.05 من السعر الاقل من الهاي و هو 1680 و الذي فتح صفقه بحجم 0.15


معذرة الفكرة غير منطقية وغير مفهومة

Sherry
15-03-2020, 10:51 AM
معذرة الفكرة غير منطقية وغير مفهومة

الله يعطيك العافيه

هحاول ارتب صياغة الفكره و ارسلها لك مره اخرى

لكن عندي استفسار بخصوص Globale Variable

ارسلت لي من قبل ما يخص اغلاق كل الصفقات كما يلي

input int StopEA=true;



void OnTick()
{
if(StopEA)GlobalVariableSet("StopEA",10);//عند تفعيل الايقاف نعطي قيمة لمتغير جلوبال
else GlobalVariableDel("StopEA");//عند الغاء الايقاف يتم حذف متغير الجلوبال الذي انشأناه سابقا
if(GlobalVariableGet("StopEA")==10)return;//هذه القيمة سيتم قرائتها على كل الشارتات وبالتالي يتوقف عمل الاكسبيرت

//--- بقية الشروط تبع الاكسبيرت
}






فهل ممكن اضافة شرط عليه لتفعيل كما يلي و هو ان OrderTotal()==0

input int StopEA=true;



void OnTick()
{
if(StopEA&&OrderTotal()==0) return;
if(StopEA)GlobalVariableSet("StopEA",10);//عند تفعيل الايقاف نعطي قيمة لمتغير جلوبال
else GlobalVariableDel("StopEA");//عند الغاء الايقاف يتم حذف متغير الجلوبال الذي انشأناه سابقا
if(GlobalVariableGet("StopEA")==10)return;//هذه القيمة سيتم قرائتها على كل الشارتات وبالتالي يتوقف عمل الاكسبيرت

//--- بقية الشروط تبع الاكسبيرت
}

kira-h
15-03-2020, 03:09 PM
الله يعطيك العافيه

هحاول ارتب صياغة الفكره و ارسلها لك مره اخرى

لكن عندي استفسار بخصوص Globale Variable

ارسلت لي من قبل ما يخص اغلاق كل الصفقات كما يلي

input int StopEA=true;



void OnTick()
{
if(StopEA)GlobalVariableSet("StopEA",10);//عند تفعيل الايقاف نعطي قيمة لمتغير جلوبال
else GlobalVariableDel("StopEA");//عند الغاء الايقاف يتم حذف متغير الجلوبال الذي انشأناه سابقا
if(GlobalVariableGet("StopEA")==10)return;//هذه القيمة سيتم قرائتها على كل الشارتات وبالتالي يتوقف عمل الاكسبيرت

//--- بقية الشروط تبع الاكسبيرت
}






فهل ممكن اضافة شرط عليه لتفعيل كما يلي و هو ان OrderTotal()==0

input int StopEA=true;



void OnTick()
{
if(StopEA&&OrderTotal()==0) return;
if(StopEA)GlobalVariableSet("StopEA",10);//عند تفعيل الايقاف نعطي قيمة لمتغير جلوبال
else GlobalVariableDel("StopEA");//عند الغاء الايقاف يتم حذف متغير الجلوبال الذي انشأناه سابقا
if(GlobalVariableGet("StopEA")==10)return;//هذه القيمة سيتم قرائتها على كل الشارتات وبالتالي يتوقف عمل الاكسبيرت

//--- بقية الشروط تبع الاكسبيرت
}
نعم ممكن معناه عند عدم وجود اي صفقة مفتوحة في الحساب يتم حذف متغير الجلوبال المحفوظ وبالتالي يلغى ايقاف العمل

Sherry
17-03-2020, 08:07 AM
نعم ممكن معناه عند عدم وجود اي صفقة مفتوحة في الحساب يتم حذف متغير الجلوبال المحفوظ وبالتالي يلغى ايقاف العمل
يعطيك العافيه اثقلت عليك
حاولت ان اضبط ادارة راس المال من خلال احتساب عدد العملات التي يعمل عليها الاكسبيرت
كالآتي

int Experts;
double Depo=AccountInfoDouble(ACCOUNT_MARGIN_FREE),
Money;
string Quantity="Seal";

if(MoneyManagement&&GlobalVariableGet("Seal")==Experts)
{Experts=Experts+1;
GlobalVariableSet("Seal",Experts);
Money=Depo/Experts;}
{Lots=Money/50000;}
if(Lots<0.01)Alert("You do not have enough money");


لكن ما ضبطت معي


فكرتي كالآتي

50000 / (عدد العملات التي يعمل عليها الاكسبيرت)lot = free margin / expert

المطلوب هنا كيفية حساب عدد العملات التي يعمل عليها الاكسبيرت ( عدد )

kira-h
17-03-2020, 09:53 PM
يعطيك العافيه اثقلت عليك
حاولت ان اضبط ادارة راس المال من خلال احتساب عدد العملات التي يعمل عليها الاكسبيرت
كالآتي

int Experts;
double Depo=AccountInfoDouble(ACCOUNT_MARGIN_FREE),
Money;
string Quantity="Seal";

if(MoneyManagement&&GlobalVariableGet("Seal")==Experts)
{Experts=Experts+1;
GlobalVariableSet("Seal",Experts);
Money=Depo/Experts;}
{Lots=Money/50000;}
if(Lots<0.01)Alert("You do not have enough money");


لكن ما ضبطت معي


فكرتي كالآتي

50000 / (عدد العملات التي يعمل عليها الاكسبيرت)lot = free margin / expert

المطلوب هنا كيفية حساب عدد العملات التي يعمل عليها الاكسبيرت ( عدد )
لا يوجد وظيفة تحسب عدد الأزواج المفتوحة بالحساب بينما يوجد عدد الصفقات المفتوحة بالحساب OrdersTotal
ولحساب عدد الازواج المفتوحة يوجد طريقة بسيطة ولكنها نوعا ما مرهقة حسب عدد الأزواج المستخدمة بالحساب (أو التي يعمل عليها الاكسبيرت ويجب أن تكون موجودة بخانة الماركت واتش)
بأن تعمل دالة حساب الصفقات بدلالة اسم الزوج تعود برقم 1 في حال وجود صفقات مفتوحة عليه
مثال :


int sym(string symbol)
{
int cnt=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==symbol())cnt=1;
}
}
return(cnt);
}


ثم يكون عدد الأزواج كالتالي كمثال :


int SymbolTotal=sym("EURUSD")+sym("GBPUSD")+sym("AUDUSD")+sym("NZDUSD")+sym("USDCAD"))//+.....يمكنك اضافة او حذف ازواج حسب ما يعمل عليه الاكسبيرت


يوجد طرق اخرى معقدة باستخدام المصفوفات ولكن إليك طريقة أبسط
مثلا تضع كومنت مميز بأول صفقة يفتحها الاكسبيرت لكل زوج (لنسميها الصفقة الأساسية) مثلا "First" أما بقية صفقات الزوج التي بعد الأولى ضعها بأي كومنت مخالف لـ "First"
فنقوم بعمل دالة تبحث عن إجمالي الصفقات الأساسية التي تحمل الكومنت "First" يعني سنحسب عدد الأزواج المفتوحة وليس الصفقات كلها

مثال :


int SymboTotal()
{
int cnt=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string cm=OrderComment();
StringReplace(cm,"[started/gap]","");
if(cm=="First")cnt++;
}
}
return(cnt);
}

Sherry
17-03-2020, 10:11 PM
لا يوجد وظيفة تحسب عدد الأزواج المفتوحة بالحساب بينما يوجد عدد الصفقات المفتوحة بالحساب OrdersTotal
ولحساب عدد الازواج المفتوحة يوجد طريقة بسيطة ولكنها نوعا ما مرهقة حسب عدد الأزواج المستخدمة بالحساب (أو التي يعمل عليها الاكسبيرت ويجب أن تكون موجودة بخانة الماركت واتش)
بأن تعمل دالة حساب الصفقات بدلالة اسم الزوج تعود برقم 1 في حال وجود صفقات مفتوحة عليه
مثال :


int sym(string symbol)
{
int cnt=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==symbol())cnt=1;
}
}
return(cnt);
}


ثم يكون عدد الأزواج كالتالي كمثال :


int SymbolTotal=sym("EURUSD")+sym("GBPUSD")+sym("AUDUSD")+sym("NZDUSD")+sym("USDCAD"))//+.....يمكنك اضافة او حذف ازواج حسب ما يعمل عليه الاكسبيرت


يوجد طرق اخرى معقدة باستخدام المصفوفات ولكن إليك طريقة أبسط
مثلا تضع كومنت مميز بأول صفقة يفتحها الاكسبيرت لكل زوج (لنسميها الصفقة الأساسية) مثلا "First" أما بقية صفقات الزوج التي بعد الأولى ضعها بأي كومنت مخالف لـ "First"
فنقوم بعمل دالة تبحث عن إجمالي الصفقات الأساسية التي تحمل الكومنت "First" يعني سنحسب عدد الأزواج المفتوحة وليس الصفقات كلها

مثال :


int SymboTotal()
{
int cnt=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string cm=OrderComment();
StringReplace(cm,"[started/gap]","");
if(cm=="First")cnt++;
}
}
return(cnt);
}



يعطيك العافيه
طيب
ممكن احتساب العدد من خلال الاختيار الآتي
ChartApplyTemplate (https://docs.mql4.com/chart_operations/chartapplytemplate)
مع استبدال Template (https://docs.mql4.com/chart_operations/chartapplytemplate)
باسم الاكسبيرت ؟؟؟؟ EA-123

kira-h
17-03-2020, 10:17 PM
يعطيك العافيه
طيب
ممكن احتساب العدد من خلال الاختيار الآتي
ChartApplyTemplate

(https://docs.mql4.com/chart_operations/chartapplytemplate)
مع استبدال Template

(https://docs.mql4.com/chart_operations/chartapplytemplate)
باسم الاكسبيرت ؟؟؟؟ EA-123
هذا لا علاقة له بالأزواج التي بها صفقات مفتوحة

Sherry
17-03-2020, 10:22 PM
هذا لا علاقة له بالأزواج التي بها صفقات مفتوحة

ما قصدته من ChartApplyTemplate (https://docs.mql4.com/chart_operations/chartapplytemplate) احتساب عدد الازواج اللي بها Template (https://docs.mql4.com/chart_operations/chartapplytemplate)
و اردت استبدال ChartApplyTemplate (https://docs.mql4.com/chart_operations/chartapplytemplate) ب ChartAppl (https://docs.mql4.com/chart_operations/chartapplytemplate)yEa123
فكره مش عارف صح ام خطا

Sherry
17-03-2020, 10:55 PM
او في فكره اخرى مثل MarketInfo(OrderComment)
هل ممكن من خلالها حساب العدد
للشارتات التي تعمل بالاكسبيرت ؟؟؟

Sherry
17-03-2020, 11:00 PM
يوجد طرق اخرى معقدة باستخدام المصفوفات ولكن إليك طريقة أبسط
مثلا تضع كومنت مميز بأول صفقة يفتحها الاكسبيرت لكل زوج (لنسميها الصفقة الأساسية) مثلا "First" أما بقية صفقات الزوج التي بعد الأولى ضعها بأي كومنت مخالف لـ "First"
فنقوم بعمل دالة تبحث عن إجمالي الصفقات الأساسية التي تحمل الكومنت "First" يعني سنحسب عدد الأزواج المفتوحة وليس الصفقات كلها



نجعل الاكسبيرت بمجرد اضافته للشارت يضيف كومنت و منها نقدر نحسب عدد الازواج التي يعمل عليها الاكسبيرت

kira-h
17-03-2020, 11:00 PM
ما قصدته من ChartApplyTemplate (https://docs.mql4.com/chart_operations/chartapplytemplate) احتساب عدد الازواج اللي بها Template (https://docs.mql4.com/chart_operations/chartapplytemplate)
و اردت استبدال ChartApplyTemplate (https://docs.mql4.com/chart_operations/chartapplytemplate) ب ChartAppl (https://docs.mql4.com/chart_operations/chartapplytemplate)yEa123
فكره مش عارف صح ام خطا
إذا تريد حساب الأزواج التي عليها صفقات مفتوحة فهو ما تم حله بمشاركتي السابقة، اما إذا تريد فقط الأزواج التي سيعمل عليها الاكسبيرت يمكنك ببساطة ان تضع العدد مباشرة بالمعادلة لأنك مسبقا تعلم عن عدد الأزواج المستخدمة عند التركيب اليدوي للاكسبيرتات!


او في فكره اخرى مثل MarketInfo(OrderComment)
هل ممكن من خلالها حساب العدد
للشارتات التي تعمل بالاكسبيرت ؟؟؟
لا ينفع

silver
20-03-2020, 01:56 PM
مساء الفل أخي حسن كيرا
جمعة مباركة
برمجيا عند ظهور إشارة على الشارت من مؤشر ما فيمكن الوصول للمؤشر ومعرفة قيمة هذه الإشارة بالأرقام عند طريق الأمرين Comment and Print ومن ثم مقارنة الأرقام قبل وبعد ظهور هذه الإشارة، وبعد أن نفهم العلاقة بين هذه الأرقام يمكننا وضع الشروط البرمجية. أنا فاهم هذه الجزئية ولا توجد عندي مشكلة في ذلك
ولكن المشكلة هي أن المؤشر لا يظهر أي أرقام عند ظهور إشارة وكأنه لم يحصل أي شئ ؟
جربت ذلك عن طريق الأمرين Comment and Print وألاحظ دائما أنه تظهر أرقام كبيرة وعند ظهور الإشارة لا يظهر أي رقم وكأنه لم يحصل أي شئ
فضلا منك يرجى إصلاح المؤشر لو كان به خلل لتظهر الأرقام عند ظهور الإشارة
أو إرشادي إلى طريقة صحيحة لكتابة الكود عند ظهور الإشارة في المؤشر
الله يوفقك ويسدد خطاك ويبارك لك

kira-h
20-03-2020, 08:49 PM
مساء الفل أخي حسن كيرا
جمعة مباركة
برمجيا عند ظهور إشارة على الشارت من مؤشر ما فيمكن الوصول للمؤشر ومعرفة قيمة هذه الإشارة بالأرقام عند طريق الأمرين Comment and Print ومن ثم مقارنة الأرقام قبل وبعد ظهور هذه الإشارة، وبعد أن نفهم العلاقة بين هذه الأرقام يمكننا وضع الشروط البرمجية. أنا فاهم هذه الجزئية ولا توجد عندي مشكلة في ذلك
ولكن المشكلة هي أن المؤشر لا يظهر أي أرقام عند ظهور إشارة وكأنه لم يحصل أي شئ ؟
جربت ذلك عن طريق الأمرين Comment and Print وألاحظ دائما أنه تظهر أرقام كبيرة وعند ظهور الإشارة لا يظهر أي رقم وكأنه لم يحصل أي شئ
فضلا منك يرجى إصلاح المؤشر لو كان به خلل لتظهر الأرقام عند ظهور الإشارة
أو إرشادي إلى طريقة صحيحة لكتابة الكود عند ظهور الإشارة في المؤشر
الله يوفقك ويسدد خطاك ويبارك لك
مساء الخير
المؤشر سليم وعند تحقق الاشارة تتغير قيمتها الافتراضية (والتي عبارة عن رقم كبير يعبر عنه برمجيا بـ EMPTY_VALUE) الى سعر الزوج (او سعر مكان الاشارة)
إذن دالة المؤشر كالتالي :


double ind(int index)
{
return(iCustom(Symbol(),0,"PinbarDetector",index,1));
}


شرط الاشارة الحمراء كالتالي :

if(ind(0)!=EMPTY_VALUE)//Down

نفس الشيء بالاشارة العكسية

راجع المشاركة التالية للاستفاذة أكثر #740 (https://www.fxprg.com/vb/showthread.php?t=31457&p=874388&viewfull=1#post874388)

silver
21-03-2020, 12:59 AM
مساء الخير
المؤشر سليم وعند تحقق الاشارة تتغير قيمتها الافتراضية (والتي عبارة عن رقم كبير يعبر عنه برمجيا بـ EMPTY_VALUE) الى سعر الزوج (او سعر مكان الاشارة)
إذن دالة المؤشر كالتالي :


double ind(int index)
{
return(iCustom(Symbol(),0,"PinbarDetector",index,1));
}


شرط الاشارة الحمراء كالتالي :

if(ind(0)!=EMPTY_VALUE)//Down

نفس الشيء بالاشارة العكسية

راجع المشاركة التالية للاستفاذة أكثر #740 (https://www.fxprg.com/vb/showthread.php?t=31457&p=874388&viewfull=1#post874388)

شكرا أستاذ حسن والكود يعمل والحمد لله
سؤال لغرض الفهم: لماذا لم تظهر لي أي أرقام عند إستخدام الأمرين Comment and Print ؟
أول مرة أستخدم الأمرين ولا تظهر أي أرقام، هناك شئ غامض بالنسبة لي
والمؤشر عادي مثله مثل أي مؤشر ولكن لا تظهر الأرقام لسبب ما

kira-h
21-03-2020, 03:17 AM
شكرا أستاذ حسن والكود يعمل والحمد لله
سؤال لغرض الفهم: لماذا لم تظهر لي أي أرقام عند إستخدام الأمرين Comment and Print ؟
أول مرة أستخدم الأمرين ولا تظهر أي أرقام، هناك شئ غامض بالنسبة لي
والمؤشر عادي مثله مثل أي مؤشر ولكن لا تظهر الأرقام لسبب ما
اكيد لديك خطا ما في دالة المؤشر راجعها جيدا وقارنها مع الدالة السليمة بمشاركتي السابقة

silver
21-03-2020, 03:37 PM
اكيد لديك خطا ما في دالة المؤشر راجعها جيدا وقارنها مع الدالة السليمة بمشاركتي السابقة

واضح مشرفنا القدير وبالتأكيد المشكلة عندي أنا فقط
وطالما أن المشكلة عندي أنا فقط فيمكنني إكتشافها وحلها بإذن الله
أشكرك مرة أخرى
وفقك الله

kira-h
21-03-2020, 04:21 PM
واضح مشرفنا القدير وبالتأكيد المشكلة عندي أنا فقط
وطالما أن المشكلة عندي أنا فقط فيمكنني إكتشافها وحلها بإذن الله
أشكرك مرة أخرى
وفقك الله
العفو اخي الكريم

mr.forex
21-03-2020, 09:45 PM
مساء الخيرات
عزيزي حسن أتمنى تكون بكل خير
حماك الله من الوباء وحفظك أنت والمقربون منك وكل من تحب يا رب العالمين
عندي سؤال ولم يسبق لي أن رأيت أي شخص يتحدث عن هذه المعلومة
جميعنا يعرف أنه بالإمكان وضع أي متغير كمتغير مرئي يمكن التحكم به عن طريق المستخدم
وهذه المتغيرات تكون في العادة نصوص أو أرقام أو قرارات (True , False) أو أن تكون متعلقة بالزمن
ولكن استفساري هل يمكن وضع علامات العمليات الحسابية (!= * / + - == ) كمتغير مرئي يمكن المستخدم من إختيار نوع العملية الحسابية التي يريدها ؟
إذا كان ذلك ممكنا برجاء إخباري بطريقة عمل ذلك جزاك الله كل خير

بالطبع كما تعلم توجد طريقة بسيطة وهي كتابة سطر برمجي لكل نوع من أنواع العمليات الحسابية ومن خلال إستخدام المبرمج لجمل if الشرطية يظهر البرنامج بشكل يتيح للمستخدم إختيار نوع العملية التي يريدها
ولكن عيب هذه الطريقة هو كثرة السطور البرمجية والأكواد التي لا داعي لها،، خصوصا في حال كانت الأفكار كبيرة ومعقدة
ولذلك استفسرت منك هذا الإستفسار
سيكون شئ رائع ومفيد لو كان سؤالي يمكن تطبيقه في MQL4

kira-h
21-03-2020, 10:27 PM
مساء الخيرات
عزيزي حسن أتمنى تكون بكل خير
حماك الله من الوباء وحفظك أنت والمقربون منك وكل من تحب يا رب العالمين
عندي سؤال ولم يسبق لي أن رأيت أي شخص يتحدث عن هذه المعلومة
جميعنا يعرف أنه بالإمكان وضع أي متغير كمتغير مرئي يمكن التحكم به عن طريق المستخدم
وهذه المتغيرات تكون في العادة نصوص أو أرقام أو قرارات (True , False) أو أن تكون متعلقة بالزمن
ولكن استفساري هل يمكن وضع علامات العمليات الحسابية (!= * / + - == ) كمتغير مرئي يمكن المستخدم من إختيار نوع العملية الحسابية التي يريدها ؟
إذا كان ذلك ممكنا برجاء إخباري بطريقة عمل ذلك جزاك الله كل خير

بالطبع كما تعلم توجد طريقة بسيطة وهي كتابة سطر برمجي لكل نوع من أنواع العمليات الحسابية ومن خلال إستخدام المبرمج لجمل if الشرطية يظهر البرنامج بشكل يتيح للمستخدم إختيار نوع العملية التي يريدها
ولكن عيب هذه الطريقة هو كثرة السطور البرمجية والأكواد التي لا داعي لها،، خصوصا في حال كانت الأفكار كبيرة ومعقدة
ولذلك استفسرت منك هذا الإستفسار
سيكون شئ رائع ومفيد لو كان سؤالي يمكن تطبيقه في MQL4
وإياك اخي الكريم
هذا غير ممكن، لأنه لا يوجد متغير من نوع خاص بالعمليات الحسابية! وبالتالي لا يمكن أن تكون كإعداد خارجي

mr.forex
21-03-2020, 10:54 PM
وإياك اخي الكريم
هذا غير ممكن، لأنه لا يوجد متغير من نوع خاص بالعمليات الحسابية! وبالتالي لا يمكن أن تكون كإعداد خارجي

شكرا على الايضاح
أنا كنت أرجح ذلك أيضا لأني لم أرى مثل هذا قبل ذلك في mql4 ولست متعمق كثيرا في هذه اللغة
وما دعاني للتفكير في ذلك هو ملاحظة وجود متغير مرئي متاح للمستخدم وخاص بالعمليات الحسابية (كبرنامج الآلة الحاسبة على سبيل المثال) في لغات أخرى
فمن هنا جاء السؤال وإذا ما كانت توجد طريقة ما لعمل ذلك أيضا في mql4
أشكرك مرة أخرى على أخذ جزء من وقتك أخينا العزيز

kira-h
22-03-2020, 01:44 AM
شكرا على الايضاح
أنا كنت أرجح ذلك أيضا لأني لم أرى مثل هذا قبل ذلك في mql4 ولست متعمق كثيرا في هذه اللغة
وما دعاني للتفكير في ذلك هو ملاحظة وجود متغير مرئي متاح للمستخدم وخاص بالعمليات الحسابية (كبرنامج الآلة الحاسبة على سبيل المثال) في لغات أخرى
فمن هنا جاء السؤال وإذا ما كانت توجد طريقة ما لعمل ذلك أيضا في mql4
أشكرك مرة أخرى على أخذ جزء من وقتك أخينا العزيز
بالنوفيق ان شاء الله

Sherry
24-03-2020, 03:19 PM
يعني تريد السعر الذي يحقق التعادل لجميع الصفقات
كالتالي :


double Av_TotalPrices()
{
int Q=1;
if(_Digits==5||_Digits==3)int Q=10;

int B_Trades=0,S_Trades=0,Net_Trades=0;
double B_Size=0,B_Price=0,B_Profit=0,S_Size=0,S_Price=0,S _Profit=0,
Net_Lots=0,Net_Result=0,Average_Prices=0,steppips= 0,
Pip_Value=MarketInfo(Symbol(),MODE_TICKVALUE)*Q,
Pip_Size=MarketInfo(Symbol(),MODE_TICKSIZE)*Q;
//---
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string sy=OrderSymbol();
double op=OrderOpenPrice(),
lo=OrderLots(),
pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
int mn=OrderMagicNumber(),
ty=OrderType();
if(sy==Symbol()&&mn=MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B_Trades++;
B_Price +=op*lo;
B_Size +=lo;
B_Profit+=op+sw+cm;
}
if(ty==OP_SELL)
{
S_Trades++;
S_Price +=op*lo;
S_Size +=lo;
S_Profit+=op+sw+cm;
}
}
if(B_Size>0)B_Price/=B_Size;
if(S_Size>0)S_Price/=S_Size;
Net_Trades=B_Trades+S_Trades;
Net_Lots=B_Size-S_Size;
Net_Result=B_Profit+S_Profit;
//---
if(Net_Trades>0&&Net_Lots!=0)
{
steppips=(Net_Result/(MathAbs(Net_Lots*MarketInfo(Symbol(),MODE_TICKVAL UE)))*MarketInfo(Symbol(),MODE_TICKSIZE));
if(Net_Lots>0)Average_Prices=Bid-steppips;
if(Net_Lots<0)Average_Prices=Ask+steppips;
}
if(Net_Trades>0&&Net_Lots==0)Average_Prices=0;
}
}
return(NormalizeDouble(Average_Prices,Digits));
}



السلام عليكم و رحمة الله و بركاته

الله يحفظ امة سيد المرسلين سيدنا محمد صلى الله عليه و سلم

بسم الله الذي لا يضر مع اسمه شيء في الارض و لا في السماء و هو السميع العليم

اخي حسن بارك الله فيك بخصوص ما ما اردته ممكن ان اشرحه من خلال الداله السابقه لك و هو كالآتي


if(Net_Lots>0)Average_Prices=Bid-steppips; هنا اللوت يعني ان الشراء اكبر و ما اردته ان اعتبر هذا الفرق يكون للوت الاعلى في الشراء
if(Net_Lots<0)Average_Prices=Ask+steppips; و هنا اللوت يعني ان البيع اكبر و ما اردته ان اعتبر هذا الفرق يكون للوت الادنى في البيع

فهل من امكانيه لتحديد الفروق كما اوضحت سابقا

kira-h
24-03-2020, 03:50 PM
السلام عليكم و رحمة الله و بركاته

الله يحفظ امة سيد المرسلين سيدنا محمد صلى الله عليه و سلم

بسم الله الذي لا يضر مع اسمه شيء في الارض و لا في السماء و هو السميع العليم

اخي حسن بارك الله فيك بخصوص ما ما اردته ممكن ان اشرحه من خلال الداله السابقه لك و هو كالآتي


if(Net_Lots>0)Average_Prices=Bid-steppips; هنا اللوت يعني ان الشراء اكبر و ما اردته ان اعتبر هذا الفرق يكون للوت الاعلى في الشراء
if(Net_Lots<0)Average_Prices=Ask+steppips; و هنا اللوت يعني ان البيع اكبر و ما اردته ان اعتبر هذا الفرق يكون للوت الادنى في البيع

فهل من امكانيه لتحديد الفروق كما اوضحت سابقا
وعليكم السلام
امين بارك الله فيك،،
هل تقصد معرفة فرق العقود مع نوع الصفقات الغالب عليهم ؟

Sherry
24-03-2020, 04:24 PM
وعليكم السلام
امين بارك الله فيك،،
هل تقصد معرفة فرق العقود مع نوع الصفقات الغالب عليهم ؟


لا اقصد ان فارق العقود مع النوع الغالب يتم تحديده كالآتي
اذا كان فارق العقود مثلا 0.6 لوت و الغالب للشراء
المطلوب ان يكون هذا الغالب يخص اللوت الاعلى للشراء

اما اذا كان فارق العقود مثلا 0.6 لوت و الغالب للبيع
المطلوب ان يكون هذا الغالب يخص اللوت الادنى للبيع

kira-h
24-03-2020, 07:15 PM
لا اقصد ان فارق العقود مع النوع الغالب يتم تحديده كالآتي
اذا كان فارق العقود مثلا 0.6 لوت و الغالب للشراء
المطلوب ان يكون هذا الغالب يخص اللوت الاعلى للشراء

اما اذا كان فارق العقود مثلا 0.6 لوت و الغالب للبيع
المطلوب ان يكون هذا الغالب يخص اللوت الادنى للبيع
ماذا تعني بـ
يخص اللوت الاعلى للشراء ؟
يمكنك التوضيح بمثال رقمي

Sherry
24-03-2020, 10:59 PM
ماذا تعني بـ
يخص اللوت الاعلى للشراء ؟
يمكنك التوضيح بمثال رقمي


القصد انه اذا صفقات الشراء تعادل 0.17 لوت و ان صفقات البيع تعادل 0.11 لوت

هنا لوت الشراء ينقسم الى 0.11 و هو ما يعادل لوت صفقات البيع و 0.06 و هو الفرق الزياده لصالح صفقات الشراء

المطلوب ان يتم تعيين 0.11 لوت شراء على انه low_buy و تعيين 0.06 لوت شراء على انه high_buy

kira-h
24-03-2020, 11:37 PM
القصد انه اذا صفقات الشراء تعادل 0.17 لوت و ان صفقات البيع تعادل 0.11 لوت

هنا لوت الشراء ينقسم الى 0.11 و هو ما يعادل لوت صفقات البيع و 0.06 و هو الفرق الزياده لصالح صفقات الشراء

المطلوب ان يتم تعيين 0.11 لوت شراء على انه low_buy و تعيين 0.06 لوت شراء على انه high_buy

جرب ما يلي :

double LowBuy,HighBuy,LowSell,HighSell;

for(int i=0;i<OrdersTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType();
double lo=OrderLots();
if(sy==Symbol()&&mn==MagicNo)
{
if(ty==OP_BUY)B+=lo;
if(ty==OP_SELL)S+=lo;
if(B>S){LowBuy=S;HighBuy=B-S;}
else if(B<S){LowSell=B;HighSell=S-B;}
}
}

Sherry
25-03-2020, 12:30 AM
جرب ما يلي :

double LowBuy,HighBuy,LowSell,HighSell;

for(int i=0;i<OrdersTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType();
double lo=OrderLots();
if(sy==Symbol()&&mn==MagicNo)
{
if(ty==OP_BUY)B+=lo;
if(ty==OP_SELL)S+=lo;
if(B>S){LowBuy=S;HighBuy=B-S;}
else if(B<S){LowSell=B;HighSell=S-B;}
}
}

في متغير غير موجود

'for' - expressions are not allowed on a global scope ؟؟؟؟

kira-h
25-03-2020, 01:03 AM
في متغير غير موجود

'for' - expressions are not allowed on a global scope ؟؟؟؟
استخدم كل تلك الحسابات مباشرة بالدالة الرئيسية OnTick وليس بدالة فرعية
اي متغير غير معرف ستجده كخطأ بالجورنال وبامكانك تصحيحه
يجب ان تعرف التالي قبل الحلقة for

double B=0,S=0;

Sherry
25-03-2020, 01:17 AM
استخدم كل تلك الحسابات مباشرة بالدالة الرئيسية OnTick وليس بدالة فرعية
اي متغير غير معرف ستجده كخطأ بالجورنال وبامكانك تصحيحه
يجب ان تعرف التالي قبل الحلقة for

double B=0,S=0;

الله يفتح عليك

kira-h
25-03-2020, 10:02 PM
الله يفتح عليك
بالتوفيق ان شاء الله

fahed964
26-03-2020, 11:54 PM
السلام عليكم
لو سمحت احتاج دالة لوضع ستوب لعدة صفقات معا , مثلا ستوب لخمس صفقات مع الشكر

kira-h
27-03-2020, 12:51 AM
السلام عليكم
لو سمحت احتاج دالة لوضع ستوب لعدة صفقات معا , مثلا ستوب لخمس صفقات مع الشكر
وعليكم السلام
ستستخدم الوظيفة OrderModify
مثال :


void SL_Modify()
{
bool s,m;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
double op=OrderOpenPrice(),
sl=OrderStopLoss(),
tp=OrderTakeProfit();
int tk=OrderTicket(),
ty=OrderType(),
mn=OrderMagicNumber() ;

if(sy==Symbol()&&mn==MagicNo&&Price_SL>0)
{
if(ty==OP_BUY)
{
if(NormalizeDouble(sl,Digits)!=NormalizeDouble(Pri ce_SL,Digits)&&op>Price_SL)m=OrderModify(tk,op,Price_SL,tp,0,Blue);
}
if(ty==OP_SELL)
{
if(NormalizeDouble(sl,Digits)!=NormalizeDouble(Pri ce_SL,Digits)&&op<Price_SL)m=OrderModify(tk,op,Price_SL,tp,0,Red);
}
}
}
}


بحيث Price_SL متغير خارجي عشري (double)، تحدد فيه سعر ستوب الصفقات من نفس النوع

Tarek987
27-03-2020, 01:36 PM
السلام عليكم حسن و الجميع
اريد ان اعمل وظيفة داخل الاكسبيرت وظيفتها كالتالي
1 - استقبال ال ticket numbers لأوامر محددة بتحقق شروط محددة
2 - مراقبة وضع الصفقات اذا كانت رابحة او خاسرت عن طريق ال ticket numbers
3 - اغلاق الصفقات عن طريق ال ticket numbers على ربح بعد تحدد شروط محددة
4 - اذا كانت الصفقات على خسارة بعد شروط محددة اريد نقل ال ticket numbers من داخل هذه الوظيفة الى وظيفة اخرى بحيث تقوم الوظيفة الاخرى بمعالجة الاوامر بطريقة مختلفة.
ملاحظة:
ارجو عدم اقتراح ان انقل او اراقب الصفقات عن طريق ال order comment لانها لا تصلح .


مثال بسيط للخطوات :
لو عندنا دالة اسمها ABC
1 - الاكسبيرت فتح امر شراء بعد تحقق امر معين
2 - نقل ال ticket number لصفقة الشراء السابقة ل ABC لمراقبة الربح و الخسارت
2 - الاكسبيرت فتح امر بيع هذه المرة بعد تحقق امر معين
3 - اريد من الاكسبيرت ان يقوم ايضا بجلب ال ticket number لهذه الصفقة و ادخالها ايضا الى ABC
4 - تقوم ال ABC بمراقبة جميع ال ticket numbers الموجودين داخلها اذا كانو على ربح او خسارة و اذا كانو على ربح بعد شروط معينة نريد من ال ABC اغلاق الصفقات يلي بداخلها فقط
5 - و اذا كانت الصفقات داخل ال ABC على خسارة بعد شروط معينة اريد من
ال ABC ان تنقل ال ticket numbers الموجودين بداخلها الى دالة اخرى و ليكن اسمها ZZZ بحيث ال ZZZ تقوم بمعالجة ال ticket numbers الموجدين بداخلها بطريقة مختلفة.

اذا ممكن الرجاء ان يكون الشرح نظري لاني اريد ان افهم و الرجاء لا تبخل عليي بال code

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

kira-h
28-03-2020, 08:45 PM
السلام عليكم حسن و الجميع
اريد ان اعمل وظيفة داخل الاكسبيرت وظيفتها كالتالي
1 - استقبال ال ticket numbers لأوامر محددة بتحقق شروط محددة
2 - مراقبة وضع الصفقات اذا كانت رابحة او خاسرت عن طريق ال ticket numbers
3 - اغلاق الصفقات عن طريق ال ticket numbers على ربح بعد تحدد شروط محددة
4 - اذا كانت الصفقات على خسارة بعد شروط محددة اريد نقل ال ticket numbers من داخل هذه الوظيفة الى وظيفة اخرى بحيث تقوم الوظيفة الاخرى بمعالجة الاوامر بطريقة مختلفة.
ملاحظة:
ارجو عدم اقتراح ان انقل او اراقب الصفقات عن طريق ال order comment لانها لا تصلح .


مثال بسيط للخطوات :
لو عندنا دالة اسمها ABC
1 - الاكسبيرت فتح امر شراء بعد تحقق امر معين
2 - نقل ال ticket number لصفقة الشراء السابقة ل ABC لمراقبة الربح و الخسارت
2 - الاكسبيرت فتح امر بيع هذه المرة بعد تحقق امر معين
3 - اريد من الاكسبيرت ان يقوم ايضا بجلب ال ticket number لهذه الصفقة و ادخالها ايضا الى ABC
4 - تقوم ال ABC بمراقبة جميع ال ticket numbers الموجودين داخلها اذا كانو على ربح او خسارة و اذا كانو على ربح بعد شروط معينة نريد من ال ABC اغلاق الصفقات يلي بداخلها فقط
5 - و اذا كانت الصفقات داخل ال ABC على خسارة بعد شروط معينة اريد من
ال ABC ان تنقل ال ticket numbers الموجودين بداخلها الى دالة اخرى و ليكن اسمها ZZZ بحيث ال ZZZ تقوم بمعالجة ال ticket numbers الموجدين بداخلها بطريقة مختلفة.

اذا ممكن الرجاء ان يكون الشرح نظري لاني اريد ان افهم و الرجاء لا تبخل عليي بال code

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

1- دالة معرفة رقم تيكت آخر صفقة مفتوحة كالتالي :


int LastTicket(int type=-1)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType(),
tk=OrderTicket();
if(sy==Symbol()&&mn==MagicNo&&(ty==type||type==-1))
{
return(tk);
}
}
return(0);
}


2- دالة الربح بدلالة رقم التيكت كالتالي :


double Profit_TK(int Ticket)
{
double pts=0;
for(int i=0;i<OrdersTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int tk=OrderTicket();
mn=OrderMagicNumber();
double pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
if(sy==Symbol()&&mn==MagicNo)
{
if(tk==Ticket)pts+=pt+sw+cm;
}
}
return(pts);
}


مثلا تريد ربح صفقة مفتوحة ذات التيكت المحدد سابقا سيكون كالتالي:

Profit_TK(LastTicket())

وإذا تريد النتيجة حسب نوع الصفقة :

Profit_TK(LastTicket(OP_BUY))

3- دالة اغلاق الصفقات بدلالة رقم التيكت كالتالي:


void CloseOrders(int Ticket,int type=-1)
{
bool select,close,del;
for(int i=OrdersTotal()-1;i>=0;i--)
{
select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int tt=OrdersTotal(),
tk=OrderTicket(),
ot=OrderType(),
mn=OrderMagicNumber();
double lo=OrderLots();
if(tt>0&&sy==Symbol()&&mn==MagicNo&&tk==Ticket)
{
if(ot==type||type==-1)
{
if(ot==OP_BUY)close=OrderClose(Ticket,lo,Bid,5*Q);
if(ot==OP_SELL)close=OrderClose(Ticket,lo,Ask,5*Q) ;
if(ot>OP_SELL)del=OrderDelete(Ticket);
}
}
}
}


بقية المطلوب اراه غير منطقي او غير واضح

fahed964
28-03-2020, 09:03 PM
شكرا جزيلا ممنون لطفك

mr.market
28-03-2020, 11:57 PM
أستاذ البرمجة القدير حسن كيرا
السلام عليكم ورحمة الله وبركاته
1- كيف يمكن لي معرفة أقل تريلينج ستوب مقبول عند بروكور معين ،، ونفس الشئ للستوب لوس ،، هل يوجد كود معين لذلك ؟
2- ممكن كود لدالة التريلينج الستوب المخفي عن البروكر
جزاك الله عنا خير الجزاء

Tarek987
29-03-2020, 02:00 AM
وعليكم السلام
طالما لا يوجد توضيح للشروط الأساسية أو فهم السبب وراء هذه الدوال فلا يمكن الجزم بفهم المطلوب وبصحة ما يلي :

1- دالة معرفة رقم تيكت آخر صفقة مفتوحة كالتالي :


int LastTicket(int type=-1)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType(),
tk=OrderTicket();
if(sy==Symbol()&&mn==MagicNo&&(ty==type||type==-1))
{
return(tk);
}
}
return(0);
}


2- دالة الربح بدلالة رقم التيكت كالتالي :


double Profit_TK(int Ticket)
{
double pts=0;
for(int i=0;i<OrdersTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int tk=OrderTicket();
mn=OrderMagicNumber();
double pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
if(sy==Symbol()&&mn==MagicNo)
{
if(tk==Ticket)pts+=pt+sw+cm;
}
}
return(pts);
}


مثلا تريد ربح صفقة مفتوحة ذات التيكت المحدد سابقا سيكون كالتالي:

Profit_TK(LastTicket())

وإذا تريد النتيجة حسب نوع الصفقة :

Profit_TK(LastTicket(OP_BUY))

3- دالة اغلاق الصفقات بدلالة رقم التيكت كالتالي:


void CloseOrders(int Ticket,int type=-1)
{
bool select,close,del;
for(int i=OrdersTotal()-1;i>=0;i--)
{
select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int tt=OrdersTotal(),
tk=OrderTicket(),
ot=OrderType(),
mn=OrderMagicNumber();
double lo=OrderLots();
if(tt>0&&sy==Symbol()&&mn==MagicNo&&tk==Ticket)
{
if(ot==type||type==-1)
{
if(ot==OP_BUY)close=OrderClose(Ticket,lo,Bid,5*Q);
if(ot==OP_SELL)close=OrderClose(Ticket,lo,Ask,5*Q) ;
if(ot>OP_SELL)del=OrderDelete(Ticket);
}
}
}
}


بقية المطلوب اراه غير منطقي او غير واضح

شكرا حسن على صبرك معي.
لو حاولت شرح الاستراتيجية لك سوف تزيد من تعقيد ما اطلب.
و شكرا لك على ردك السابق و ال code.


سوف احاول ان اشرح مرة ثانية.


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


مثال:
عندنا 3 دالات ( واحدة شراء ، واحدة بيع ، و الدالة الجديدة المطلوبة و ليكن اسمها AA )
1 - دالة الشراء قامت بامر شراء و قامت بارسال التيكت نمبر ل AA
2 - دالة البيع قامت بفتح امرين بيع بأوقات مختلفة و جلبت التيكت نمبر لكل امر و قامت بارسالهم الى AA
3 - الدالة AA و بعد ان حفظة التيكت نمبرز داخلها و بينما الاكسبيرت يقوم بمراقبة الشارت و بعد حدوث امور معينة سيكون مصير الصفقات داخل AA اما الربح او الخسارة،
في حال الربح سوف يقوم الاكسبيرت باغلاق جميع الصفقات داخل AA،
وفي حال الخسارة اريد أخذ جميع التيكت نمبرز الموجودين داخل AA و ارسالهم الى دالة اخر تقوم ايضا بحفظ التيكت نمبرز داخلها و ليكن اسمها ZZZ
بحيث الاكسبيرت سوف يراقب الشارت و عند حدوث امور معينة و شروط جديدة سوف يتعامل مع الاوامر داخل ZZZ بطريقة مختلفه عن AA.


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

kira-h
29-03-2020, 09:53 AM
شكرا حسن على صبرك معي.
لو حاولت شرح الاستراتيجية لك سوف تزيد من تعقيد ما اطلب.
و شكرا لك على ردك السابق و ال code.


سوف احاول ان اشرح مرة ثانية.


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


مثال:
عندنا 3 دالات ( واحدة شراء ، واحدة بيع ، و الدالة الجديدة المطلوبة و ليكن اسمها AA )
1 - دالة الشراء قامت بامر شراء و قامت بارسال التيكت نمبر ل AA
2 - دالة البيع قامت بفتح امرين بيع بأوقات مختلفة و جلبت التيكت نمبر لكل امر و قامت بارسالهم الى AA
3 - الدالة AA و بعد ان حفظة التيكت نمبرز داخلها و بينما الاكسبيرت يقوم بمراقبة الشارت و بعد حدوث امور معينة سيكون مصير الصفقات داخل AA اما الربح او الخسارة،
في حال الربح سوف يقوم الاكسبيرت باغلاق جميع الصفقات داخل AA،
وفي حال الخسارة اريد أخذ جميع التيكت نمبرز الموجودين داخل AA و ارسالهم الى دالة اخر تقوم ايضا بحفظ التيكت نمبرز داخلها و ليكن اسمها ZZZ
بحيث الاكسبيرت سوف يراقب الشارت و عند حدوث امور معينة و شروط جديدة سوف يتعامل مع الاوامر داخل ZZZ بطريقة مختلفه عن AA.


ممكن تعلمني كيف احقق ما اطلب.
و بالنهاية ارجو من الله ان يوفقك و ينور دربك و يحفظك انت و كل من تحب.
واباك اخي الكريم
اخي لا يمكنني فهم مطلوب عن دوال لفكرة غير واضحة من الاساس! ولا حتى الهدف منها! او علاقات رياضية! بينما على العكس قد يمكن عمل دالة واحدة تقوم بكل شيء في حال الوضوح...
ببساطة لم افهم المطلوب، ببنما نظريا تم الرد علبها بمشاركتي السابقة حسب ما فهمت.

محمد أبوالنيل
30-03-2020, 12:15 PM
لما بعمل امر sendnotification او sendalert برسل رسالة التنبية كذا مرة يمكن الف مرة هل فى دالة تخليه يرسل الامر مرة واحدة

shivaa
30-03-2020, 09:26 PM
السلام عليكم
عندى مشكله ممكن تساعدنى في اكسبيرت يشتغل على 28 زوج على قوه العمله
اعتبار ان قوه العمله هو المؤشر الاول
اشرح لك ما اريد
عندى ثلاث مؤشرات الثانى والثالث له اشاره دخول وحده
الاول شرط ان ييكون ترتيب الظهور الاشاره الاول ثم ياليه اى واحد من المؤشرين
يعنى 1ثم (2+3) يدخل صفقه
اذا جاء (2+3) ثم 1 تلغا الصفقه
ولا يدخل حتى يتغير اشاره مؤشر الثانى والثالث ثم تطبق الشروط ثم التوافق المؤشرات من جديد

مع العلم ان المؤشرالاول ليه 3 احتمالات
مع عدم الدخول الا مره وحده مع الاشاره
مع مراعات التداخل الازواج مع بعض فى الاشاره
اكون شاكر

kira-h
31-03-2020, 12:34 AM
لما بعمل امر sendnotification او sendalert برسل رسالة التنبية كذا مرة يمكن الف مرة هل فى دالة تخليه يرسل الامر مرة واحدة
مرحبا
لا توجد وظيفة لهذا الامر ولكن يمكن التحكم بالتنبيه باضافة شروط اخرى
فما هي شروط التنبيه الاساسية لعمل شروط اضافية مناسبة لها

kira-h
31-03-2020, 12:36 AM
السلام عليكم
عندى مشكله ممكن تساعدنى في اكسبيرت يشتغل على 28 زوج على قوه العمله
اعتبار ان قوه العمله هو المؤشر الاول
اشرح لك ما اريد
عندى ثلاث مؤشرات الثانى والثالث له اشاره دخول وحده
الاول شرط ان ييكون ترتيب الظهور الاشاره الاول ثم ياليه اى واحد من المؤشرين
يعنى 1ثم (2+3) يدخل صفقه
اذا جاء (2+3) ثم 1 تلغا الصفقه
ولا يدخل حتى يتغير اشاره مؤشر الثانى والثالث ثم تطبق الشروط ثم التوافق المؤشرات من جديد

مع العلم ان المؤشرالاول ليه 3 احتمالات
مع عدم الدخول الا مره وحده مع الاشاره
مع مراعات التداخل الازواج مع بعض فى الاشاره
اكون شاكر

وعليكم السلام
اخي الكريم هذا الموضوع مخصص فقط للاسئلة البرمجية
فما هي الاسئلة المطلوبة ؟!

shivaa
31-03-2020, 01:37 AM
السلام عليكم
عندى مشكله ممكن تساعدنى في اكسبيرت يشتغل على 28 زوج على قوه العمله
اعتبار ان قوه العمله هو المؤشر الاول
اشرح لك ما اريد
عندى ثلاث مؤشرات الثانى والثالث له اشاره دخول وحده
الاول شرط ان ييكون ترتيب الظهور الاشاره الاول ثم ياليه اى واحد من المؤشرين
يعنى 1ثم (2+3) يدخل صفقه
اذا جاء (2+3) ثم 1 تلغا الصفقه
ولا يدخل حتى يتغير اشاره مؤشر الثانى والثالث ثم تطبق الشروط ثم التوافق المؤشرات من جديد

مع العلم ان المؤشرالاول ليه 3 احتمالات
مع عدم الدخول الا مره وحده مع الاشاره
مع مراعات التداخل الازواج مع بعض فى الاشاره
اكون شاكر




وعليكم السلام
اخي الكريم هذا الموضوع مخصص فقط للاسئلة البرمجية
فما هي الاسئلة المطلوبة ؟!
السلام عليكم
اخى واستاذى
انا عاوز مساعده برمجيه هذا الجزاء عجزت عن كتابته فى الاكسبيرت
الرجاء مساعده اكون شاكر

kira-h
31-03-2020, 01:56 AM
السلام عليكم
اخى واستاذى
انا عاوز مساعده برمجيه هذا الجزاء عجزت عن كتابته فى الاكسبيرت
الرجاء مساعده اكون شاكر
وعليكم لسلام
أخي الكريم الأمر ليس بتلك البساطة فلا يوجد دوال ثابثة تصلح لجميع المؤشرات! بل يجب مراجعة المؤشر ومعرفة طريقة عمله ثم رصد قيمه لاستخدامها بالشروط وغيرها من الأمور،،،
ويمكنك مراجعة المشاركة التالية لمعرفة طريقة رصد قيم مؤشر #740 (https://www.fxprg.com/vb/showthread.php?t=31457&p=874388&viewfull=1#post874388)

اما إذا تسأل عن طريقة فتح الصفقات على عدة ازواج من شارت واحد فهذا مثال :


void OnTick()
{
string Symbols_Array[]={"EURUSD","GBPUSD","USDJPY","AUDUSD","NZDUSD"};

int size=ArraySize(Symbols_Array);
for(int i=0;i<size;i++)
{
bool s=OrderSend(suffix+Symbols_Array[i]+perfix,OP_BUY,Lots,MarketInfo(suffix+Symbols_Arra y[i]+perfix,MODE_ASK),30,0,0,"Kira-h",MagicNumber,0,Blue);
}
}

محمد أبوالنيل
31-03-2020, 09:45 AM
مرحبا
لا توجد وظيفة لهذا الامر ولكن يمكن التحكم بالتنبيه باضافة شروط اخرى
فما هي شروط التنبيه الاساسية لعمل شروط اضافية مناسبة لها
لما السعر يوصل بين منطقتين سعريتين انا بحددهم فى مدخلات المؤشر يدينى تنبيه بس للاسف بيعمل بتاع 100 تنبيه فى الثانية

Tarek987
31-03-2020, 01:46 PM
واباك اخي الكريم
اخي لا يمكنني فهم مطلوب عن دوال لفكرة غير واضحة من الاساس! ولا حتى الهدف منها! او علاقات رياضية! بينما على العكس قد يمكن عمل دالة واحدة تقوم بكل شيء في حال الوضوح...
ببساطة لم افهم المطلوب، ببنما نظريا تم الرد علبها بمشاركتي السابقة حسب ما فهمت.

أنا اقدر صبرك معي و انا كنت احاول ان اشرح زيادة و هذا انعكس سلبا,
لذلك ارفقت لك صورة بسيطة تشرح كل شيئ ببساطة.

مشكور يا حسن, بأمان الله.

20257

محمد أبوالنيل
31-03-2020, 02:14 PM
مفيش مؤشر زجزاج بيدى sendalert

Sherry
31-03-2020, 03:32 PM
جرب ما يلي :

double LowBuy,HighBuy,LowSell,HighSell;

for(int i=0;i<OrdersTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType();
double lo=OrderLots();
if(sy==Symbol()&&mn==MagicNo)
{
if(ty==OP_BUY)B+=lo;
if(ty==OP_SELL)S+=lo;
if(B>S){LowBuy=S;HighBuy=B-S;}
else if(B<S){LowSell=B;HighSell=S-B;}
}
}


السلام عليكم
اتمنى ان يكون كل اعضاء المنتدى بصحه و خير و سلامه
و ادعو الله ان يحفظنا جميعا من كل شر و من كل مكروه و من كل ابتلاء و من كل وباء
حفظ الله المسلمين جميعا و شملنا بواسع رحمتة و رزقنا من واسع فضله

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

بمعنى اننا من خلال الداله السابقه حددنا انه اذا كانت عقود الشراء اكبر من غقود البيع فان HighBuy يساوي هذا الفارق
فهل ممكن لي ان احدد متوسط السعر لهذا الفرق ؟؟؟

kira-h
31-03-2020, 07:55 PM
لما السعر يوصل بين منطقتين سعريتين انا بحددهم فى مدخلات المؤشر يدينى تنبيه بس للاسف بيعمل بتاع 100 تنبيه فى الثانية
إذن الحل ان يعطي تنبيه مرة واحدة في كل مرة يتم اختراق السعر الحالي للسعر العلوي للمنطقة إلى داخلها و نفس الشيء بالنسبة للسعر السفلي للمنطقة
مثال :


datetime time=0;


int start()
{
if((Close[0]>Low_Price&&Close[1]<=Low_Price)
||(Close[0]<High_Price&&Close[1]>=High_Price))
{
if(time!=Time[0]){Alert("Current price in the Zone");time=Time[0];}
}
}


بحيث time متغير زمني داخلي يحفظ توقيت شمعة التنبيه حتى لا يتم تكرار التنبيه بنفس الشمعة
High_Price السعر العلوي للمنطقة
Low_Price السعر السفلي للمنطقة

kira-h
31-03-2020, 08:02 PM
أنا اقدر صبرك معي و انا كنت احاول ان اشرح زيادة و هذا انعكس سلبا,
لذلك ارفقت لك صورة بسيطة تشرح كل شيئ ببساطة.

مشكور يا حسن, بأمان الله.


أخي الكريم لم افهم لم التركيز على ارقام التيكت! ما الهدف منها؟
عموما غير ممكن أخي الكريم حفظ كل التيكت نمبرز! قد يكون ممكن من خلال مصفوفة وهذا امر معقد برمجيا، في حين ممكن معرفة رقم التيكت لصفقة محددة مثلا حسب ترتيبها الزمني في الفتح أو للصفقة ذات الخاسرة الأكبر أو الرابحة... وهكذا)

kira-h
31-03-2020, 08:11 PM
السلام عليكم
اتمنى ان يكون كل اعضاء المنتدى بصحه و خير و سلامه
و ادعو الله ان يحفظنا جميعا من كل شر و من كل مكروه و من كل ابتلاء و من كل وباء
حفظ الله المسلمين جميعا و شملنا بواسع رحمتة و رزقنا من واسع فضله

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

بمعنى اننا من خلال الداله السابقه حددنا انه اذا كانت عقود الشراء اكبر من غقود البيع فان HighBuy يساوي هذا الفارق
فهل ممكن لي ان احدد متوسط السعر لهذا الفرق ؟؟؟
وعليكم السلام
نعم ممكن
مثال :


double Av_TotalPrices()
{
int Q=1;
if(_Digits==5||_Digits==3)int Q=10;

int B_Trades=0,S_Trades=0,Net_Trades=0;
double B_Size=0,B_Price=0,B_Profit=0,S_Size=0,S_Price=0,S _Profit=0,
Net_Lots=0,Net_Result=0,Average_Prices=0,steppips= 0,
Pip_Value=MarketInfo(Symbol(),MODE_TICKVALUE)*Q,
Pip_Size=MarketInfo(Symbol(),MODE_TICKSIZE)*Q;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string sy=OrderSymbol();
double op=OrderOpenPrice(),
lo=OrderLots(),
pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
int mn=OrderMagicNumber(),
ty=OrderType();
if(sy==Symbol()&&mn=MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B_Trades++;
B_Price +=op*lo;
B_Size +=lo;
B_Profit+=op+sw+cm;
}
if(ty==OP_SELL)
{
S_Trades++;
S_Price +=op*lo;
S_Size +=lo;
S_Profit+=op+sw+cm;
}
}

if(B_Size>0)B_Price/=B_Size;
if(S_Size>0)S_Price/=S_Size;
Net_Trades=B_Trades+S_Trades;
Net_Lots=B_Size-S_Size;
Net_Result=B_Profit+S_Profit;


if(Net_Trades>0&&Net_Lots!=0)
{
steppips=(Net_Result/(MathAbs(Net_Lots*MarketInfo(Symbol(),MODE_TICKVAL UE)))*MarketInfo(Symbol(),MODE_TICKSIZE));
if(Net_Lots>0)Average_Prices=NormalizeDouble(Bid-steppips,Digits);
if(Net_Lots<0)Average_Prices=NormalizeDouble(Ask+steppips,Digi ts);
}
if(Net_Trades>0&&Net_Lots==0)Average_Prices=0;
}
}
return(Average_Prices);
}

Tarek987
31-03-2020, 10:39 PM
أخي الكريم لم افهم لم التركيز على ارقام التيكت! ما الهدف منها؟
عموما غير ممكن أخي الكريم حفظ كل التيكت نمبرز! قد يكون ممكن من خلال مصفوفة وهذا امر معقد برمجيا، في حين ممكن معرفة رقم التيكت لصفقة محددة مثلا حسب ترتيبها الزمني في الفتح أو للصفقة ذات الخاسرة الأكبر أو الرابحة... وهكذا)

أخي الكريم لم افهم لم التركيز على ارقام التيكت! ما الهدف منها؟
الهدف منها
عندي ٣ حالات
-حالة الشراء،
بحيث تفتح اوامر الشراء وايضا من الممكن ان تفتح اوامر بيع ايضا ولكن لصالح الشراء.
-حالة البيع،
عكس حالة الشراء
- حالة الخسارة
وهي جمع الاوامر التي اصبحت على خسارة من الحالة الاولى و الثانية.

و كما ذكرت لك اني لا استخدم tp او sl
و ايضا لا يمكن التنبئ بترتيب الصفقات التي سوف تفتح اولا لان الاكسبيرت مرن جدا مع الشارت و لذلك تعذر التنبئ بتسمية الصفقات لانه لن يكون هناك ترتيب معين.

على كل حال انا اشكرك على وقتك و ربي يوفقك و يحميك انت و اهلك و سائر المسلمين

kira-h
01-04-2020, 03:50 AM
أخي الكريم لم افهم لم التركيز على ارقام التيكت! ما الهدف منها؟
الهدف منها
عندي ٣ حالات
-حالة الشراء،
بحيث تفتح اوامر الشراء وايضا من الممكن ان تفتح اوامر بيع ايضا ولكن لصالح الشراء.
-حالة البيع،
عكس حالة الشراء
- حالة الخسارة
وهي جمع الاوامر التي اصبحت على خسارة من الحالة الاولى و الثانية.

و كما ذكرت لك اني لا استخدم tp او sl
و ايضا لا يمكن التنبئ بترتيب الصفقات التي سوف تفتح اولا لان الاكسبيرت مرن جدا مع الشارت و لذلك تعذر التنبئ بتسمية الصفقات لانه لن يكون هناك ترتيب معين.

على كل حال انا اشكرك على وقتك و ربي يوفقك و يحميك انت و اهلك و سائر المسلمين
وإياك أخي الكريم
لم تفهم قصدي من السؤال
طيب حسب الصورة بمشاركتك السابقة يمكن عمل دالة اغلاق الصفقات الرابحة فقط، وسيتبقى المفتوحة فقط الصفقات الخاسرة
فهل هذا ما تريد ؟ باغلاق الصفقات الرابحة فقط دون الخاسرة ؟

Tarek987
01-04-2020, 12:38 PM
وإياك أخي الكريم
لم تفهم قصدي من السؤال
طيب حسب الصورة بمشاركتك السابقة يمكن عمل دالة اغلاق الصفقات الرابحة فقط، وسيتبقى المفتوحة فقط الصفقات الخاسرة
فهل هذا ما تريد ؟ باغلاق الصفقات الرابحة فقط دون الخاسرة ؟

- يمكن عمل دالة اغلاق الصفقات الرابحة فقط، وسيتبقى المفتوحة فقط الصفقات الخاسرة
فهل هذا ما تريد ؟ باغلاق الصفقات الرابحة فقط دون الخاسرة ؟
للاسف اخي حسن لا يصلح
لان قرار اغلاق الصفقات يعتمد على المجموع
بحيث يمكن ان يكون هناك صفقات بيع و شراء بنفس الوقت و بعضها رابح و الاخر خاسر , وبحساب اجمالي ناتج الصفقات يتم الاغلاق .

- برمجيا هل التالي ممكن ؟

سوف يكون عندنا ثلاث مجموعات

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

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


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

__________________

ملاحظة اخي العزيز لا يمكن التنبئ بترتيب الصفقات متى سوف تفتح لانه مرتبط بحركة الشارت.

و من الممكن ايضا النظر الى هذا الربط هل هو مفيد ؟
https://www.mql5.com/en/forum/290687

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

kira-h
01-04-2020, 05:08 PM
- يمكن عمل دالة اغلاق الصفقات الرابحة فقط، وسيتبقى المفتوحة فقط الصفقات الخاسرة
فهل هذا ما تريد ؟ باغلاق الصفقات الرابحة فقط دون الخاسرة ؟
للاسف اخي حسن لا يصلح
لان قرار اغلاق الصفقات يعتمد على المجموع
بحيث يمكن ان يكون هناك صفقات بيع و شراء بنفس الوقت و بعضها رابح و الاخر خاسر , وبحساب اجمالي ناتج الصفقات يتم الاغلاق .

- برمجيا هل التالي ممكن ؟

سوف يكون عندنا ثلاث مجموعات

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

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


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

__________________

ملاحظة اخي العزيز لا يمكن التنبئ بترتيب الصفقات متى سوف تفتح لانه مرتبط بحركة الشارت.

و من الممكن ايضا النظر الى هذا الربط هل هو مفيد ؟
https://www.mql5.com/en/forum/290687

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

ولماذا كل هذا التعقيد الذي لا ارى له حل او لم افهم منطقه!؟ في حين حسب ما فهمت يمكنك فصل المجموعات عن طريق الكومنت او الماجك نمبر
مثلا بالمجموعة الاولى ستضع كومنت خاص بالشراء b1 وكومنت خاص بالبيع s1 ثم بالمجموعة الثانية b2 و s2
اذن فعليا لديك اربع مجموعات
ويمكن عمل دالة الربح بدلالة الكومنت ودالة عدد الصفقات المفتوحة بدلالة الكومنت وبالتالي يمكنك بناء اي شروط والتحكم في تسلسل الاغلاق
مثلا عند اغلاق المجموعة b1 والمجموعة b2 يعني اذا كان عدد صفقاتهما بدلالة b1 و b2 هو 0 تعمل دالة الربح s1+s2
والعكس بالعكس حسب المجموعة التي حققت الربح اولا
هذا كمثال فقط....
اعلم انك قلت سابقا ان الكومنت غير نافع لماذا ؟
عموما يمكن عمل نفس الشروط بدلالة الماجك نمبر

Tarek987
01-04-2020, 06:46 PM
سناريو 1
طيب لنفرض ان السوق ارتفع و فتحنا امرشراء باسم ب1
ثم صعد قليلا مرة اخرى و اعطى اشارت الشراء الثانية باسم ب1 ايضا
ثم ارتد السوق وفتح امر س2
و هبط اكثر وفتح عندي س2 و س1
ثم ارتفع بقوة فاتحا اوامر الشراء كالاتي
ب2 و ب1 و ب1 و ب1
اخر امرين هم الذين تحتهم سطر اريدهم ان يخضعوا لشروط معينة و كل ما سبق يتم تجميع ناتجه للتخلص منه


سناريو 2

طيب لنفرض ان السوق ارتفع و فتحنا امرشراء باسم ب1
ثم صعد قليلا مرة اخرى و اعطى اشارت الشراء الثانية باسم ب1 ايضا
ثم ارتد السوق وفتح امر س2
و هبط اكثر وفتح عندي س2 و س1
ثم ارتفع بشكل متذبذب فاتحا اوامر كالاتي
ب1 و س1 و ب1 و ب1 و ب2
الاومر التي تحتها خط هي التي اريد ان ابقيها بحيث كل ما سبق اريد جمع ناتجه للتخلص منه

شكرا حسن و بامان الله

kira-h
01-04-2020, 08:08 PM
سناريو 1
طيب لنفرض ان السوق ارتفع و فتحنا امرشراء باسم ب1
ثم صعد قليلا مرة اخرى و اعطى اشارت الشراء الثانية باسم ب1 ايضا
ثم ارتد السوق وفتح امر س2
و هبط اكثر وفتح عندي س2 و س1
ثم ارتفع بقوة فاتحا اوامر الشراء كالاتي
ب2 و ب1 و ب1 و ب1
اخر امرين هم الذين تحتهم سطر اريدهم ان يخضعوا لشروط معينة و كل ما سبق يتم تجميع ناتجه للتخلص منه


سناريو 2

طيب لنفرض ان السوق ارتفع و فتحنا امرشراء باسم ب1
ثم صعد قليلا مرة اخرى و اعطى اشارت الشراء الثانية باسم ب1 ايضا
ثم ارتد السوق وفتح امر س2
و هبط اكثر وفتح عندي س2 و س1
ثم ارتفع بشكل متذبذب فاتحا اوامر كالاتي
ب1 و س1 و ب1 و ب1 و ب2
الاومر التي تحتها خط هي التي اريد ان ابقيها بحيث كل ما سبق اريد جمع ناتجه للتخلص منه

شكرا حسن و بامان الله
أخي الكريم تلك الشروط المعينة التي لا تريد أن توضحها! هي اساس بناء المعادلات أو الدوال التي تريدها
إذا لم توضحها فلا يمكنني الفهم ثم المساعدة
والله الموفق

mr.market
02-04-2020, 03:39 AM
أستاذ البرمجة القدير حسن كيرا
السلام عليكم ورحمة الله وبركاته
1- كيف يمكن لي معرفة أقل تريلينج ستوب مقبول عند بروكور معين ،، ونفس الشئ للستوب لوس ،، هل يوجد كود معين لذلك ؟
2- ممكن كود لدالة التريلينج الستوب المخفي عن البروكر
جزاك الله عنا خير الجزاء

السلام عليكم ورحمة الله وبركاته
للرفع والتذكير أخي حسن
جزاك الله كل خير

kira-h
02-04-2020, 04:39 PM
أستاذ البرمجة القدير حسن كيرا
السلام عليكم ورحمة الله وبركاته
1- كيف يمكن لي معرفة أقل تريلينج ستوب مقبول عند بروكور معين ،، ونفس الشئ للستوب لوس ،، هل يوجد كود معين لذلك ؟
2- ممكن كود لدالة التريلينج الستوب المخفي عن البروكر
جزاك الله عنا خير الجزاء
وعليكم السلام
1- يمكن معرفة اقل ستوب ممكن بالمنصة من خلال الوظيفة التالية :


MarketInfo(Symbol(),MODE_STOPLEVEL)


مع مراعاة Point
مثلا إذا النتيجة 50 والمنصة تكية (أي خماسية الأرقام بعد الفاصلة بسعر اليورودولار) فالقيمة بالنقاط هي 5 نقاط
والعكس بالمنصة النقطية (أي رباعية الأرقام) فالقيمة بالنقاط هي 50 نقطة

2- التريلينغ المخفي

سنقوم بتعريف كل صفقة مفتوحة عن طريق رقم التيكت، وكلما تحرك التريلينغ ستوب تتغير قيمة هذا المتغير، وبمجرد ان يصل السعر إلى قيمة هذا المتغير (قيمة سعرية) سوف تغلق الصفقة على التريلينغ ستوب
وسنستخدم متغيرات الجلوبال لحفظ القيم بدلالة التيكت (يمكنك مراجعة شرح دوال الجلوبال بالمشاركة التالية #81 (https://www.fxprg.com/vb/showthread.php?t=31457&p=846193&viewfull=1#post846193))
دالة الترلينغ المخفي كالتالي:


void HidenMoveTrailingStop()
{
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
bool s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int tk=OrderTicket(),
ot=OrderType(),
mn=OrderMagicNumber();
double op=OrderOpenPrice(),
sl=OrderStopLoss();
if(Hide_TrailingStop>0&&sy==Symbol()&&mn==MagicNo&&ot<=OP_SELL)
{
if(ot==OP_BUY)
{
if(Ask-Hide_TrailingStep*point>op+Hide_TrailingStop*point)
{
if((sl>0&&sl<Bid-Hide_TrailingStop*point)||sl==0)
{
if(GlobalVariableGet(tk+"TS")==0||(Bid-Hide_TrailingStop*point>GlobalVariableGet(tk+"TS")))GlobalVariableSet(tk+"TS",Bid-Hide_TrailingStop*point);
}
}
}
else
{
if(Bid+(Hide_TrailingStep*point)<(op-(Hide_TrailingStop*point)))
{
if((sl>0&&sl>Ask+Hide_TrailingStop*point)||sl==0)
{
if(GlobalVariableGet(tk+"TS")==0||(Ask+Hide_TrailingStop*point<GlobalVariableGet(tk+"TS")))GlobalVariableSet(tk+"TS",Ask+Hide_TrailingStop*point);
}
}
}
}
}
}


ثم سنقوم بعمل دالة تبحث في الصفقات المفتوحة وتقارن بينها وبين سعر الترلينغ ستوب المحفوظ سلفا وعندما يصل اليه السعر الحالي تغلق الصفقة



void CloseHidenTrailingStop()
{
int close=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int tk=OrderTicket(),
ty=OrderType(),
mn=OrderMagicNumber();
double op=OrderOpenPrice(),
lo=OrderLots();
if(sy==Symbol()&&mn==MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
if(Hide_TrailingStop<=0)GlobalVariableDel(tk+"TS");
if(Hide_TrailingStop>0&&GlobalVariableGet(tk+"TS")>0&&Bid<=GlobalVariableGet(tk+"TS"))
{
close=OrderClose(tk,lo,Bid,5*Q);
GlobalVariableDel(tk+"TS");
}
}
else
{
if(Hide_TrailingStop<=0)GlobalVariableDel(tk+"TS");
if(Hide_TrailingStop>0&&GlobalVariableGet(tk+"TS")>0&&Ask>=GlobalVariableGet(tk+"TS"))
{
close=OrderClose(tk,lo,Ask,5*Q);
GlobalVariableDel(tk+"TS");
}
}
}
}
}


بحيث شروط الاستدعاء بالدالة الرئيسية كالتالي :


void OnTick()
{
if(Hide_TrailingStop>0){HidenMoveTrailingStop();CloseHidenTrailingStop( );}
}


والمتغيرات الخارجية كالتالي :


input double Hide_TrailingStop=0,
Hide_TrailingStep=0;

mr.market
03-04-2020, 06:56 AM
أشكرك كثيرا أخي حسن
الله يجعله في ميزان حسناتك إن شاء الله
طبعا لا أجيد فهم كل كلمة في الكود برمجيا
لكن مع التدرج في التطبيقات سوف أفهم شيئا فشيئا حتى أصل إلى مستوى جيد
شكرا لك مرة أخرى

kira-h
03-04-2020, 03:01 PM
أشكرك كثيرا أخي حسن
الله يجعله في ميزان حسناتك إن شاء الله
طبعا لا أجيد فهم كل كلمة في الكود برمجيا
لكن مع التدرج في التطبيقات سوف أفهم شيئا فشيئا حتى أصل إلى مستوى جيد
شكرا لك مرة أخرى
بالتوفيق ان شاء الله

Sherry
04-04-2020, 12:38 AM
وعليكم السلام
نعم ممكن
مثال :


double Av_TotalPrices()
{
int Q=1;
if(_Digits==5||_Digits==3)int Q=10;

int B_Trades=0,S_Trades=0,Net_Trades=0;
double B_Size=0,B_Price=0,B_Profit=0,S_Size=0,S_Price=0,S _Profit=0,
Net_Lots=0,Net_Result=0,Average_Prices=0,steppips= 0,
Pip_Value=MarketInfo(Symbol(),MODE_TICKVALUE)*Q,
Pip_Size=MarketInfo(Symbol(),MODE_TICKSIZE)*Q;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string sy=OrderSymbol();
double op=OrderOpenPrice(),
lo=OrderLots(),
pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
int mn=OrderMagicNumber(),
ty=OrderType();
if(sy==Symbol()&&mn=MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B_Trades++;
B_Price +=op*lo;
B_Size +=lo;
B_Profit+=op+sw+cm;
}
if(ty==OP_SELL)
{
S_Trades++;
S_Price +=op*lo;
S_Size +=lo;
S_Profit+=op+sw+cm;
}
}

if(B_Size>0)B_Price/=B_Size;
if(S_Size>0)S_Price/=S_Size;
Net_Trades=B_Trades+S_Trades;
Net_Lots=B_Size-S_Size;
Net_Result=B_Profit+S_Profit;


if(Net_Trades>0&&Net_Lots!=0)
{
steppips=(Net_Result/(MathAbs(Net_Lots*MarketInfo(Symbol(),MODE_TICKVAL UE)))*MarketInfo(Symbol(),MODE_TICKSIZE));
if(Net_Lots>0)Average_Prices=NormalizeDouble(Bid-steppips,Digits);
if(Net_Lots<0)Average_Prices=NormalizeDouble(Ask+steppips,Digi ts);
}
if(Net_Trades>0&&Net_Lots==0)Average_Prices=0;
}
}
return(Average_Prices);
}


السلام عليكم
اخي حسن الكريم
هنا الداله بتعطيني المتوسط لكل الصفقات
لكن المطلوب هو المتوسط للفرق فقط

Sherry
04-04-2020, 12:42 AM
جرب ما يلي :

double LowBuy,HighBuy,LowSell,HighSell;

for(int i=0;i<OrdersTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType();
double lo=OrderLots();
if(sy==Symbol()&&mn==MagicNo)
{
if(ty==OP_BUY)B+=lo;
if(ty==OP_SELL)S+=lo;
if(B>S){LowBuy=S;HighBuy=B-S;}
else if(B<S){LowSell=B;HighSell=S-B;}
}
}

هنا ما اقصده بعد استخراج
if(B>S){LowBuy=S;HighBuy=B-S;}
else if(B<S){LowSell=B;HighSell=S-B;}

kira-h
04-04-2020, 02:33 AM
السلام عليكم
اخي حسن الكريم
هنا الداله بتعطيني المتوسط لكل الصفقات
لكن المطلوب هو المتوسط للفرق فقط
وعليكم السلام
هذا ما تقوم به الدالة
والمتوسط للفرق هو نفسه المتوسط لكل الصفقات

Sherry
04-04-2020, 02:47 AM
وعليكم السلام
هذا ما تقوم به الدالة
والمتوسط للفرق هو نفسه المتوسط لكل الصفقات


اتوقع اني فشلت في توصيل المعلومه

لكن اذا افترضنا مثلا
ان هناك صفقات شراء عددها 7 و بحجم 11 لوت
و ان هناك صفقات بيع عددها 3 و بحجم 8 لوت
هنا الفرق لصالح الشراء بحجم 3 لوت
و لكن هذا الحجم موزع على 4 صفقات
هنا المطلوب متوسط سعر 4 صفقات بحجم 3 لوت

kira-h
04-04-2020, 08:55 AM
اتوقع اني فشلت في توصيل المعلومه

لكن اذا افترضنا مثلا
ان هناك صفقات شراء عددها 7 و بحجم 11 لوت
و ان هناك صفقات بيع عددها 3 و بحجم 8 لوت
هنا الفرق لصالح الشراء بحجم 3 لوت
و لكن هذا الحجم موزع على 4 صفقات
هنا المطلوب متوسط سعر 4 صفقات بحجم 3 لوت
اخي هذا ما تقوم به تلك الدالة
ولاحظ انه لا بجوز ان يكون فرق لوتات البيع والشراء 0 لانه لا يوجد متوسط سعري في هذه الحالة يعني هيدج نتيجته ثابثة مهما تحرك السعر صعودا او هبوطا

ahmadsaber
04-04-2020, 11:48 PM
السلام عليكم
اين قسم الطلبات البرمجية المأجورة؟

silver
05-04-2020, 02:01 AM
السلام عليكم
اين قسم الطلبات البرمجية المأجورة؟
وعليكم السلام ورحمة الله وبركاته
أهلا بك
إذهب إلى الصفحة الرئيسية للمنتدى وستجد أمامك بوضوح القسم المدفوع كما في الصورة
20364

أو اضغط على الرابط التالي وسيحولك إلى هذا القسم مباشرة
https://www.fxprg.com/vb/forumdisplay.php?f=211

ابو عمر
05-04-2020, 02:21 PM
وعليكم السلام ورحمة الله وبركاته
أهلا بك
إذهب إلى الصفحة الرئيسية للمنتدى وستجد أمامك بوضوح القسم المدفوع كما في الصورة
20364

أو اضغط على الرابط التالي وسيحولك إلى هذا القسم مباشرة
https://www.fxprg.com/vb/forumdisplay.php?f=211

بارك الله فيك اخي

silver
05-04-2020, 09:47 PM
بارك الله فيك اخي

مرحبا أخي العزيز أبو عمر
الله يبارك فيك وينور عليك يا رب

صياد الجراح
08-04-2020, 04:22 PM
بسم الله الرحمن الرحيم

أخى حسن تحية طيبة

ماهى طريقة كتابة شرط

ان يكون اغلاق الشمعة اقل من منصفها ( اكبر من منصفها )؟

ودى وتقديرى

sabil
08-04-2020, 05:15 PM
اخي حسن
عملت اكسبرت اوامر معلقة شرط للباي ليميت وشرط للباي ستوب وكذلك البيع لكن شروط الشراء والبيع ستوب لا يعملان لا اعلم سبب المشكلة ولكن متأكد انها هتكون تافهه وانت تقدر على حلها

kira-h
09-04-2020, 10:26 AM
اخي حسن
عملت اكسبرت اوامر معلقة شرط للباي ليميت وشرط للباي ستوب وكذلك البيع لكن شروط الشراء والبيع ستوب لا يعملان لا اعلم سبب المشكلة ولكن متأكد انها هتكون تافهه وانت تقدر على حلها
راجع خانة الجورنال لمعرفة السبب

kira-h
09-04-2020, 10:30 AM
بسم الله الرحمن الرحيم

أخى حسن تحية طيبة

ماهى طريقة كتابة شرط

ان يكون اغلاق الشمعة اقل من منصفها ( اكبر من منصفها )؟

ودى وتقديرى
تقارن سعر منتصف الشمعة مع سعر اغلاقها يعني تجمع سعري الهاي واللو مقسوم على 2 وتقارن الناتج مع سعر الاغلاق
مثال :
if(Close[1]<(High[1]+Low[1])/2)

صياد الجراح
09-04-2020, 03:57 PM
تقارن سعر منتصف الشمعة مع سعر اغلاقها يعني تجمع سعري الهاي واللو مقسوم على 2 وتقارن الناتج مع سعر الاغلاق
مثال :
if(Close[1]<(High[1]+Low[1])/2)

بارك الله فيك اخى حسن
مشكور

kira-h
09-04-2020, 09:09 PM
بارك الله فيك اخى حسن
مشكور
العفو وبالتوفيق إن شاء الله

sabil
10-04-2020, 06:53 PM
راجع خانة الجورنال لمعرفة السبب
ملقتش حاجة ف الجورنال بس اشتغل ما رسترت المنصة
الغريبة بقى انه شغال صح مع الباي ليميت لما يتفعل بيفتح بيع ستوب ولما يتفعل البيع بيفتح باي ستوب وهكذا لكن مش بيفتح باي ستوب مع البيع ليميت الل فوق لما يتفعل ايه المشكلة هنا؟

والله الواحد تعب من البرمجة دي ههههه

kira-h
11-04-2020, 02:58 AM
ملقتش حاجة ف الجورنال بس اشتغل ما رسترت المنصة
الغريبة بقى انه شغال صح مع الباي ليميت لما يتفعل بيفتح بيع ستوب ولما يتفعل البيع بيفتح باي ستوب وهكذا لكن مش بيفتح باي ستوب مع البيع ليميت الل فوق لما يتفعل ايه المشكلة هنا؟

والله الواحد تعب من البرمجة دي ههههه
الشروط سليمة برمجيا لكنها متناقضة بحيث يوجد سلسليتن من العقود لهما نفس الماجك نمبر ونفس الكومنت! (يعني لا يوجد تمييز بينهما) وبالتالي مثلا قد يكون آخر امر من نوع معلق بالسلستين معا ، وانت تشترط لفتح امر معلق آخر معاكس عند وجود آخر أمر من نوع ماركت فيعترض الامر المعلق كآخر نوع وبالتالي لا يتحقق الشرط،،، والعكس بالعكس
لهذا لابد من فصل السلسلتين حتى لا تتداخل الشروط بينهما
كذلك يعترض شرط توقيت الشمعة time هو نفسه بكل الشروط ! يعني اشترطت بعدم فتح أكثر من امر بالشمعة، وبالتالي لا تتحقق بقية الشروط

في النهاية إما لديك تناقض بالشروط او الفكرة غير واضحة حتى اصحح ما يجب تصحيحه

mahmoud1111
11-04-2020, 07:58 PM
السلام عليكم لو سمحت استاذي اريد كود تحديد وقت فتح الصفقات
مثلا اريد ان يعمل الاكسبيرت من الساعة 7 صباحا حتي الساعة 3 عصرا و من الساعة 1 صباحا حتي الساعة الثالثة صباحا
بحيث انه لا يغلق الصفقات المفتوحة
فقط لا يفتح اي صفقة خلال فترة المنع
شكرا لك مقدما استاذي الكريم

kira-h
12-04-2020, 03:22 AM
السلام عليكم لو سمحت استاذي اريد كود تحديد وقت فتح الصفقات
مثلا اريد ان يعمل الاكسبيرت من الساعة 7 صباحا حتي الساعة 3 عصرا و من الساعة 1 صباحا حتي الساعة الثالثة صباحا
بحيث انه لا يغلق الصفقات المفتوحة
فقط لا يفتح اي صفقة خلال فترة المنع
شكرا لك مقدما استاذي الكريم
وعليكم السلام
راجع المشاركة التالية
دالة التوقيت (https://www.fxprg.com/vb/showthread.php?t=31456&p=844549&viewfull=1#post844549)

shivaa
12-04-2020, 11:56 AM
السلام عليكم
اكسبيرت الخاص بى يعمل على حسابات وحسابات اخرى لا يعمل بسبب اسم الزوج
ممكن تكتب لى الحل
بعض الحسابات بيكون اسماء الازواج مختلفه مثال
eurusd
او
eurusd.p
او
m.eurusd
المشكله ممكن الملحق بعد او قبل الزوج كيف التميز
اريد استخراج الجزء الملحق باسم الزوج فقط
اكون شاكر

kira-h
12-04-2020, 08:36 PM
السلام عليكم
اكسبيرت الخاص بى يعمل على حسابات وحسابات اخرى لا يعمل بسبب اسم الزوج
ممكن تكتب لى الحل
بعض الحسابات بيكون اسماء الازواج مختلفه مثال
eurusd
او
eurusd.p
او
m.eurusd
المشكله ممكن الملحق بعد او قبل الزوج كيف التميز
اريد استخراج الجزء الملحق باسم الزوج فقط
اكون شاكر
وعليكم السلام
السؤال غير واضح، كيف تريد استخراج الملحق وهو معروف مسبقا بالمنصة!

عموما إذا كنت تستخدم الشروط باسماء ازواج محددة قم فقط باضافة الملحقات ليتعامل الاكسبيرت مع اسم الزوج كما في المنصة
مثلا زوج اسمه m.eurusd.pro
ستقوم باضافة الملحقات باسم الزوج حتى يتعامل معه الاكسبيرت باسمه الحقيقي نسميه symbol والذي ستضعه بكل الشروط مكان الوظيفة ()Symbol
وطبعا الملحقات تراها باسماء الازواج بالماركت واتش ستكون كاعدادات خارجية قابلة للتعديل للتعامل مع انواع الحسابات دون الحاجة لتعديل الكود...



input string sufix="m.",
prefix=".pro";

string symbol=sufix+"EURUSD"+prefix;

shivaa
13-04-2020, 03:18 AM
وعليكم السلام
السؤال غير واضح، كيف تريد استخراج الملحق وهو معروف مسبقا بالمنصة!

عموما إذا كنت تستخدم الشروط باسماء ازواج محددة قم فقط باضافة الملحقات ليتعامل الاكسبيرت مع اسم الزوج كما في المنصة
مثلا زوج اسمه m.eurusd.pro
ستقوم باضافة الملحقات باسم الزوج حتى يتعامل معه الاكسبيرت باسمه الحقيقي نسميه symbol والذي ستضعه بكل الشروط مكان الوظيفة ()Symbol
وطبعا الملحقات تراها باسماء الازواج بالماركت واتش ستكون كاعدادات خارجية قابلة للتعديل للتعامل مع انواع الحسابات دون الحاجة لتعديل الكود...



input string sufix="m.",
prefix=".pro";

string symbol=sufix+"EURUSD"+prefix;

السلام عليكم
تمام
الا انت قلته فى جزء يدوى وانا اريده ان تكون كل العمليه اتماتك
يعنى مجرد وضع الاكسبيرت يتعرف على اسماء ويعدل استخدام على الازواج اتماتك
يعنى اريد شروط البحث
مثال لتقطيع والرجوع بجزء الملحق فى الاخر اسم الزوج
المشكله عوزه يتعرف على اى جزء المطلوب فى اسم الزوج الموجود بدون اخطاء

string Ls_3=StringSubstr(EURUSD.p,6,4);

والنتيجه يكون

Ls_3=.p;
العيب الموجود
كيف اعرف ان الملحق موجود

غير موجود ملحق ====> EURUSD

ولا بعد الزوج ====> EURUSD.p

قبل الزوج ====> m.EURUS

او موجود فى الاول والاخير====> m.EURUSD.p
بدون تدخل منى والخروج بالملحق فقط حتى اجعل الكسبيرت يعدل كل شى على نتائج

mahmoud1111
13-04-2020, 07:49 AM
الف شكر استاذي وبارك الله فيك

kira-h
13-04-2020, 07:18 PM
السلام عليكم
تمام
الا انت قلته فى جزء يدوى وانا اريده ان تكون كل العمليه اتماتك
يعنى مجرد وضع الاكسبيرت يتعرف على اسماء ويعدل استخدام على الازواج اتماتك
يعنى اريد شروط البحث
مثال لتقطيع والرجوع بجزء الملحق فى الاخر اسم الزوج
المشكله عوزه يتعرف على اى جزء المطلوب فى اسم الزوج الموجود بدون اخطاء

string Ls_3=StringSubstr(EURUSD.p,6,4);

والنتيجه يكون

Ls_3=.p;
العيب الموجود
كيف اعرف ان الملحق موجود

غير موجود ملحق ====> EURUSD

ولا بعد الزوج ====> EURUSD.p

قبل الزوج ====> m.EURUS

او موجود فى الاول والاخير====> m.EURUSD.p
بدون تدخل منى والخروج بالملحق فقط حتى اجعل الكسبيرت يعدل كل شى على نتائج
وعليكم السلام
لا توجد وظيفة تقوم بتمييز اسم اللاحقة عن السابقة للزوج ولا اعتقد بوجود طريقة لذلك!
ولكن يمكن تحديد نوع الاسم الزائد بالاعدادات (لاحق او سابق) وبناءا عليه تتم اضافته تلقائيا بالكود
مثال :


enum Ftyp{Suffix=0,Prefix=1};


input Ftyp Fix_type=Suffix;


string suffix="",prefix="";


int OnInit()
{
if(Fix_type==Suffix){suffix=StringSubstr(Symbol(), 0,StringLen(Symbol())-6);prefix="";}
else {suffix="";prefix=StringSubstr(Symbol(),6,StringLen(Symbol() )-6);}

Alert(suffix+"EURJPY"+prefix);

return(INIT_SUCCEEDED);
}

kira-h
13-04-2020, 08:19 PM
الف شكر استاذي وبارك الله فيك
العفو أخي الكريم

shivaa
14-04-2020, 01:44 AM
وعليكم السلام
لا توجد وظيفة تقوم بتمييز اسم اللاحقة عن السابقة للزوج ولا اعتقد بوجود طريقة لذلك!
ولكن يمكن تحديد نوع الاسم الزائد بالاعدادات (لاحق او سابق) وبناءا عليه تتم اضافته تلقائيا بالكود
مثال :


enum Ftyp{Suffix=0,Prefix=1};


input Ftyp Fix_type=Suffix;


string suffix="",prefix="";


int OnInit()
{
if(Fix_type==Suffix){suffix=StringSubstr(Symbol(), 0,StringLen(Symbol())-6);prefix="";}
else {suffix="";prefix=StringSubstr(Symbol(),6,StringLen(Symbol() )-6);}

Alert(suffix+"EURJPY"+prefix);

return(INIT_SUCCEEDED);
}

اشكرك على كل شى وجزاك الخير
هل فى اداه او داله ترجع بعدد الاحرف فى كلمه

kira-h
14-04-2020, 08:14 AM
اشكرك على كل شى وجزاك الخير
هل فى اداه او داله ترجع بعدد الاحرف فى كلمه
واياك اخي الكريم
المرجو التوضيح اكثر

shivaa
21-04-2020, 10:07 PM
واياك اخي الكريم
المرجو التوضيح اكثر
السلام عليكم
لوعرفنا عدد احرف اسم الزوج (عدد احرف الاسبيلنج)
من المتعارف عليه ان الازواج الاساسيه مكون من 6 احرف

مثل لو حصل ان عدد الاحرف الازواج فى المنصه مكون 8 احرف
ممكن مقارنه باسماء الازواج موجوده فى متغير
اذا كان متغير(اسماء الازواج)( = )اول 6 احرف بعد تقطيع اسم الزوج
نتيجه
هو الحرفين موجود فى اخر اسم الزوج
اما اذا
(=!)اذن هما موجود فى اول اسم الزوج

kira-h
22-04-2020, 10:13 AM
السلام عليكم
لوعرفنا عدد احرف اسم الزوج (عدد احرف الاسبيلنج)
من المتعارف عليه ان الازواج الاساسيه مكون من 6 احرف

مثل لو حصل ان عدد الاحرف الازواج فى المنصه مكون 8 احرف
ممكن مقارنه باسماء الازواج موجوده فى متغير
اذا كان متغير(اسماء الازواج)( = )اول 6 احرف بعد تقطيع اسم الزوج
نتيجه
هو الحرفين موجود فى اخر اسم الزوج
اما اذا
(=!)اذن هما موجود فى اول اسم الزوج
وعليكم السلام
هذا ما تم عمله سابقا
بتحديد نوع الحروف الزائدة من الاعدادات الخارجية هل هي سابقة ام لاحقة، لان هذا غير ممكن تلقائيا حسب ما اعلم

REDOUANE
23-04-2020, 10:54 PM
السلام عليكم
هذا اول كود اقوم بكتابته لبرمجة استراتيجية بسيطة و قوية للغاية .علما انني كتبته بتركيز كبير و صححت عدة اخطاء لكن اواجه اربعة اخطاء لم اعرف سببها . ارجو المساعدة
اجدد شكري للاستاذ حسن و باقي الاخوة الساهرين على هذا المنتدى.
2068020682

kira-h
24-04-2020, 12:14 AM
السلام عليكم
هذا اول كود اقوم بكتابته لبرمجة استراتيجية بسيطة و قوية للغاية .علما انني كتبته بتركيز كبير و صححت عدة اخطاء لكن اواجه اربعة اخطاء لم اعرف سببها . ارجو المساعدة
اجدد شكري للاستاذ حسن و باقي الاخوة الساهرين على هذا المنتدى.

وعليكم السلام
ضع الشروط ضمن الدالة OnTick واذا لم يعمل ارفق الاكسبيرت للمراجعة

REDOUANE
24-04-2020, 01:11 AM
السلام عليكم اخي حسن للاسف لم يشتغل معي الملف في المرفقات
تحياتي

kira-h
24-04-2020, 08:40 PM
السلام عليكم اخي حسن للاسف لم يشتغل معي الملف في المرفقات
تحياتي
وعليكم السلام
تم التصحيح بالنسخة المرفقة

REDOUANE
25-04-2020, 01:31 AM
رائع جدا شكرا لك يا محترف . بس لما اشغل الاكسبيرت في الباك تست الاحظ انه لا يفتح اي صفقة رغم وجود الفرص على الشارت التي تستوفي كل الشروط.

kira-h
25-04-2020, 02:45 PM
رائع جدا شكرا لك يا محترف . بس لما اشغل الاكسبيرت في الباك تست الاحظ انه لا يفتح اي صفقة رغم وجود الفرص على الشارت التي تستوفي كل الشروط.
العفو
قمت فقط بتصحيح الاخطاء البرمجية وليس طريقة العمل فلا اعلم عنها شيء
يمكنك شرح الطريقة مع صورة توضيحية

REDOUANE
25-04-2020, 07:24 PM
السلام عليكم شكرا اخي حسن
بالنسبة للاستراتيجة التي قمت ببرمجتها تتضمن شرطين اساسيين لفتح صفقة شراء او بيع.
شروط فتح صفقة شراء :
1- اغلاق شمعة فوق الموفنغ افيريتج 14.
2- اغلاق على الاقل 30 شمعة تحت الموفتغ افريتج بالنسبة للشموع التي سبقت سمعة الاغلاق فوق الموفنغ .
في الصورة المرفقة مثال لصفقة شراء.
والعكس بالنسبة لفتح صفقة بيع :
1- اغلاق شمعة تحت الموفنغ افيريتج 14.
2- اغلاق على الاقل 30 شمعة فوق الموفتغ افريتج بالنسبة للشموع التي سبقت سمعة الاغلاق تحت الموفنغ .
20713

kira-h
26-04-2020, 12:40 AM
السلام عليكم شكرا اخي حسن
بالنسبة للاستراتيجة التي قمت ببرمجتها تتضمن شرطين اساسيين لفتح صفقة شراء او بيع.
شروط فتح صفقة شراء :
1- اغلاق شمعة فوق الموفنغ افيريتج 14.
2- اغلاق على الاقل 30 شمعة تحت الموفتغ افريتج بالنسبة للشموع التي سبقت سمعة الاغلاق فوق الموفنغ .
في الصورة المرفقة مثال لصفقة شراء.
والعكس بالنسبة لفتح صفقة بيع :
1- اغلاق شمعة تحت الموفنغ افيريتج 14.
2- اغلاق على الاقل 30 شمعة فوق الموفتغ افريتج بالنسبة للشموع التي سبقت سمعة الاغلاق تحت الموفنغ .

مرفق الاكسبيرت

REDOUANE
26-04-2020, 02:50 AM
شكرا جزيلا اخي حفظك الله
الاكسبيرت اعطى نتائج واعدة على فريم الديلي في عدد من الازواج انا لم ادرج شروط اخرى للاستراتيجة في برمجة الاكسبيرت .
الصور لمشاركة النتائج لهذه الاستراتيجية .
207152071620717

kira-h
26-04-2020, 06:30 AM
شكرا جزيلا اخي حفظك الله
الاكسبيرت اعطى نتائج واعدة على فريم الديلي في عدد من الازواج انا لم ادرج شروط اخرى للاستراتيجة في برمجة الاكسبيرت .
الصور لمشاركة النتائج لهذه الاستراتيجية .
207152071620717

العفو وبالتوفيق ان شاء الله

hre007
03-05-2020, 06:22 AM
السلام عليكم استاذ حسن
اولا كل سنة وحضرتك طيب وبخير يا رب ورمضان كريم عليك إن شاء الله
ثانيا .. كان لي ثلاث اسئلة
الاول ..
انا اكتب الدالة

double LastOrderPrice(int typee) { for(int i=OrdersTotal()-1; i>=0; i--) { if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo && OrderType()==typee) { return(OrderOpenPrice()); } } return(0); }
لمعرفة سعر آخر صفقة فتحت حسب نوعها .. فلو عندي عدد من الصفقات وعاوز اعرف سعر اول صفقة فتحت مش الاخيرة هكتب الدالة اذاي؟؟
...
السؤال الثاني ..
اذاي اعمل قائمة منسدلة في اختيارات الاكسبيرت تحوي الشراء فقط .. البيع فقط .. البيع والشراء ؟؟؟
...
السؤال الاخير
لو عاوز اعمل بالاكسبيرت " زر" لأغلاق جميع الصفقات يظهر على الشارت فما هي الخطوات ؟؟؟
...
لك الشكر وجزاك الله كل خير

kira-h
03-05-2020, 05:08 PM
السلام عليكم استاذ حسن
اولا كل سنة وحضرتك طيب وبخير يا رب ورمضان كريم عليك إن شاء الله
ثانيا .. كان لي ثلاث اسئلة
الاول ..
انا اكتب الدالة

double LastOrderPrice(int typee) { for(int i=OrdersTotal()-1; i>=0; i--) { if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo && OrderType()==typee) { return(OrderOpenPrice()); } } return(0); }
لمعرفة سعر آخر صفقة فتحت حسب نوعها .. فلو عندي عدد من الصفقات وعاوز اعرف سعر اول صفقة فتحت مش الاخيرة هكتب الدالة اذاي؟؟
...
السؤال الثاني ..
اذاي اعمل قائمة منسدلة في اختيارات الاكسبيرت تحوي الشراء فقط .. البيع فقط .. البيع والشراء ؟؟؟
...
السؤال الاخير
لو عاوز اعمل بالاكسبيرت " زر" لأغلاق جميع الصفقات يظهر على الشارت فما هي الخطوات ؟؟؟
...
لك الشكر وجزاك الله كل خير
وعليكم السلام
رمضان كريم وكل عام وانتم بخير

1- سعر اول صفقة حسب النوع كالتالي:


double FirstOrderPrice(int typee)
{
for(int i=0;i<OrdersTotal();i++)
{
if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo && OrderType()==typee)
{
return(OrderOpenPrice());
}
}
return(0);
}


2- لعمل قائمة منسدلة ستستخدم متغير من نوع enum والتي يكون مكانها قبل المتغيرات الخارجية

نستخدم enum ثم كتابة إسم المتغير الذي نريده وبداخل الأقواس نضع أسماء القيم التي نريدها وبينها فاصله وفي نهاية الكود نضع ;

مثال :


#property version "1.00"

enum typ
{
BUY=0,
SELL=1,
BUY_SELL=2,
};

input typ Order_Type=BUY_SELL;


مثال لشرط فتح صفقة شراء فقط :

if(Order_Type==BUY||Order_Type==BUY_SELL)//open buy...

او تختصرها بدلالة قيم المتغيرات كالتالي:

if(Order_Type==0||Order_Type==2)//open buy...

او شرط البيع
if(Order_Type>=1)//open sell...

3- لعمل حدث تفاعلي ما على الشارت ستستخدم الدالة
OnChartEvent
الشرح من هنا
- دالة OnChartEvent لعمل (https://www.fxprg.com/vb/showthread.php?t=31456&page=3&p=844604&viewfull=1#post844604) حدث تفاعلي على الشارت (https://www.fxprg.com/vb/showthread.php?t=31456&page=3&p=844604&viewfull=1#post844604)

Tarek987
03-05-2020, 08:54 PM
السلام عليكم حسن و الجميع,
حسن انا عم احاول اتعلم و ارجو المساعدة.
الرجاء الاطلاع على ال ea المرفق.
هو عبارة عن اكسبيرت بسيط يفتح 3 اوامر شراء و انا احاول ان اضع التيكت نمبر لكل امر بداخل دايناميك array

المشكلة عند النظر على الجورنال بعد تشغيل ال ea على ال strategy tester
الاحظ ان ال array تاخذ اخر تيكيت نمبر و تحفظ قيمته داخل جميع قيمها.
ما الغلط بالكود ؟ ارجو المساعدة

بالنهاية ربي يوفقك انت و الجميع.

kira-h
04-05-2020, 05:00 AM
السلام عليكم حسن و الجميع,
حسن انا عم احاول اتعلم و ارجو المساعدة.
الرجاء الاطلاع على ال ea المرفق.
هو عبارة عن اكسبيرت بسيط يفتح 3 اوامر شراء و انا احاول ان اضع التيكت نمبر لكل امر بداخل دايناميك array

المشكلة عند النظر على الجورنال بعد تشغيل ال ea على ال strategy tester
الاحظ ان ال array تاخذ اخر تيكيت نمبر و تحفظ قيمته داخل جميع قيمها.
ما الغلط بالكود ؟ ارجو المساعدة

بالنهاية ربي يوفقك انت و الجميع.

وعليكم السلام
الخطأ في مكونات المصفوفة
راجع النسخة المرفقة

hre007
04-05-2020, 05:11 AM
وعليكم السلام
رمضان كريم وكل عام وانتم بخير

1- سعر اول صفقة حسب النوع كالتالي:


double FirstOrderPrice(int typee)
{
for(int i=0;i<OrdersTotal();i++)
{
if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo && OrderType()==typee)
{
return(OrderOpenPrice());
}
}
return(0);
}





جزاك الله كل خير استاذي العزيز
انا عملت الازرار تمام والقائمة المنسدلة .. بس انا سألت السؤال معرفة الصفقة الاولي والاخيرة غلط وحضرتك جاوبتني ..
شوف يا استاذي لو فتحت صفقة شراء مثلا وبعدين فتحت 3 شراء من فوق السعر وفتحت 3 صفقات شراء من تحت السعر
انا عاوز دالة تحدد الصفقة الاقل سعر وهي بالتأكيد آخر واحدة تحت .. وكذلك تحدد الصفقة الاعلي سعرا وهي الي فوق ؟؟
هو ده السؤال بارك الله فيك

Tarek987
04-05-2020, 11:20 AM
وعليكم السلام
الخطأ في مكونات المصفوفة
راجع النسخة المرفقة

جزاك الله الخير على تفاعلك الطيب .

بدلا من حفظ التيكيت نمبرز ب ticket1,ticket2,ticket3
هل من طريقة لجلب اخر التيكيت نمبر عن طريق دالة اخر تيكيت ؟


//+------------------------------------------------------------------+
//| loops.mq4 |
//| Copyright 2019, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "2.00"
#property strict


int num = 0 ;

int ticket1=0,ticket2=0,ticket3=0 ;

int MagicNo = 123 ;

int tn [];
static int b = 0;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---

//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{

if(num == 0)
{
ticket1 = OrderSend(Symbol(),OP_BUY, 0.01,Ask,3,0,0,"",MagicNo,0,clrBlue);
ticket2 = OrderSend(Symbol(),OP_BUY, 0.01,Ask,3,0,0,"",MagicNo,0,clrBlue);
ticket3 = OrderSend(Symbol(),OP_BUY, 0.01,Ask,3,0,0,"",MagicNo,0,clrBlue);
num = 1;

ArrayResize(tn, OrdersTotal());

ArrayFill(tn, b, 1,ticket1);
b++;

ArrayFill(tn, b, 1,ticket2);
b++;

ArrayFill(tn, b, 1,ticket3);
b++;

for(int i=0;i<ArraySize(tn);i++) printf("a[%d] = %d",i,tn[i]);
}

} ///////////////////////////// END OnTick

sabil
04-05-2020, 06:15 PM
كل عام وانت بخير اخي حسن
عملت اكسبرت دايفرجنس باستخدام مؤشر ماكد خارجي
وطبعا عشان اقارن بين مستويات الشموع وخطوط الهيستوجرام استخدمت خطوط افقية ارسمها يدوياً اسهل من برمجة مؤشر مخصوص
لكن للاسف رغم كتابة الشروط بشكل صحيح الاكسبرت لا يفتح صفقات علماً بأني اسميت الخطوط الافقية ع الشارت كما بالاكسبرت

الاكسبرت والمؤشر ف المرفقات
ارجو التصحيح
ولكم جزيل الشكر

kira-h
05-05-2020, 12:14 AM
جزاك الله كل خير استاذي العزيز
انا عملت الازرار تمام والقائمة المنسدلة .. بس انا سألت السؤال معرفة الصفقة الاولي والاخيرة غلط وحضرتك جاوبتني ..
شوف يا استاذي لو فتحت صفقة شراء مثلا وبعدين فتحت 3 شراء من فوق السعر وفتحت 3 صفقات شراء من تحت السعر
انا عاوز دالة تحدد الصفقة الاقل سعر وهي بالتأكيد آخر واحدة تحت .. وكذلك تحدد الصفقة الاعلي سعرا وهي الي فوق ؟؟
هو ده السؤال بارك الله فيك
- دالة اعلى سعر بدلالة نوع الصفقات كالتالي :

double HighestPrice(int type)
{
double c=0;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
bool s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
{
if(OrderType()==type)
{
if(OrderOpenPrice()>c)c=OrderOpenPrice();
}
}
}
return(c);
}


- دالة اقل سعر بدلالة نوع الصفقات كالتالي :


double LowestPrice(int type)
{
double c=EMPTY_VALUE;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
bool s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
{
if(OrderType()==type)
{
if(OrderOpenPrice()<c)c=OrderOpenPrice();
}
}
}
return(c);
}

kira-h
05-05-2020, 12:37 AM
جزاك الله الخير على تفاعلك الطيب .

بدلا من حفظ التيكيت نمبرز ب ticket1,ticket2,ticket3
هل من طريقة لجلب اخر التيكيت نمبر عن طريق دالة اخر تيكيت ؟


//+------------------------------------------------------------------+
//| loops.mq4 |
//| Copyright 2019, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "2.00"
#property strict


int num = 0 ;

int ticket1=0,ticket2=0,ticket3=0 ;

int MagicNo = 123 ;

int tn [];
static int b = 0;

//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---

//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{

if(num == 0)
{
ticket1 = OrderSend(Symbol(),OP_BUY, 0.01,Ask,3,0,0,"",MagicNo,0,clrBlue);
ticket2 = OrderSend(Symbol(),OP_BUY, 0.01,Ask,3,0,0,"",MagicNo,0,clrBlue);
ticket3 = OrderSend(Symbol(),OP_BUY, 0.01,Ask,3,0,0,"",MagicNo,0,clrBlue);
num = 1;

ArrayResize(tn, OrdersTotal());

ArrayFill(tn, b, 1,ticket1);
b++;

ArrayFill(tn, b, 1,ticket2);
b++;

ArrayFill(tn, b, 1,ticket3);
b++;

for(int i=0;i<ArraySize(tn);i++) printf("a[%d] = %d",i,tn[i]);
}

} ///////////////////////////// END OnTick








لم افهم السؤال ! دالة اخر تيكت موجودة بالاكسبيرت الاصلي

kira-h
05-05-2020, 12:54 AM
كل عام وانت بخير اخي حسن
عملت اكسبرت دايفرجنس باستخدام مؤشر ماكد خارجي
وطبعا عشان اقارن بين مستويات الشموع وخطوط الهيستوجرام استخدمت خطوط افقية ارسمها يدوياً اسهل من برمجة مؤشر مخصوص
لكن للاسف رغم كتابة الشروط بشكل صحيح الاكسبرت لا يفتح صفقات علماً بأني اسميت الخطوط الافقية ع الشارت كما بالاكسبرت

الاكسبرت والمؤشر ف المرفقات
ارجو التصحيح
ولكم جزيل الشكر

السلام عليكم
الاكسبيرت سليم برمجيا، فقط يجب ان تضع بعض الشروط الاحترازية (بالمرفق)
لا اعلم منطق الاستراتيجية لكن يوجد خط على الشارت وخط على المؤشر وتضع مقارنات..،سليمة برمجيا، تأكد من انها تتحقق على الشارت

sabil
05-05-2020, 01:59 PM
السلام عليكم
الاكسبيرت سليم برمجيا، فقط يجب ان تضع بعض الشروط الاحترازية (بالمرفق)
لا اعلم منطق الاستراتيجية لكن يوجد خط على الشارت وخط على المؤشر وتضع مقارنات..،سليمة برمجيا، تأكد من انها تتحقق على الشارت
وعليكم السلام
شكراً اخي حسن ع المساعدة لكن جربته مش شغال بردو
هحاول اعملك شرح بالصور للاستراتيجية ربما فيه ثغرة او خلل ما مش واخد بالي منها

Tarek987
05-05-2020, 03:50 PM
لم افهم السؤال ! دالة اخر تيكت موجودة بالاكسبيرت الاصلي

مشكور حسن . تم حل المشكلة

Tarek987
05-05-2020, 04:02 PM
السلام عليكم جميعا


حسن انا نجحت بحفظ التيكيت نمبرز بالطريقة المطلوبة
و ايضا نجحت بنسخ من مصفوفة لاخرى.

الرجاء المساعدة بعمل وظيفتين
الاولى لاغلاق الصفقات عن طريق array محدد
و الثانية لحساب ربح الصفقات عن طريق array محدد

( الرجاء الاطلاع عل الea المرفق لسهولة الشرح هناك اكثر , لاني وضعة بعض الملاحظات هناك )

شكرا حسن

kira-h
06-05-2020, 03:10 AM
السلام عليكم جميعا


حسن انا نجحت بحفظ التيكيت نمبرز بالطريقة المطلوبة
و ايضا نجحت بنسخ من مصفوفة لاخرى.

الرجاء المساعدة بعمل وظيفتين
الاولى لاغلاق الصفقات عن طريق array محدد
و الثانية لحساب ربح الصفقات عن طريق array محدد

( الرجاء الاطلاع عل الea المرفق لسهولة الشرح هناك اكثر , لاني وضعة بعض الملاحظات هناك )

شكرا حسن

وعليكم السلام
أخي الكريم إذا كنت من كتب أو حتى فهم هذا الكود فانت خبير بالمصفوفات اكثر مني ويمكنك فعل ما تريد !
عموما جرب النسخة المرفقة وهذا ما استطيع

forex
18-05-2020, 09:11 AM
السلام عليكم
ما هو closeby ؟

forex
18-05-2020, 09:12 AM
وما هو هذف ووقف atr وفيماذا ينفع

kira-h
19-05-2020, 08:23 AM
السلام عليكم
ما هو closeby ؟


وما هو هذف ووقف atr وفيماذا ينفع

هذه الاسلئة ليست لها علاقة بالبرمجة
عموما CloseBy يوجد بقائمة تنفيذ الاغلاق (أو فتح الصفقة) للمنصة ويتم قبول هذا الاغلاق عند وجود شراء وبيع مفتوحين (هيدج) وليس شرط ان يكونا بنفس اللوت، بل سيتم اغلاق اقل لوت بأحد طرفي الهيدج مع نفس اللوت هذا بالطرف الاخر
مثلا شراء 0.3 و بيع 0.2 عند استخدام كلوزباي سيتم اغلاق عدد 0.2 من الشراء مع 0.2 للبيع ويتبقى عقد شراء مفتوح 0.1
يوجد ايضا multiple close by والفرق هنا تكون الاغلاقات لعدة هيدجات دفعة واحدة بنفس الطريقة فيتبقى احد الطرفين إما البيع أو الشراء بالعقد المتبقي
يمكن اغلاق عقد شراء بسعر ما مع بيع بسعر مختلف أو اغلاق البيع مع الشراء من نفي السعر، وهكذا..


عند استخدام خاصية close by لاغلاق المراكز المهدجة فان الشركة تقوم بالتسوية بحيث يتم اعادة السبريد الخاص بكل مركز مهدج مما يعنى ان الشركة تخسر نصف ما ربحته من العميل و لهذا لا تقوم كثير من الشركات بالسماح بهذا النوع من الاغلاق خصوصا ذات السبريد المنخفض، فكل شركة و لها نظام عملها

ATR مؤشر موجود ضمن مؤشرات المنصة يحسب متوسط الحركة السعرية لفترة معينة بعدد الشموع السابقة (افتراضيا 14 شمعة)
هذا المتوسط عبارة عن عدد نقاط يتم وضعه بالصفقة او ضمن معادلة ما حسب ما يراه المتداول

forex
20-05-2020, 03:06 AM
ربنا إجازيك

kira-h
20-05-2020, 04:58 AM
ربنا إجازيك
وإياك اخي الكريم

hre007
22-05-2020, 02:31 PM
السلام عليكم اخي حسن
ان شاء الله تكون بخير
... بصراحة انا متلغبط شوية في الفكرة عشان كدة هاخد خطوة خطوة مع حضرتك عشان اعرف اخطائي
اولا ..
انا عاوز الاكسبيرت يفتح ماركت اذا وصل السعر الي بعد معين من سعر افتتاح اليوم
فكتبت الامر باكتر من طريقة بعضهم جاب نتيجة اذا فتحت الشارت اليومي فقط عند استخدام [0]Open واخر جاب نتيجة لو السعر ماركت واستعملت iOpen ,iClose ومفيش فايدة
فانا عاوز احدد سعر افتتاح اليوم بصرف النظر عن الشارت الي مفتوح على الشاشة ..
ده اول سؤال بارك الله فيك وتقبل منكم صيامكم وقيامكم وصالح اعمالكم

kira-h
22-05-2020, 04:39 PM
السلام عليكم اخي حسن
ان شاء الله تكون بخير
... بصراحة انا متلغبط شوية في الفكرة عشان كدة هاخد خطوة خطوة مع حضرتك عشان اعرف اخطائي
اولا ..
انا عاوز الاكسبيرت يفتح ماركت اذا وصل السعر الي بعد معين من سعر افتتاح اليوم
فكتبت الامر باكتر من طريقة بعضهم جاب نتيجة اذا فتحت الشارت اليومي فقط عند استخدام [0]Open واخر جاب نتيجة لو السعر ماركت واستعملت iOpen ,iClose ومفيش فايدة
فانا عاوز احدد سعر افتتاح اليوم بصرف النظر عن الشارت الي مفتوح على الشاشة ..
ده اول سؤال بارك الله فيك وتقبل منكم صيامكم وقيامكم وصالح اعمالكم

وعليكم السلام
وإياك أخي الكريم
سعر افتتاح اليوم كالتالي :

iOpen(Symbol(),PERIOD_D1,0)

hre007
22-05-2020, 11:47 PM
وعليكم السلام
وإياك أخي الكريم
سعر افتتاح اليوم كالتالي :

iOpen(Symbol(),PERIOD_D1,0)

تمام يا استاذي انا طبقت الكود ده قبل كده بس بيشتغل شراء فقط مش عارف ليه ؟؟؟
double DayOpen=iOpen(Symbol(),PERIOD_D1,0);
if( tnv!=Time[0] && Ask >= DayOpen +Step_Point*points && OrderTotal(OP_BUY)==0 ) { tnv= Time[0]; Buy_Market(); }
if( tnv!=Time[0] && Bid <= DayOpen -Step_Point*points && OrderTotal(OP_SELL)==0 ) { tnv= Time[0]; Sell_Market(); }

شوف كده الخطأ فين يا استاذ حسن الله يبارك لك
21402

kira-h
23-05-2020, 06:17 PM
تمام يا استاذي انا طبقت الكود ده قبل كده بس بيشتغل شراء فقط مش عارف ليه ؟؟؟
double DayOpen=iOpen(Symbol(),PERIOD_D1,0);
if( tnv!=Time[0] && Ask >= DayOpen +Step_Point*points && OrderTotal(OP_BUY)==0 ) { tnv= Time[0]; Buy_Market(); }
if( tnv!=Time[0] && Bid <= DayOpen -Step_Point*points && OrderTotal(OP_SELL)==0 ) { tnv= Time[0]; Sell_Market(); }

شوف كده الخطأ فين يا استاذ حسن الله يبارك لك
21402

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

hre007
24-05-2020, 11:32 AM
تم التصحيح بالنسخة المرفقة
والخطأ لديك في حساب الهدف والوقف للبيع

تسلم يا استاذي والله انا دخت وقلت في عفريت مش عاوز يبيع :joyous:
ربنا يجازيك كل خير عنا وعيد سعيد عليك وعلى افراد الاسرة الكريمة

kira-h
24-05-2020, 01:06 PM
تسلم يا استاذي والله انا دخت وقلت في عفريت مش عاوز يبيع :joyous:
ربنا يجازيك كل خير عنا وعيد سعيد عليك وعلى افراد الاسرة الكريمة
واياكم، عيد مبارك سعيد وكل عام وانتم بخير

shivaa
01-06-2020, 09:00 AM
السلام عليكم استاذى kira-h
ممكن المساعده فى كتاب داله
اذا كان تيم فريم H4
High[0]>High[1]
نروح على تيم فريم M30
High[0]>High[1]
الانتظار حتى تغلق الشمعه الحاليه [0]
والشمعه التاليه تكسر الهاى الجديد على فريم 30 دقيقه
ندخل شراء
اكون شاكر لك

kira-h
01-06-2020, 07:52 PM
السلام عليكم استاذى kira-h
ممكن المساعده فى كتاب داله
اذا كان تيم فريم H4
High[0]>High[1]
نروح على تيم فريم M30
High[0]>High[1]
الانتظار حتى تغلق الشمعه الحاليه [0]
والشمعه التاليه تكسر الهاى الجديد على فريم 30 دقيقه
ندخل شراء
اكون شاكر لك
وعليكم السلام
الشروط غير واضحة
لكن عموما يمكنك عمل الشروط بناء على التالي :

if(iHigh(Symbol(),PERIOD_H4,0)>iHigh(Symbol(),PERIOD_H4,1)&&iHigh(Symbol(),PERIOD_M30,0)>iHigh(Symbol(),PERIOD_M30,1))

abdelftah
11-06-2020, 07:09 PM
السلام عليكم ورحمة الله
ما هى الدالة التى تمكننى من اضافة لوت جديد فى حالة الخسارة من خلال مراجعة تاريخ الصفقات المغلقة للزوج
وفى حالة الخسارة فتح لوت2 ثم لوت3 حتى يتحقق ربح

kira-h
11-06-2020, 08:46 PM
السلام عليكم ورحمة الله
ما هى الدالة التى تمكننى من اضافة لوت جديد فى حالة الخسارة من خلال مراجعة تاريخ الصفقات المغلقة للزوج
وفى حالة الخسارة فتح لوت2 ثم لوت3 حتى يتحقق ربح
وعليكم السلام
راجع المشاركة التالية : دالة مضاعفات اختيارية بناء على المصفوفة (https://www.fxprg.com/vb/showthread.php?t=31456&page=3&p=844598&viewfull=1#post844598)

abdelftah
11-06-2020, 09:46 PM
تمام استاذ حسن شكرا جزيلا لحضرتك
هل ممكن أن أحصل على متغير يشير الى نتيجة الصفقة السابقة للزوج سواء كان ربح او خسارة

kira-h
12-06-2020, 04:37 AM
تمام استاذ حسن شكرا جزيلا لحضرتك
هل ممكن أن أحصل على متغير يشير الى نتيجة الصفقة السابقة للزوج سواء كان ربح او خسارة
دالة معرفة نتيجة اخر صفقة مغلقة كالتالي



double LastProfit(int type=-1)
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType();
double pt=OrderProfit();

if(sy==Symbol()&&mn==MagicNo)
{
if(ty==type||type==-1)
{
return(pt);
}
}
}
return(0);
}

Waddah
13-06-2020, 10:28 PM
السلام عليكم أستاذ
عملت مؤشر يعتمد على طريقة 3bar fractal و هو أنه يرسم خط عند هاي الشمعة الرابعة لفريم الساعة مثلاً....المشكلة أريد أن يظهر هذا الخط على فريم أقل (الربع ساعة ) لم أنجح بوضع الخط ممكن تشوف الكود لو سمحت (على فريم الساعة ناحج لكن أريد نفس الخط على الربع ساعة ) مرفق المؤشر وصورة توضيح الفكرة

مع جزيل الشكر

kira-h
14-06-2020, 06:24 PM
السلام عليكم أستاذ
عملت مؤشر يعتمد على طريقة 3bar fractal و هو أنه يرسم خط عند هاي الشمعة الرابعة لفريم الساعة مثلاً....المشكلة أريد أن يظهر هذا الخط على فريم أقل (الربع ساعة ) لم أنجح بوضع الخط ممكن تشوف الكود لو سمحت (على فريم الساعة ناحج لكن أريد نفس الخط على الربع ساعة ) مرفق المؤشر وصورة توضيح الفكرة

مع جزيل الشكر

وعليكم السلام
مرفق المؤشر

sabil
16-06-2020, 02:02 AM
اخي حسن
من فضلك عايز تعديل بسيط ع الاكسبرت المرفق وتوضيح الخطأ الموجود
فكرته باختصار
انه يفتح شراء عند اغلاق السعر فوق الموفنجين اعداداتهم موجودة ف المدخلات الخارجية
والعكس يفتح بيع عند اغلاق السعر اسفلهم
وعند كل صفقة يفتحها يضاعفها بمضاعفات جمع
وتسلسل الصفقات (شراء - بيع - شراء .... الخ)
او
(بيع - شراء - بيع .... الخ)

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

sabil
16-06-2020, 02:05 AM
اخي حسن
من فضلك عايز تعديل بسيط ع الاكسبرت المرفق وتوضيح الخطأ الموجود
فكرته باختصار
انه يفتح شراء عند اغلاق السعر فوق الموفنجين اعداداتهم موجودة ف المدخلات الخارجية
والعكس يفتح بيع عند اغلاق السعر اسفلهم
وعند كل صفقة يفتحها يضاعفها بمضاعفات جمع
وتسلسل الصفقات (شراء - بيع - شراء .... الخ)
او
(بيع - شراء - بيع .... الخ)

الل بيحصل داخل الاكسبرت انه مش بيفتح اشارات كتيرة صحيحة لكن لما بيفتح صفقة بتكون صحيحة طبقاً للشروط
طبعاً لازما يفتح عند كل اشارة وده مش بيحصل
ارجو التعديل ياغالي وشكراً مقدماً
رفعت الاكسبرت على جوجل درايف لوجود مشكلة في مرفقات المنتدى ارجو اصلاحها
https://drive.google.com/file/d/1WhY0gJGxHqhBVnqxViustgBhIwr2cNs-/view?usp=sharing

kira-h
16-06-2020, 02:32 AM
رفعت الاكسبرت على جوجل درايف لوجود مشكلة في مرفقات المنتدى ارجو اصلاحها
https://drive.google.com/file/d/1WhY0gJGxHqhBVnqxViustgBhIwr2cNs-/view?usp=sharing
السلام عليكم
الرابط لا يعمل

sabil
16-06-2020, 02:54 AM
السلام عليكم
الرابط لا يعمل
جرب مرة اخرى
تم تعديله
https://drive.google.com/file/d/1WhY0gJGxHqhBVnqxViustgBhIwr2cNs-/view?usp=sharing

kira-h
16-06-2020, 06:01 PM
جرب مرة اخرى
تم تعديله
https://drive.google.com/file/d/1WhY0gJGxHqhBVnqxViustgBhIwr2cNs-/view?usp=sharing

يوجد لديك فقط بعض الاخطاء التقنية لا اتعتقد ان لها تأثير على الشروط، ولا اعلم عن ما تريد حتى يتم مراجعتها سوى شرط التبادلية بين البيع والشراء صحيح

sabil
16-06-2020, 06:59 PM
يوجد لديك فقط بعض الاخطاء التقنية لا اتعتقد ان لها تأثير على الشروط، ولا اعلم عن ما تريد حتى يتم مراجعتها سوى شرط التبادلية بين البيع والشراء صحيح
يبقى الوضع والمشكلة ما زالت قائمة
لكن عموما حليت المشكلة بعمل مؤشر خارجي للموفنج والدخول على الاسهم واصبح يعمل بشكل سليم
شكرا لمجهودك ياغالي على اي حال

shivaa
16-06-2020, 07:06 PM
السلام عليكم
عندى مشكله فى برمجه داله ممكن المساعده
عندى احداث متتاليه من مؤشرات
يجب الاحداث تكون بترتب حتى الدخول صفقه ناجحه
مثل:
يجب ظهور اشاره مؤشر (1)
ثم ياليه ظهور اشاره مؤشر (2)
ثم ياليه ظهور اشاره مؤشر (3)
واذا ظهر ترتيب مختلف
ظهور اشاره مؤشر (2)
ثم ياليه ظهور اشاره مؤشر (1)
ثم ياليه ظهور اشاره مؤشر (3)
تلغى الصفقه ينتاظر دخول صفقه معكسه
مع العلم ان مؤشرات رقم (1)و(2)من النادر تغير الاشاره داخل الترند
وان المؤشر رقم (3)اعتمد عليه فى الخروج من الصفقه
ممكن المساعده اكون شاكر

kira-h
17-06-2020, 08:44 PM
السلام عليكم
عندى مشكله فى برمجه داله ممكن المساعده
عندى احداث متتاليه من مؤشرات
يجب الاحداث تكون بترتب حتى الدخول صفقه ناجحه
مثل:
يجب ظهور اشاره مؤشر (1)
ثم ياليه ظهور اشاره مؤشر (2)
ثم ياليه ظهور اشاره مؤشر (3)
واذا ظهر ترتيب مختلف
ظهور اشاره مؤشر (2)
ثم ياليه ظهور اشاره مؤشر (1)
ثم ياليه ظهور اشاره مؤشر (3)
تلغى الصفقه ينتاظر دخول صفقه معكسه
مع العلم ان مؤشرات رقم (1)و(2)من النادر تغير الاشاره داخل الترند
وان المؤشر رقم (3)اعتمد عليه فى الخروج من الصفقه
ممكن المساعده اكون شاكر
وعليكم السلام
يجب مراجعة الشروط لأن هذا يختلف من مؤشر لاخر...
عموما يمكنك حفظ قيمة ما بعد تحقق اشارة
كل اشارة لها قيمة خاصة بها ثم تستدعيها بالشروط

حفظ القيم اما تستخدم قيم من نوع static او بالحفظ المضمون عن طريق متغيرات الجلوبال راجعها هنا https://www.fxprg.com/vb/showthread.php?t=31457&page=9&p=846193&viewfull=1#post846193

shivaa
17-06-2020, 11:52 PM
وعليكم السلام
يجب مراجعة الشروط لأن هذا يختلف من مؤشر لاخر...
عموما يمكنك حفظ قيمة ما بعد تحقق اشارة
كل اشارة لها قيمة خاصة بها ثم تستدعيها بالشروط

حفظ القيم اما تستخدم قيم من نوع static او بالحفظ المضمون عن طريق متغيرات الجلوبال راجعها هنا https://www.fxprg.com/vb/showthread.php?t=31457&page=9&p=846193&viewfull=1#post846193

شكرا لمجهودك

kira-h
18-06-2020, 03:03 AM
شكرا لمجهودك
العفو اخي الكريم

shivaa
18-06-2020, 02:58 PM
السلام عليكم اخوانى الكرام

ما معنى هذه الاخطاء فى الباكتست ؟؟؟

ordersend error 131

ordersend error 4051


مش عارف دة معناه ايه

elhelaly
18-06-2020, 07:14 PM
السلام عليكم اخى حسن
هل يمكن جلب سعر فتح 5 صفقات موجوده على الشارت وتخزينها فى متغير واحد بحيث ان الاكسبيرت يتعرف عليها بانها صفقه مفتوحه ليس الا
ولا لازم اعمل لكل صفقه داله او متغير خاص بيها بحيث انه لو عندى 20 صفقه على الشارت لازم اخزنهم فى 20 متغير

elhelaly
18-06-2020, 07:18 PM
السلام عليكم اخى حسن
هل يمكن جلب سعر فتح 5 صفقات موجوده على الشارت وتخزينها فى متغير واحد بحيث ان الاكسبيرت يتعرف عليها بانها صفقه مفتوحه ليس الا
ولا لازم اعمل لكل صفقه داله او متغير خاص بيها بحيث انه لو عندى 20 صفقه على الشارت لازم اخزنهم فى 20 متغير

والمطلوب اخى حسن باختصار انه ما يفتحش صفقه الا لو كان ما بينه وبين اى صفقه ... ولاحظ اى صفقه على الشارت مسافه لا تقل عن 80 نقطه مثلا
لانه انا بعملها عادى ولكنه بيتعامل مع اخر صفقه فقط وعلشان يتعامل مع كل الصفقات المفتوحه محتاجه متغيرات كتيره لتخزين سعر افتتاح كل صفقه على حدا

kira-h
18-06-2020, 07:43 PM
السلام عليكم اخى حسن
هل يمكن جلب سعر فتح 5 صفقات موجوده على الشارت وتخزينها فى متغير واحد بحيث ان الاكسبيرت يتعرف عليها بانها صفقه مفتوحه ليس الا
ولا لازم اعمل لكل صفقه داله او متغير خاص بيها بحيث انه لو عندى 20 صفقه على الشارت لازم اخزنهم فى 20 متغير


والمطلوب اخى حسن باختصار انه ما يفتحش صفقه الا لو كان ما بينه وبين اى صفقه ... ولاحظ اى صفقه على الشارت مسافه لا تقل عن 80 نقطه مثلا
لانه انا بعملها عادى ولكنه بيتعامل مع اخر صفقه فقط وعلشان يتعامل مع كل الصفقات المفتوحه محتاجه متغيرات كتيره لتخزين سعر افتتاح كل صفقه على حدا

وعليكم السلام
يجب توضيح الهدف من الفكرة حتى استطيع صياغة الدالة
عموما دالة استدعاء سعر الصفقة حسب النوع والترتيب كالتالي:


double LastPrice(int type,int count)
{
int cnt;
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()==type)
{
cnt++;
if(cnt>=count)return(OrderOpenPrice());
}
}
return(0);
}

elhelaly
18-06-2020, 07:50 PM
وعليكم السلام
يجب توضيح الهدف من الفكرة حتى استطيع صياغة الدالة
عموما دالة استدعاء سعر الصفقة حسب النوع والترتيب كالتالي:


double LastPrice(int type,int count)
{
int cnt;
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()==type)
{
cnt++;
if(cnt>=count)return(OrderOpenPrice());
}
}
return(0);
}


الفكره هى استدعاء كل اسعار الافتتاح لكل الصفقات بحيث لو كان السعر قريب من اى سعر منهم ب 80 نقطه يفتح صفقه بيع او شراء
اما لو كان السعر بالقرب من اى صفقه مفتوحه باقل من 80 نقطه لا يقوم بفتح صفقات step
المطلوب هو ازاى اقدر اخزن اسعار افتتاح كل الصفقات لو 10 مفتوحه مثلا
هل توجد اى طريقه لاختصارهم فى كود واحد ولا هيكون بالشكل المرفق دا
ويا ريت لو تساعدنى فى الكود بأنه يعود لى باقرب سعر افتتاح لل Ask


//------------------------------------------------+ double OP1()
{

if(OrderSelect(1,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
double op = OrderOpenPrice();
double TT1 = MathAbs(Ask-op);
}


//----------------------------------+
if(OrderSelect(2,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT2 = MathAbs(Ask-op);
}




//----------------------------------+
if(OrderSelect(3,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT3 = MathAbs(Ask-op);
}


//----------------------------------+
if(OrderSelect(4,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT4 = MathAbs(Ask-op);
}
//----------------------------------+
if(OrderSelect(5,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT5 = MathAbs(Ask-op);
}
//----------------------------------+
if(OrderSelect(6,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT6 = MathAbs(Ask-op);
}
//----------------------------------+
if(OrderSelect(7,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT7 = MathAbs(Ask-op);
}
//----------------------------------+
if(OrderSelect(8,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT8 = MathAbs(Ask-op);
}



//اريد داله تعود باقل سعر ما بين عده اسعار
double XX= MathMin(TT1,TT2,TT3,TT4....... TT8 ) ;





return (XX);
}

kira-h
19-06-2020, 12:26 AM
الفكره هى استدعاء كل اسعار الافتتاح لكل الصفقات بحيث لو كان السعر قريب من اى سعر منهم ب 80 نقطه يفتح صفقه بيع او شراء
اما لو كان السعر بالقرب من اى صفقه مفتوحه باقل من 80 نقطه لا يقوم بفتح صفقات step
المطلوب هو ازاى اقدر اخزن اسعار افتتاح كل الصفقات لو 10 مفتوحه مثلا
هل توجد اى طريقه لاختصارهم فى كود واحد ولا هيكون بالشكل المرفق دا
ويا ريت لو تساعدنى فى الكود بأنه يعود لى باقرب سعر افتتاح لل Ask


//------------------------------------------------+ double OP1()
{

if(OrderSelect(1,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
double op = OrderOpenPrice();
double TT1 = MathAbs(Ask-op);
}


//----------------------------------+
if(OrderSelect(2,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT2 = MathAbs(Ask-op);
}




//----------------------------------+
if(OrderSelect(3,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT3 = MathAbs(Ask-op);
}


//----------------------------------+
if(OrderSelect(4,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT4 = MathAbs(Ask-op);
}
//----------------------------------+
if(OrderSelect(5,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT5 = MathAbs(Ask-op);
}
//----------------------------------+
if(OrderSelect(6,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT6 = MathAbs(Ask-op);
}
//----------------------------------+
if(OrderSelect(7,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT7 = MathAbs(Ask-op);
}
//----------------------------------+
if(OrderSelect(8,SELECT_BY_POS,MODE_TRADES)==true && OrderMagicNumber()==MagicNo)
{
op = OrderOpenPrice();
double TT8 = MathAbs(Ask-op);
}



//اريد داله تعود باقل سعر ما بين عده اسعار
double XX= MathMin(TT1,TT2,TT3,TT4....... TT8 ) ;





return (XX);
}




لن تحتاج الى حفظ الاسعار... بل استخدم دالة بحث بالصفقات بحيث كل صفقة يتم مقارنة سعرها مع المسافة الستيب بالنسبة للسعر الحالي، إذا لا توجد اي صفقة مفتوحة معناه متاح فتح صفقة
مثال:


bool TradeAllowed(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()==type)
{
if(MathAbs(OrderOpenPrice() - Bid) < 800*Point)
{
return(false);
}
else return(true);
}
}
}
}

shivaa
19-06-2020, 04:18 AM
السلام عليكم

ما معنى هذه الاخطاء فى الباكتست ؟؟؟

ordersend error 131

ordersend error 4051


مش عارف دة معناه ايه

shivaa
19-06-2020, 06:20 AM
السلام عليكم
ما معنى هذه الاخطاء فى الباكتست ؟؟؟
ordersend error 131
ordersend error 4051
مش عارف دة معناه ايه
اسف لى سؤال اخر
عندى مجموعه من صفقات الشراء منها صفقات كسبانه ومنها صفقات خاسره
كيف حساب نقطه التعادل لما يكون المكسب صفر مع العلم ان فيه عموله للشركه غير مدرجه على السعر موجوده فى خانه العموله
ونفس الحال مع صفقات البيع
ثانى شى اغلق الصفقات حين المكسب عن طريق النقط وليس بالدولار
عاوز اغلاق فورى (سريع )
شكرااااااااااااااااا على كل ما تقدمه لى

kira-h
20-06-2020, 01:35 AM
السلام عليكم
ما معنى هذه الاخطاء فى الباكتست ؟؟؟
ordersend error 131
ordersend error 4051
مش عارف دة معناه ايه
اسف لى سؤال اخر
عندى مجموعه من صفقات الشراء منها صفقات كسبانه ومنها صفقات خاسره
كيف حساب نقطه التعادل لما يكون المكسب صفر مع العلم ان فيه عموله للشركه غير مدرجه على السعر موجوده فى خانه العموله
ونفس الحال مع صفقات البيع
ثانى شى اغلق الصفقات حين المكسب عن طريق النقط وليس بالدولار
عاوز اغلاق فورى (سريع )
شكرااااااااااااااااا على كل ما تقدمه لى
وعليكم السلام
131 حجم العقد غير مقبول
4051 احد اعدادات الصفقة غير مقبول مثل الهدف او الستوب او الترينغ...

دالة نقطة التعادل لكل صفقات البيع والشراء معا كالتالي:


double Av_TotalPrices()
{
int Q=1;
if(_Digits==5||_Digits==3)int Q=10;

int B_Trades=0,S_Trades=0,Net_Trades=0;
double B_Size=0,B_Price=0,B_Profit=0,S_Size=0,S_Price=0,S _Profit=0,
Net_Lots=0,Net_Result=0,Average_Prices=0,steppips= 0,
Pip_Value=MarketInfo(Symbol(),MODE_TICKVALUE)*Q,
Pip_Size=MarketInfo(Symbol(),MODE_TICKSIZE)*Q;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string sy=OrderSymbol();
double op=OrderOpenPrice(),
lo=OrderLots(),
pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
int mn=OrderMagicNumber(),
ty=OrderType();
if(sy==Symbol()&&mn=MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B_Trades++;
B_Price +=op*lo;
B_Size +=lo;
B_Profit+=op+sw+cm;
}
if(ty==OP_SELL)
{
S_Trades++;
S_Price +=op*lo;
S_Size +=lo;
S_Profit+=op+sw+cm;
}
}

if(B_Size>0)B_Price/=B_Size;
if(S_Size>0)S_Price/=S_Size;
Net_Trades=B_Trades+S_Trades;
Net_Lots=B_Size-S_Size;
Net_Result=B_Profit+S_Profit;


if(Net_Trades>0&&Net_Lots!=0)
{
steppips=(Net_Result/(MathAbs(Net_Lots*MarketInfo(Symbol(),MODE_TICKVAL UE)))*MarketInfo(Symbol(),MODE_TICKSIZE));
if(Net_Lots>0)Average_Prices=NormalizeDouble(Bid-steppips,Digits);
if(Net_Lots<0)Average_Prices=NormalizeDouble(Ask+steppips,Digi ts);
}
if(Net_Trades>0&&Net_Lots==0)Average_Prices=0;
}
}
return(Average_Prices);
}


اما إذا تريد حساب الكوميشن والسواب ضمن نقطة التعادل فالافضل تستخدم الربج الاجمالي بالدولار بمجرد يحقق 0 دولار مثلا تغلق جميع الصفقات
دالة الربح بالدولار كالتالي:


double Profit_By_USD(int type=-1)
{
double pts=0;
for(int i=0;i<OrdersTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ot=OrderType();
double pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
if(sy==Symbol()&&mn==MagicNo)
{
if(ot==type||type==-1)
{
pts+=pt+sw+cm;
}
}
}
return(pts);
}


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


void CloseOrders(int type=-1)
{
bool select,close;
for(int i=OrdersTotal()-1;i>=0;i--)
{
select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int tt=OrdersTotal(),
tk=OrderTicket(),
ot=OrderType(),
mn=OrderMagicNumber();
double lo=OrderLots();
if(tt>0&&sy==Symbol()&&mn==MagicNo)
{
if(ot==type||type==-1)
{
if(ot==OP_BUY){close=OrderClose(tk,lo,Bid,50);}
if(ot==OP_SELL){close=OrderClose(tk,lo,Ask,50);}
if(ot>OP_SELL){close=OrderDelete(tk);}
}
}
}
}

elhelaly
20-06-2020, 07:44 AM
لن تحتاج الى حفظ الاسعار... بل استخدم دالة بحث بالصفقات بحيث كل صفقة يتم مقارنة سعرها مع المسافة الستيب بالنسبة للسعر الحالي، إذا لا توجد اي صفقة مفتوحة معناه متاح فتح صفقة
مثال:


bool TradeAllowed(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()==type)
{
if(MathAbs(OrderOpenPrice() - Bid) < 800*Point)
{
return(false);
}
else return(true);
}
}
}
}


الف شكر يا استاذنا بارك الله فيك

elhelaly
20-06-2020, 07:49 AM
طلب لو ممكن يا استاذ حسن
عايز داله الفيبوناتشي بناء على الزجزاج بحيث يمكن استدعاء اى مستوى للفيبو كمتغير يمكن المتاجره بناء عليه
وبحيث تكون اعدادات الزجزاج يمكن التحكم بها بمتغيرات خارجيه
ولكن بدون ما يترسم على الشارت لانى هستخدمه داخل اكسبيرت
وشاكر جدا لسعه صدرك وتعاونك

GBPJPY
20-06-2020, 06:53 PM
السلام عليكم
ارجو المساعدة
هذه الدالة تعطى نتائج اخر صفقة تم فتحه بيع او شراء
الان اريد تعمل على الصفقة قبل الاخيرة
يعنى هذه الدالة تعمل على اخر صفقة مطلوب دالة تعمل على الصفقة قبل الاخيره
وشكرا على المساعدة

double LastOrderCurrent1(string info,int type=-1) {
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol(),
mm=OrderComment();
int mn=OrderMagicNumber(),
Ticket =OrderTicket(),
ty=OrderType();
double lo=OrderLots(),
op=OrderOpenPrice(),
ptx=OrderProfit(),
tp=OrderTakeProfit(),
sl=OrderStopLoss();
datetime om=OrderOpenTime();

if(sy==Symbol()&&mn==MagicNumber)
{
if(ty==type||type==-1)
{
if(info=="Lots")return(lo);
else if(info=="OpenPrice")return(op);
else if(info=="Ticket")return(Ticket);
else if(info=="Profit")return(ptx);
else if(info=="Type")return(ty);
else if(info=="TP")return(tp);
else if(info=="SL")return(sl);
else if(info=="OpenTime")return((double)om);
else if(info=="Comment")return((int)mm);
}
}
}
return(0);
}

kira-h
20-06-2020, 08:46 PM
السلام عليكم
ارجو المساعدة
هذه الدالة تعطى نتائج اخر صفقة تم فتحه بيع او شراء
الان اريد تعمل على الصفقة قبل الاخيرة
يعنى هذه الدالة تعمل على اخر صفقة مطلوب دالة تعمل على الصفقة قبل الاخيره
وشكرا على المساعدة



وعليكم السلام
الدالة كالتالي:


double LastSecondCurrent(string info,int type=-1)
{
int cnt=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
datetime tm=OrderOpenTime();
string sy=OrderSymbol(),
mm=OrderComment();
double lo=OrderLots(),
op=OrderOpenPrice(),
pt=OrderProfit(),
tp=OrderTakeProfit(),
sl=OrderStopLoss();
int mn=OrderMagicNumber(),
tk=OrderTicket(),
ty=OrderType();
if(sy==Symbol()&&mn==MagicNo&&(ty==type||type==-1))
{
cnt++;
if(cnt>1)
{
if(info=="Lots")return(lo);
else if(info=="Price")return(op);
else if(info=="Ticket")return(tk);
else if(info=="Profit")return(pt);
else if(info=="Type")return(ty);
else if(info=="TP")return(tp);
else if(info=="SL")return(sl);
else if(info=="Time")return((double)tm);
}
}
}
return(0);
}

kira-h
20-06-2020, 08:50 PM
الف شكر يا استاذنا بارك الله فيك
العفو اخي الكريم


طلب لو ممكن يا استاذ حسن
عايز داله الفيبوناتشي بناء على الزجزاج بحيث يمكن استدعاء اى مستوى للفيبو كمتغير يمكن المتاجره بناء عليه
وبحيث تكون اعدادات الزجزاج يمكن التحكم بها بمتغيرات خارجيه
ولكن بدون ما يترسم على الشارت لانى هستخدمه داخل اكسبيرت
وشاكر جدا لسعه صدرك وتعاونك
نسب الفيبوناتشي فقط عبارة عن نسب مئوية بالنسبة للمسافة بين نقطتين مختلفتي السعر فيمكنك حسابها رياضيا
وستجد بالنت امثلة كثيرة لمؤشرات تعتمد على الفيبوناتشي

Geobeshoy
20-06-2020, 09:38 PM
السلام عليكم
ممكن حد يعلمنى ازاى انسخ الكود و اعمله مؤشر من على موقع
https://www.prorealcode.com/prorealtime-indicators/income-yield-rendimenti/
علشان بنسخ الكود بتاع المؤشر لكن للاسف مبيشتغلش
يا ريت اللى يرد يقولى اعمل ايه بالخطوات
تحياتى

GBPJPY
20-06-2020, 09:45 PM
وعليكم السلام
الدالة كالتالي:


double LastSecondCurrent(string info,int type=-1)
{
int cnt=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
datetime tm=OrderOpenTime();
string sy=OrderSymbol(),
mm=OrderComment();
double lo=OrderLots(),
op=OrderOpenPrice(),
pt=OrderProfit(),
tp=OrderTakeProfit(),
sl=OrderStopLoss();
int mn=OrderMagicNumber(),
tk=OrderTicket(),
ty=OrderType();
if(sy==Symbol()&&mn==MagicNo&&(ty==type||type==-1))
{
cnt++;
if(cnt>1)
{
if(info=="Lots")return(lo);
else if(info=="Price")return(op);
else if(info=="Ticket")return(tk);
else if(info=="Profit")return(pt);
else if(info=="Type")return(ty);
else if(info=="TP")return(tp);
else if(info=="SL")return(sl);
else if(info=="Time")return((double)tm);
}
}
}
return(0);
}


جزاك الله خيرا شكرا على المساعده

shivaa
20-06-2020, 10:31 PM
وعليكم السلام
131 حجم العقد غير مقبول
4051 احد اعدادات الصفقة غير مقبول مثل الهدف او الستوب او الترينغ...

دالة نقطة التعادل لكل صفقات البيع والشراء معا كالتالي:


double Av_TotalPrices()
{
int Q=1;
if(_Digits==5||_Digits==3)int Q=10;

int B_Trades=0,S_Trades=0,Net_Trades=0;
double B_Size=0,B_Price=0,B_Profit=0,S_Size=0,S_Price=0,S _Profit=0,
Net_Lots=0,Net_Result=0,Average_Prices=0,steppips= 0,
Pip_Value=MarketInfo(Symbol(),MODE_TICKVALUE)*Q,
Pip_Size=MarketInfo(Symbol(),MODE_TICKSIZE)*Q;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
string sy=OrderSymbol();
double op=OrderOpenPrice(),
lo=OrderLots(),
pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
int mn=OrderMagicNumber(),
ty=OrderType();
if(sy==Symbol()&&mn=MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B_Trades++;
B_Price +=op*lo;
B_Size +=lo;
B_Profit+=op+sw+cm;
}
if(ty==OP_SELL)
{
S_Trades++;
S_Price +=op*lo;
S_Size +=lo;
S_Profit+=op+sw+cm;
}
}

if(B_Size>0)B_Price/=B_Size;
if(S_Size>0)S_Price/=S_Size;
Net_Trades=B_Trades+S_Trades;
Net_Lots=B_Size-S_Size;
Net_Result=B_Profit+S_Profit;


if(Net_Trades>0&&Net_Lots!=0)
{
steppips=(Net_Result/(MathAbs(Net_Lots*MarketInfo(Symbol(),MODE_TICKVAL UE)))*MarketInfo(Symbol(),MODE_TICKSIZE));
if(Net_Lots>0)Average_Prices=NormalizeDouble(Bid-steppips,Digits);
if(Net_Lots<0)Average_Prices=NormalizeDouble(Ask+steppips,Digi ts);
}
if(Net_Trades>0&&Net_Lots==0)Average_Prices=0;
}
}
return(Average_Prices);
}


اما إذا تريد حساب الكوميشن والسواب ضمن نقطة التعادل فالافضل تستخدم الربج الاجمالي بالدولار بمجرد يحقق 0 دولار مثلا تغلق جميع الصفقات
دالة الربح بالدولار كالتالي:


double Profit_By_USD(int type=-1)
{
double pts=0;
for(int i=0;i<OrdersTotal();i++)
{
bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ot=OrderType();
double pt=OrderProfit(),
sw=OrderSwap(),
cm=OrderCommission();
if(sy==Symbol()&&mn==MagicNo)
{
if(ot==type||type==-1)
{
pts+=pt+sw+cm;
}
}
}
return(pts);
}


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


void CloseOrders(int type=-1)
{
bool select,close;
for(int i=OrdersTotal()-1;i>=0;i--)
{
select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int tt=OrdersTotal(),
tk=OrderTicket(),
ot=OrderType(),
mn=OrderMagicNumber();
double lo=OrderLots();
if(tt>0&&sy==Symbol()&&mn==MagicNo)
{
if(ot==type||type==-1)
{
if(ot==OP_BUY){close=OrderClose(tk,lo,Bid,50);}
if(ot==OP_SELL){close=OrderClose(tk,lo,Ask,50);}
if(ot>OP_SELL){close=OrderDelete(tk);}
}
}
}
}




تسلم اخي الحبيب مجهود ممتاز بارك الله فيك وجزاك الله خيرا

kira-h
21-06-2020, 06:02 PM
جزاك الله خيرا شكرا على المساعده
بالتوفيق ان شاء الله



تسلم اخي الحبيب مجهود ممتاز بارك الله فيك وجزاك الله خيرا


بالتوفيق إن شاء الله

kira-h
21-06-2020, 06:03 PM
السلام عليكم
ممكن حد يعلمنى ازاى انسخ الكود و اعمله مؤشر من على موقع
https://www.prorealcode.com/prorealtime-indicators/income-yield-rendimenti/
علشان بنسخ الكود بتاع المؤشر لكن للاسف مبيشتغلش
يا ريت اللى يرد يقولى اعمل ايه بالخطوات
تحياتى
وعليكم السلام
هذا الموضوع مخصص فقط للأسئلة البرمجية

Geobeshoy
22-06-2020, 12:12 AM
تمام
تم فتح موضوع جديد فى قسم برمجه المؤشرات

kira-h
22-06-2020, 10:28 PM
انا لسة في بدايات تعلم برمجة الميتاتريدر
حاولت اكتب كود يطلع طول الشمعة الحالية بس بيطلعي ان فيه 4 لخطاء ممكن مساعده


double candle_length;
candle_length = (High[0]-Low[0]);
Comment (candle_length);

المرجو توضيه هذه الاخطاء او ترفق الكود كاملا

Cash
22-06-2020, 10:35 PM
هو دا الكود كامل :chuncky:
انا لسة بادئ اتعلم
كنت بحاول اكتب كود بيظهر طول الشمعة الحالية

shivaa
23-06-2020, 05:55 PM
السلام عليكم
ممكن مساعده
عندى مؤشر يخرج اشاره (1-xbuy) على فريم 4h
واشاره اخرى (2-xbuy)على فريم 15m
كيف احسب الفرق بين ظهور الاشارتين بالثوانى
بمعنى انى عاوز
اعد الثوانى عند ظهور الاشاره الاول
واعد الثوانى عند ظهور الاشاره الثانيه
اذا كان اشاره الاول الوقت الخاص بها اكبرمن اويساوى وقت الاشاره الثانيه الدخول دخول صفقه شراء

if((1-xbuy)>=(2-xbuy))Orderbuy;
ممكن شرح

شرح الداله OnTimer وكيفية حساب الوقت بشكل صحيح

kira-h
23-06-2020, 06:18 PM
هو دا الكود كامل :chuncky:
انا لسة بادئ اتعلم
كنت بحاول اكتب كود بيظهر طول الشمعة الحالية
راجع المرجع الكامل في تعليم لغة mql4 (https://www.fxprg.com/vb/showthread.php?t=31458)

kira-h
23-06-2020, 06:35 PM
السلام عليكم
ممكن مساعده
عندى مؤشر يخرج اشاره (1-xbuy) على فريم 4h
واشاره اخرى (2-xbuy)على فريم 15m
كيف احسب الفرق بين ظهور الاشارتين بالثوانى
بمعنى انى عاوز
اعد الثوانى عند ظهور الاشاره الاول
واعد الثوانى عند ظهور الاشاره الثانيه
اذا كان اشاره الاول الوقت الخاص بها اكبرمن اويساوى وقت الاشاره الثانيه الدخول دخول صفقه شراء

if((1-xbuy)>=(2-xbuy))Orderbuy;
ممكن شرح

شرح الداله OnTimer وكيفية حساب الوقت بشكل صحيح


وعليكم السلام
معرفة توقيت آخر اشارة يختلف من مؤشر لاخر
وهذا مثال لتوقيت آخر اشارة شراء ذو اللون 0 عندما يخالف EMPTY_VALUE بدلالة الفريم


datetime LastSignalTime(int TimeFrame)
{
for(int=1;i>iBars(Symbol(),TimeFrame);i++)
{
double xbuy=iCustom(Symbol(),TimeFrame,"X",0,i);
if(xbuy!=EMPTY_VALUE)return(iTime(Symbol(),TimeFra me,i));
}
return(0);
}


بلنسبة لـ OnTimer راجع التالي:
https://www.fxprg.com/vb/showthread.php?t=31457&page=28&p=869586&viewfull=1#post869586

shivaa
23-06-2020, 09:09 PM
وعليكم السلام
معرفة توقيت آخر اشارة يختلف من مؤشر لاخر
وهذا مثال لتوقيت آخر اشارة شراء ذو اللون 0 عندما يخالف EMPTY_VALUE بدلالة الفريم


datetime LastSignalTime(int TimeFrame)
{
for(int=1;i>iBars(Symbol(),TimeFrame);i++)
{
double xbuy=iCustom(Symbol(),TimeFrame,"X",0,i);
if(xbuy!=EMPTY_VALUE)return(iTime(Symbol(),TimeFra me,i));
}
return(0);
}


بلنسبة لـ OnTimer راجع التالي:
https://www.fxprg.com/vb/showthread.php?t=31457&page=28&p=869586&viewfull=1#post869586

السلام عليكم
اناعاوز اعمل عداد وليس اخر اشاره
عاوز اعرف عدد الثوانى بين اشاره واخرى على نفس تيم فريم
بمعنى
اذا حدث الاشاره على تيم فريم الكبير 4h اعمل متغير خارجى (س) اسجل فيه عدد الثوانى من بداء الظهورالى ظهور الاشاره معاكسه
وحدث الاشاره على تيم فريم الصغير 15m العمل متغير خرجى (ص)بعدد الثوانى من بداء الظهور حتى ظهور الاشاره معاكسه
ثم اقارن بين اذا كان (س) اكبر من او يساوى (ص)كدا اشاره بيع او شراء

kira-h
24-06-2020, 04:19 AM
السلام عليكم
اناعاوز اعمل عداد وليس اخر اشاره
عاوز اعرف عدد الثوانى بين اشاره واخرى على نفس تيم فريم
بمعنى
اذا حدث الاشاره على تيم فريم الكبير 4h اعمل متغير خارجى (س) اسجل فيه عدد الثوانى من بداء الظهورالى ظهور الاشاره معاكسه
وحدث الاشاره على تيم فريم الصغير 15m العمل متغير خرجى (ص)بعدد الثوانى من بداء الظهور حتى ظهور الاشاره معاكسه
ثم اقارن بين اذا كان (س) اكبر من او يساوى (ص)كدا اشاره بيع او شراء
بسيطة قم فقط بحفظ قيمة التوقيت الحالي عند تحقق الاشارة إما حفظ static datetime او عن طريق دوال الجلوبال
وسبق ان وضحت هذا هنا https://www.fxprg.com/vb/showthread.php?t=31457&page=291&p=916194&viewfull=1#post916194
مثال :


static datetime time1=0,time2=0;


void OnTick()
{
if(buy(PERIOD_H4)!=EMPTY_VALUE)time1=iTime(Symbol( ),PERIOD_H4,0);
if(buy(PERIOD_M15)!=EMPTY_VALUE&&time1>0)time2=iTime(Symbol(),PERIOD_M15,0);

if((time2-time1)>Second){openbuy(); time1=0;time2=0;}
}



طبعا buy دالة المؤشر بدلالة الفريم و openbuy دالة الشراء

most
28-06-2020, 05:22 PM
السلام عليكم
انا عندي اكسبيرت موفينج افريج يفتح صفقة شراء بمجرد اغلاق شمعة اعلاه او بيع بمجرد اغلاق شمعة اسفله ولكن اود ان اسأل هل يوجد كود برمجى لكى اجعل الاكسبيرت لا يفتح صفقة جديدة بعد اغلاق الصفقة السابقة سواء على ربح او خسارة لا يفتح صفقة جديدة الا عند بداية اليوم الجديد حاولت جاهداً فى هذا الامر ولكن محاولاتى لم تفلح فقلت ربما اجد الحل هنا .. اقدم لكم الشكر الجزيل لكم فقد استفدت كثيراً منكم ومن منتداكم الرائع

kira-h
29-06-2020, 12:39 AM
السلام عليكم
انا عندي اكسبيرت موفينج افريج يفتح صفقة شراء بمجرد اغلاق شمعة اعلاه او بيع بمجرد اغلاق شمعة اسفله ولكن اود ان اسأل هل يوجد كود برمجى لكى اجعل الاكسبيرت لا يفتح صفقة جديدة بعد اغلاق الصفقة السابقة سواء على ربح او خسارة لا يفتح صفقة جديدة الا عند بداية اليوم الجديد حاولت جاهداً فى هذا الامر ولكن محاولاتى لم تفلح فقلت ربما اجد الحل هنا .. اقدم لكم الشكر الجزيل لكم فقد استفدت كثيراً منكم ومن منتداكم الرائع
وعليكم السلام
ستقوم بعمل دالة حساب عدد الصفقات المغلقة التي فتحت في اليوم
مثال:


int DailyOrders(int type=-1)
{
int cnt=0;
for(int i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==Symbol()&&MagicNo==OrderMagicNumber()&&(OrderType()==type||type==-1))
{
if(OrderOpenTime()>=iTime(Symbol(),1440,0))cnt++;
}
}
}
return(cnt);
}


ثم يكون الشرط قبل دالة فتح الصفقة كالتالي :
if(DailyOrders()==0)//....

kira-h
29-06-2020, 06:59 PM
السلام عليكم هل يمكن مساعدتي في كتابه كود لجعل الستوب فوق قمه الشمعه السابقه في حاله البيع و الهدف يساوي عدد نقاط الشمعه السابقه.
i هي الشمعه 0
;[price=Low[i+1

( [tp=price-MathAbs((High[i+1]-Low[i+1

([sl=price+MathAbs((High[i+1]-Low[i+1

;(int iTicket=OrderSend(Symbol(),OP_SELLLIMIT,lot,price, 3,tp,sl,EaName,MagicNumber,0,clrGold


وعليكم السلام

الصحيح كالتالي:



double price=Low[1];


double tp=price-(High[1]-Low[1);


double sl=High[1];


int iTicket=OrderSend(Symbol(),OP_SELLLIMIT,lot,price, 30,tp,sl,EaName,MagicNumber,0,clrGold);

11abde
29-06-2020, 09:34 PM
شكرا جزيلا ساجربه على الباك تست

kira-h
30-06-2020, 02:43 AM
شكرا جزيلا ساجربه على الباك تست

العفو اخي الكريم

sabil
30-06-2020, 02:58 PM
السلام عليكم
اريد دالة الغاء الهدف او الاستوب بعد عدد معين من الصفقات التي اغلقت او المفتوحة

kira-h
30-06-2020, 06:31 PM
السلام عليكم
اريد دالة الغاء الهدف او الاستوب بعد عدد معين من الصفقات التي اغلقت او المفتوحة
وعليكم السلام
مثال :


void OnTick()
{
OrdersModify();
}


void OrdersModify()
{
int cnt=0;bool s,m;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
double op=OrderOpenPrice(),
sl=OrderStopLoss(),
tp=OrderTakeProfit();
int tk=OrderTicket(),
ty=OrderType(),
mn=OrderMagicNumber() ;

if(sy==Symbol()&&mn==MagicNo)
{
cnt++;
if(cnt>=5)//عدد الصفقات 5 أو أكثر
{
if(ty==OP_BUY)
{
if(sl!=0||tp!=0)m=OrderModify(tk,op,0,0,0,Blue);
}
if(ty==OP_SELL)
{
if(sl!=0||tp!=0)m=OrderModify(tk,op,0,0,0,Red);
}
}
}
}
}

shivaa
30-06-2020, 08:58 PM
السلام عليكم
ممكن مساعده وتصحيح الكون اكون شاكر
العيب الموجود هو
اذا تحقق مجموعه الشروط الاول نرجع بقيمه
Time_BUY_BIG
العيب هو تغير القيمه طول ما استمر نجاح الشرط
وانا اريد عند تحقق الشرط يخذ الوقت لمره واحده فقط
ويخزن فى متغيرTime_BUY_BIG
كاذلك بنسبه تيم فريم الصغير

if(
BIG_100_BUY== "BUY"
&& Forex_BIG_BUY== "BUY"
&& Time_BUY_BIG!="1970.01.01 00:00:00") //شروط تيم فريم الكبير
{
Time_BUY_BIG==iTime(Symbol(),PERIOD_H4,0);//نتيجه تيم فريم الكبير
}
if(
SMALL_100_BUY== "BUY"
&& Forex_SMALL_BUY== "BUY"
&& BUY_SMALL_Super== "BUY")//شروط تيم فريم الصغير
{
Time_BUY_SMALL=iTime(Symbol(),PERIOD_M15,0);//نتيجه الشوط يم فريم الصغير
}

بعد ذلك المقارنه اى منهم الاسبق فى تحقيق النجاح فى الدخول يكون كما يالى


if(Time_BUY_SMALL<Time_BUY_BIG)//الدخول بيع
if(Time_BUY_SMALL>Time_BUY_BIG)//الدخول شراء

المطلوب هو كيف اخزن الوقت لمره وحده عند التحقق الشرط ممكن تعدل الكود اكون شاكر
طلب اخر كيف اختصر الرقم 45.00000000000000009 الى 45.1
كانت محاولاتى
هى

DoubleToStr(45.00000000000000009, 1) ;
NormalizeDouble(45.00000000000000009, 1);
هل فى طريقه اخرى اكون شاكر

most
30-06-2020, 11:04 PM
وعليكم السلام
ستقوم بعمل دالة حساب عدد الصفقات المغلقة التي فتحت في اليوم
مثال:


int DailyOrders(int type=-1)
{
int cnt=0;
for(int i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==Symbol()&&MagicNo==OrderMagicNumber()&&(OrderType()==type||type==-1))
{
if(OrderOpenTime()>=iTime(Symbol(),1440,0))cnt++;
}
}
}
return(cnt);
}


ثم يكون الشرط قبل دالة فتح الصفقة كالتالي :
if(DailyOrders()==0)//....

اشكرك جزيلاً استاذي الفاضل على مجهودك واعتذر على الازعاج .. هل يمكن ان اضع في الشروط ان الصفقة لا تفتح الا من بداية اليوم؟ لأن دالة DailyOrders تعمل جيداً ولكن توجد مشكلة بسيطة وهي اذا كانت هناك صفقة مفتوحة من اليوم السابق او ما قبله مثلاً وتم اغلاقها اليوم فسيفتح صفقة جديدة لتوفر الشروط ولأن عدد الصفقات اليومية هو صفر كما تحسبه الدالة .. من فضلك القي نظرة على الصورة وهي من باكتست للاكسبرت بعد اضافة الدالة وكل الشروط كما ذكرت حضرتك .. اريده لا يفتح اي صفقة الا من بداية اليوم التالي مادام كانت هناك صفقة مفتوحة او مغلقة اليوم .. تحياتي.
https://charts.mql5.com/25/266/gbpusd-h1-fxdd-2.png

sabil
30-06-2020, 11:38 PM
وعليكم السلام
مثال :


void OnTick()
{
OrdersModify();
}


void OrdersModify()
{
int cnt=0;bool s,m;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
double op=OrderOpenPrice(),
sl=OrderStopLoss(),
tp=OrderTakeProfit();
int tk=OrderTicket(),
ty=OrderType(),
mn=OrderMagicNumber() ;

if(sy==Symbol()&&mn==MagicNo)
{
cnt++;
if(cnt>=5)//عدد الصفقات 5 أو أكثر
{
if(ty==OP_BUY)
{
if(sl!=0||tp!=0)m=OrderModify(tk,op,0,0,0,Blue);
}
if(ty==OP_SELL)
{
if(sl!=0||tp!=0)m=OrderModify(tk,op,0,0,0,Red);
}
}
}
}
}


شكرا ياغالي
جاري التجربة

shivaa
30-06-2020, 11:40 PM
السلام عليكم
ممكن مساعده وتصحيح الكون اكون شاكر
العيب الموجود هو
اذا تحقق مجموعه الشروط الاول نرجع بقيمه
Time_BUY_BIG
العيب هو تغير القيمه طول ما استمر نجاح الشرط
وانا اريد عند تحقق الشرط يخذ الوقت لمره واحده فقط
ويخزن فى متغيرTime_BUY_BIG
كاذلك بنسبه تيم فريم الصغير

if(
BIG_100_BUY== "BUY"
&& Forex_BIG_BUY== "BUY"
&& Time_BUY_BIG!="1970.01.01 00:00:00") //شروط تيم فريم الكبير
{
Time_BUY_BIG==iTime(Symbol(),PERIOD_H4,0);//نتيجه تيم فريم الكبير
}
if(
SMALL_100_BUY== "BUY"
&& Forex_SMALL_BUY== "BUY"
&& BUY_SMALL_Super== "BUY")//شروط تيم فريم الصغير
{
Time_BUY_SMALL=iTime(Symbol(),PERIOD_M15,0);//نتيجه الشوط يم فريم الصغير
}

بعد ذلك المقارنه اى منهم الاسبق فى تحقيق النجاح فى الدخول يكون كما يالى


if(Time_BUY_SMALL<Time_BUY_BIG)//الدخول بيع
if(Time_BUY_SMALL>Time_BUY_BIG)//الدخول شراء

المطلوب هو كيف اخزن الوقت لمره وحده عند التحقق الشرط ممكن تعدل الكود اكون شاكر
طلب اخر كيف اختصر الرقم 45.00000000000000009 الى 45.1
كانت محاولاتى
هى

DoubleToStr(45.00000000000000009, 1) ;
NormalizeDouble(45.00000000000000009, 1);
هل فى طريقه اخرى اكون شاكر




UP

kira-h
01-07-2020, 11:41 PM
السلام عليكم
ممكن مساعده وتصحيح الكون اكون شاكر
العيب الموجود هو
اذا تحقق مجموعه الشروط الاول نرجع بقيمه
Time_BUY_BIG
العيب هو تغير القيمه طول ما استمر نجاح الشرط
وانا اريد عند تحقق الشرط يخذ الوقت لمره واحده فقط
ويخزن فى متغيرTime_BUY_BIG
كاذلك بنسبه تيم فريم الصغير

if(
BIG_100_BUY== "BUY"
&& Forex_BIG_BUY== "BUY"
&& Time_BUY_BIG!="1970.01.01 00:00:00") //شروط تيم فريم الكبير
{
Time_BUY_BIG==iTime(Symbol(),PERIOD_H4,0);//نتيجه تيم فريم الكبير
}
if(
SMALL_100_BUY== "BUY"
&& Forex_SMALL_BUY== "BUY"
&& BUY_SMALL_Super== "BUY")//شروط تيم فريم الصغير
{
Time_BUY_SMALL=iTime(Symbol(),PERIOD_M15,0);//نتيجه الشوط يم فريم الصغير
}

بعد ذلك المقارنه اى منهم الاسبق فى تحقيق النجاح فى الدخول يكون كما يالى


if(Time_BUY_SMALL<Time_BUY_BIG)//الدخول بيع
if(Time_BUY_SMALL>Time_BUY_BIG)//الدخول شراء

المطلوب هو كيف اخزن الوقت لمره وحده عند التحقق الشرط ممكن تعدل الكود اكون شاكر
طلب اخر كيف اختصر الرقم 45.00000000000000009 الى 45.1
كانت محاولاتى
هى

DoubleToStr(45.00000000000000009, 1) ;
NormalizeDouble(45.00000000000000009, 1);
هل فى طريقه اخرى اكون شاكر


وعليكم السلام
- توقيت الشمعة الحالية لفريم ما يكون دائما اكبر او يساوي توقيت الشمعة الحالية للفريم الاكبر
اذن حسب الكود الشرط الاول لن يتحقق ابدا

- نعم يوجد ايضا ما يلي :

الوظيفة MathCeil تقوم بحساب أكبر قيمة صحيحة للرقم المدخل ( 5.5 تصبح 6 و -5.5 تصبح -5 )

الوظيفة MathRound تقرب الأرقام العشرية بمعنى إذا كانت الأرقام العشرية أكبر أو تساوي 0.5 فإنها تزيد الرقم واحدا.
مثلا الرقم 2.6 تصبح 3 لأن الرقم العشري أكبر من 0.5 ولكن 2.4 تصبح 2 لأن الرقم العشري أصغر من 0.5

الوظيفة MathFloor تزيل الرقم العشري ولا تقربه، وتحول الرقم إلى الرقم الأصغر مثلا 8.9 تصبح 8 و -4.2 تصبح -5 على اعتبار أن -5 هي الرقم الأصغر وليس -4

kira-h
01-07-2020, 11:46 PM
اشكرك جزيلاً استاذي الفاضل على مجهودك واعتذر على الازعاج .. هل يمكن ان اضع في الشروط ان الصفقة لا تفتح الا من بداية اليوم؟ لأن دالة DailyOrders تعمل جيداً ولكن توجد مشكلة بسيطة وهي اذا كانت هناك صفقة مفتوحة من اليوم السابق او ما قبله مثلاً وتم اغلاقها اليوم فسيفتح صفقة جديدة لتوفر الشروط ولأن عدد الصفقات اليومية هو صفر كما تحسبه الدالة .. من فضلك القي نظرة على الصورة وهي من باكتست للاكسبرت بعد اضافة الدالة وكل الشروط كما ذكرت حضرتك .. اريده لا يفتح اي صفقة الا من بداية اليوم التالي مادام كانت هناك صفقة مفتوحة او مغلقة اليوم .. تحياتي.
https://charts.mql5.com/25/266/gbpusd-h1-fxdd-2.png

بداية اليوم تقصد عند افتتاح اليوم يمكنك استخدام الفوليوم
مثال إذا كان فوليوم اليوم اصغر من 10 تكات ينفذ الصفقة :

if(iVolume(Symbol(),1440,0)<10)//...

kira-h
01-07-2020, 11:47 PM
شكرا ياغالي
جاري التجربة
العفو اخي الكريم

shivaa
01-07-2020, 11:55 PM
وعليكم السلام
- توقيت الشمعة الحالية لفريم ما يكون دائما اكبر او يساوي توقيت الشمعة الحالية للفريم الاكبر
اذن حسب الكود الشرط الاول لن يتحقق ابدا

- نعم يوجد ايضا ما يلي :

الوظيفة MathCeil تقوم بحساب أكبر قيمة صحيحة للرقم المدخل ( 5.5 تصبح 6 و -5.5 تصبح -5 )

الوظيفة MathRound تقرب الأرقام العشرية بمعنى إذا كانت الأرقام العشرية أكبر أو تساوي 0.5 فإنها تزيد الرقم واحدا.
مثلا الرقم 2.6 تصبح 3 لأن الرقم العشري أكبر من 0.5 ولكن 2.4 تصبح 2 لأن الرقم العشري أصغر من 0.5

الوظيفة MathFloor تزيل الرقم العشري ولا تقربه، وتحول الرقم إلى الرقم الأصغر مثلا 8.9 تصبح 8 و -4.2 تصبح -5 على اعتبار أن -5 هي الرقم الأصغر وليس -4

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




- توقيت الشمعة الحالية لفريم ما يكون دائما اكبر او يساوي توقيت الشمعة الحالية للفريم الاكبر
اذن حسب الكود الشرط الاول لن يتحقق ابدا

فقط عاوز اخزن فى متغير الوقت الحالى ولا يتغير بعد ذالك
اماموضوع الاشارات لا تعطيها اهميه انا كفيل بيها ان شاء الله
ممكن مساعده فى كتابه الداله
فقط عاوز اخزن فى متغير الوقت الحالى ولا يتغير بعد ذالك
انا تعبت من محاولات
اكون شاكر

طلب اخر اسف للزعاج
كيف اعرف على مؤشر الزجزاج ان قبل اخر سعر كان قمه او قاع
او بمعنى
اعرف اخر قمه و قاع اميز الاسبق الذى ياتى بعده

kira-h
02-07-2020, 03:22 AM
السلام عليكم . أستاذ حسن كيرا أتمنى أن تكون بخير
أريد أن أسألك عن برمجة حماية للإكسبرتات كتاريخ لإنتهاء الصلاحية و العمل بحساب محدد و هل أجد ذلك في الدروس السابقة . أريد أن أتعلم هذا الأمر من البرمجة لو تكرمت

وعليكم السلام
ستقوم بعمل الشروط ببداية الدالة الرئيسية OnTick
مثال :



void OnTick()
{
if(TimeCurrent()>=StrToTime("2020.10.01 00:00"))//تاريخ الصلاحية
{
Comment("EA Expired");
Alert("EA Expired");
return;
}


if(AccountNumber()!=87678677)//رقم الحساب
{
Comment("wrong account number");
Alert("wrong account number");
return;
}
}

kira-h
02-07-2020, 03:33 AM
السلام عليكم
جزاك الله خيراااااااااا


فقط عاوز اخزن فى متغير الوقت الحالى ولا يتغير بعد ذالك
اماموضوع الاشارات لا تعطيها اهميه انا كفيل بيها ان شاء الله
ممكن مساعده فى كتابه الداله
فقط عاوز اخزن فى متغير الوقت الحالى ولا يتغير بعد ذالك
انا تعبت من محاولات
اكون شاكر

طلب اخر اسف للزعاج
كيف اعرف على مؤشر الزجزاج ان قبل اخر سعر كان قمه او قاع
او بمعنى
اعرف اخر قمه و قاع اميز الاسبق الذى ياتى بعده
وعليكم السلام
سبق ان شرحت هذا باسئلتك السابقة حول المتغير من نوع static
عموما هذا مثال تطبيقي بسيط:


static datetime Time0=0;


void OnTick()
{
if(Time0==0)Time0=Time[0];
}


بالنسبة لقيم قمم وقيعان الزيجزاج راجع المشاركة التالية https://www.fxprg.com/vb/showthread.php?t=31457&page=40&p=870989&viewfull=1#post870989

elhelaly
03-07-2020, 05:07 PM
السلام عليكم استاذ حسن
هل توجد طريقه لجعل الاكسبيرت ينفذ اوامر ممتابعه حسب الاختيار كسناريو من اختيارى فى حال تحقق شرط او شروط معينه لكل سناريو
كمثال السناريو الاول .... شراء ثم بيع ثم بيع ثم شراء ثم بيع مثلا
السناريو الثانى ... بيع ثم بيع ثم شراء ثم بيع ثم شراء
السناريو الثالث بيع شراء بيع شراء شراء

كما وضحت بالامثله هل يمكن ذلك من خلال وضع سناريوهات مختلفه ؟
يرجى الافاده مع الشكر

kira-h
03-07-2020, 05:31 PM
السلام عليكم استاذ حسن
هل توجد طريقه لجعل الاكسبيرت ينفذ اوامر ممتابعه حسب الاختيار كسناريو من اختيارى فى حال تحقق شرط او شروط معينه لكل سناريو
كمثال السناريو الاول .... شراء ثم بيع ثم بيع ثم شراء ثم بيع مثلا
السناريو الثانى ... بيع ثم بيع ثم شراء ثم بيع ثم شراء
السناريو الثالث بيع شراء بيع شراء شراء

كما وضحت بالامثله هل يمكن ذلك من خلال وضع سناريوهات مختلفه ؟
يرجى الافاده مع الشكر
وعليكم السلام
نعم ممكن بجعل السيناريوهات كشروط اختيارية بالاعدادات وباستخدامها تفصل بين كل السناريوهات، او تجعل لكل سيناريو دالة خاصة بها

sabil
03-07-2020, 09:00 PM
وعليكم السلام
مثال :


void OnTick()
{
OrdersModify();
}


void OrdersModify()
{
int cnt=0;bool s,m;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
double op=OrderOpenPrice(),
sl=OrderStopLoss(),
tp=OrderTakeProfit();
int tk=OrderTicket(),
ty=OrderType(),
mn=OrderMagicNumber() ;

if(sy==Symbol()&&mn==MagicNo)
{
cnt++;
if(cnt>=5)//عدد الصفقات 5 أو أكثر
{
if(ty==OP_BUY)
{
if(sl!=0||tp!=0)m=OrderModify(tk,op,0,0,0,Blue);
}
if(ty==OP_SELL)
{
if(sl!=0||tp!=0)m=OrderModify(tk,op,0,0,0,Red);
}
}
}
}
}

جربتها ولا تعمل الا مع الرقم 1 فقط
يبدو انها للصفقات المفتوحة فقط
اريدها للصفقات المقفولة ايضاً
جربت اضيف السطر ده

for(int i=OrdersHistoryTotal()-1;i>=0;i--)

وما زالت نفس المشكلة

kira-h
04-07-2020, 02:01 AM
جربتها ولا تعمل الا مع الرقم 1 فقط
يبدو انها للصفقات المفتوحة فقط
اريدها للصفقات المقفولة ايضاً
جربت اضيف السطر ده

for(int i=OrdersHistoryTotal()-1;i>=0;i--)

وما زالت نفس المشكلة
الدالة تعمل على الصفقات المفتوحة فقط أما شرط المغلقة ممكن عمله لكن غير منطقي فلم تحدد فترتها الزمنية
يعني تريد المغلقة لأي فترة؟

shivaa
04-07-2020, 08:57 AM
[QUOTE=kira-h;916750]وعليكم السلام
سبق ان شرحت هذا باسئلتك السابقة حول المتغير من نوع static
عموما هذا مثال تطبيقي بسيط:


static datetime Time0=0;


void OnTick()
{
if(Time0==0)Time0=Time[0];
}


بالنسبة لقيم قمم وقيعان الزيجزاج راجع المشاركة التالية https://www.fxprg.com/vb/showthread.php?t=31457&page=40&p=870989&
viewfull=1#post870989 (https://www.fxprg.com/vb/showthread.php?t=31457&page=40&p=870989&viewfull=1#post870989)[/QUOT

شكرا جزيلا

kira-h
04-07-2020, 02:29 PM
شكرا جزيلا

العفو اخي الكريم

sabil
05-07-2020, 03:34 PM
الدالة تعمل على الصفقات المفتوحة فقط أما شرط المغلقة ممكن عمله لكن غير منطقي فلم تحدد فترتها الزمنية
يعني تريد المغلقة لأي فترة؟
لو هنقول ف نفس اليوم مثلا ويكون متاح تغييره لاي عدد من الايام

kira-h
05-07-2020, 04:01 PM
لو هنقول ف نفس اليوم مثلا ويكون متاح تغييره لاي عدد من الايام
الدوال والشروط كالتالي:


int OpenTrades()
{
int cnt=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()<=OP_SELL)
{
cnt++;
}
}
}
return(cnt);
}


int CloseTrades(int days)
{
int cnt=0;
for(int i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()<=OP_SELL)
{
if(OrderOpenTime()>=iTime(Symbol(),1440,days))cnt++;
}
}
}
return(cnt);
}


void OrdersModify()
{
bool s,m;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
double op=OrderOpenPrice(),
sl=OrderStopLoss(),
tp=OrderTakeProfit();
int tk=OrderTicket(),
ty=OrderType(),
mn=OrderMagicNumber() ;

if(sy==Symbol()&&mn==MagicNo)
{
if((OpenTrades()+CloseTrades(0))>=5)//عدد الصفقات 5 أو أكثر
{
if(ty==OP_BUY)
{
if(sl!=0||tp!=0)m=OrderModify(tk,op,0,0,0,Blue);
}
if(ty==OP_SELL)
{
if(sl!=0||tp!=0)m=OrderModify(tk,op,0,0,0,Red);
}
}
}
}

Waddah
06-07-2020, 04:40 PM
السلام عليكم
لوسمحت ممكن مراجعة كود المؤشر التالي والذي يعمل على الفكرة التالية :
1- تشكلت قمة زيكزاك
2- ثم أغلقت الشمعة أسفل الموفينغات 10 و 15
3- يظهر سهم بيعي على الشمعة التي أغلقت أسفل الموفينغات (بعد تشكل قمة زيكزاك )
4- عندما يعيد الزكزاك رسم نفسه يبقى السهم ثابت

والعكس للشراء

مع جزيل الشكر

kira-h
07-07-2020, 05:07 AM
السلام عليكم
لوسمحت ممكن مراجعة كود المؤشر التالي والذي يعمل على الفكرة التالية :
1- تشكلت قمة زيكزاك
2- ثم أغلقت الشمعة أسفل الموفينغات 10 و 15
3- يظهر سهم بيعي على الشمعة التي أغلقت أسفل الموفينغات (بعد تشكل قمة زيكزاك )
4- عندما يعيد الزكزاك رسم نفسه يبقى السهم ثابت

والعكس للشراء

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

Waddah
07-07-2020, 11:43 AM
[QUOTE=kira-h;916879]وعليكم السلام
النقطة 4 غير ممكنة لان الزيجزاج يعيد رسم نفسه باخر موجة فلا يمكن التثبيث لان المعالجة بكل الشموع السابقة i وبالتالي يتم تصحيح الاشارات كل تكة


يعني لا توجد طريقة أبدا لتثبيت أول سهم على الأقل ....لو عملنا حلقة ثانية لتثبت الأ سهم ممكن ؟ أو الإعتماد على زمن الشمعة التي ظهر بها السهم ؟

kira-h
07-07-2020, 12:15 PM
يعني لا توجد طريقة أبدا لتثبيت أول سهم على الأقل ....لو عملنا حلقة ثانية لتثبت الأ سهم ممكن ؟ أو الإعتماد على زمن الشمعة التي ظهر بها السهم ؟
لا لان المؤشر من نوع اندكس يقوم بمعالجة الشروط كل حركة للسعر
يمكن ان تستخدم اسهم من نوع اوبجكت وتربطه بتوقيت الشمعة حتى لا تحذف وطبعا بمعالجة الشروط باخر شمعة فقط مثل التنبيه

osama almaghribi
08-07-2020, 10:08 AM
وعليكم السلام
ستقوم بعمل الشروط ببداية الدالة الرئيسية OnTick
مثال :



void OnTick()
{
if(TimeCurrent()>=StrToTime("2020.10.01 00:00"))//تاريخ الصلاحية
{
Comment("EA Expired");
Alert("EA Expired");
return;
}


if(AccountNumber()!=87678677)//رقم الحساب
{
Comment("wrong account number");
Alert("wrong account number");
return;
}
}





السلام عليكم أخي الكريم حسن
أشكر لكم كرمكم بجوابكم على طلبي
وأتمنى أن تشرحوا لي كيفية وضع الكود في الإكسبرت هل هو في آخر نص البرمجة أم في أولها
وأجدد الشكر والتحية لكم أخي حسن على الخدمات الجليلة التي تقدمونها لنا وجعلها الله في ميزان حسناتكم....

kira-h
08-07-2020, 06:56 PM
السلام عليكم أخي الكريم حسن
أشكر لكم كرمكم بجوابكم على طلبي
وأتمنى أن تشرحوا لي كيفية وضع الكود في الإكسبرت هل هو في آخر نص البرمجة أم في أولها
وأجدد الشكر والتحية لكم أخي حسن على الخدمات الجليلة التي تقدمونها لنا وجعلها الله في ميزان حسناتكم....

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

osama almaghribi
08-07-2020, 10:11 PM
وعليكم السلام
العفو اخي الكريم ولك بمثل الدعاء امين
بالنسبة للكود ستضعه ببداية الدالة OnTick (او start باللغة القديمة) و OnTimer اذا كان موجود
لان المنصة تقرا الكود سطر سطر بالترتيب من بداية الدالة لهذا يجب مراجعة تلك الشروط اولا اذا تحققت يستمر بقراءة بقية الكود واذا لم تتحقق يعود الى بداية الدالة من جديد في حلقة مفرغة...

لا أستطيع أن أوفي لكم حقكم مهما قلت
أكثر الله من أمثالكم لتستقيم وتتقدم الأمة

kira-h
09-07-2020, 01:18 AM
لا أستطيع أن أوفي لكم حقكم مهما قلت
أكثر الله من أمثالكم لتستقيم وتتقدم الأمة
آمين،
هذا واجب والله الموفق

bahoma31
10-07-2020, 06:24 PM
السلام عليكم استاذ حسن
عندي اكسبرت شموع الرينكو
ولم اعرف كيف اشغله على الباك تست لكن ليس هاته هي المشكلة
المشكلة هي كيف استخرج بيانات الاكسبرت من شارت اي زوج (offline) واستعمالها في اكسبرت آخر او نفسه
شكرا مقدما

kira-h
11-07-2020, 02:49 AM
السلام عليكم استاذ حسن
عندي اكسبرت شموع الرينكو
ولم اعرف كيف اشغله على الباك تست لكن ليس هاته هي المشكلة
المشكلة هي كيف استخرج بيانات الاكسبرت من شارت اي زوج (offline) واستعمالها في اكسبرت آخر او نفسه
شكرا مقدما
وعليكم السلام
اخي الكريم هذا الموضوع مخصص فقط للأسئلة البرمجية
يمكنك فتح موضوع بالقسم برمجة المـؤشرات و الاكسبـيرتـات و برامـج التـداول فـي الفـوركس (https://www.fxprg.com/vb/forumdisplay.php?f=208) وستجد ردود من الأعضاء ان شاء الله

kira-h
11-07-2020, 08:20 PM
السلام عليكم ورحمة الله
سؤال لوسمحت استاذ حسن هل من الممكن برمجة خاصية فى الاكسبيرت تجعل الاكسبيرت يقوم بغلق كل الصفقات المفتوحة فى بداية حدوث slippage وليس بعد slippage يعنى الانزلاق السعرى لايجعل الصفقة المفتوحة تكسب او تخسر يتم الغلق فى اول نقطة للانزلاق السعرى
وعليكم السلام
مثال لوظيفة تعود ب true اذا حدث اعادة تسعير او السيرفر مشغول وعليه يتم اغلاق الصفقة


if(IsTradeContextBusy())CloseOrders();


كما يمكنك تحديد اقصى عدد نقاط إعادة التسعير بدالة فتح الصفقة، وطبعا إذا الشركة تدعم هذا الأمر
مثال :


if(Digits==5 || Digits==3)int Q=10;else Q=1;
int Slippage=3*Q;
bool tk=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0 ,"",NULL,0,Blue);

bahoma31
16-07-2020, 08:03 PM
السلام عليكم استاذ حسن
تابع معي الكود من فضلك

int lower =iLowest(NULL,0,1,counted_bars,0);int higher =iHighest(NULL,0,2,counted_bars,0);
double pricelower=Low[lower];
double pricehigher=High[higher];


pricelower هو أقصى قاع في الشارت
pricehigher هو اعلى قمة عي الشارت


for(int i=1; i>=0; i--)

{
for(double h=up_draw[i]; h > Bid; h=h-BOX)
{

up_draw[i]=h;//مؤشر خطي MODE_LINE
}
for(double m=dn_draw[i]; m < Bid; m=m+BOX)
{

dn_draw[i]=m;//مؤشر خطي MODE_LINE

}

الان سيدي الكريم بعد ان يهبط السعر اكثر BOX التي تساوي 0.005 نقطة
يهبط معها up_draw
ولكن اريده ان يبقى في مكانه الجديد ولا يعود الى مكانه السابق اذا صعد السعر فوقه

نفس الشيئ بالنسبة لل dn_draw، اذا صعد السعر اكثر من BOX يصعد معها dn_draw
ولكن لا يعود الى مكانه السابق قبل ان يصعد السعر اكثر من BOX

هذه الصورة تبين المشكلة اين تكمن
https://www.fxprg.com/vb/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA30AAAHcCAYAAAB iVcPbAAAgAElEQVR4Ae2dT7LjuLKftRAPvYY70D7uAu5EW/AW7lBTr6Fe NW7disq/MrP7sGbVPhW2z1zaOAIn7EjHL0BOkAJOiAEEgCZSQDEd050i KfBJD5IZG/Q0p1Op1OA//hAxiAARiAARiAARiAARiAARiIMzAMQ/X66ePjY/jX3/73678TgY0HFh/hIxiAARiAARiAARiAARiAAcMAoo 7htWrfpIVyQoGYAAGYAAGYAAGYAAG1jOA6EP0IfpgAAZgAAZgA AZgAAZgAAYOzACi78DB5a8h6/8agu/wHQzAAAzAAAzAAAzAwFEYQPQh virDgzAAAzAAAzAAAzAAAzAwIEZiIm y 0 XM/zIn9y/HIz5h4/9 twdv12vg734TZcxn3n4XqfOc 95rnNF7kEnHKUvzowjvnJhW/wDQzAAAzAAAzAAAzAgAQDRnqF7VyGh4SbE31Lxx i7naxMTLn3of7/Sn6jDi8XcZ2H5v2vPArog/RNwNpGJgw0JyLX2AABmAABmAABmAABvpkYF70GX8Y8TYn paPf94BtDbM60P0na/34X49P p4RwDOMYjoQ/Qh mAABmAABmAABmAABmAABlYy8HzIcnx5F11WsM0J4pnj5lHO5 Odn3fyPkXf577TcEoUfV /Rj w3/ 78M//ZffTKznOsR fAMDMAADMAADMAADMAADMAADLgPid/ocwfe4U jKymEY7tfhsuJOH6IPoctfdmAABmAABmAABmAABmAABlYwkCf6 zGfz7JexGPHs3embCD5fXH/e6XPv7k3u s303zzeieibcY6r4Nn2oeM9TMAADMAADMAADMAADMDAvOizX9T yuFP3 FIWV/S9Hzef1XN/Xp/bG/WKI/pGsfg80/ Wz4C2QfQFnMLkZfLCAAzAAAzAAAzAAAzAAAykMGCkV8p5Jc9B9 CH6qoe05AShbZI9DMAADMAADMAADMDAEgOIPgQVggoGYAAGYAA GYAAGYAAGYODADCD6DhzcJbXPMf4aBAMwAAMwAAMwAAMwAAN9M IDoQ/TxVx0YgAEYgAEYgAEYgAEYgIEDM9CU6Ptn/p0 JmNLk3Eo/Jej0u23FCv6Sm6BARiAARiAARg4MAOIvgMHl9v1nYsuRB LF/kNBmAABmAABmAABk4no/mq98Pr2zu501dYxJA08iZLadFVun14yeMFf EvGIABGIABGIABJQYQfUqO5S4bAvVUWnSVbp 5xcIFAzAAAzAAAzAAA1UwgOgDxCpAPKRILi26SrfP3GJuwQAMw AAMwAAMwEAVDCD6ALEKEBF9CndGEX2wTX6DARiAARiAARiAAT7 Tp1BoM7GYWJaB0qKrdPvWD7wyJ2AABmAABmAABmCgKAPN3en7l 9 MvxBr KABBkqLrtLtM0 LJndyRAM5gjnCHIEBGIABGNiJAUTfTo6mAOuwACstukq3z9xiI YMBGIABGIABGICBKhhoS/T9ffgn7vR1KJ5qSRZGRGn/So4V0VdFkuUPPuQsGIABGIABGICB0gwg iSLbGwdu8jWFlHS9qXtwfex Sa xBcGYAAGYAAGDssAog 4Dwu3 F9UtEWUtH1pe8wV5goMwAAMwAAMwAAMNMkAog9wmwRXXNClcKA toqTtS9tL8RHnMJ9gAAZgAAZgAAZgoDoGEH1AWR2URQRdCgfaI kravrS9FB9xDvMJBmAABmAABmAABqpjoDXR9ze yIUPwhYThdoiStq tD0SeHUJvNhcgAVYgAEYgAEYgIGmGED0AWxTwBYtcrVFlLR9aX vMFeYKDMAADMAADMAADDTJAKIPcJsEt4j40xZR0val7TFXmCsw AAMwAAMwAAMw0CQDiD7AbRJcRF/CY76IPtgmv8EADMAADMAADMDA6WQ0X/V Pj4GL58 zH84z//feAzfUzccsBqi6iYfXNc xe yvGF7/E9DMAADMAADMCAEgOIPiXHFrkTxVh0E0VMlG31f8z 8PgrzfinGoX/jYJy6xi4XpdB/It/YQAGYAAGYAAGVjCA6FvhNARdwqOFR/RrTJRtHXPMPqKPJL VMa6HIRiAARiAARjokgFEH B3Cf4q4R4TZVtZitlH9MHqVsa4HoZgAAZgAAZgoEsGEH2A3yX4 iL7350N5vLPTO9jkQHIgDMAADMAADByeAUQfkB8e8lUCL8RF7E 5c6JqcfTH73OmD1RyeOBdeYAAGYAAGYAAGngwg pgMTIZUBmKiLNXO3Hkx 4g WJ1jh/2wAQMwAAMwAAMwsMAAom/BOWJ3iGjjGJMwJsq2xjlmH9F3DI62csL1cAADMAADMAADMJDJQ Hui73 YGPPZG3xQgIGYKNvKZcw oo8Ev5UxrochGIABGIABGOiSAUQf4HcJ/irRHBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwYQfYDfJfiIPjP 1pz98e2eBu8fkH/IPDMAADMAADMDADgyYqm9V/btD32y/Pj4 hi/ffgz/ P3vw9/ hcc7qw YDdzhXmN34rZOiph97vTB/lbGuB6GYAAGYAAGYKBLBhB9gN8l KsEaUyUbWUpZh/RB6tbGeN6GIIBGIABGICBLhlA9AF l Aj qaPdo6JICY6mSvMFRiAARiAARiAARhokgFEH A2Ce4q0bY11tqiKGafO32wupVhrochGIABGIABGOiSAUQf4HcJ/irRGBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwZiou9yuw/X8/yX2k2OX27G3OPnfh3OhqnQvvN1uNvzhmG4X8 LvueLXJici4CsEnBrfBoTZWtsutfE7CP66uDAjRnbxAQGYAAGY AAGYKABBoz2CtfMl Eh4eZE39Lx83C9D8PtMhWLRv N 4zou11m2p1eY/qG6GsApDBE78Fs ryYKNsap5h9RF9y0mias60ccT2cwAAMwAAMwAAMeAzMiz5Trxv xNif6lo9P7gCObTq2toi /8o/2QDEHsS7FfgxUba1XzH7iD7Y38oY18MQDMAADMAADHTJgPOUZW D8jlAL8jFz3Ig6 3inuc4 zmnv7tn3Y O34RK0/XmTaHKnD9H36ZjdxE4kQN30IybKtvopZh/RF0hSzIdu5t/W cX1zB8YgAEYgIGOGRC/0 cLPse35 v97fN7oX1 DYPoc5zoO4f3Oxb9MVG2NU4x 4g FqutjHE9DMEADMAADMBAlwzkiT7zOT73zpx3p29B8BltYj7T53 9pS2ifr2MQfUzOOiZnTJRtjVPMPqKvDg62xpnriSMMwAAMwAAM wMDODMyLPvtFLeMzmM8vZXFF3/txc9fO/TECb7Lv chnaJ8v9Nz3iL6doXCdz7ZzJzEmyrbGKWYf0ccCsZUxrochGIA BGIABGOiSgXnR59S6hdlA9BUOAMLvORliomxrnGL2EX1dJmnmX z2LEbEgFjAAAzAAA60y0Jbo zn8jS9yYbIVm2wxUYboQ5RtZYDrYQgGYAAGYAAGYECBgdZE339 E9CH6EH3uU9Ry2ydtUauQwIqxwFhYkGEABmAABmAABhpiANHXU LAocAsLXm1RFLPP450sLuQrGIABGIABGIABGFjBAKJvhdMQX4X FV6mYxUTZ1n7F7CP6SPJbGeN6GIIBGIABGICBLhlA9AF l CvEu4xUbaVpZh9RB sbmWM62EIBmAABmAABrpkoCXR9/X7z4HP9DFRy03UmCjbGpuYfURfudhvjS3XEzsYgAEYgAEYgIGC DCD6Cjp/1d0m lsuYcRE2dbYxOwj srFfmtsuZ7YwQAMwAAMwAAMFGQA0VfQ Yi xj4bGBNlW1mK2Uf0sVhsZYzrYQgGYAAGYAAGumQA0Qf4XYK/SnDHRNlWlmL2EX2wupUxrochGIABGIABGOiSAUQf4HcJPqLPTP 3pD/9OX2N3nsld5C4YgAEYgAEYgIFEBkzVt6r TbQvYfvj42P48u3HwBe57Oh0icAdzkbsTtzW MTsc6ev mR1OOa3Ms31MAsDMAADMAADVTCA6APEKkBsoliOibKtLMXsI/pgdStjXA9DMAADMAADMNAlA4g wO8S/FUiMybKtrIUs4/og9WtjHE9DMEADMAADMBAlwwg gC/S/ARfWbqT3/4TB f6Vs1L8ih5FAYgAEYgAEYqJ4BU/XVvs7zmT4mUh2Qxu7EbY1TzD53 urgYGucuZ44wgAMwAAMwAAM7MwAom9nh9eusOnfwt2emCjbylL MPqKPBWIrY1wPQzAAAzAAAzDQJQOIPsDvEvxV4jYmyrayFLOP6 IPVrYxxPQzBAAzAAAzAQJcMtCf6/qeJ08LdGI51CfIuTMRE2Vb2YvYRfbC9lTGuhyEYgAEYgAEY6JI BRB/gdwn KpEYE2VbWYrZR/TB6lbGuB6GYAAGYAAGYKBLBhB9gN8l Ig M/WnP3x7J08QrJoX5FByKAzAAAzAAAxUz4Cp mpf56ff3snjndUHrBqgYnfOchOUtD2//Zj91u70xcbjj5/3zG0YgAEYgAEYgAEYUGEA0QdYKmBVIfykRYe0PZ 9mH1E33FZ9VngPbGGARiAARiAARgQZADRJ jMKoQO4/lMEDERlesraXt zH7iL7P2Pq 4z2 gQEYgAEYgAEYgIFZBpoTff Nxztng4no9D6TFRNRuYlB2p7ffsw og/2fWZ4DxMwAAMwAAMwAAMJDCD6EpyEmPLEVCs i4mo3HFI2/Pbj9lH9JHUfWZ4DxMwAAMwAAMwAAMJDCD6EpyE6EP0jQzERNlW lmL2EX0k9a2McT0MwQAMwAAMwECXDCD6AP 44MdEVG7spe357cfsI/qOy6rPAu JNQzAAAzAAAzAgCADiD5BZ3JHsLI7gjERlRt7aXt zH7iD6Sv88M72ECBmAABmAABmAggQFEX4KTEHOVibnUmMVEVKo de560PWvXvsbsI/pI6pYVXmEBBmAABmAABmAggwFEX4azEH Nib YiMqNvbGn/bvUJ0RfXnKXjv9SbDiWFxv8hb9gAAZgAAZgYFcGEH0Atytwuwr n0kW/dPuIvjxWpf1PrsjzP/7CXzAAAzAAAzBQDQOtib7/xL/T19jdtpKTvXTRL90 oi8vcUr7vyTLtJ0Xe/yFv2AABmAABmBgwgCiDyAmQOx6J07b96WLfun2EX15rEr7X5tX 7OfFF3/hLxiAARiAARhIZgDRByzJsDQnCEsX/dLtI/ryWJX2P7kiz//4C3/BAAzAAAzAQDUMIPqAsRoYxUVl6aJfun1EXx6r0v4nV T5H3/hLxiAARiAARiohgFEHzBWAyOiL/J5TURfHquIvjx/kQvxFwzAAAzAAAwcloGY6Lvc7sP1PF LTo5fbsbc4 d Hc6Gm9C 03m43r3zFhj7 PgYvnz7MXz9/nPgi1wWHCUumlpvq3TRL90 oi8vEUv7v/X5QP/z MFf AsGYAAGYOBADBjpFdYKl Eh4eZE39Lxh6i7XaZi0ei/cd9jY2z3tW/Bp4i BeeEgzd1fLfnlC76pdtH9M0kqxnepf3PPMzzP/7CXzAAAzAAAzBQDQPzos/UUUa8zYm 5eOTO4BjvD9tna/34X49P3zgCMA5bYLoY8I8YDFFvPavpK lRQeiLy9xSvtfkg1s5cUSf EvGIABGIABGNjEwPMhy/HlXXR9CrX3Ywui73wd7vbxThMf8960cLuMfZ3c3UP0zdylAOx3 sLWLeGn7CvbcCSu9PQpqSe6kx5/bt9Lt5/aX89/nPD7BJzAAAzAAAzAgwoCpG8OCbkHUvXwfEIW 4HudexrsHT77OraL6EP0zQPo Ua7iJe2r2BPWui59hB9Hm9O8kpmlGsWFhT8C0cwAAMwAAMwUIq BPNFnPsd3Gy6vusYTfQuCz4zP6LvxsU5H6D02l PP450vhy87qhREu7UrLaJ8v0rbV7DnijTpbURf5/PLnw 8R8DCAAzAAAzAwGEYmBd99otaHpXl40tZXNH3ftzcwXN/jMCb7Hs98mnE4vPM1775egvRx4R7TDhpEeX7Vdq gj13gklvI/rmk9Buf9jwmeT9YRZbGGJ wQAMwAAMlGTA1I0l209pG9FH4YfoMwzwRS55yUpadDMP8/yPv/AXDMAADMAADFTDAKIPGKuBMfoXAO0iXtq gj3pu3uuPe708RfI6BwkX7aTL4kVsYIBGIABGHAYQPQ5zqDgqb zolRZRfuyl7SvYc0Wa9Dair3L fV55z2IOAzAAAzAAAzCQyACiL9FRCMIKCmJpEeXHXtq gj1poefaQ/RVwLjPJO9ZzGEABmAABmAABgQYQPQJOBFBuFOxLC2i/NhL21ew54o06W1EX4RjE0/tX59J3rPQwwAMwAAMwAAMCDCA6BNwIqIvUixL VhaRPn9kravYE9a6Ln2EH0RjqXjqc2fb5/3FA0wAAMwAAMw0C0DiD7gbwf 1opu6f7y7Z15rCr4X/UPPNL9Jbfl8YK/8BcMwAAMwMCBGWhP9P1ueIz8RZ7jx5y02kWxtH0Fe 6dOelt7vRF8op0PP08pW3fb4/3x8yTxJW4wgAMwAAMBBhA9AWcgqiMFL lfKZdFEvbV7AnLfRce4i CPfS8fTnkbZ9vz3eUxTAAAzAAAzAQDcMNCf6fuVOXzdwvolv7a JY2r6CPVekSW8j hB9b3OOYqDffEvsiT0MwAAMHIoBRB9AtwO0tIjyYy9tX8GetNB z7SH6EH2IvggDfs7gfTvrB7EiVjAAA50zgOjrHICmijxpEeXHX tq gj1XpElvI/oiBb90PLX58 3znoIHBmAABmAABrplANEH/O3A31rRLd1fvr0zj1UF/6v kUS6v S2PF7wF/6CARiAARg4MAOIvgMHV7xANUWp9u9SPLSLYmn7Cvak7 659rjTx50 8ZyxNJ85RnEFAzAAAzAAA7sxgOgDtnTYpEWM7/uY/dhx317ue237uf3xz dOXzqrxnfS8ZS2F4gvoisivH2f8T5vTuAv/AUDMAAD3TKA6AP dPhLF72l2y/NCqIvnVUTK2lepO35PGnb99vjfR5P At/wQAMwAAMNMwAoq/h4O1 V0C7KI3Zjx3fGktt wL9cx/HlN5uTiTF/CkdT2l7fv 17fvt8Z7iBQZgAAZgAAa6YaA10fcL/05fwceftIvSmP3Y8a2JS9u QP khZ5rD9EXmVvafGjb38of13dTGOz B0XYgi0YgAEYUGcA0Qdk6ZBpF6Ux 7HjW2OpbV gf65Ik95G9CH6KPYjDGydw1yfvt7gK3wFAzAAA6IMIPoAKh0ob VEUsx87vjWW2vYF ict9Fx7iL5Iwa/Nh7b9rfxxfXquxFf4CgZgAAZgoDIGEH2VBaTqv7RrF6Ux 7HjW2OpbV gf65Ik95G9CH6qs4/W cP11OAwQAMwAAMdMwAoq/j4GcXeNqiKGY/dnxrLLXtC/RPWui59hB9iL7snLCVaa6nAIMBGIABGICBXRhA9AFaOmjaoihm 3xzX/q2ZB/7JhnRWTRzNr2Q8pe35fdO277fHe1k 8Cf hAEYgAEYqJgBRF/FwREtWCXGqV2UatuX8EFJG4i vMVEmidpez5L2vb99nifxxP wl8wAAMwAAMNM4Doazh4u4tC7aJU237rsUb05S020jxJ2/N51Lbvt8f7PJ7wF/6CARiAARhomAFEX8PBQ/QJP75XOwuIvrzFRlpESdvzedO277fH zye8Bf ggEYgAEYaJgBRF/DwUP0IfrMBJb6ae4zcLG5Ky2ipO35/de277fHe4oXGIABGIABGOiGAVMv7q4dMvn6 PgYvnz7MXz9/nP45dffTX87K/ZrGa92UaptvxY/ru0Hd/rykpU0T9L2fA607fvt8T6PJ/yFv2AABmAABhpmANHXcPB2F7/aRam2/dZjjejLW2ykeZK25/Oobd9vj/d5POEv/AUDMAADMNAwA4i hoOH6Ovsji iL2 xkRZR0vb83KNt32 P93k84S/8BQMwAAMw0DADiL6Gg4foQ/SZCSz1w2f6IjxpizJt Q6ihUYgAEYgAEY6JYBUy/urh0yeeMzfZkOUwuodlGqbb8WP67tR 93 gwf2r9LsdHmU9v 0tg4Vv1CqJbXiT2xhwEYgIEuGED0AXo66NpFqbb91mON6EtndU 2sY/zFjq9p071G277bFtu6LOFf/AsDMAADMFAZA4i ygJS9V9ztYtSbfutxxrRp7uAxPiLHd/Kl7b9rf3jel3 8C/ hQEYgAEYUGQA0afo3KoF3Jpxaxel2vbXjLmmaxB9uotBjL/Y8a2saNvf2j u1 UP/ JfGIABGIABRQYQfYrORfRFvhjD9z1F73KyQ/Qt 8fnKfd9jL/Y8dz2/PO17fvt8V6XJ/yLf2EABmAABipiANFXUTCqF4naRam2/dZjjejTXTxi/MWOb VL2/7W/nG9Ln/4F//CAAzAAAwoMoDoU3Ru9SIud zaRam2/dzx1nY ok93MYjxFzu lRdt 1v7x/W6/OFf/AsDMAADMKDIQEz0XW734Xqef0pvcvxyM YeP/frcDb9Du07X4e7PW8Yhvv1vBhj/skGRQCyhKl2UaptvxY/ru0Hom8xUWSxHIpBjL/Y8ZDNnH3a9nP6wrm6rOFf/AsDMAADMLAzA0Z7hWuly/CQcHOib n4ebjeh F2ccWis8 Ivttlpl33msc2om9nKMJAPP FNM2 UPQuTwpE37J/trIZ4y92XLv9rfa5Xpcf/It/YQAGYAAGKmZgXvQZwWWE2pzoWz4 uQP4HP9rH6LvXdnOCq2a4KHoLZvMEH26/o/xbY5r/9Y03 mLLm/4F//CAAzAAAzsyIDzlGXA7ytFnxF19vFOOxZ3n9l NXwbLvacmVfu9M04ZnehGCuKt/ZT2/7W/pW HtEXSFKCf0CR5k/aXmn aF XP/yLf2EABmAABhQZEL/T54o72 /Qvuex8/XOZ/p2F282MLmv2kWstv3c8dZ2PqJPdzGQ5k/aXm080h9dHvEv/oUBGIABGBBkIE/0mc/xuXfmvDuBIXEX2uf033zPC1/k4jikagGoXcRq22/Fz3P9RPTpJn9p/qTtzXHBfl0u8C/ hQEYgAEYOAAD86LPflHL4znMx5eyuKLv/bi5a f GDEX3ec/BhrwKY93BpxSRBxqF7Ha9mvx49p IPp0Fx1p/qTtreWG63S5wb/4FwZgAAZgoAEG5kWf4EdlNvoB0bfRgWICUbuI1bZfix/X9gPRp7uoSPMnbW8tN1ynyw3 xb8wAAMwAAMNMIDoayBIYqJt61i1i1ht 1vHX/p6RJ/uoiLNn7S90vzRvi5/ Bf/wgAMwAAMKDKA6FN0bjViTWqM2kWstn0pP5Syg jTXQyk ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiD/tIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2UH06SZzaf6k7ZXijnZ1ucO/ BcGYAAGYGAHBhB9Ozj5MOJRu4jVtt96rBF9uouCNH/S9lrnl/7r8ot/8S8MwAAMwMACA4i BeccRqxJjVG7iNW2L WHUnYQfbrJXJo/aXuluKNdXe7wL/6FARiAARjYgQFE3w5OPox41C5ite23HmtEn 6iIM2ftL3W aX/uvziX/wLAzAAAzCwwACib8E5hxFrUmPULmK17Uv5oZQdRJ9uMpfmT9pe Ke5oV5c7/It/YQAGYAAGdmAA0beDkw8jHrWLWG37rcca0ae7KEjzJ22vdX7pvy 6/ Bf/wgAMwAAMLDCA6FtwzmHEmtQYtYtYbftSfihlB9Gnm8yl ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiEftIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2Skt kx8tH XfKvNh7R9aXtLvuEYCz0MwAAMwAAMwMACA4i Becg k7TyaNdxGrbbz3WNYg TR/G4h87vrVv2va39o/rp/kIf APGIABGIABGEhmANEHLMmwjHd5NP1F0b0cC0Tfsn 2sgl/uv7dGh uJz4wAAMwAAMwsJoBRB/wpMOjXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891og Q4jub uMuP1nPqXnNtdvbOM3GIABGICBAzKA6DtgUNX UXntIlLbfuux7l305cavd556H38uL5xPkQcDMAADMHBgBhB9Bw 6uuPjTLiK17bcea0Rf3mLUO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBmQhH7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgFB9J3S/aPNEqIvLxa9i57ex689H7GfNx/xF/6CARiAgaIMIPoAMB1A7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgHhTh93 l4MaIsIafvS9lrLFb2Pv7V40d/0tQhf4SsYgAEYyGYA0Qc06dBoF5Ha9luPNXf60lk1se6dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4C87vIYP2kXkdr2W481oi d1T14rZ0n5lMeL7XHk/4RTxiAARiAgQ0MIPo2OG8iiHqwo11EattvPUaIvrxk3ztPvf1u xhgAACAASURBVI /9flO//PmO/7CXzAAAzCwyACiD0AWAZkIW 0iUtt 67FG9KWzamLdO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBQfTxRS4vBrRFhLR9aXut5Yrex99avOh v lqEr/AVDMAADGQzgOgDmnRotItIbfutx5o7femsmlj3zlPv4299vtP/vPmOv/AXDMAADCwygOgDkEVAXnd5jJ 0i0ht 63HGtGXzuoevNbOE/Mpj5fa40n/iCcMwAAMwMAGBhB9G5w3EUQ92NEuIrXttx4jRF9esu dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4BMhK12Ealtv/VYI/rSWTWx7p2n3sff nyn/3nzHX/hLxiAARhYZCAm i63 3A9z3 XxeT45WbMPX7u1 FsfB/adzoP17t33kKcPj4 hi/ffgxfv/8cfvn1dzOe Q5xTNE32kWktv3WuUH0LSazt7nfO0 9j7/1 U7/8 Y7/sJfMAADMLDIgJFeb7XS6LPL8JBwc6Jv6fhD1N0urv5w9hkheLu M7T423fPetxF9tUCsXURq26/Fj2v7geibSVbvSWNMar3z1Pv4184zrsubZ/gLf8EADMBAEwzMiz5TRxmhNif6lo9P7gA WbD7ztf7cL eH/5xBGBYfJ4GRF8tk0m7iNS2X4sf1/bD Ef7d6lv2vGRti9tb8k3exzTjv3R/LVHTGijiUJnrrhg/8wfzOAarmHgkAw8H7IcX97z30rRd74Od/t4p XG2Te5u4foayjpaheF2vYtjL28SvtT2p4fB2n70vb8/u79vvSd3r3HS3uHLDreC42G1kCYhEkYgIGGGRC/0 eIu1du9/Zxp69VYLSLaG37rfp9bb l/Sltzx XtH1pe35/936P6KPY2Js52oM5GIABGDgMA3miz3yO7zZcXvH37gR64m4Ufa F9zt29yV2/l93pH/54vHPGMS9Vvddx7SJa2/5efqqlHWl/Stvz/SRtX9qe39 93yP6DrPw7p6792aV9mAVBmAABqpjYF702S9qGZ/8HB5fyuKKvvfj5g6e 2M txfa9/is4PNM/zHQACOIvoBTihQN2kW0tv1a/LhXP6T9KW3P94O0fWl7fn/3fo/oq24BLZKH9 aO9uAOBmAABg7BgJFeta9biL5aJpt2Ea1tvxY/7tUPaX9K2/P9IG1f2p7f373fI/qqX6xqX0zp3/QxIvyBP2AABnpiANG3d HWcnvaRbS2/ZZ9v6bv0v6UtuePSdq tD2/v3u/R/Qh vZmjvZgDgZgAAYOwwCiD5jTYdYuorXt9xZraX9K2/PjIW1f2p7f373fI/rSc9XesaE9YgMDMAADMFA5A4i ygNU1W1n7SJa235vsZb2p7Q9Px7S9qXt f3d z2ij4Jib ZoD ZgAAZg4DAMIPqAOR1m7SJa235vsZb2p7Gn/SsZI nxS/ZtjS1EX3quWuNfrsG/MAADMAADB2YA0Xfg4IrfJdQuorXt9xbr0v7svX1p3hB9FCPSTG EPpmAABmCgGwYQfcCeDrt2Ea9tv7dYl/Zn7 1L84boS89V0r7HHr6HARiAARhonAFEX MBFL bt QP7SJe2/7S2I54rLQ/e29fmilEHwWHNFPYgykYgAEY6IYBRB wp8OuXcRr2 8t1qX92Xv70rwh tJzlbTvsYfvYQAGYAAGGmcA0dd4ALnTxz8sOstA76Kr9Pilcwu ij4JDminswRQMwAAMdMMAog/Y02HXLqK17fcW69L 7L19ad4Qfem5Str32MP3MAADMAADjTOA6Gs8gLN3eTTGpV3Ea9 vX8EnNNkv7s/f2pdlA9FFwSDOFPZiCARiAgW4YQPQBezrs2kW8tv3eYl3an723 L80boi89V0n7Hnv4HgZgAAZgoHEGEH2NB5A7fXymb5aB3kVX6f FL5xZEHwWHNFPYgykYgAEY6IYBRB wp8OuXURr2yfW6bGW8FXpeJZuX8KHrg1E3778ur5nG9/DAAzAAAw0zgCir/EAzt7l0RiXdhGtbV/DJ9icXwRKx7N0 9JsIPrmWZP2NfbwNQzAAAzAwMEYQPQdLKCqIlC7iNa2T6z3TeC l41m6fWneEH378isdP wRPxiAARiAgYIMIPoKOl9VoGmMS7uI1rav4RNszifw0vEs3b40 G4i edakfY09fA0DMAADMHAwBhB9BwuoqpDULqK17RPrfRN46XiWbl aN0TfvvxKxw97xA8GYAAGYKAgA4i gs5XFWga49IuorXta/gEm/MJvHQ8S7cvzQaib541aV9jD1/DAAzAAAwcjAFE38ECqioktYtobfvEet8EXjqepduX5g3Rty /0vHDHvGDARiAARgoyACir6DzVQWaxri0i2ht xo weZ8Ai8dz9LtS7OB6JtnTdrX2MPXMAADMAADB2MA0acZUOmi09 jT/l3yh/R4/La07fvt8V43oZeOZ n2pflC9OnyKh0v7BEvGIABGICBihhA9GkGQ7rolLbnjz1mP3bc t5f7Xtt bn84v 1kfTSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zt8c1/71 8R7EuRaBmI8r7Vb6jpEH3OhFHu0C3swAAMw0DwDiD5NiKWLTml 7/ti17fvt8b75BHIihvvFENG3n6/hGl/DAAzAAAwcjAFEn2ZApUWUtD1/7Nr2/fZ4T0KFgXQGEH3pvoIrfAUDMAADMAADEwYQfZpASIsoaXv 2LXt 3xfjIZuWt2wh9LcwLRBx9LfHAMPmAABmAABhYYQPQtOGdzES4t oqTt WPXtu 3x3uSEwykM4DoS/cVXOErGIABGIABGJgwgOjTBEJaREnb88eubd9vj/eTybj5jwz489j RPQdO77MX ILAzAAAzCgyEBM9F1u9 F6nn/qanL8cjPmHj/363B2 j0573wd7va8YRju1/NijD8 PoYv334MX7//HH759Xdz7nyHqjomLaKk7fl 1Lbvt8f7RfCrYplYlY8Voq98DJgHxAAGYAAGYKBRBoz2CteWl Eh4eZE39Lx83C9D8PtYrRZ4Dwj m6XmXbf9Ryiz8KlLcq07dtx8JoMf3hyvk8SzuvAJ4g 5g25EwZgAAZgAAZWMjAv kwNZcTbnOhbPj65s fbQfStLFC1RZm2/ZWQImhW8oK/j7UwIPqOFU/mJ/GEARiAARjYkQHnKcuA31eKPiPqJo93enYmj3fehktkvNzpsw7S FmXa9u04eA1MNoQd4j7CAKKPeUPuhAEYgAEYgIGVDIjf6XsTfK aO8USf09fz9c5n pKLXW1Rpm3fCXzymLmG5AYDDwYQfcwF5gIMwAAMwAAMrGQgT/SZz e5d Y8MRcUfMuiz3z3C1/kkho8bVGmbT91nJxHQoOBdwYQfe8 gRN8AgMwAAMwAANJDMyLPvsFLI8HQD /lMWKvvfj5q6d /MQc5HzJo Bhp9u4vFOC7O2KNO2b8fBa9Lk5G5oOCF06xdEH/OG3AkDMAADMAADKxmYF3311FuIPhtcbVGmbd Og1cSFgzkM4Doy/cZnOEzGIABGIABGBgZaEX0/fnPfx7sf/w7fVrwIvpIjFpsYXc7W4i 7T6EQ3wIAzAAAzDQKQMtiT776CiiTwtWRB JUIst7G5nC9G33YdwiA9hAAZgAAY6ZQDRpxl4aRElbc8fu7Z9v z3ek3gPzsAwCrXTwCs gIH9Gej2878Hz6vEtZ7PXxGLtmKB6NNMjtIiytjT/tX0B7YReR0xQJG/f5GPz/G5ywAFaVsFKfEiXjCgy0BLoo/P9OUWzNKiM7d9zkfkwYAcAzzeKedLuMSXMAADMAADnTHQiuj78 u3H8PX7z GXX383jOoqYTH7pUVX6fZbiRP9JPG3wACiD05b4JQ wikMwAAMVMkAok8TzNKiq3T7mr7FdpUJRewPJsT3Pb6IvnefwA k gQEYgAEYgIEkBhB9mqCUFl2l29f0LbaTJjgirJGnAlJ4RvTBfA onnAMnMAADMAADAQYQfQGniBXKpUVX6fY1fYttElpvDCD6YL43 5hkvzMMADMCAGAOIPk2YSouu0u1r hbbYklA7I8cxEQ3Jog Xf/CL/6FARiAARg4MAOIPs3glhZdpdvX9C22Scy9MYDog/nemGe8MA8DMAADYgwg jRhKi26Srev6VtsiyUB7vQ18rk/RB/Mk/dgAAZgAAZgYCUDxxZ90qLH2NP XRnIYOEuPX7JvmGLpAUDeQwg vL81TtfpfN/6fZ7jz/jJ1/AAAx4DCD6PIcExZM9R3sRk7Yvbc/6gVcSCQzszwCib3 ft8x56fxfuv2WY0ffmeswAAMKDCD6cpyqvYhJ25e2l MrziVhwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHaS9i0val7eX4inNJRjAgywCiT9afR ezdP4v3f7R48v4yAcwAAOZDCD6chymvYhJ25e2l MrziUZwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHmUVM zenP7FzWXRJCDFGON4OI4i dmKlMa 01x7p9ULanoZPsdn3nCL xL8zBhB9mgEvveiVbl/Tt9gmWffGAKKvb a187m0fWl7vc13xtv3fCf xF BAUSfglNP1mbpRa90 9YPvJK8YGA7A4i 7T5smUPtfC5tX9pey7Gj733PXeJP/CthANGnGYjSi17p9jV9i22SaG8MIPr6Zl47n0vbl7bX23xnvH3 Pd JP/BUYQPQpOJU7fScmqyZX2O6TL0Rfn3G3811bREnbl7Zn/cBr3/OA BN/GFjNAKJPE57Si17p9jV9i 3Vk/71Rwl82JYPEX1txUt6fmnnc2n70vak/Ym9vucT8Sf HTKA6NMMeulFr3T7mr7FNgm7NwYQfX0zr53Ppe1L2 ttvjPevuc78Sf Cgwg hSc rqTUnrRK92 pm xTULsjQFEX9/Ma dzafvS9nqb74y37/lO/Im/AgOIPgWnIvr4TN LAU2 sN3XooDo6yve/vzWFlHS9qXt f7gfd/zgfgTfxjIZqBN0WcWE61fSYhKL3ql25f0JbayJzfC82B/fED09T0HtPN5zL45rv1Lnu bceJP/GFAlYE2RZ8WFLFFL7ddaXuttZ/bX85XneyIwMZFIKKv7/mhvZ7E7MNf3/yxPhN/GGieAUSfC3Fs0XPPTdmWtpfSpntO6fbdvrDdfLJANBYWjRTdfc 8h7Xwesw9/ffPHGk78YaB5BhB9LsSxRc89N2Vb2l5Km 45pdt3 8J288kC0Yfog4GCDGjn85h9RB85nHUcBmCgaQYQfS7AsUXPPTd lW9peSpvuOaXbd/vCdtOJgmK/YLFv5w5Fd99zSDufx zDX9/82TzEKxzAQLMMIPpceGOLnntuyra0vZQ23XNKt /2he1mkwSCrwLBZ YPRXffc0g7n8fsw1/f/LGGE38YaJ4BRJ8LcWzRc89N2Za2l9Kme07p9t2 sN18skD8FRZ/FN19zyHtfB6zD39988caTvxhoHkGYqLvcrsP1/N8rTM5frkZc4 f 3U4O3xMzjudh s9fF6orvz4 Bi fPsxfP3 c/jl19 Nz c7tOlYbNHLbVfaXmvt5/aX85tPKJvmH/Ffjj9F97J/js6P9noSsw9/ffN39PnF OC7AwaM9ArXaZfhIeHmRN/S8Yeou12MNgucZ8Th7TK2 9hc1nCIvrUgxhbxtXa5bmbSLIMcnmhcg18SGaDo7nveaefzmH3 465s/1n3iDwPNMzAv kwdYsTbnOhbPv5 Z /Tzvl6H 7X88N3jgCcq/0QfWsnWmwRX2uX65qf HOTjf2JAqzEHKDobmveSedfY0/7d4lr GuLv6VYcoxYwkCXDDwfshxf3uu9laLvfB3uk8c7p3Ymd/cQfYpFpnTRQZLoMkm8JwZFZmFsnjGK7nnf1MhN6fwr3T78tcVf jXOCPsEQDBRlQPxO35vge78jyJ2 vaCXXvT36jftFE0KiLxKRS1Fd1vzonT lW4f/trij3WUeMEADHgM5Ik 8/m823B52ZjewTsFBd 76Ds5d/cmd/1edqc1F493zjgmWpxLL/pr 8F1JB4Y2M4ARfd2H 7JYen8K90 /LXF356s0xZswEATDMyLPvsFLOOTn8Pnl7JY0fd 3NzBc38en9t7P /xWcHnmZPHQKdiz2oaRN/aySS96K/tB9c1kQzshOM1nIiK 4Wiu615VDr/SrcPf23xx7pLvGAABjwGjPQqXst4ffL7g iLOMh32Ou99KK/th9cV/0kezFDrOqNFUV3vbEJzZvS Ve6ffhri78Qk wjhjDQNQOIPncCKCySRYtp6fG4vmK768RRlOte2aPobmvOlc6/0u3DX1v89ZonGTecwsAsA4g Fw6FRbJocSw9HtdXbM9OqqIxJy7HjQtFd1uxLZ1/pduHv7b4Yy0gXjAAAx4DiD7XIQqLZFEBID0e11dsk0xgYF8GKL r39fdWvkvnX n24a8t/rbyy/XEGwYOxwCiz4VaYZFE9FX6pRhu3Nk XGIrOu 0eKLoLsupWR 0fyXZUVjPTMGg9TP6VnL82Co7X/A//oeB6hgw bv2 ogvclk7caQX/bX94LrqJ1ntSYD PeSGVsE9LgTki V5qu0fafsK9uCPP2KSi2EABtplANHnChKFRbLo5JAej srtpcLRPyDf6QZ4E5fWaa086m0fQV7iL52i72itYh0LsRe2VyI/5v1P6LPhVdhkSyaaKXH4/qK7WYnfVEm4WY9N4i 9b6T4E47n0rbV7CH6EP0sX7AAAy0ywCizy0GFBbJopNDejyur9 guW4Di//78j grG3PtfCptX8Eeoq/dYq9oLcJ6VTZ34X/8/2QA0edOBoVFsmiilR6P6yu2SSIwsC8DiL59/e3zrZ1Ppe0r2EP0IfqK1jT nOR92ZyI/5vzP6LPhVZhkSyaIKXH4/qK7eYme1EW4WU7L4i 7T7cwqF2PpW2r2AP0YfoYx2BARholwFEn1sEKCySRSeH9HhcX7 FdtgDF//35H9FXNuba VTavoI9RF 7xV7RWoT1qmzuwv/4/8kAos dDAqLZNFEKz0e11dsk0RgYF8GEH37 tvnWzufSttXsIfoQ/QVrWn8Ocn7sjkR/zfnf0SfC63CIlk0QUqPx/UV281N9qIswst2XhB92324hUPtfCptX8Eeog/RxzoCAzDQLgOIPrcIUFgkmRztTg5iR yqYgDRh hz16vYtsJ6hugjJ1aVE2NzgONlcyb r87/iD4XSoVFkgTJIgkDMCDCAKKv7AIqvT64a4/ZlravYA/RRy4TyWU 7wvm9vwfzf R/S5sCsskiRIFkkYgAERBhB9ZRdm6fXBXXvMtrR9BXuIPnKZSC7z 2ed92dyG/7vxP6LPhV1hkSRBskjCAAyIMIDoK7swS68P7tpjtqXtK9hD9JH LRHKZzz7vy Y2/N N/xF9LuwKiyQJkkUSBmBAhAFEX9mFWXp9cNcesy1tX8Eeoo9cJpL LfPZ5Xza34f9u/I/oc2FXWCRJkCySMAADIgwg souzNLrg7v2mG1p wr2EH3kMpFc5rPP 7K5Df93439Enwu7wiJJgmSRhAEYEGEA0Vd2YZZeH9y1x2xL21e wh gjl4nkMp993pfNbfi/G/8j lzYFRZJEiSLJAzAgAgDiL68hVkjnxubmr/uerR1W2H8iD5ymUgu28o21 flQvyFv54MIPrcySC9SLq22WbSwQAMbGEA0ZfHT l8frT24S Pvy1znWvxNQzAgAIDiD7XqaUXabcvbDPhYQAGXAYouvN4KJ3Pj 9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBlgKI7j4fS fxo7cNfHn/u3GUb38EADFTAAKLPDULpRdrtC9skCBiAAZcBiu48Hkrn86O1D 395/Llzl218BwMwUAEDiD43CKUXabcvbJMgYAAGXAYouvN4KJ3Pj9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBloMGiezidhp7/K/pvmkmvZw3yV9T/7txlm1wOAzBQAQOIPjcI0ouka5ttJjwMwMAWBhoqunsWeu7Yi4 oO6fWsIf6K n3LHOda1ggYgAFFBhB9rnOlF0nXNttMZBiAgS0MNFR0W EjWnxr52dh xI L//5t8O/IcPNBkQnaNb8hvXsj7CgDoDiD4XMuFFn2R6UgcYH PjbhhA9OnmE H8v1X0aRb62EZIugx0k0Pdeo9t3XyKf6v0L6LPBVN40SeRIkhg AAbEGED06S6iwvkf0YewcoVVzdtiOcqtp9jWzVf4F/ uYADR5zpNeNEnkVLwwwAMiDGA6NNd5IXzP6IP0Vez0HP7Jpaj3 HqKbd18hX/x7woGEH2u04QXfRIpBT8MwIAYA4g 3UVeOP9vFX2GG7cwZxsRqcGAWH5yaym2dXMV/sW/KxlA9LmOE170SaYU/DAAA2IMIPp0F3rh/C8h jaxIzyeU0P8bfKbWxOwrTvn8C/ hYFdGYiJvsvtPlzP83Xb5PjlZsw9fu7X4TzG8jxc796 83Wwu8yR /W8OOaPj4/hy7cfw9fvP4dffv3dnDvfoU3HpBdJrX5idxGYTQzgW3xbKwONF N1qYkc7P0vbN/F6/juFRXKSxniea7nGixGVRfxU63ynX/AAAzAgzIDJ3eE8exkeEm5O9C0dfwi92 U0nIwQvF3GNh6bp FkRN9zX7jtae5H9AkHPcXpnDOFEH/gj IMIPpmFishNqVFB6IvSxsi oQ4pl7QzRP4F/82zMC86DP5x4i3OdG3fNzeATxf75938qwARPSR3IsX0A1PWnzX 6fxB9OkWG4i Zf82wh/5sdP8yJq PH/xD/4xT544P 5cqXoM6Lu Xjn6 6e4c0Vfa92b8MlwiJ3 iIOeg8cSR fwMDhGGik6FZ7pFFalPl5Vdp 6Tt9/vi2vm Ev8PN 61x43qKfRiAgScDRnvN58gVos8RfMZu8E6fw9/kuLPf7ROib8YxrpPYRuTAwMEZaKToRvQ9OTTx mP6X9NztBH mvYxa/1CQXrw/E7sif0ODOSJPvM5PvfOnCcKPcE35l57d 90GiZ3/Z5jM/v4IpcdAs1CyIIBA40z0EjRjehzRJ/zRS5GADY9Bxvhr2kfUwu0PUeIH/GrnIF50We/qOXxHOb4pSwnV/S9Hzd37dyfh5gzwvC59/nI5 S817d8zq H3OmrHCIW2Xl48Q2 EWOgkaIb0fdk3sQL0efWBIvbfJELuVIsV1IzIb5gIMiAScK1zz NEH/BWD2ntk4j HaCgakD0uSJHnDnpz9z5eVXIvv9Ip/te3Cf GDTfN8Bf0/7VjB22qSFgAAaeX RSe55E9DFZmawwAAMNFN2Ivsdn MZF9SkiVX2yZ15ogL/aixn6d4A/vu0552iLdV YAe70uQ4V ksviZ3EDgMwIM5AA0W3qsDRzs9C9l f3UP0LT7O6R/k8U5ypnjOdOs7thFQMDCm3drnGXf6AJVkBQMwgOjTZQDRt zfBvirvZihfwhbGICBkgy0eafPLM5avxTXyws//sE/MFCGgdJFd0LOfd3pSzg3mMOX2DI2l45vPSZk3/0Mn7 t2v t449dX5q/WP84rjs/8C/ hYHmGWhT9KWCJ7SIN71Qp/qK85qfzHCqLApKz5HSRXdCPn2JvjW itmPHV/TpnuNkn3rk9djn26bLW2X5q8lX9FX1lMYgIEKGUD0VRgUiveDF 8wx2KwhoHSRXeCKLICZ1UOi9mPHV/jU/caJfvWJ4i 8eMks//jM32se6vyhjuH2WZthYFFBhB9ALIICEmYhRgGKmGgctFnxc1qX mKiK3Z8ay5XtD/6hn cfVbwjYWIov9XM7mVKa6nvoABGKiIAURfRcFgYaqkuIYJknSND CD6dLlUFB2IvkW9Nx7kTh/rHzUQDMCALgNW9MUz8r5nuHFf/ 2diou420G2dSHFv/gXBh5fe6KZhqNFdySfcqdvfp4i uLkRvmr8Q8x9En3DzH4F//CgCgDJhObeqq2H7fGQ/QBvSj0Llxszxeq KYy33CnTzcPRETtlvmA6IuXGIi yvINdYduvsG/ LcAAzHRd7uch t9Pl9Pjt8uthsQrgAAIABJREFUnzE8X4fHZffhen7mMrsveN60 DXd9RfQVAMMNANssxjBQAQOIvs8FRiMnKog /59sWHpf/RwrzZ9GzLGpO6fwL/6FgaoYmBd9t EyxmpO9C0dfwi9y20YBiPwxg2zeRqemy FF9pn 2TXQEQfk6aqSWPB5LUCIdTT3ChddEdEEY93vs8H 42dsTt99ryqc0pp/nqa64yVNR8GYECBASuwXipssmHE25zoMyfOH7d3AO/X83C2twodAfhoZv56d 17E33/7q//fkj5zzwuknIe56T5Ez/hJxgox4DJZ5o/sXwZe/xOQvQt8TW2b4Sn4u9S 2uOGTFnrrOib86GPW/ueA37Nf1ubS N056j brUPsfK5T58j 9hQI4BI7DCP/Oi7HH zPH7dTg/H Wc3MlzRZ85x4hY/9bfsyOLos89yPb7X5fxCT6BgQMysIPoW Rm4U7fZsFnFoMF 4v9UvhrqFR7RsxN/pvpqzlHqs1q7EjHU9qeHwtt 357vD8e88SUmFbOgNFYZo0I/8yIutfJgeOO4DOnLd/p846/7D76ZNeutzt99gCvBywUKp8wMAdzxRhA9DVdUCwJY0RfQl7RFm Xa9lnbmp6/xfI 3MCNIANGZxmWwz qDOf47sM5qN6jx/vuCf4xnOcu3uTu35PC2bf6/HP5z7z4s4vRJ9gwF3Hsp1QaOD7yWSEmYLMIPqaZhHRt3HuaIsy BfvuXV5y58b4sxY3nf/gvw7 rcBy9NZz035Ry6Ofj6cwXdH3ftzc1XPj hBzRhg x/p85HNynv1GT68Drh1EH8luApYLB9t1JBLisEMcEH1N5wFE38Y5 oiDKJnlLyL4r9PztSXus603PZ2K5cT7DfxH 50Wfp8J2fuvOJ0Qfk6PI5HAhZJsEX5wBRF/TecAXAP774nxJrzNCIurlF2l7/ng32PdjOff NRa/bd43PbeJK/VBKwwg ki2JFsYgIEWGED0NcvpKALM5yhmODPHWykakvu5QUQF25C258c i0/6csFvaHxyX3w/eH28uEFNiWgkDVvTVnIu401cJLDVDQt8OWDTC/XShRPRN/dEQH4g gfyUKcqy14RE 0uibulYdn8a4puxCfBNvJvN7y3xj hjojHRYAAGWmCgUtG39Fm1rMUwsejOsllBXI0QsH12feULBHvO YV6l4yltz2djwb4fq5z3h4mn7y/ev Y1Mf7Mcfiibl8g khcJC4YgIEWGED0NcepK/hMMWRFn79/POaIw0MUTgsiatX4jD3tXycP5Ag7/9xV43Pa5vq6C2fiQ3xaZQDRR6JtrpBqdbLRbxaKTQwg prKVUFhZ4XfjMALXbOJmZLrm7Toyx3LivZ98Zbzvtk45fqV85v KQ3BJ3eEygOgjgZHAYAAGWmAA0dcEp1YouAut3R7v9M0Ivtc5k eP2vOpfV4gu0TE927fxMK8h 7x3O2QPfaF/Yxf8AsMlGcA0ddCsUcfg4s1CaR8AiEGO8YA0Vd9HpgTFnaejKI iIZ/H7Fh7Vb9WIPpyRVzK VX7PIEt r9jziYe1efs3uYDoo9JyaSEARhogQFEX/WcLom1UVAs/LMNfvGxZMs/t8r3BxN9Vfq4hbxFH6vPW7Ddzx8CEH0kJBISDMBACwwg qrnNCTURrH3fLTQfpFLapEVspd6bfHzDiD6ivuwhbxEH6vPS3D cj6iLxRrRR8IiYcEADLTAQIWiL1fELC5IpUWCAAO SPPfm/Hn ixkY9GPAuMQsV86nma /LHtPxE/1BIP sE6BwPdM4DoYxJ0PwlY2PkrWBMMIPqqz1WuQHO3Xb4QfTvlGwH R54pGN4Zs7xRD6rPqcx5zoa25gOgjqZBUYAAGWmAA0Vc1p77I8 9/b4gjRt1ORJCz6EIA7xa2FXEwfq87FNtfy j5nEX1MXiYvDMBACwyYx W0f5f8EHhcL1fALC7CAfuL5y/1dedjvsDz37vjyPXZki3XbnXbpeP5bN8Va3bb9ZXdt bVtcP2e4GJT/AJDNTFAKJv5 KACVDXBCAexOOwDEgX3QF7uQJm0dcB 4vnV5K7Q2Jhqd 5PjP2l xVe6ySeObEJ3Ru6r5q41DJPME/jc5j Gkz/87EDdE34xgSFAkKBmCgaQaki 6AvVwBs jPgP3F8xvN3bk Q/Rty0Nzoi3G1tx1Kftjtjm Lab4D//BwDoGEH2NFg4Avw54/IbfumFAWkQF7OUKmEXfB wvnt9o7s71GaJve84KCbUctkLXp 7LaYdzt8caH JDGJhnANHXaOEA1PNQ4xt8AwPPT/9J5jdPlOWKl2hMPPvR8yXHtrOtHN8h rbns5BAW8tXyFbqvrVtct12BvAhPoSBk9F81T u vHxMXz59mP4 v3n8Muvv5v Ai8 gAEYgIFFBqRFlGcvR7gs9tPmc89 0jX22sZec3yXKijsedX4raJ4Wt/4r1t95dvLeb 1ba4n/8MADOQygOhrrFjIDTDnkxRgoFMGpItuz16OcEli0LOfdE2j TvVd1ZEpPrCnJ96rvp5lcXT tJ9lfSBazd3W7If2KpoDjSan2DouAzFRN/ldh u5/nxT45fbuOdw/F/9 twHnk/D9f7c/fivvk2uNNH4qinkCEWxKIVBqSLbs9eqnBJLiA8 8nXtRIPp58pvjPCwfjAvqb4I fcFHubzqksniEhtml8TjxdO6F2cva5ttieLwzxDb6BgXwG5kXf ZXhIuDnRt3T8IfRul9NwMkLwdhnXrsfmzL6Z/GliiuhbcA7Q50OPz/BZFwxIF92evRThkuVnz37WtY3lyJjvXPHmbsd8knNuzNbm45XF c054bR7nAntzbabu1 wbtlkHYaA/BuZFn/GFEW9zom/5uL0DeL7eh/v1/Lg58BSAoX1L7CH6FhaVJcdxrL8JTcyJ YsB6aLb2HN X8LF2eceX7XdSa57 S4wXl 4 e9f8U24dulc9WOGi0AfS 4Lia29 hNqO3XfXn2knfqYJSbERJKB54OX48u73ZWi73wd7s9HOV9390z uf4q 0L73tj/jjOirbOFcChbHPsHFF/jiyAwsCZcjj1tibHO Cwm80L65PuScO2fjyPtDIqvEeEP9SN1Xor 0yVoGA8dgQPxOnyP4DCOhu3qhfUs8IfoQfdX9xXgJWI4dIzkSx/k4zokWfDbvM983vg/nBNvcft eeZ9zbuj6HvaFxFXJcYf6k7qvZL9pO32u4yt8VQsDeaLPfI7vN lxeGsS7E gJvnGMz7t7Zvt1hy 072XznQ1E34JzagGJfryDi0/wyVEZ8AXLUcepOS7Xh3NibW7/XL9yz5 zc T9IUFVy3hDfUvdV8sY6AfrHgzUy8C86LNf1DI TmMX8pyckXf 3FzB8/9eXyW7/GlLuN vr2zXhCYpMQGBmAglQFXsKRew3lTvqwPl4Ta0rGQP3PPD9k4 r45EVXbuOf6mbK/trHQn ncxx/4oxQDRoyVaju1Xe70caevekhTYeY8kv0RGLCC5QhjKTWG0YcL/67eGgG35ppS4y/Zbkg4lexPrO1Qf1P3xWxznDUJBvphANGHoEJQwQAMwEAWA4i 7UXCWLTPcGeOrSnE1l63pq2WrwkJplbGE p76r5Wxkg/181//IbfYgwg mYW3ZjjOM7kggEY6JUBRN829sci3XzxSmD9McfWcLX2ujVttX7 NnEhqaVxzY0jd39JY6eu6nIDf8JvPAKIvsOj6TuI9EwcGYAAGP hlA9H36Yg0XY2EeEH1m/1p7a67r ZqQOGrVH6Gx5Oxrddz0e12 wG/9 g3Rh hbVWSQNPpNGsS 79gj LbF3wq7UFG Zm5Ze2uu7fkaKf/X5sPQuFL31TYW rMt1 A//OczgOhD9CH6YAAGYCCZAUTf kLCFWhjIR642 cv0kvvXXtL53HsPWZzQuhIvpobY8r I/mBsbzzj0/69Amij2IvudgjSfSZJIg7cXcZQPSt58EVaWPhvUH0ubbc LCdHp Q Dmq/0JjTd13VJ8wrvS5gq O4StEH6IP0QcDMAADyQwg tYv/q5QGwvulaLPtUMxti0evvDpwZ/ mHPe9 Afxrh TuG7un2H6KPYSy72mMx1T2biQ3z2YADRt56zt J6hegzNvaIcw9tvMXjj9PQm3/nfJCyvwdGGCP55kgMIPoQfRQQMAADMJDMAKJPrgjK9WVvgmSPY iskbvZot8Y2Qr5I3VfjeOiTXK7Cl8fwJaKPYi 52GPSH2PSE0fiuIWBXKGypa2jX5vjSwSfzrwNiZqjcxcbX8gnO fti9jmuwzJ xa8xBhB9iD5EHwzAAAwkMZAjUmKLD8cfBUqKTxF8usVcSNDA55 PP5yOvIR l7MOPuuziX/ybwwCij2IvqdjLgYpzSUIwcEwGUgQKsc LfYpPEX15Ps1lMCRecm30cH7IT6n7evAPY9Sdp/h3u38RfYg RB8MwAAMJDGQIlBYmPMW5hSfIvryfJrLYEi45Nro7fyQz1L39e Yrxqs7f/Fvun8RfRR7ScUekyp9UuErfHVUBlIEylHHrjWuFJ8i vRziitYtGJ9VLuu73K3j oTxqU/Z/Fxvo8RfYg RB8MwAAMJDGQIlBYiNMWYr84dv3mHzPv3eNs449aGQixm7qv1j HRL bbURhA9FHsUUzAAAzAQBIDiD6Z4scVcaNPHVHnHjtKocE4ZLhp zY pYi90Xmtjpb99Mt5a3BF9FHtJxV5rYNNfEjAMyDKA4JPxZ0jUj UWv YfaHfEHvzL xo91 DEk7FL3EcM6Ykgc2o8Dog/Rh iDARiAgSgDiL7tC/6cqLPFL0XVdh/jw/p9aHlf80p8648vMao3Rog ir1osccErncCExtisxcDiL5trM0JPhO/sfhlLWIt6oyBNaLPvWav3Ec723If/qvHf4i zpIsk6 eyUcsiEVLDCD61vMaFXzmH8BmLUL0dcyAK bWbLeUS nr lyK77b5DtHXcZJl8mybPPgP//XEAKJvHe8xwWcYGotc1iJEHwyMDKwRffaannIyY12Xk3v2G6KP JMtCCwMwAANRBhB9 QWGL/hsYWpfbfExvofBKIPWX7zms9iqz xcWfPa6pjpdz987x1rRB8LLQstDMAADEQZQPTlFyKmULWLurtt 99nXsaCFwZevrF94/eQHXzzviJtHoVf8h/9gCQZORvNVn2c/Pj6GL99 DF //xx fV301/gxQcwAAMwsBcDCL51rLnF6VKsrOgzfl46j2P4BwYeDLhzK3cbH zKPemUA0cciS5EBAzAAA4sMIPrWFUmmGE0pLhB9aX5K8SXn9Of LXNHnng8v/fHSc8wRfRR7SUVJz5OEsbMo9M4Aok93DiD6dP3b /ztafyuoMvd7slPjLXPnIPoQ/Qh mAABmBgkQFEn26BgOjT9e8eBW5IYOzRLm3MsxOKSeo /DrvV3zTrm8QfRR7i8Uek7vdyU3siJ0UA4g XZYQfbr lZoHxk6qaLDnSbaNrXWc2FisfcXv6/yO3 rzG6IP0YfogwEYgIFFBhB9uov3WIwaQQGHixzuWUSuFQj dXv2mbbi89SPT 57fBz3MT6q10eIPhbZahZZEkW9iYLY9B0bRJ9u/MfCE9FXZC3KLfpzzyd36s6dLf7NjaV7/pZ2ubZeJo4eG0Qfoq/IQnv0icX4SOpHYQDBp8 yKSYNL/haz9duwb7n9lHywNHHsYWJo/uG8enlpb19i hD9CH6YAAGYGCWAYSI/oKP6JPz8ZbiXePavYs62tvO0hoO8Pt2v8d8ePvjNNz ot9OrB8tH0f0UezNFnstg03fSYwwIMMAok/Gj0s8xorMpWt7PRbzmebxOZ H2pw7l/3680rCx6GYhvaNbf3lNFz/1Ma4JHyzq42/PL5E6f7XDP8Sj7f6HtGH6HuDYteJjP/xPwxUzQCiL6PIWMmyKSJN3g352h7rNS HCuy99uX6PNSvXBucrz/f1vo4FF 7z9i8/MPz213/QWEMfzoNt4DgMXe/Livzzlo/pF539fp7kb5L95fTsCQCVeNRqc9jsUH0NRq4WGA5rpB0YaVqcQ LzOsyHhAi lvW1KRyNT0O tseO7nNbPJd4lfJtqO9StrEjO e2 tONtbVlBJjZr/EI4ihgfjsNZ6cOeYmaPyq8w/in03B/ mMUpeZO3QYxbMbq /X816fI9vyyRzxsG629IvqcCdRa8OhvXYsA8SAeR2QgJESOOM69 x QWjWbbtB/ytT22d/ 02vPHved7rTFZu3uOhbaeBf9TWKz1h42dyOvzEcScO2/X3xIF21NEvdn27nYl29OufZ sEJvFGgz4sz3vRF4/mOyVuD6d/ZGoT0nJjXjoe0/Jfsx0Xe53Yfreb6WCx2f7rsMN9OI blfH3 kOF H 3PXY/d58QbCx8fH8OXbj Hr95/DL7/ bs6d7xDH8A0MwAAMyDEQEiL4d5t/TYHq tC D/naHnPPb2F7bREucV0p/0j0HRsyYi7Hj5K85D5umXN3MMV2jj3JcYdsTQRoqgCzYvGP6aO br7t63v6YT2LH/X7X5D /bxLvjegK27FibU70hY6/77vcjNZ7iLrz9f7YNqLvdplpd7oWmr4h hC5ybCEYX6HivPwCQzEGQiJEPwW91vMR6Ygdc9x3/s d4 519SynVNcS59biw9sP6THh719BKCNn8TrS g4jzdO7k55n82zIsPE2r 75fcnKGA22PPtu /dfvmPVbrnLW1PHsl8 iM2xtGeOTdwV9D41s6JsU8z57l90oyH204r2/Oiz6xJ5 F6nxN9c8en17ii72TeGLGH6Jsu K3AQj JGwz0xYAvQIj/9vibosX3o7vP97l7zL9uz/e22Crxuuc4t7RVwje0 SkE1vpiS8z9a43IuNkvdHEePbWPZY6PKT4FzXj3yjzKaMVMQOi 49kOib4s91/a4/afTcP3LaXDvqlmf2v6/XbNwU8LYcQWv6X S6PNs l8IY/tnvhjGtR/qm2Y8Qu3Vvs95yvJtHZIQfaPAcxuxou 17xb94iHu9HkToHao6N97UYdP8EmLDPgCpMUx1NRnU0D5/fH3 T73j/vXS7 3RV6JV mxlLBXwm 0uU34SXJiBdxL3PiPNT7veBkRZc415413xIxAinwJTEj0nTbYe xu36etvp FivyDFilZfjAb KYTrPzy ZObmnmvsOZ 3M/1fums4udbWvc8 uV9gY/o9it2Eby7VjMeb/2yfK37VvtPn uT1eKfjj9A 9xqzjehzHOY7h/fvRRQ wScwIMOAL0Dw6za/muLc96G/z/e5f9y/fu37kkJhbZ 57p0ffJLnkxD3Uj60AmNyV8wXfU xZ0Wf7c8oEj2R5PdrTjSZdtfY8 2/7qCZmvMpJk3/fKFm2pvsM cacecI0NG2ee IwLfrnNrWiLiXUHb2T/rk7Leib9IP57hpXzsevv9aeJ8n sxn9tw7c9NHOR/jDe0zc9Jc /6o6OTxTy9e1n IvhnHWAfxmpf08Rf goE0BnwBgt/S/DbnJ1NAucf89 aY7/PQOa6N2La5vtR/sb5xfMoD/tD3R2guSPg9ZHfVPufOmN8vK2Ky7C7Y8 2b96vaiOQYK4KN7ZCwG8XiQj/9O5xG8JnHOkfhF7jOCsUsP82NIWA/5LdW9s2LPvulLI/nMG8XMxdd0Td3/HG f94jfNNnQ8bp8Hc3Xv92G/0XNA1iL4F57QCGv3UX8zwMT6WZsAXINL2e7NnihA7Znfb7jOvv s9DhYt7vt0OnbfXPtsHXj/jiy/q9EVoTkjEKmQ3ZZ 5U2XvWpnzl 5cnZ53DZfsZtnza8s/Tf9A5Nuy7RrhZoSYfW8f4XTH8TrmPIJpPusY9HXks3nGrhWOvg 9Cn nbIvr8MS/Gw/dfA N ArGoKK I/oqCkbtsNC/maQKQ9UnuhrZ9QVIjX1sqU mELL9dbftPvPq 9w/zy2m9t52 8n2ZyzxRTu CM2ZHuPn3z173eFzHsfcyy9WpIUElj0WFH1zIpJ657XO DFE9AHHLBw LLxvZ2EjVsRqKwO Nhqj sffxm3fvDFnN1vXl3fu eFClaNfW5f2CaXHImB0HzZa3yzjzcWqkMnd ued 6Cj19q98/5/GAoPvZOonScaouH9PhC9hB92jBjH1EJAzDQIAOu8AgtHuzLFwN QTPnQ9f35hpznn txPu59tmfH1t81obPQvNmj9jZO1am/dAdrT36EGrDfSTzdTetxHo1I/y0fFVrPEIxktyH6CsBN20iAmAABipnwBUekosOtuLFsV YGp/5 yTeE4t4LPDRsXwUmje7xTjy7Zy79aPytWc3P3QYD0Qf8FN8wwA MwMAbA4i csXuWJg mTTbpggKFata 3Yruph3b/MO3 vOu9Ccwee6Pse/9fgX0ceiw6IDAzAAA28MIPrKLdRjYfpk0my7RVOoaN1rn9sPtq dxwR9t CM0V4hdG7EjTtvjhOij2JsUFEyq7ZMKH LDIzCA6NuX41AxavfN8WSO22P23BKvtg 8fsYDX9Tpi9D8IFZ1xoq4yMcF0YfoexUNTDD5CYZP8WmrDCD69 mXXCrixKH1 g2eMHXvN0nmhInevfUv94ti fOHvh79D7OMbWOyFAUQfog/RBwMwAAMTBhB8 xdBthi1xUdKDMw19vzcV9teidfcvnL jjju6nvQrzjo6mP8Mdx/YHoo9hbXTSQGI6bGIht37FNERwwIsuIL BSYuBfIxGTUFG81z6J/pe2sZevaEfuy41KM0P7srkUf877E9GH6EP0wQAMwMCEgRTBwcI 6v7BK CYlBqbwl2grxUZJkZHSvxrOKekj2l4vAmtghz7sl8t69jWij2J vt6Kh54nG2EnoLTGQIjhaGk LfU2JwZ6ib86HJcXGXJ9K7S/pC9pG9JXinnbbqW8QfYg RB8MwAAMTBhIERws9LoLfUoMahB9cxyUFCFzfdLeX3LMtI3o0 Yb 7o5fw//Ivoo9ibF3h7Q0Ub7iYMYHjuGKYIDBnQZSIlBzaJvjo S4mSuT1L7S46NtteJPqnYY0c3H JfGf8i hB9iD4YgAEYmDCQIjhYhGUW4Tk/psSgRdE3O94/1hXtEmJnrk 5 0N9ybXB brzCv/i354ZQPRR7E2KvZ4nA2NnMYCB05AiNvDTPnMlFosjib45pkJCa q99c32a2x/q19y57N9nDuFn/AwDnwwg hB9iD4YgAEYeDEQExosoJ8LqLYvYrHoQfTN TgksPbal9OnuXPZv988wtf4GgYeDCD6KPZexR6TgsQIAzAQExo wsh8jS7HoWfAtMbiX8EttZ6mvHNtvLuFrfA0DJ6P5qq/5Pz4 hi/ffgxfv/8cfvn1d9Nf4MUHMAADMKDBwJLQ0GgPm/McL8UC0TfvtxBTqSJN rxQX9iXFzv8hb9gQIYBRB8CsnrVz2SXmez4ET mMLAkNFKu5xw5zuZigeAT9LHyF8gwH RihS/xJQxsYwDRh hD9MEADMDAi4E5ocFiu22xzfGff7fJvRbBt08c/Bisfe/Gju19Yoef8TMMhBlA9FHsvYo9Jkl4kuAX/NITA4i 8rxbYTfG4o9pf yxnpisaay54q mvtOX6VzCH/ijNwYQfYg RB8MwAAMjAwg OooglxhN4oMh0/3WG8FS83jDYnBmvtL3 qY68SBOOzJAKLPWUz3dDxtMdFhAAZqYwDRVweTrrBD9NURk9rm Kv2BCxiAgVwGEH2IPu7ywAAMwAB3 goz4N8psou5K/pcMWiP80rhBwMwAAMwkMIAoq/wQp8SJM5hMsMADOzBAHf6ynE2J gQfeVissecow3iCwMwsBcDiD5EH3d5YAAGYIA7fYUZiIm ueN7FQu0Q2EKAzAAA20zgOgrvNAzgdqeQMSP B2JAe70lePZFXXj3T3v3487EmeMpRxn B7fw0C/DCD6EH3c5YEBGIAB7vQVZsAXfbYwGwVg4b7ZvvDab7FI7Ik9DL TPAKKPxZSCHwZgAAYG7vKVXdBjos/Eh6ILH8AADMAADKxlANHHQkohAQMwAAOIvsIM I902kXd3ulD9FHoWSZ4hQUYgIE1DCD6Ci/0a4LGNUx2GIABaQa401cnU4i OuMiPf wR5xhAAa0GUD0Ifq4ywMDMAAD3OmrlAFEH4WgdiGIfRiDgT4YQ PRVutAzAfuYgMSZONfCAHf66mQR0VdnXGqZt/QDPmAABlIZQPQh rjLAwMwAAPc6auUAUQfBV1qQcd5sAIDMLDEAKKv0oV KWgcY1LDAAxIM8CdvnqZIjb1xkZ6HmKPWMMADGgxgOhD9HGXBw ZgoHMGEBX1FxnEqP4YaRVq2CX2MAADEgwg jov9iQgwgbJCAbaZgBBUX/8iFH9MSIPEiMYgIGaGUD0Ifq4ywMDMNA5AwiK gsVYlR/jGou9ugb/MAADCD6Oi/2SAIkARiAAQRF/QwQo/pjRC4lRjAAAzUz0KToM53mBw/gATyAB/AAHsADeAAP4AE8gAfSPFCzKDV9 /j4GL58 zF8/f5z OXX382TaG38JcG4v5W avST8RN/Da5asQn/8N8Kqxr97J1/DZ9is43ajzgRJxhYzwCirxGR60Pe 6LP Cn6/TnR03v4h/ eeGes64s8fIfvYAAGLAOIPkRfk3dMKXopem0S6/EV/uG/R 4ZM8UrDMAADKxnoFnRR9DXBx3f4TsYgAEYgAEYgAEYgAEY6IcB RF jd/qYpP1MUmJNrGEABmAABmAABmAABrYwsFL0nYfr3TxgNAzD/TqcR F0GW7PXZ/73OCErgntc6 Z2b68WnLaf5x7ud2H6zlw3fk62C4/unkbLhsFX6it0L5HgEJjDe0L9N3vZ43jX hTF P3 Lpfz95js6FYh/a1Gf/zKyE8k8Dt0tX4T6c68t841xwWb5cEnvz8Mr6jk001AAAFUElEQ VR/Z3PXGAf79BxLLNcojX/XGBcf/8PXofUstE88xy Nn2Nebl07x7nuwS1 wA/9MLBO9JlF91nUPTZPg3m1ha4pDuz2C6bANafQvsyEbtv/XJAXRN9LoJ6Gse1hrfCzBZ7bVmifA1JorKF9zY7/c6yfMfncF4z1kcZvCs03odPR B1ue5z/BmWb8/Yb/0OYzQk704 5Y6 87MRtsi8yN/cbozOH3vq67/jLxLjQ F9/xCi/xk24fGNgyT8cw3cwAAMw4DLwJvqGlxCyIsa9m/dw3mTBfxYH7oL4WeAbGw9hFbomtM/tXHzbLPruouS/d4JtinJX9J1Ow2f7j JhegdwfvyPfoXa8vf1Nn7jb9cHHY0/KPo6Gv rGPsc8 MPMX3M/zL5z/yxzc1/Tr575rdR9Dl3vl75/XIb7nf77MP7H78 c PzD2STP2jsGePpmPw1Yc/xl4qxP2b3vdb461njluPv oJtfAUDMAADywy8ib7Ts3h9aLnwxZNjjzfDeJ19vNO8jkXCZ3E Quia0LzlgtpCZFCOu4PD6bs73RJ8Vp5N JIz/0cdQW/6 zsb/FpOOxm/HPs4BW0R3NP6n6JuIhfFuwcMXkzn2eDM HfC6E/Xc1 z8n8R/h/xn/G3a9HPaS3w//qj18q8Tn3Gf4 9pzB55MxQvG5vp YqMO2OxbU9e9x5/iRgv UBx/A8/ uZYcPfVzD S77hGI AwgAMwMAbA2 ib6xZ79fhGvkLsn2UyQondzGeFgWPImKy71lwhPa5dlK2JzbeF iRH AUWSHut6c7kJzL 9AXxs33b1njtYccfiPVz0jF 55Hnw8b/swD05y7xF45/IJ FfP5 p8/8Pe5x987N4a/thfn6sL9/jP1xje LjX//HFdi/I82fYFnxh7aF/CJYI4Ljp9i7q2Yw08PDvEDfoCBeQbeRJ911iNnz1z4TOjm3Pfz TFFgHzlyCoTQNaF9mcncmPgsWOYXpLe/ipsLn4 eProxHWton/XN4zXUlr vt/E/fPgZE8ZvH292/zjyYuuxMS7er30N8z8RduM4eoy/GbNy/ksQPG5udh8BNDFKEX1BXiePxNt8qR/jad6N3 G059s5JTn h 0dYryUB/aI/9i v56ZmPv7CsR/yTccQwzCAAzAwCwDb6JvvOP1ejTzef/r7REik/i9Y2Yheu4ai4rR6c6CMC4W3jXBfbaYmH81hcvr59U309bnz2cf nnac/j3Oso/g2YXs89rPR1Of 15t2D6F2prbZ9sJ OxA45 PCeN/fEvssePvfn7PFt3TfQcfv5NfPnPPDvlv/Mi1 02xTh6yecuoH cnSfQFc5M7HjcXys/xT4ZsO5 vk1yz5/h3jHH58TscjU8rG//P7ds3/ku 4djnPMEX AIGYMBn4E30 SfwHmhgAAZgAAZgAAZgAAZgAAZgoF0GEH3cBp69DczEbndiEzt iBwMwAAMwAAMwAAMwYBlA9CH6EH0wAAMwAAMwAAMwAAMwAAMHZ gDRd DgWmXPK3/lgQEYgAEYgAEYgAEYgIF GUD0Ifr4qw4MwAAMwAAMwAAMwAAMwMCBGUD0HTi4/DWn37/mEHtiDwMwAAMwAAMwAAMwYBlA9CH6 KsODMAADMAADMAADMAADMDAgRlA9B04uFbZ88pfeWAABmAABmA ABmAABmCgXwbeRN// j//b5j778u3HwP/4QMYgAEYgIGWGfjzn/88 P 1PB76znyEARiAARhIYcBd 05zgs/s//r9J//hAxiAARiAgaYZMIue 2Pes76xvsMADMAADBydAXf9 /8DsLveFHyzpQAAAABJRU5ErkJggg==
فما هو الكود المناسب لضبطه حسب ما اريد
وبارك الله فيك

bahoma31
16-07-2020, 08:09 PM
https://www.fxprg.com/vb/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA30AAAHcCAYAAAB iVcPbAAAgAElEQVR4Ae2dT7LjuLKftRAPvYY70D7uAu5EW/AW7lBTr6Fe NW7disq/MrP7sGbVPhW2z1zaOAIn7EjHL0BOkAJOiAEEgCZSQDEd050i KfBJD5IZG/Q0p1Op1OA//hAxiAARiAARiAARiAARiAARiIMzAMQ/X66ePjY/jX3/73678TgY0HFh/hIxiAARiAARiAARiAARiAAcMAoo 7htWrfpIVyQoGYAAGYAAGYAAGYAAG1jOA6EP0IfpgAAZgAAZgA AZgAAZgAAYOzACi78DB5a8h6/8agu/wHQzAAAzAAAzAAAzAwFEYQPQh virDgzAAAzAAAzAAAzAAAzAwIEZiIm y 0 XM/zIn9y/HIz5h4/9 twdv12vg734TZcxn3n4XqfOc 95rnNF7kEnHKUvzowjvnJhW/wDQzAAAzAAAzAAAzAgAQDRnqF7VyGh4SbE31Lxx i7naxMTLn3of7/Sn6jDi8XcZ2H5v2vPArog/RNwNpGJgw0JyLX2AABmAABmAABmAABvpkYF70GX8Y8TYn paPf94BtDbM60P0na/34X49P p4RwDOMYjoQ/Qh mAABmAABmAABmAABmAABlYy8HzIcnx5F11WsM0J4pnj5lHO5 Odn3fyPkXf577TcEoUfV/Rj w3/ 78M//ZffTKznOsR fAMDMAADMAADMAADMAADMAADLgPid/ocwfe4U jKymEY7tfhsuJOH6IPoctfdmAABmAABmAABmAABmAABlYwkCf6 zGfz7JexGPHs3embCD5fXH/e6XPv7k3u s303zzeieibcY6r4Nn2oeM9TMAADMAADMAADMAADMDAvOizX9T yuFP3 FIWV/S9Hzef1XN/Xp/bG/WKI/pGsfg80/ Wz4C2QfQFnMLkZfLCAAzAAAzAAAzAAAzAAAykMGCkV8p5Jc9B9 CH6qoe05AShbZI9DMAADMAADMAADMDAEgOIPgQVggoGYAAGYAA GYAAGYAAGYODADCD6DhzcJbXPMf4aBAMwAAMwAAMwAAMwAAN9M IDoQ/TxVx0YgAEYgAEYgAEYgAEYgIEDM9CU6Ptn/p0 JmNLk3Eo/Jej0u23FCv6Sm6BARiAARiAARg4MAOIvgMHl9v1nYsuRB LF/kNBmAABmAABmAABk4no/mq98Pr2zu501dYxJA08iZLadFVun14yeMFf EvGIABGIABGIABJQYQfUqO5S4bAvVUWnSVbp 5xcIFAzAAAzAAAzAAA1UwgOgDxCpAPKRILi26SrfP3GJuwQAMw AAMwAAMwEAVDCD6ALEKEBF9CndGEX2wTX6DARiAARiAARiAAT7 Tp1BoM7GYWJaB0qKrdPvWD7wyJ2AABmAABmAABmCgKAPN3en7l 9 MvxBr KABBkqLrtLtM0 LJndyRAM5gjnCHIEBGIABGNiJAUTfTo6mAOuwACstukq3z9xiI YMBGIABGIABGICBKhhoS/T9ffgn7vR1KJ5qSRZGRGn/So4V0VdFkuUPPuQsGIABGIABGICB0gwg iSLbGwdu8jWFlHS9qXtwfex Sa xBcGYAAGYAAGDssAog 4Dwu3 F9UtEWUtH1pe8wV5goMwAAMwAAMwAAMNMkAog9wmwRXXNClcKA toqTtS9tL8RHnMJ9gAAZgAAZgAAZgoDoGEH1AWR2URQRdCgfaI kravrS9FB9xDvMJBmAABmAABmAABqpjoDXR9ze yIUPwhYThdoiStq tD0SeHUJvNhcgAVYgAEYgAEYgIGmGED0AWxTwBYtcrVFlLR9aX vMFeYKDMAADMAADMAADDTJAKIPcJsEt4j40xZR0val7TFXmCsw AAMwAAMwAAMw0CQDiD7AbRJcRF/CY76IPtgmv8EADMAADMAADMDA6WQ0X/VPj4GL58 zH84z//feAzfUzccsBqi6iYfXNc xe yvGF7/E9DMAADMAADMCAEgOIPiXHFrkTxVh0E0VMlG31f8z 8PgrzfinGoX/jYJy6xi4XpdB/It/YQAGYAAGYAAGVjCA6FvhNARdwqOFR/RrTJRtHXPMPqKPJL VMa6HIRiAARiAARjokgFEH B3Cf4q4R4TZVtZitlH9MHqVsa4HoZgAAZgAAZgoEsGEH2A3yX4 iL7350N5vLPTO9jkQHIgDMAADMAADByeAUQfkB8e8lUCL8RF7E 5c6JqcfTH73OmD1RyeOBdeYAAGYAAGYAAGngwg pgMTIZUBmKiLNXO3Hkx 4g WJ1jh/2wAQMwAAMwAAMwsMAAom/BOWJ3iGjjGJMwJsq2xjlmH9F3DI62csL1cAADMAADMAADMJDJQ Hui73 YGPPZG3xQgIGYKNvKZcw oo8Ev5UxrochGIABGIABGOiSAUQf4HcJ/irRHBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwYQfYDfJfiIPjP 1pz98e2eBu8fkH/IPDMAADMAADMDADgyYqm9V/btD32y/Pj4 hi/ffgz/ P3vw9/ hcc7qw YDdzhXmN34rZOiph97vTB/lbGuB6GYAAGYAAGYKBLBhB9gN8l KsEaUyUbWUpZh/RB6tbGeN6GIIBGIABGICBLhlA9AF l Aj qaPdo6JICY6mSvMFRiAARiAARiAARhokgFEH A2Ce4q0bY11tqiKGafO32wupVhrochGIABGIABGOiSAUQf4HcJ/irRGBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwZiou9yuw/X8/yX2k2OX27G3OPnfh3OhqnQvvN1uNvzhmG4X8 LvueLXJici4CsEnBrfBoTZWtsutfE7CP66uDAjRnbxAQGYAAGY AAGYKABBoz2CtfMl Eh4eZE39Lx83C9D8PtMhWLRv N 4zou11m2p1eY/qG6GsApDBE78Fs ryYKNsap5h9RF9y0mias60ccT2cwAAMwAAMwAAMeAzMiz5Trxv xNif6lo9P7gCObTq2toi /8o/2QDEHsS7FfgxUba1XzH7iD7Y38oY18MQDMAADMAADHTJgPOUZW D8jlAL8jFz3Ig6 3inuc4 zmnv7tn3Y O34RK0/XmTaHKnD9H36ZjdxE4kQN30IybKtvopZh/RF0hSzIdu5t/W cX1zB8YgAEYgIGOGRC/0 cLPse35 v97fN7oX1 DYPoc5zoO4f3Oxb9MVG2NU4x 4g FqutjHE9DMEADMAADMBAlwzkiT7zOT73zpx3p29B8BltYj7T53 9pS2ifr2MQfUzOOiZnTJRtjVPMPqKvDg62xpnriSMMwAAMwAAM wMDODMyLPvtFLeMzmM8vZXFF3/txc9fO/TECb7Lv chnaJ8v9Nz3iL6doXCdz7ZzJzEmyrbGKWYf0ccCsZUxrochGIA BGIABGOiSgXnR59S6hdlA9BUOAMLvORliomxrnGL2EX1dJmnmX z2LEbEgFjAAAzAAA60y0Jbo zn8jS9yYbIVm2wxUYboQ5RtZYDrYQgGYAAGYAAGYECBgdZE339 E9CH6EH3uU9Ry2ydtUauQwIqxwFhYkGEABmAABmAABhpiANHXU LAocAsLXm1RFLPP450sLuQrGIABGIABGIABGFjBAKJvhdMQX4X FV6mYxUTZ1n7F7CP6SPJbGeN6GIIBGIABGICBLhlA9AF l CvEu4xUbaVpZh9RB sbmWM62EIBmAABmAABrpkoCXR9/X7z4HP9DFRy03UmCjbGpuYfURfudhvjS3XEzsYgAEYgAEYgIGC DCD6Cjp/1d0m lsuYcRE2dbYxOwj srFfmtsuZ7YwQAMwAAMwAAMFGQA0VfQ Yi xj4bGBNlW1mK2Uf0sVhsZYzrYQgGYAAGYAAGumQA0Qf4XYK/SnDHRNlWlmL2EX2wupUxrochGIABGIABGOiSAUQf4HcJPqLPTP 3pD/9OX2N3nsld5C4YgAEYgAEYgIFEBkzVt6r TbQvYfvj42P48u3HwBe57Oh0icAdzkbsTtzW MTsc6ev mR1OOa3Ms31MAsDMAADMAADVTCA6APEKkBsoliOibKtLMXsI/pgdStjXA9DMAADMAADMNAlA4g wO8S/FUiMybKtrIUs4/og9WtjHE9DMEADMAADMBAlwwg gC/S/ARfWbqT3/4TB f6Vs1L8ih5FAYgAEYgAEYqJ4BU/XVvs7zmT4mUh2Qxu7EbY1TzD53 urgYGucuZ44wgAMwAAMwAAM7MwAom9nh9eusOnfwt2emCjbylL MPqKPBWIrY1wPQzAAAzAAAzDQJQOIPsDvEvxV4jYmyrayFLOP6 IPVrYxxPQzBAAzAAAzAQJcMtCf6/qeJ08LdGI51CfIuTMRE2Vb2YvYRfbC9lTGuhyEYgAEYgAEY6JI BRB/gdwn KpEYE2VbWYrZR/TB6lbGuB6GYAAGYAAGYKBLBhB9gN8l Ig M/WnP3x7J08QrJoX5FByKAzAAAzAAAxUz4Cp mpf56ff3snjndUHrBqgYnfOchOUtD2//Zj91u70xcbjj5/3zG0YgAEYgAEYgAEYUGEA0QdYKmBVIfykRYe0PZ 9mH1E33FZ9VngPbGGARiAARiAARgQZADRJ jMKoQO4/lMEDERlesraXtzH7iL7P2Pq 4z2 gQEYgAEYgAEYgIFZBpoTff Nxztng4no9D6TFRNRuYlB2p7ffsw og/2fWZ4DxMwAAMwAAMwAAMJDCD6EpyEmPLEVCs i4mo3HFI2/Pbj9lH9JHUfWZ4DxMwAAMwAAMwAAMJDCD6EpyE6EP0jQzERNlW lmL2EX0k9a2McT0MwQAMwAAMwECXDCD6AP 44MdEVG7spe357cfsI/qOy6rPAu JNQzAAAzAAAzAgCADiD5BZ3JHsLI7gjERlRt7aXtzH7iD6Sv88 M72ECBmAABmAABmAggQFEX4KTEHOVibnUmMVEVKode560PWvXv sbsI/pI6pYVXmEBBmAABmAABmAggwFEX4azEH Nib YiMqNvbGn/bvUJ0RfXnKXjv9SbDiWFxv8hb9gAAZgAAZgYFcGEH0Atytwuwr n0kW/dPuIvjxWpf1PrsjzP/7CXzAAAzAAAzBQDQOtib7/xL/T19jdtpKTvXTRL90 oi8vcUr7vyTLtJ0Xe/yFv2AABmAABmBgwgCiDyAmQOx6J07b96WLfun2EX15rEr7X5tX 7OfFF3/hLxiAARiAARhIZgDRByzJsDQnCEsX/dLtI/ryWJX2P7kiz//4C3/BAAzAAAzAQDUMIPqAsRoYxUVl6aJfun1EXx6r0v4nV T5H3/hLxiAARiAARiohgFEHzBWAyOiL/J5TURfHquIvjx/kQvxFwzAAAzAAAwcloGY6Lvc7sP1PF LTo5fbsbc4 d Hc6Gm9C 03m43r3zFhj7 PgYvnz7MXz9/nPgi1wWHCUumlpvq3TRL90 oi8vEUv7v/X5QP/z MFf AsGYAAGYOBADBjpFdYKl Eh4eZE39Lxh6i7XaZi0ei/cd9jY2z3tW/Bp4i BeeEgzd1fLfnlC76pdtH9M0kqxnepf3PPMzzP/7CXzAAAzAAAzBQDQPzos/UUUa8zYm 5eOTO4BjvD9tna/34X49P3zgCMA5bYLoY8I8YDFFvPavpK lRQeiLy9xSvtfkg1s5cUSf EvGIABGIABGNjEwPMhy/HlXXR9CrX3Ywui73wd7vbxThMf8960cLuMfZ3c3UP0zdylAOx3 sLWLeGn7CvbcCSu9PQpqSe6kx5/bt9Lt5/aX89/nPD7BJzAAAzAAAzAgwoCpG8OCbkHUvXwfEIW 4HudexrsHT77OraL6EP0zQPo Ua7iJe2r2BPWui59hB9Hm9O8kpmlGsWFhT8C0cwAAMwAAMwUIq BPNFnPsd3Gy6vusYTfQuCz4zP6LvxsU5H6D02l PP450vhy87qhREu7UrLaJ8v0rbV7DnijTpbURf5/PLnw 8R8DCAAzAAAzAwGEYmBd99otaHpXl40tZXNH3ftzcwXN/jMCb7Hs98mnE4vPM1775egvRx4R7TDhpEeX7Vdq gj13gklvI/rmk9Buf9jwmeT9YRZbGGJ wQAMwAAMlGTA1I0l209pG9FH4YfoMwzwRS55yUpadDMP8/yPv/AXDMAADMAADFTDAKIPGKuBMfoXAO0iXtq gj3pu3uuPe708RfI6BwkX7aTL4kVsYIBGIABGHAYQPQ5zqDgqb zolRZRfuyl7SvYc0Wa9Dair3L fV55z2IOAzAAAzAAAzCQyACiL9FRCMIKCmJpEeXHXtq gj1poefaQ/RVwLjPJO9ZzGEABmAABmAABgQYQPQJOBFBuFOxLC2i/NhL21ew54o06W1EX4RjE0/tX59J3rPQwwAMwAAMwAAMCDCA6BNwIqIvUixL VhaRPn9kravYE9a6Ln2EH0RjqXjqc2fb5/3FA0wAAMwAAMw0C0DiD7gbwf 1opu6f7y7Z15rCr4X/UPPNL9Jbfl8YK/8BcMwAAMwMCBGWhP9P1ueIz8RZ7jx5y02kWxtH0Fe 6dOelt7vRF8op0PP08pW3fb4/3x8yTxJW4wgAMwAAMBBhA9AWcgqiMFL lfKZdFEvbV7AnLfRce4i CPfS8fTnkbZ9vz3eUxTAAAzAAAzAQDcMNCf6fuVOXzdwvolv7a JY2r6CPVekSW8j hB9b3OOYqDffEvsiT0MwAAMHIoBRB9AtwO0tIjyYy9tX8GetNB z7SH6EH2IvggDfs7gfTvrB7EiVjAAA50zgOjrHICmijxpEeXHX tq gj1XpElvI/oiBb90PLX58 3znoIHBmAABmAABrplANEH/O3A31rRLd1fvr0zj1UF/6v kUS6v S2PF7wF/6CARiAARg4MAOIvgMHV7xANUWp9u9SPLSLYmn7Cvak7 659rjTx50 8ZyxNJ85RnEFAzAAAzAAA7sxgOgDtnTYpEWM7/uY/dhx317ue237uf3xz dOXzqrxnfS8ZS2F4gvoisivH2f8T5vTuAv/AUDMAAD3TKA6AP dPhLF72l2y/NCqIvnVUTK2lepO35PGnb99vjfR5P At/wQAMwAAMNMwAoq/h4O1 V0C7KI3Zjx3fGktt wL9cx/HlN5uTiTF/CkdT2l7fv 17fvt8Z7iBQZgAAZgAAa6YaA10fcL/05fwceftIvSmP3Y8a2JS9u QP khZ5rD9EXmVvafGjb38of13dTGOz B0XYgi0YgAEYUGcA0Qdk6ZBpF6Ux 7HjW2OpbV gf65Ik95G9CH6KPYjDGydw1yfvt7gK3wFAzAAA6IMIPoAKh0ob VEUsx87vjWW2vYF ict9Fx7iL5Iwa/Nh7b9rfxxfXquxFf4CgZgAAZgoDIGEH2VBaTqv7RrF6Ux 7HjW2OpbV gf65Ik95G9CH6qs4/W cP11OAwQAMwAAMdMwAoq/j4GcXeNqiKGY/dnxrLLXtC/RPWui59hB9iL7snLCVaa6nAIMBGIABGICBXRhA9AFaOmjaoihm 3xzX/q2ZB/7JhnRWTRzNr2Q8pe35fdO277fHe1k 8Cf hAEYgAEYqJgBRF/FwREtWCXGqV2UatuX8EFJG4i vMVEmidpez5L2vb99nifxxP wl8wAAMwAAMNM4Doazh4u4tC7aJU237rsUb05S020jxJ2/N51Lbvt8f7PJ7wF/6CARiAARhomAFEX8PBQ/QJP75XOwuIvrzFRlpESdvzedO277fH zye8Bf ggEYgAEYaJgBRF/DwUP0IfrMBJb6ae4zcLG5Ky2ipO35/de277fHe4oXGIABGIABGOiGAVMv7q4dMvn6 PgYvnz7MXz9/nP45dffTX87K/ZrGa92UaptvxY/ru0Hd/rykpU0T9L2fA607fvt8T6PJ/yFv2AABmAABhpmANHXcPB2F7/aRam2/dZjjejLW2ykeZK25/Oobd9vj/d5POEv/AUDMAADMNAwA4i hoOH6Ovsji iL2 xkRZR0vb83KNt32 P93k84S/8BQMwAAMw0DADiL6Gg4foQ/SZCSz1w2f6IjxpizJtQ6ihUYgAEYgAEY6JYBUy/urh0yeeMzfZkOUwuodlGqbb8WP67tR 93 gwf2r9LsdHmU9v 0tg4Vv1CqJbXiT2xhwEYgIEuGED0AXo66NpFqbb91mON6EtndU 2sY/zFjq9p071G277bFtu6LOFf/AsDMAADMFAZA4i ygJS9V9ztYtSbfutxxrRp7uAxPiLHd/Kl7b9rf3jel3 8C/ hQEYgAEYUGQA0afo3KoF3Jpxaxel2vbXjLmmaxB9uotBjL/Y8a2saNvf2j u1 UP/ JfGIABGIABRQYQfYrORfRFvhjD9z1F73KyQ/Qt 8fnKfd9jL/Y8dz2/PO17fvt8V6XJ/yLf2EABmAABipiANFXUTCqF4naRam2/dZjjejTXTxi/MWOb VL2/7W/nG9Ln/4F//CAAzAAAwoMoDoU3Ru9SIud zaRam2/dzx1nY ok93MYjxFzu lRdt 1v7x/W6/OFf/AsDMAADMKDIQEz0XW734Xqef0pvcvxyM YeP/frcDb9Du07X4e7PW8Yhvv1vBhj/skGRQCyhKl2UaptvxY/ru0Hom8xUWSxHIpBjL/Y8ZDNnH3a9nP6wrm6rOFf/AsDMAADMLAzA0Z7hWuly/CQcHOib n4ebjeh F2ccWis8 Ivttlpl33msc2om9nKMJAPP FNM2 UPQuTwpE37J/trIZ4y92XLv9rfa5Xpcf/It/YQAGYAAGKmZgXvQZwWWE2pzoWz4 uQP4HP9rH6LvXdnOCq2a4KHoLZvMEH26/o/xbY5r/9Y03 mLLm/4F//CAAzAAAzsyIDzlGXA7ytFnxF19vFOOxZ3n9l NXwbLvacmVfu9M04ZnehGCuKt/ZT2/7W/pW HtEXSFKCf0CR5k/aXmn aF XP/yLf2EABmAABhQZEL/T54o72 /Qvuex8/XOZ/p2F282MLmv2kWstv3c8dZ2PqJPdzGQ5k/aXm080h9dHvEv/oUBGIABGBBkIE/0mc/xuXfmvDuBIXEX2uf033zPC1/k4jikagGoXcRq22/Fz3P9RPTpJn9p/qTtzXHBfl0u8C/ hQEYgAEYOAAD86LPflHL4znMx5eyuKLv/bi5a f GDEX3ec/BhrwKY93BpxSRBxqF7Ha9mvx49p IPp0Fx1p/qTtreWG63S5wb/4FwZgAAZgoAEG5kWf4EdlNvoB0bfRgWICUbuI1bZfix/X9gPRp7uoSPMnbW8tN1ynyw3 xb8wAAMwAAMNMIDoayBIYqJt61i1i1ht 1vHX/p6RJ/uoiLNn7S90vzRvi5/ Bf/wgAMwAAMKDKA6FN0bjViTWqM2kWstn0pP5Syg jTXQyk ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiD/tIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2UH06SZzaf6k7ZXijnZ1ucO/ BcGYAAGYGAHBhB9Ozj5MOJRu4jVtt96rBF9uouCNH/S9lrnl/7r8ot/8S8MwAAMwMACA4i BeccRqxJjVG7iNW2L WHUnYQfbrJXJo/aXuluKNdXe7wL/6FARiAARjYgQFE3w5OPox41C5ite23HmtEn 6iIM2ftL3W aX/uvziX/wLAzAAAzCwwACib8E5hxFrUmPULmK17Uv5oZQdRJ9uMpfmT9pe Ke5oV5c7/It/YQAGYAAGdmAA0beDkw8jHrWLWG37rcca0ae7KEjzJ22vdX7pvy 6/ Bf/wgAMwAAMLDCA6FtwzmHEmtQYtYtYbftSfihlB9Gnm8yl ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiEftIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2Skt kx8tH XfKvNh7R9aXtLvuEYCz0MwAAMwAAMwMACA4i Becg k7TyaNdxGrbbz3WNYg TR/G4h87vrVv2va39o/rp/kIf APGIABGIABGEhmANEHLMmwjHd5NP1F0b0cC0Tfsn 2sgl/uv7dGh uJz4wAAMwAAMwsJoBRB/wpMOjXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891og Q4jub uMuP1nPqXnNtdvbOM3GIABGICBAzKA6DtgUNX UXntIlLbfuux7l305cavd556H38uL5xPkQcDMAADMHBgBhB9Bw 6uuPjTLiK17bcea0Rf3mLUO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBmQhH7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgFB9J3S/aPNEqIvLxa9i57ex689H7GfNx/xF/6CARiAgaIMIPoAMB1A7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgHhTh93 l4MaIsIafvS9lrLFb2Pv7V40d/0tQhf4SsYgAEYyGYA0Qc06dBoF5Ha9luPNXf60lk1se6dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4C87vIYP2kXkdr2W481oi d1T14rZ0n5lMeL7XHk/4RTxiAARiAgQ0MIPo2OG8iiHqwo11EattvPUaIvrxk3ztPvf1u xhgAACAASURBVI /9flO//PmO/7CXzAAAzCwyACiD0AWAZkIW 0iUtt 67FG9KWzamLdO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBQfTxRS4vBrRFhLR9aXut5Yrex99avOh v lqEr/AVDMAADGQzgOgDmnRotItIbfutx5o7femsmlj3zlPv4299vtP/vPmOv/AXDMAADCwygOgDkEVAXnd5jJ 0i0ht 63HGtGXzuoevNbOE/Mpj5fa40n/iCcMwAAMwMAGBhB9G5w3EUQ92NEuIrXttx4jRF9esu dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4BMhK12Ealtv/VYI/rSWTWx7p2n3sff nyn/3nzHX/hLxiAARhYZCAm i63 3A9z3 XxeT45WbMPX7u1 FsfB/adzoP17t33kKcPj4 hi/ffgxfv/8cfvn1dzOe Q5xTNE32kWktv3WuUH0LSazt7nfO0 9j7/1 U7/8 Y7/sJfMAADMLDIgJFeb7XS6LPL8JBwc6Jv6fhD1N0urv5w9hkheLu M7T423fPetxF9tUCsXURq26/Fj2v7geibSVbvSWNMar3z1Pv4184zrsubZ/gLf8EADMBAEwzMiz5TRxmhNif6lo9P7gA WbD7ztf7cL eH/5xBGBYfJ4GRF8tk0m7iNS2X4sf1/bD Ef7d6lv2vGRti9tb8k3exzTjv3R/LVHTGijiUJnrrhg/8wfzOAarmHgkAw8H7IcX97z30rRd74Od/t4p XG2Te5u4foayjpaheF2vYtjL28SvtT2p4fB2n70vb8/u79vvSd3r3HS3uHLDreC42G1kCYhEkYgIGGGRC/0 eIu1du9/Zxp69VYLSLaG37rfp9bb l/Sltzx XtH1pe35/936P6KPY2Js52oM5GIABGDgMA3miz3yO7zZcXvH37gR64m4Ufa F9zt29yV2/l93pH/54vHPGMS9Vvddx7SJa2/5efqqlHWl/Stvz/SRtX9qe39 93yP6DrPw7p6792aV9mAVBmAABqpjYF702S9qGZ/8HB5fyuKKvvfj5g6e 2M txfa9/is4PNM/zHQACOIvoBTihQN2kW0tv1a/LhXP6T9KW3P94O0fWl7fn/3fo/oq24BLZKH9 aO9uAOBmAABg7BgJFeta9biL5aJpt2Ea1tvxY/7tUPaX9K2/P9IG1f2p7f373fI/qqX6xqX0zp3/QxIvyBP2AABnpiANG3d HWcnvaRbS2/ZZ9v6bv0v6UtuePSdq tD2/v3u/R/Qh vZmjvZgDgZgAAYOwwCiD5jTYdYuorXt9xZraX9K2/PjIW1f2p7f373fI/rSc9XesaE9YgMDMAADMFA5A4i ygNU1W1n7SJa235vsZb2p7Q9Px7S9qXt f3d z2ij4Jib ZoD ZgAAZg4DAMIPqAOR1m7SJa235vsZb2p7Gn/SsZI nxS/ZtjS1EX3quWuNfrsG/MAADMAADB2YA0Xfg4IrfJdQuorXt9xbr0v7svX1p3hB9FCPSTG EPpmAABmCgGwYQfcCeDrt2Ea9tv7dYl/Zn7 1L84boS89V0r7HHr6HARiAARhonAFEX MBFL bt QP7SJe2/7S2I54rLQ/e29fmilEHwWHNFPYgykYgAEY6IYBRB wp8OuXcRr2 8t1qX92Xv70rwh tJzlbTvsYfvYQAGYAAGGmcA0dd4ALnTxz8sOstA76Kr9Pilcwu ij4JDminswRQMwAAMdMMAog/Y02HXLqK17fcW69L 7L19ad4Qfem5Str32MP3MAADMAADjTOA6Gs8gLN3eTTGpV3Ea9 vX8EnNNkv7s/f2pdlA9FFwSDOFPZiCARiAgW4YQPQBezrs2kW8tv3eYl3an723 L80boi89V0n7Hnv4HgZgAAZgoHEGEH2NB5A7fXymb5aB3kVX6f FL5xZEHwWHNFPYgykYgAEY6IYBRB wp8OuXURr2yfW6bGW8FXpeJZuX8KHrg1E3778ur5nG9/DAAzAAAw0zgCir/EAzt7l0RiXdhGtbV/DJ9icXwRKx7N0 9JsIPrmWZP2NfbwNQzAAAzAwMEYQPQdLKCqIlC7iNa2T6z3TeC l41m6fWneEH378isdP wRPxiAARiAgYIMIPoKOl9VoGmMS7uI1rav4RNszifw0vEs3b40 G4i edakfY09fA0DMAADMHAwBhB9BwuoqpDULqK17RPrfRN46XiWbl aN0TfvvxKxw97xA8GYAAGYKAgA4i gs5XFWga49IuorXta/gEm/MJvHQ8S7cvzQaib541aV9jD1/DAAzAAAwcjAFE38ECqioktYtobfvEet8EXjqepduX5g3Rty /0vHDHvGDARiAARgoyACir6DzVQWaxri0i2ht xo weZ8Ai8dz9LtS7OB6JtnTdrX2MPXMAADMAADB2MA0acZUOmi09 jT/l3yh/R4/La07fvt8V43oZeOZ n2pflC9OnyKh0v7BEvGIABGICBihhA9GkGQ7rolLbnjz1mP3bc t5f7Xtt bn84v 1kfTSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zt8c1/71 8R7EuRaBmI8r7Vb6jpEH3OhFHu0C3swAAMw0DwDiD5NiKWLTml 7/ti17fvt8b75BHIihvvFENG3n6/hGl/DAAzAAAwcjAFEn2ZApUWUtD1/7Nr2/fZ4T0KFgXQGEH3pvoIrfAUDMAADMAADEwYQfZpASIsoaXv 2LXt3xfjIZuWt2wh9LcwLRBx9LfHAMPmAABmAABhYYQPQtOGdz ES4toqTt WPXtu 3x3uSEwykM4DoS/cVXOErGIABGIABGJgwgOjTBEJaREnb88eubd9vj/eTybj5jwz489j RPQdO77MX ILAzAAAzCgyEBM9F1u9 F6nn/qanL8cjPmHj/363B2 j0573wd7va8YRju1/NijD8 PoYv334MX7//HH759Xdz7nyHqjomLaKk7fl 1Lbvt8f7RfCrYplYlY8Voq98DJgHxAAGYAAGYKBRBoz2CteWl Eh4eZE39Lx83C9D8PtYrRZ4Dwj m6XmXbf9Ryiz8KlLcq07dtx8JoMf3hyvk8SzuvAJ4g 5g25EwZgAAZgAAZWMjAv kwNZcTbnOhbPj65s fbQfStLFC1RZm2/ZWQImhW8oK/j7UwIPqOFU/mJ/GEARiAARjYkQHnKcuA31eKPiPqJo93enYmj3fehktkvNzpsw7S FmXa9u04eA1MNoQd4j7CAKKPeUPuhAEYgAEYgIGVDIjf6XsTfK aO8USf09fz9c5n pKLXW1Rpm3fCXzymLmG5AYDDwYQfcwF5gIMwAAMwAAMrGQgT/SZz e5d Y8MRcUfMuiz3z3C1/kkho8bVGmbT91nJxHQoOBdwYQfe8 gRN8AgMwAAMwAANJDMyLPvsFLI8HQD /lMWKvvfj5q6d /MQc5HzJo Bhp9u4vFOC7O2KNO2b8fBa9Lk5G5oOCF06xdEH/OG3AkDMAADMAADKxmYF3311FuIPhtcbVGmbd Og1cSFgzkM4Doy/cZnOEzGIABGIABGBgZaEX0/fnPfx7sf/w7fVrwIvpIjFpsYXc7W4i 7T6EQ3wIAzAAAzDQKQMtiT776CiiTwtWRB JUIst7G5nC9G33YdwiA9hAAZgAAY6ZQDRpxl4aRElbc8fu7Z9v z3ek3gPzsAwCrXTwCs gIH9Gej2878Hz6vEtZ7PXxGLtmKB6NNMjtIiytjT/tX0B7YReR0xQJG/f5GPz/G5ywAFaVsFKfEiXjCgy0BLoo/P9OUWzNKiM7d9zkfkwYAcAzzeKedLuMSXMAADMAADnTHQiuj78 u3H8PX7z GXX383jOoqYTH7pUVX6fZbiRP9JPG3wACiD05b4JQ wikMwAAMVMkAok8TzNKiq3T7mr7FdpUJRewPJsT3Pb6IvnefwA k gQEYgAEYgIEkBhB9mqCUFl2l29f0LbaTJjgirJGnAlJ4RvTBfA onnAMnMAADMAADAQYQfQGniBXKpUVX6fY1fYttElpvDCD6YL43 5hkvzMMADMCAGAOIPk2YSouu0u1r hbbYklA7I8cxEQ3Jog Xf/CL/6FARiAARg4MAOIPs3glhZdpdvX9C22Scy9MYDog/nemGe8MA8DMAADYgwg jRhKi26Srev6VtsiyUB7vQ18rk/RB/Mk/dgAAZgAAZgYCUDxxZ90qLH2NP XRnIYOEuPX7JvmGLpAUDeQwg vL81TtfpfN/6fZ7jz/jJ1/AAAx4DCD6PIcExZM9R3sRk7Yvbc/6gVcSCQzszwCib3 ft8x56fxfuv2WY0ffmeswAAMKDCD6cpyqvYhJ25e2l MrziVhwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHaS9i0val7eX4inNJRjAgywCiT9afR ezdP4v3f7R48v4yAcwAAOZDCD6chymvYhJ25e2l MrziUZwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHmUVM zenP7FzWXRJCDFGON4OI4i dmKlMa 01x7p9ULanoZPsdn3nCL xL8zBhB9mgEvveiVbl/Tt9gmWffGAKKvb a187m0fWl7vc13xtv3fCf xF BAUSfglNP1mbpRa90 9YPvJK8YGA7A4i 7T5smUPtfC5tX9pey7Gj733PXeJP/CthANGnGYjSi17p9jV9i22SaG8MIPr6Zl47n0vbl7bX23xnvH3 Pd JP/BUYQPQpOJU7fScmqyZX2O6TL0Rfn3G3811bREnbl7Zn/cBr3/OA BN/GFjNAKJPE57Si17p9jV9i 3Vk/71Rwl82JYPEX1txUt6fmnnc2n70vak/Ym9vucT8Sf HTKA6NMMeulFr3T7mr7FNgm7NwYQfX0zr53Ppe1L2 ttvjPevuc78Sf Cgwg hSc rqTUnrRK92 pm xTULsjQFEX9/Ma dzafvS9nqb74y37/lO/Im/AgOIPgWnIvr4TN LAU2 sN3XooDo6yve/vzWFlHS9qXt f7gfd/zgfgTfxjIZqBN0WcWE61fSYhKL3ql25f0JbayJzfC82B/fED09T0HtPN5zL45rv1Lnu bceJP/GFAlYE2RZ8WFLFFL7ddaXuttZ/bX85XneyIwMZFIKKv7/mhvZ7E7MNf3/yxPhN/GGieAUSfC3Fs0XPPTdmWtpfSpntO6fbdvrDdfLJANBYWjRTdfc 8h7Xwesw9/ffPHGk78YaB5BhB9LsSxRc89N2Vb2l5Km 45pdt3 8J288kC0Yfog4GCDGjn85h9RB85nHUcBmCgaQYQfS7AsUXPPTd lW9peSpvuOaXbd/vCdtOJgmK/YLFv5w5Fd99zSDufx zDX9/82TzEKxzAQLMMIPpceGOLnntuyra0vZQ23XNKt /2he1mkwSCrwLBZ YPRXffc0g7n8fsw1/f/LGGE38YaJ4BRJ8LcWzRc89N2Za2l9Kme07p9t2 sN18skD8FRZ/FN19zyHtfB6zD39988caTvxhoHkGYqLvcrsP1/N8rTM5frkZc4 f 3U4O3xMzjudh s9fF6orvz4 Bi fPsxfP3 c/jl19 Nz c7tOlYbNHLbVfaXmvt5/aX85tPKJvmH/Ffjj9F97J/js6P9noSsw9/ffN39PnF OC7AwaM9ArXaZfhIeHmRN/S8Yeou12MNgucZ8Th7TK2 9hc1nCIvrUgxhbxtXa5bmbSLIMcnmhcg18SGaDo7nveaefzmH3 465s/1n3iDwPNMzAv kwdYsTbnOhbPv5 Z /Tzvl6H 7X88N3jgCcq/0QfWsnWmwRX2uX65qf HOTjf2JAqzEHKDobmveSedfY0/7d4lr GuLv6VYcoxYwkCXDDwfshxf3uu9laLvfB3uk8c7p3Ymd/cQfYpFpnTRQZLoMkm8JwZFZmFsnjGK7nnf1MhN6fwr3T78tcVf jXOCPsEQDBRlQPxO35vge78jyJ2 vaCXXvT36jftFE0KiLxKRS1Fd1vzonT lW4f/trij3WUeMEADHgM5Ik 8/m823B52ZjewTsFBd 76Ds5d/cmd/1edqc1F493zjgmWpxLL/pr 8F1JB4Y2M4ARfd2H 7JYen8K90 /LXF356s0xZswEATDMyLPvsFLOOTn8Pnl7JY0fd 3NzBc38en9t7P /xWcHnmZPHQKdiz2oaRN/aySS96K/tB9c1kQzshOM1nIiK 4Wiu615VDr/SrcPf23xx7pLvGAABjwGjPQqXst4ffL7g iLOMh32Ou99KK/th9cV/0kezFDrOqNFUV3vbEJzZvS Ve6ffhri78Qk wjhjDQNQOIPncCKCySRYtp6fG4vmK768RRlOte2aPobmvOlc6/0u3DX1v89ZonGTecwsAsA4g Fw6FRbJocSw9HtdXbM9OqqIxJy7HjQtFd1uxLZ1/pduHv7b4Yy0gXjAAAx4DiD7XIQqLZFEBID0e11dsk0xgYF8GKL r39fdWvkvnX n24a8t/rbyy/XEGwYOxwCiz4VaYZFE9FX6pRhu3Nk XGIrOu 0eKLoLsupWR 0fyXZUVjPTMGg9TP6VnL82Co7X/A//oeB6hgw bv2 ogvclk7caQX/bX94LrqJ1ntSYD PeSGVsE9LgTki V5qu0fafsK9uCPP2KSi2EABtplANHnChKFRbLo5JAej srtpcLRPyDf6QZ4E5fWaa086m0fQV7iL52i72itYh0LsRe2VyI/5v1P6LPhVdhkSyaaKXH4/qK7WYnfVEm4WY9N4i 9b6T4E47n0rbV7CH6EP0sX7AAAy0ywCizy0GFBbJopNDejyur9 guW4Di//78j grG3PtfCptX8Eeoq/dYq9oLcJ6VTZ34X/8/2QA0edOBoVFsmiilR6P6yu2SSIwsC8DiL59/e3zrZ1Ppe0r2EP0IfqK1jT nOR92ZyI/5vzP6LPhVZhkSyaIKXH4/qK7eYme1EW4WU7L4i 7T7cwqF2PpW2r2AP0YfoYx2BARholwFEn1sEKCySRSeH9HhcX7 FdtgDF//35H9FXNuba VTavoI9RF 7xV7RWoT1qmzuwv/4/8kAos dDAqLZNFEKz0e11dsk0RgYF8GEH37 tvnWzufSttXsIfoQ/QVrWn8Ocn7sjkR/zfnf0SfC63CIlk0QUqPx/UV281N9qIswst2XhB92324hUPtfCptX8Eeog/RxzoCAzDQLgOIPrcIUFgkmRztTg5iR yqYgDRh hz16vYtsJ6hugjJ1aVE2NzgONlcyb r87/iD4XSoVFkgTJIgkDMCDCAKKv7AIqvT64a4/ZlravYA/RRy4TyWU7wvm9vwfzf R/S5sCsskiRIFkkYgAERBhB9ZRdm6fXBXXvMtrR9BXuIPnKZSC7z 2ed92dyG/7vxP6LPhV1hkSRBskjCAAyIMIDoK7swS68P7tpjtqXtK9hD9JH LRHKZzz7vy Y2/N N/xF9LuwKiyQJkkUSBmBAhAFEX9mFWXp9cNcesy1tX8Eeoo9cJpL LfPZ5Xza34f9u/I/oc2FXWCRJkCySMAADIgwg souzNLrg7v2mG1p wr2EH3kMpFc5rPP 7K5Df93439Enwu7wiJJgmSRhAEYEGEA0Vd2YZZeH9y1x2xL21e wh gjl4nkMp993pfNbfi/G/8j lzYFRZJEiSLJAzAgAgDiL68hVkjnxubmr/uerR1W2H8iD5ymUgu28o21 flQvyFv54MIPrcySC9SLq22WbSwQAMbGEA0ZfHT l8frT24S Pvy1znWvxNQzAgAIDiD7XqaUXabcvbDPhYQAGXAYouvN4KJ3Pj 9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBlgKI7j4fS fxo7cNfHn/u3GUb38EADFTAAKLPDULpRdrtC9skCBiAAZcBiu48Hkrn86O1D 395/Llzl218BwMwUAEDiD43CKUXabcvbJMgYAAGXAYouvN4KJ3Pj9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBloMGiezidhp7/K/pvmkmvZw3yV9T/7txlm1wOAzBQAQOIPjcI0ouka5ttJjwMwMAWBhoqunsWeu7Yi4 oO6fWsIf6K n3LHOda1ggYgAFFBhB9rnOlF0nXNttMZBiAgS0MNFR0W EjWnxr52dh xIL//5t8O/IcPNBkQnaNb8hvXsj7CgDoDiD4XMuFFn2R6UgcYH PjbhhA9OnmE H8v1X0aRb62EZIugx0k0Pdeo9t3XyKf6v0L6LPBVN40SeRIkhg AAbEGED06S6iwvkf0YewcoVVzdtiOcqtp9jWzVf4F/ uYADR5zpNeNEnkVLwwwAMiDGA6NNd5IXzP6IP0Vez0HP7Jpaj3 HqKbd18hX/x7woGEH2u04QXfRIpBT8MwIAYA4g 3UVeOP9vFX2GG7cwZxsRqcGAWH5yaym2dXMV/sW/KxlA9LmOE170SaYU/DAAA2IMIPp0F3rh/C8h jaxIzyeU0P8bfKbWxOwrTvn8C/ hYFdGYiJvsvtPlzP83Xb5PjlZsw9fu7X4TzG8jxc796 83Wwu8yR /W8OOaPj4/hy7cfw9fvP4dffv3dnDvfoU3HpBdJrX5idxGYTQzgW3xbKwONF N1qYkc7P0vbN/F6/juFRXKSxniea7nGixGVRfxU63ynX/AAAzAgzIDJ3eE8exkeEm5O9C0dfwi92 U0nIwQvF3GNh6bp FkRN9zX7jtae5H9AkHPcXpnDOFEH/gj IMIPpmFishNqVFB6IvSxsi oQ4pl7QzRP4F/82zMC86DP5x4i3OdG3fNzeATxf75938qwARPSR3IsX0A1PWnzX 6fxB9OkWG4i Zf82wh/5sdP8yJq PH/xD/4xT544P5cqXoM6Lu Xjn6 6e4c0Vfa92b8MlwiJ3 iIOeg8cSR fwMDhGGik6FZ7pFFalPl5Vdp 6Tt9/vi2vm Ev8PN 61x43qKfRiAgScDRnvN58gVos8RfMZu8E6fw9/kuLPf7ROib8YxrpPYRuTAwMEZaKToRvQ9OTTx mP6X9NztBH mvYxa/1CQXrw/E7sif0ODOSJPvM5PvfOnCcKPcE35l57d 90GiZ3/Z5jM/v4IpcdAs1CyIIBA40z0EjRjehzRJ/zRS5GADY9Bxvhr2kfUwu0PUeIH/GrnIF50We/qOXxHOb4pSwnV/S9Hzd37dyfh5gzwvC59/nI5 S817d8zq H3OmrHCIW2Xl48Q2 EWOgkaIb0fdk3sQL0efWBIvbfJELuVIsV1IzIb5gIMiAScK1zz NEH/BWD2ntk4j HaCgakD0uSJHnDnpz9z5eVXIvv9Ip/te3Cf GDTfN8Bf0/7VjB22qSFgAAaeX RSe55E9DFZmawwAAMNFN2Ivsdn MZF9SkiVX2yZ15ogL/aixn6d4A/vu0552iLdV YAe70uQ4V ksviZ3EDgMwIM5AA0W3qsDRzs9C9l f3UP0LT7O6R/k8U5ypnjOdOs7thFQMDCm3drnGXf6AJVkBQMwgOjTZQDRt zfBvirvZihfwhbGICBkgy0eafPLM5avxTXyws//sE/MFCGgdJFd0LOfd3pSzg3mMOX2DI2l45vPSZk3/0Mn7 t2v t449dX5q/WP84rjs/8C/ hYHmGWhT9KWCJ7SIN71Qp/qK85qfzHCqLApKz5HSRXdCPn2JvjW itmPHV/TpnuNkn3rk9djn26bLW2X5q8lX9FX1lMYgIEKGUD0VRgUiveDF 8wx2KwhoHSRXeCKLICZ1UOi9mPHV/jU/caJfvWJ4i 8eMks//jM32se6vyhjuH2WZthYFFBhB9ALIICEmYhRgGKmGgctFnxc1qX mKiK3Z8ay5XtD/6hn cfVbwjYWIov9XM7mVKa6nvoABGKiIAURfRcFgYaqkuIYJknSND CD6dLlUFB2IvkW9Nx7kTh/rHzUQDMCALgNW9MUz8r5nuHFf/ 2diou420G2dSHFv/gXBh5fe6KZhqNFdySfcqdvfp4i uLkRvmr8Q8x9En3DzH4F//CgCgDJhObeqq2H7fGQ/QBvSj0Llxszxeq KYy33CnTzcPRETtlvmA6IuXGIi yvINdYduvsG/ LcAAzHRd7uch t9Pl9Pjt8uthsQrgAAIABJREFUnzE8X4fHZffhen7mMrsveN60 DXd9RfQVAMMNANssxjBQAQOIvs8FRiMnKog /59sWHpf/RwrzZ9GzLGpO6fwL/6FgaoYmBd9t EyxmpO9C0dfwi9y20YBiPwxg2zeRqemy FF9pn 2TXQEQfk6aqSWPB5LUCIdTT3ChddEdEEY93vs8H 42dsTt99ryqc0pp/nqa64yVNR8GYECBASuwXipssmHE25zoMyfOH7d3AO/X83C2twodAfhoZv56d 17E33/7q//fkj5zzwuknIe56T5Ez/hJxgox4DJZ5o/sXwZe/xOQvQt8TW2b4Sn4u9S 2uOGTFnrrOib86GPW/ueA37Nf1ubS N056j brUPsfK5T58j 9hQI4BI7DCP/Oi7HH zPH7dTg/H Wc3MlzRZ85x4hY/9bfsyOLos89yPb7X5fxCT6BgQMysIPoW Rm4U7fZsFnFoMF 4v9UvhrqFR7RsxN/pvpqzlHqs1q7EjHU9qeHwtt 357vD8e88SUmFbOgNFYZo0I/8yIutfJgeOO4DOnLd/p846/7D76ZNeutzt99gCvBywUKp8wMAdzxRhA9DVdUCwJY0RfQl7RFm Xa9lnbmp6/xfI 3MCNIANGZxmWwzqDOf47sM5qN6jx/vuCf4xnOcu3uTu35PC2bf6/HP5z7z4s4vRJ9gwF3Hsp1QaOD7yWSEmYLMIPqaZhHRt3HuaIsy BfvuXV5y58b4sxY3nf/gvw7 rcBy9NZz035Ry6Ofj6cwXdH3ftzc1XPj hBzRhg x/p85HNynv1GT68Drh1EH8luApYLB9t1JBLisEMcEH1N5wFE38Y5 oiDKJnlLyL4r9PztSXus603PZ2K5cT7DfxH 50Wfp8J2fuvOJ0Qfk6PI5HAhZJsEX5wBRF/TecAXAP774nxJrzNCIurlF2l7/ng32PdjOff NRa/bd43PbeJK/VBKwwg ki2JFsYgIEWGED0NcvpKALM5yhmODPHWykakvu5QUQF25C258c i0/6csFvaHxyX3w/eH28uEFNiWgkDVvTVnIu401cJLDVDQt8OWDTC/XShRPRN/dEQH4g gfyUKcqy14RE 0uibulYdn8a4puxCfBNvJvN7y3xj hjojHRYAAGWmCgUtG39Fm1rMUwsejOsllBXI0QsH12feULBHvO YV6l4yltz2djwb4fq5z3h4mn7y/ev Y1Mf7Mcfiibl8g khcJC4YgIEWGED0NcepK/hMMWRFn79/POaIw0MUTgsiatX4jD3tXycP5Ag7/9xV43Pa5vq6C2fiQ3xaZQDRR6JtrpBqdbLRbxaKTQwg prKVUFhZ4XfjMALXbOJmZLrm7Toyx3LivZ98Zbzvtk45fqV85v KQ3BJ3eEygOgjgZHAYAAGWmAA0dcEp1YouAut3R7v9M0Ivtc5k eP2vOpfV4gu0TE927fxMK8h7x3O2QPfaF/Yxf8AsMlGcA0ddCsUcfg4s1CaR8AiEGO8YA0Vd9HpgTFnaejKI iIZ/H7Fh7Vb9WIPpyRVzK VX7PIEt r9jziYe1efs3uYDoo9JyaSEARhogQFEX/WcLom1UVAs/LMNfvGxZMs/t8r3BxN9Vfq4hbxFH6vPW7Ddzx8CEH0kJBISDMBACwwg qrnNCTURrH3fLTQfpFLapEVspd6bfHzDiD6ivuwhbxEH6vPS3D cj6iLxRrRR8IiYcEADLTAQIWiL1fELC5IpUWCAAO SPPfm/Hn ixkY9GPAuMQsV86nma /LHtPxE/1BIP sE6BwPdM4DoYxJ0PwlY2PkrWBMMIPqqz1WuQHO3Xb4QfTvlGwH R54pGN4Zs7xRD6rPqcx5zoa25gOgjqZBUYAAGWmAA0Vc1p77I8 9/b4gjRt1ORJCz6EIA7xa2FXEwfq87FNtfy j5nEX1MXiYvDMBACwyYx W0f5f8EHhcL1fALC7CAfuL5y/1dedjvsDz37vjyPXZki3XbnXbpeP5bN8Va3bb9ZXdt bVtcP2e4GJT/AJDNTFAKJv5 KACVDXBCAexOOwDEgX3QF7uQJm0dcB 4vnV5K7Q2Jhqd 5PjP2l xVe6ySeObEJ3Ru6r5q41DJPME/jc5j Gkz/87EDdE34xgSFAkKBmCgaQaki 6AvVwBs jPgP3F8xvN3bk Q/Rty0Nzoi3G1tx1Kftjtjm Lab4D//BwDoGEH2NFg4Avw54/IbfumFAWkQF7OUKmEXfB wvnt9o7s71GaJve84KCbUctkLXp 7LaYdzt8caH JDGJhnANHXaOEA1PNQ4xt8AwPPT/9J5jdPlOWKl2hMPPvR8yXHtrOtHN8h rbns5BAW8tXyFbqvrVtct12BvAhPoSBk9F81T u vHxMXz59mP4 v3n8Muvv5v Ai8 gAEYgIFFBqRFlGcvR7gs9tPmc89 0jX22sZec3yXKijsedX4raJ4Wt/4r1t95dvLeb 1ba4n/8MADOQygOhrrFjIDTDnkxRgoFMGpItuz16OcEli0LOfdE2j TvVd1ZEpPrCnJ96rvp5lcXT tJ9lfSBazd3W7If2KpoDjSan2DouAzFRN/ldh u5/nxT45fbuOdw/F/9 twHnk/D9f7c/fivvk2uNNH4qinkCEWxKIVBqSLbs9eqnBJLiA8 8nXtRIPp58pvjPCwfjAvqb4I fcFHubzqksniEhtml8TjxdO6F2cva5ttieLwzxDb6BgXwG5kXf ZXhIuDnRt3T8IfRul9NwMkLwdhnXrsfmzL6Z/GliiuhbcA7Q50OPz/BZFwxIF92evRThkuVnz37WtY3lyJjvXPHmbsd8knNuzNbm45XF c054bR7nAntzbabu1 wbtlkHYaA/BuZFn/GFEW9zom/5uL0DeL7eh/v1/Lg58BSAoX1L7CH6FhaVJcdxrL8JTcyJ YsB6aLb2HN X8LF2eceX7XdSa57 S4wXl 4 e9f8U24dulc9WOGi0AfS 4Lia29 hNqO3XfXn2knfqYJSbERJKB54OX48u73ZWi73wd7s9HOV9390z uf4q 0L73tj/jjOirbOFcChbHPsHFF/jiyAwsCZcjj1tibHO Cwm80L65PuScO2fjyPtDIqvEeEP9SN1Xor 0yVoGA8dgQPxOnyP4DCOhu3qhfUs8IfoQfdX9xXgJWI4dIzkSx/k4zokWfDbvM983vg/nBNvcft eeZ9zbuj6HvaFxFXJcYf6k7qvZL9pO32u4yt8VQsDeaLPfI7vN lxeGsS7E gJvnGMz7t7Zvt1hy 072XznQ1E34JzagGJfryDi0/wyVEZ8AXLUcepOS7Xh3NibW7/XL9yz5 zc T9IUFVy3hDfUvdV8sY6AfrHgzUy8C86LNf1DITmMX8pyckXf 3FzB8/9eXyW7/GlLuN vr2zXhCYpMQGBmAglQFXsKRew3lTvqwPl4Ta0rGQP3PPD9k4 r45EVXbuOf6mbK/trHQn ncxx/4oxQDRoyVaju1Xe70caevekhTYeY8kv0RGLCC5QhjKTWG0YcL/67eGgG35ppS4y/Zbkg4lexPrO1Qf1P3xWxznDUJBvphANGHoEJQwQAMwEAWA4i 7UXCWLTPcGeOrSnE1l63pq2WrwkJplbGE p76r5Wxkg/181//IbfYgwg mYW3ZjjOM7kggEY6JUBRN829sci3XzxSmD9McfWcLX2ujVttX7 NnEhqaVxzY0jd39JY6eu6nIDf8JvPAKIvsOj6TuI9EwcGYAAGP hlA9H36Yg0XY2EeEH1m/1p7a67r ZqQOGrVH6Gx5Oxrddz0e12 wG/9 g3Rh hbVWSQNPpNGsS 79gj LbF3wq7UFG Zm5Ze2uu7fkaKf/X5sPQuFL31TYW rMt1 A//OczgOhD9CH6YAAGYCCZAUTf kLCFWhjIR642 cv0kvvXXtL53HsPWZzQuhIvpobY8r I/mBsbzzj0/69Amij2IvudgjSfSZJIg7cXcZQPSt58EVaWPhvUH0ubbc LCdHp Q Dmq/0JjTd13VJ8wrvS5gq O4StEH6IP0QcDMAADyQwg tYv/q5QGwvulaLPtUMxti0evvDpwZ/ mHPe9 Afxrh TuG7un2H6KPYSy72mMx1T2biQ3z2YADRt56zt J6hegzNvaIcw9tvMXjj9PQm3/nfJCyvwdGGCP55kgMIPoQfRQQMAADMJDMAKJPrgjK9WVvgmSPY iskbvZot8Y2Qr5I3VfjeOiTXK7Cl8fwJaKPYi 52GPSH2PSE0fiuIWBXKGypa2jX5vjSwSfzrwNiZqjcxcbX8gnO fti9jmuwzJ xa8xBhB9iD5EHwzAAAwkMZAjUmKLD8cfBUqKTxF8usVcSNDA55 PP5yOvIR l7MOPuuziX/ybwwCij2IvqdjLgYpzSUIwcEwGUgQKsc LfYpPEX15Ps1lMCRecm30cH7IT6n7evAPY9Sdp/h3u38RfYg RB8MwAAMJDGQIlBYmPMW5hSfIvryfJrLYEi45Nro7fyQz1L39e Yrxqs7f/Fvun8RfRR7ScUekyp9UuErfHVUBlIEylHHrjWuFJ8i vRziitYtGJ9VLuu73K3j oTxqU/Z/Fxvo8RfYg RB8MwAAMJDGQIlBYiNMWYr84dv3mHzPv3eNs449aGQixm7qv1j HRL bbURhA9FHsUUzAAAzAQBIDiD6Z4scVcaNPHVHnHjtKocE4ZLhp zY pYi90Xmtjpb99Mt5a3BF9FHtJxV5rYNNfEjAMyDKA4JPxZ0jUj UWv YfaHfEHvzL xo91 DEk7FL3EcM6Ykgc2o8Dog/Rh iDARiAgSgDiL7tC/6cqLPFL0XVdh/jw/p9aHlf80p8648vMao3Rog ir1osccErncCExtisxcDiL5trM0JPhO/sfhlLWIt6oyBNaLPvWav3Ec723If/qvHf4i zpIsk6 eyUcsiEVLDCD61vMaFXzmH8BmLUL0dcyAK bWbLeUS nr lyK77b5DtHXcZJl8mybPPgP//XEAKJvHe8xwWcYGotc1iJEHwyMDKwRffaannIyY12Xk3v2G6KP JMtCCwMwAANRBhB9 QWGL/hsYWpfbfExvofBKIPWX7zms9iqz xcWfPa6pjpdz987x1rRB8LLQstDMAADEQZQPTlFyKmULWLurtt 99nXsaCFwZevrF94/eQHXzzviJtHoVf8h/9gCQZORvNVn2c/Pj6GL99 DF //xxfV301/gxQcwAAMwsBcDCL51rLnF6VKsrOgzfl46j2P4BwYeDLhzK3cbH zKPemUA0cciS5EBAzAAA4sMIPrWFUmmGE0pLhB9aX5K8SXn9Of LXNHnng8v/fHSc8wRfRR7SUVJz5OEsbMo9M4Aok93DiD6dP3b /ztafyuoMvd7slPjLXPnIPoQ/Qh mAABmBgkQFEn26BgOjT9e8eBW5IYOzRLm3MsxOKSeo /DrvV3zTrm8QfRR7i8Uek7vdyU3siJ0UA4g XZYQfbr lZoHxk6qaLDnSbaNrXWc2FisfcXv6/yO3 rzG6IP0YfogwEYgIFFBhB9uov3WIwaQQGHixzuWUSuFQj dXv2mbbi89SPT 57fBz3MT6q10eIPhbZahZZEkW9iYLY9B0bRJ9u/MfCE9FXZC3KLfpzzyd36s6dLf7NjaV7/pZ2ubZeJo4eG0Qfoq/IQnv0icX4SOpHYQDBp8 yKSYNL/haz9duwb7n9lHywNHHsYWJo/uG8enlpb19i hD9CH6YAAGYGCWAYSI/oKP6JPz8ZbiXePavYs62tvO0hoO8Pt2v8d8ePvjNNz ot9OrB8tH0f0UezNFnstg03fSYwwIMMAok/Gj0s8xorMpWt7PRbzmebxOZ H2pw7l/3680rCx6GYhvaNbf3lNFz/1Ma4JHyzq42/PL5E6f7XDP8Sj7f6HtGH6HuDYteJjP/xPwxUzQCiL6PIWMmyKSJN3g352h7rNS HCuy99uX6PNSvXBucrz/f1vo4FF 7z9i8/MPz213/QWEMfzoNt4DgMXe/Livzzlo/pF539fp7kb5L95fTsCQCVeNRqc9jsUH0NRq4WGA5rpB0YaVqcQ LzOsyHhAi lvW1KRyNT0O tseO7nNbPJd4lfJtqO9StrEjO e2 tONtbVlBJjZr/EI4ihgfjsNZ6cOeYmaPyq8w/in03B/ mMUpeZO3QYxbMbq /X816fI9vyyRzxsG629IvqcCdRa8OhvXYsA8SAeR2QgJESOOM69 x QWjWbbtB/ytT22d/ 02vPHved7rTFZu3uOhbaeBf9TWKz1h42dyOvzEcScO2/X3xIF21NEvdn27nYl29OufZsEJvFGgz4sz3vRF4/mOyVuD6d/ZGoT0nJjXjoe0/Jfsx0Xe53Yfreb6WCx2f7rsMN9OI blfH3 kOF H 3PXY/d58QbCx8fH8OXbj Hr95/DL7/ bs6d7xDH8A0MwAAMyDEQEiL4d5t/TYHq tC D/naHnPPb2F7bREucV0p/0j0HRsyYi7Hj5K85D5umXN3MMV2jj3JcYdsTQRoqgCzYvGP6aO br7t63v6YT2LH/X7X5D /bxLvjegK27FibU70hY6/77vcjNZ7iLrz9f7YNqLvdplpd7oWmr4h hC5ybCEYX6HivPwCQzEGQiJEPwW91vMR6Ygdc9x3/s d4 519SynVNcS59biw9sP6THh719BKCNn8TrS g4jzdO7k55n82zIsPE2r 75fcnKGA22PPtu /dfvmPVbrnLW1PHsl8 iM2xtGeOTdwV9D41s6JsU8z57l90oyH204r2/Oiz6xJ5 F6nxN9c8en17ii72TeGLGH6Jsu K3AQj JGwz0xYAvQIj/9vibosX3o7vP97l7zL9uz/e22Crxuuc4t7RVwje0 SkE1vpiS8z9a43IuNkvdHEePbWPZY6PKT4FzXj3yjzKaMVMQOi 49kOib4s91/a4/afTcP3LaXDvqlmf2v6/XbNwU8LYcQWv6X S6PNs l8IY/tnvhjGtR/qm2Y8Qu3Vvs95yvJtHZIQfaPAcxuxou 17xb94iHu9HkToHao6N97UYdP8EmLDPgCpMUx1NRnU0D5/fH3 T73j/vXS7 3RV6JV mxlLBXwm 0uU34SXJiBdxL3PiPNT7veBkRZc415413xIxAinwJTEj0nTbYe xu36etvp FivyDFilZfjAb KYTrPzy ZObmnmvsOZ 3M/1fums4udbWvc8 uV9gY/o9it2Eby7VjMeb/2yfK37VvtPn uT1eKfjj9A 9xqzjehzHOY7h/fvRRQ wScwIMOAL0Dw6za/muLc96G/z/e5f9y/fu37kkJhbZ 57p0ffJLnkxD3Uj60AmNyV8wXfU xZ0Wf7c8oEj2R5PdrTjSZdtfY8 2/7qCZmvMpJk3/fKFm2pvsM cacecI0NG2ee IwLfrnNrWiLiXUHb2T/rk7Leib9IP57hpXzsevv9aeJ8n sxn9tw7c9NHOR/jDe0zc9Jc /6o6OTxTy9e1n IvhnHWAfxmpf08Rf goE0BnwBgt/S/DbnJ1NAucf89 aY7/PQOa6N2La5vtR/sb5xfMoD/tD3R2guSPg9ZHfVPufOmN8vK2Ky7C7Y8 2b96vaiOQYK4KN7ZCwG8XiQj/9O5xG8JnHOkfhF7jOCsUsP82NIWA/5LdW9s2LPvulLI/nMG8XMxdd0Td3/HGf94jfNNnQ8bp8Hc3Xv92G/0XNA1iL4F57QCGv3UX8zwMT6WZsAXINL2e7NnihA7Znfb7jOvv s9DhYt7vt0OnbfXPtsHXj/jiy/q9EVoTkjEKmQ3ZZ 5U2XvWpnzl 5cnZ53DZfsZtnza8s/Tf9A5Nuy7RrhZoSYfW8f4XTH8TrmPIJpPusY9HXks3nGrhWOvg 9Cn nbIvr8MS/Gw/dfAN ArGoKK I/oqCkbtsNC/maQKQ9UnuhrZ9QVIjX1sqU mELL9dbftPvPq 9w/zy2m9t52 8n2ZyzxRTu CM2ZHuPn3z173eFzHsfcyy9WpIUElj0WFH1zIpJ657XO DFE9AHHLBw LLxvZ2EjVsRqKwONhqj sffxm3fvDFnN1vXl3fu eFClaNfW5f2CaXHImB0HzZa3yzjzcWqkMnd ued 6Cj19q98/5/GAoPvZOonScaouH9PhC9hB92jBjH1EJAzDQIAOu8AgtHuzLFwN QTPnQ9f35hpznn txPu59tmfH1t81obPQvNmj9jZO1am/dAdrT36EGrDfSTzdTetxHo1I/y0fFVrPEIxktyH6CsBN20iAmAABipnwBUekosOtuLFsV YGp/5 yTeE4t4LPDRsXwUmje7xTjy7Zy79aPytWc3P3QYD0Qf8FN8wwA MwMAbA4i csXuWJg mTTbpggKFata 3Yruph3b/MO3 vOu9Ccwee6Pse/9fgX0ceiw6IDAzAAA28MIPrKLdRjYfpk0my7RVOoaN1rn9sPtq dxwR9t CM0V4hdG7EjTtvjhOij2JsUFEyq7ZMKH LDIzCA6NuX41AxavfN8WSO22P23BKvtg 8fsYDX9Tpi9D8IFZ1xoq4yMcF0YfoexUNTDD5CYZP8WmrDCD69 mXXCrixKH1 g2eMHXvN0nmhInevfUv94ti fOHvh79D7OMbWOyFAUQfog/RBwMwAAMTBhB8 xdBthi1xUdKDMw19vzcV9teidfcvnLjjju6nvQrzjo6mP8Mdx/YHoo9hbXTSQGI6bGIht37FNERwwIsuIL BSYuBfIxGTUFG81z6J/pe2sZevaEfuy41KM0P7srkUf877E9GH6EP0wQAMwMCEgRTBwcI 6v7BK CYlBqbwl2grxUZJkZHSvxrOKekj2l4vAmtghz7sl8t69jWij2J vt6Kh54nG2EnoLTGQIjhaGk LfU2JwZ6ib86HJcXGXJ9K7S/pC9pG9JXinnbbqW8QfYg RB8MwAAMTBhIERws9LoLfUoMahB9cxyUFCFzfdLeX3LMtI3o0 Yb 7o5fw//Ivoo9ibF3h7Q0Ub7iYMYHjuGKYIDBnQZSIlBzaJvjo S4mSuT1L7S46NtteJPqnYY0c3H JfGf8i hB9iD4YgAEYmDCQIjhYhGUW4Tk/psSgRdE3O94/1hXtEmJnrk 5 0N9ybXB brzCv/i354ZQPRR7E2KvZ4nA2NnMYCB05AiNvDTPnMlFosjib45pkJCa q99c32a2x/q19y57N9nDuFn/AwDnwwg hB9iD4YgAEYeDEQExosoJ8LqLYvYrHoQfTN TgksPbal9OnuXPZv988wtf4GgYeDCD6KPZexR6TgsQIAzAQExo wsh8jS7HoWfAtMbiX8EttZ6mvHNtvLuFrfA0DJ6P5qq/5Pz4 hi/ffgxfv/8cfvn1d9Nf4MUHMAADMKDBwJLQ0GgPm/McL8UC0TfvtxBTqSJN rxQX9iXFzv8hb9gQIYBRB8CsnrVz2SXmez4ET mMLAkNFKu5xw5zuZigeAT9LHyF8gwH RihS/xJQxsYwDRh hD9MEADMDAi4E5ocFiu22xzfGff7fJvRbBt08c/Bisfe/Gju19Yoef8TMMhBlA9FHsvYo9Jkl4kuAX/NITA4i 8rxbYTfG4o9pf yxnpisaay54q mvtOX6VzCH/ijNwYQfYg RB8MwAAMjAwg OooglxhN4oMh0/3WG8FS83jDYnBmvtL3 qY68SBOOzJAKLPWUz3dDxtMdFhAAZqYwDRVweTrrBD9NURk9rm Kv2BCxiAgVwGEH2IPu7ywAAMwAB3 goz4N8psou5K/pcMWiP80rhBwMwAAMwkMIAoq/wQp8SJM5hMsMADOzBAHf6ynE2J gQfeVissecow3iCwMwsBcDiD5EH3d5YAAGYIA7fYUZiIm ueN7FQu0Q2EKAzAAA20zgOgrvNAzgdqeQMSP B2JAe70lePZFXXj3T3v3487EmeMpRxn B7fw0C/DCD6EH3c5YEBGIAB7vQVZsAXfbYwGwVg4b7ZvvDab7FI7Ik9DL TPAKKPxZSCHwZgAAYG7vKVXdBjos/Eh6ILH8AADMAADKxlANHHQkohAQMwAAOIvsIM I902kXd3ulD9FHoWSZ4hQUYgIE1DCD6Ci/0a4LGNUx2GIABaQa401cnU4i OuMiPf wR5xhAAa0GUD0Ifq4ywMDMAAD3OmrlAFEH4WgdiGIfRiDgT4YQ PRVutAzAfuYgMSZONfCAHf66mQR0VdnXGqZt/QDPmAABlIZQPQh rjLAwMwAAPc6auUAUQfBV1qQcd5sAIDMLDEAKKv0oV KWgcY1LDAAxIM8CdvnqZIjb1xkZ6HmKPWMMADGgxgOhD9HGXBw ZgoHMGEBX1FxnEqP4YaRVq2CX2MAADEgwg jov9iQgwgbJCAbaZgBBUX/8iFH9MSIPEiMYgIGaGUD0Ifq4ywMDMNA5AwiK gsVYlR/jGou9ugb/MAADCD6Oi/2SAIkARiAAQRF/QwQo/pjRC4lRjAAAzUz0KToM53mBw/gATyAB/AAHsADeAAP4AE8gAfSPFCzKDV9 /j4GL58 zF8/f5z OXX382TaG38JcG4v5W avST8RN/Da5asQn/8N8Kqxr97J1/DZ9is43ajzgRJxhYzwCirxGR60Pe 6LP Cn6/TnR03v4h/ eeGes64s8fIfvYAAGLAOIPkRfk3dMKXopem0S6/EV/uG/R 4ZM8UrDMAADKxnoFnRR9DXBx3f4TsYgAEYgAEYgAEYgAEY6IcB RF jd/qYpP1MUmJNrGEABmAABmAABmAABrYwsFL0nYfr3TxgNAzD/TqcR F0GW7PXZ/73OCErgntc6 Z2b68WnLaf5x7ud2H6zlw3fk62C4/unkbLhsFX6it0L5HgEJjDe0L9N3vZ43jX hTF P3 Lpfz95js6FYh/a1Gf/zKyE8k8Dt0tX4T6c68t841xwWb5cEnvz8Mr6jk001AAAFUElEQ VR/Z3PXGAf79BxLLNcojX/XGBcf/8PXofUstE88xy Nn2Nebl07x7nuwS1 wA/9MLBO9JlF91nUPTZPg3m1ha4pDuz2C6bANafQvsyEbtv/XJAXRN9LoJ6Gse1hrfCzBZ7bVmifA1JorKF9zY7/c6yfMfncF4z1kcZvCs03odPR B1ue5z/BmWb8/Yb/0OYzQk704 5Y6 87MRtsi8yN/cbozOH3vq67/jLxLjQ F9/xCi/xk24fGNgyT8cw3cwAAMw4DLwJvqGlxCyIsa9m/dw3mTBfxYH7oL4WeAbGw9hFbomtM/tXHzbLPruouS/d4JtinJX9J1Ow2f7j JhegdwfvyPfoXa8vf1Nn7jb9cHHY0/KPo6Gv rGPsc8 MPMX3M/zL5z/yxzc1/Tr575rdR9Dl3vl75/XIb7nf77MP7H78 c PzD2STP2jsGePpmPw1Yc/xl4qxP2b3vdb461njluPv oJtfAUDMAADywy8ib7Ts3h9aLnwxZNjjzfDeJ19vNO8jkXCZ3E Quia0LzlgtpCZFCOu4PD6bs73RJ8Vp5N JIz/0cdQW/6 zsb/FpOOxm/HPs4BW0R3NP6n6JuIhfFuwcMXkzn2eDM HfC6E/Xc1 z8n8R/h/xn/G3a9HPaS3w//qj18q8Tn3Gf4 9pzB55MxQvG5vp YqMO2OxbU9e9x5/iRgv UBx/A8/uZYcPfVzD S77hGI AwgAMwMAbA2 ib6xZ79fhGvkLsn2UyQondzGeFgWPImKy71lwhPa5dlK2JzbeF iRH AUWSHut6c7kJzL 9AXxs33b1njtYccfiPVz0jF 55Hnw8b/swD05y7xF45/IJ FfP5 p8/8Pe5x987N4a/thfn6sL9/jP1xje LjX//HFdi/I82fYFnxh7aF/CJYI4Ljp9i7q2Yw08PDvEDfoCBeQbeRJ911iNnz1z4TOjm3Pfz TFFgHzlyCoTQNaF9mcncmPgsWOYXpLe/ipsLn4 eProxHWton/XN4zXUlr vt/E/fPgZE8ZvH292/zjyYuuxMS7er30N8z8RduM4eoy/GbNy/ksQPG5udh8BNDFKEX1BXiePxNt8qR/jad6N3 G059s5JTn h 0dYryUB/aI/9i v56ZmPv7CsR/yTccQwzCAAzAwCwDb6JvvOP1ejTzef/r7REik/i9Y2Yheu4ai4rR6c6CMC4W3jXBfbaYmH81hcvr59U309bnz2cf nnac/j3Oso/g2YXs89rPR1Of 15t2D6F2prbZ9sJ OxA45 PCeN/fEvssePvfn7PFt3TfQcfv5NfPnPPDvlv/Mi1 02xTh6yecuoH cnSfQFc5M7HjcXys/xT4ZsO5 vk1yz5/h3jHH58TscjU8rG//P7ds3/ku 4djnPMEX AIGYMBn4E30 SfwHmhgAAZgAAZgAAZgAAZgAAZgoF0GEH3cBp69DczEbndiEzt iBwMwAAMwAAMwAAMwYBlA9CH6EH0wAAMwAAMwAAMwAAMwAAMHZ gDRd DgWmXPK3/lgQEYgAEYgAEYgAEYgIF GUD0Ifr4qw4MwAAMwAAMwAAMwAAMwMCBGUD0HTi4/DWn37/mEHtiDwMwAAMwAAMwAAMwYBlA9CH6 KsODMAADMAADMAADMAADMDAgRlA9B04uFbZ88pfeWAABmAABmA ABmAABmCgXwbeRN// j//b5j778u3HwP/4QMYgAEYgIGWGfjzn/88 P 1PB76znyEARiAARhIYcBd 05zgs/s//r9J//hAxiAARiAgaYZMIue 2Pes76xvsMADMAADBydAXf9 /8DsLveFHyzpQAAAABJRU5ErkJggg==اعتذر حاولت ادراج الصورة ولم استطع
ارجوا ان تكون الفكرة كافية

most
17-07-2020, 12:06 AM
بداية اليوم تقصد عند افتتاح اليوم يمكنك استخدام الفوليوم
مثال إذا كان فوليوم اليوم اصغر من 10 تكات ينفذ الصفقة :

if(iVolume(Symbol(),1440,0)<10)//...

اشكرك جزيلاً استاذي الفاضل .. تقبل فائق تحياتي.

ابو عمر
17-07-2020, 01:24 PM
https://www.fxprg.com/vb/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA30AAAHcCAYAAAB iVcPbAAAgAElEQVR4Ae2dT7LjuLKftRAPvYY70D7uAu5EW/AW7lBTr6Fe NW7disq/MrP7sGbVPhW2z1zaOAIn7EjHL0BOkAJOiAEEgCZSQDEd050i KfBJD5IZG/Q0p1Op1OA//hAxiAARiAARiAARiAARiAARiIMzAMQ/X66ePjY/jX3/73678TgY0HFh/hIxiAARiAARiAARiAARiAAcMAoo 7htWrfpIVyQoGYAAGYAAGYAAGYAAG1jOA6EP0IfpgAAZgAAZgA AZgAAZgAAYOzACi78DB5a8h6/8agu/wHQzAAAzAAAzAAAzAwFEYQPQh virDgzAAAzAAAzAAAzAAAzAwIEZiIm y 0 XM/zIn9y/HIz5h4/9 twdv12vg734TZcxn3n4XqfOc 95rnNF7kEnHKUvzowjvnJhW/wDQzAAAzAAAzAAAzAgAQDRnqF7VyGh4SbE31Lxx i7naxMTLn3of7/Sn6jDi8XcZ2H5v2vPArog/RNwNpGJgw0JyLX2AABmAABmAABmAABvpkYF70GX8Y8TYn paPf94BtDbM60P0na/34X49P p4RwDOMYjoQ/Qh mAABmAABmAABmAABmAABlYy8HzIcnx5F11WsM0J4pnj5lHO5 Odn3fyPkXf577TcEoUfV/Rj w3/ 78M//ZffTKznOsR fAMDMAADMAADMAADMAADMAADLgPid/ocwfe4U jKymEY7tfhsuJOH6IPoctfdmAABmAABmAABmAABmAABlYwkCf6 zGfz7JexGPHs3embCD5fXH/e6XPv7k3u s303zzeieibcY6r4Nn2oeM9TMAADMAADMAADMAADMDAvOizX9T yuFP3 FIWV/S9Hzef1XN/Xp/bG/WKI/pGsfg80/ Wz4C2QfQFnMLkZfLCAAzAAAzAAAzAAAzAAAykMGCkV8p5Jc9B9 CH6qoe05AShbZI9DMAADMAADMAADMDAEgOIPgQVggoGYAAGYAA GYAAGYAAGYODADCD6DhzcJbXPMf4aBAMwAAMwAAMwAAMwAAN9M IDoQ/TxVx0YgAEYgAEYgAEYgAEYgIEDM9CU6Ptn/p0 JmNLk3Eo/Jej0u23FCv6Sm6BARiAARiAARg4MAOIvgMHl9v1nYsuRB LF/kNBmAABmAABmAABk4no/mq98Pr2zu501dYxJA08iZLadFVun14yeMFf EvGIABGIABGIABJQYQfUqO5S4bAvVUWnSVbp 5xcIFAzAAAzAAAzAAA1UwgOgDxCpAPKRILi26SrfP3GJuwQAMw AAMwAAMwEAVDCD6ALEKEBF9CndGEX2wTX6DARiAARiAARiAAT7 Tp1BoM7GYWJaB0qKrdPvWD7wyJ2AABmAABmAABmCgKAPN3en7l 9 MvxBr KABBkqLrtLtM0 LJndyRAM5gjnCHIEBGIABGNiJAUTfTo6mAOuwACstukq3z9xiI YMBGIABGIABGICBKhhoS/T9ffgn7vR1KJ5qSRZGRGn/So4V0VdFkuUPPuQsGIABGIABGICB0gwg iSLbGwdu8jWFlHS9qXtwfex Sa xBcGYAAGYAAGDssAog 4Dwu3 F9UtEWUtH1pe8wV5goMwAAMwAAMwAAMNMkAog9wmwRXXNClcKA toqTtS9tL8RHnMJ9gAAZgAAZgAAZgoDoGEH1AWR2URQRdCgfaI kravrS9FB9xDvMJBmAABmAABmAABqpjoDXR9ze yIUPwhYThdoiStq tD0SeHUJvNhcgAVYgAEYgAEYgIGmGED0AWxTwBYtcrVFlLR9aX vMFeYKDMAADMAADMAADDTJAKIPcJsEt4j40xZR0val7TFXmCsw AAMwAAMwAAMw0CQDiD7AbRJcRF/CY76IPtgmv8EADMAADMAADMDA6WQ0X/VPj4GL58 zH84z//feAzfUzccsBqi6iYfXNc xe yvGF7/E9DMAADMAADMCAEgOIPiXHFrkTxVh0E0VMlG31f8z 8PgrzfinGoX/jYJy6xi4XpdB/It/YQAGYAAGYAAGVjCA6FvhNARdwqOFR/RrTJRtHXPMPqKPJL VMa6HIRiAARiAARjokgFEH B3Cf4q4R4TZVtZitlH9MHqVsa4HoZgAAZgAAZgoEsGEH2A3yX4 iL7350N5vLPTO9jkQHIgDMAADMAADByeAUQfkB8e8lUCL8RF7E 5c6JqcfTH73OmD1RyeOBdeYAAGYAAGYAAGngwg pgMTIZUBmKiLNXO3Hkx 4g WJ1jh/2wAQMwAAMwAAMwsMAAom/BOWJ3iGjjGJMwJsq2xjlmH9F3DI62csL1cAADMAADMAADMJDJQ Hui73 YGPPZG3xQgIGYKNvKZcw oo8Ev5UxrochGIABGIABGOiSAUQf4HcJ/irRHBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwYQfYDfJfiIPjP 1pz98e2eBu8fkH/IPDMAADMAADMDADgyYqm9V/btD32y/Pj4 hi/ffgz/ P3vw9/ hcc7qw YDdzhXmN34rZOiph97vTB/lbGuB6GYAAGYAAGYKBLBhB9gN8l KsEaUyUbWUpZh/RB6tbGeN6GIIBGIABGICBLhlA9AF l Aj qaPdo6JICY6mSvMFRiAARiAARiAARhokgFEH A2Ce4q0bY11tqiKGafO32wupVhrochGIABGIABGOiSAUQf4HcJ/irRGBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwZiou9yuw/X8/yX2k2OX27G3OPnfh3OhqnQvvN1uNvzhmG4X8 LvueLXJici4CsEnBrfBoTZWtsutfE7CP66uDAjRnbxAQGYAAGY AAGYKABBoz2CtfMl Eh4eZE39Lx83C9D8PtMhWLRv N 4zou11m2p1eY/qG6GsApDBE78Fs ryYKNsap5h9RF9y0mias60ccT2cwAAMwAAMwAAMeAzMiz5Trxv xNif6lo9P7gCObTq2toi /8o/2QDEHsS7FfgxUba1XzH7iD7Y38oY18MQDMAADMAADHTJgPOUZW D8jlAL8jFz3Ig6 3inuc4 zmnv7tn3Y O34RK0/XmTaHKnD9H36ZjdxE4kQN30IybKtvopZh/RF0hSzIdu5t/W cX1zB8YgAEYgIGOGRC/0 cLPse35 v97fN7oX1 DYPoc5zoO4f3Oxb9MVG2NU4x 4g FqutjHE9DMEADMAADMBAlwzkiT7zOT73zpx3p29B8BltYj7T53 9pS2ifr2MQfUzOOiZnTJRtjVPMPqKvDg62xpnriSMMwAAMwAAM wMDODMyLPvtFLeMzmM8vZXFF3/txc9fO/TECb7Lv chnaJ8v9Nz3iL6doXCdz7ZzJzEmyrbGKWYf0ccCsZUxrochGIA BGIABGOiSgXnR59S6hdlA9BUOAMLvORliomxrnGL2EX1dJmnmX z2LEbEgFjAAAzAAA60y0Jbo zn8jS9yYbIVm2wxUYboQ5RtZYDrYQgGYAAGYAAGYECBgdZE339 E9CH6EH3uU9Ry2ydtUauQwIqxwFhYkGEABmAABmAABhpiANHXU LAocAsLXm1RFLPP450sLuQrGIABGIABGIABGFjBAKJvhdMQX4X FV6mYxUTZ1n7F7CP6SPJbGeN6GIIBGIABGICBLhlA9AF l CvEu4xUbaVpZh9RB sbmWM62EIBmAABmAABrpkoCXR9/X7z4HP9DFRy03UmCjbGpuYfURfudhvjS3XEzsYgAEYgAEYgIGC DCD6Cjp/1d0m lsuYcRE2dbYxOwj srFfmtsuZ7YwQAMwAAMwAAMFGQA0VfQ Yi xj4bGBNlW1mK2Uf0sVhsZYzrYQgGYAAGYAAGumQA0Qf4XYK/SnDHRNlWlmL2EX2wupUxrochGIABGIABGOiSAUQf4HcJPqLPTP 3pD/9OX2N3nsld5C4YgAEYgAEYgIFEBkzVt6r TbQvYfvj42P48u3HwBe57Oh0icAdzkbsTtzW MTsc6ev mR1OOa3Ms31MAsDMAADMAADVTCA6APEKkBsoliOibKtLMXsI/pgdStjXA9DMAADMAADMNAlA4g wO8S/FUiMybKtrIUs4/og9WtjHE9DMEADMAADMBAlwwg gC/S/ARfWbqT3/4TB f6Vs1L8ih5FAYgAEYgAEYqJ4BU/XVvs7zmT4mUh2Qxu7EbY1TzD53 urgYGucuZ44wgAMwAAMwAAM7MwAom9nh9eusOnfwt2emCjbylL MPqKPBWIrY1wPQzAAAzAAAzDQJQOIPsDvEvxV4jYmyrayFLOP6 IPVrYxxPQzBAAzAAAzAQJcMtCf6/qeJ08LdGI51CfIuTMRE2Vb2YvYRfbC9lTGuhyEYgAEYgAEY6JI BRB/gdwn KpEYE2VbWYrZR/TB6lbGuB6GYAAGYAAGYKBLBhB9gN8l Ig M/WnP3x7J08QrJoX5FByKAzAAAzAAAxUz4Cp mpf56ff3snjndUHrBqgYnfOchOUtD2//Zj91u70xcbjj5/3zG0YgAEYgAEYgAEYUGEA0QdYKmBVIfykRYe0PZ 9mH1E33FZ9VngPbGGARiAARiAARgQZADRJ jMKoQO4/lMEDERlesraXtzH7iL7P2Pq 4z2 gQEYgAEYgAEYgIFZBpoTff Nxztng4no9D6TFRNRuYlB2p7ffsw og/2fWZ4DxMwAAMwAAMwAAMJDCD6EpyEmPLEVCs i4mo3HFI2/Pbj9lH9JHUfWZ4DxMwAAMwAAMwAAMJDCD6EpyE6EP0jQzERNlW lmL2EX0k9a2McT0MwQAMwAAMwECXDCD6AP 44MdEVG7spe357cfsI/qOy6rPAu JNQzAAAzAAAzAgCADiD5BZ3JHsLI7gjERlRt7aXtzH7iD6Sv88 M72ECBmAABmAABmAggQFEX4KTEHOVibnUmMVEVKode560PWvXv sbsI/pI6pYVXmEBBmAABmAABmAggwFEX4azEH Nib YiMqNvbGn/bvUJ0RfXnKXjv9SbDiWFxv8hb9gAAZgAAZgYFcGEH0Atytwuwr n0kW/dPuIvjxWpf1PrsjzP/7CXzAAAzAAAzBQDQOtib7/xL/T19jdtpKTvXTRL90 oi8vcUr7vyTLtJ0Xe/yFv2AABmAABmBgwgCiDyAmQOx6J07b96WLfun2EX15rEr7X5tX 7OfFF3/hLxiAARiAARhIZgDRByzJsDQnCEsX/dLtI/ryWJX2P7kiz//4C3/BAAzAAAzAQDUMIPqAsRoYxUVl6aJfun1EXx6r0v4nV T5H3/hLxiAARiAARiohgFEHzBWAyOiL/J5TURfHquIvjx/kQvxFwzAAAzAAAwcloGY6Lvc7sP1PF LTo5fbsbc4 d Hc6Gm9C 03m43r3zFhj7 PgYvnz7MXz9/nPgi1wWHCUumlpvq3TRL90 oi8vEUv7v/X5QP/z MFf AsGYAAGYOBADBjpFdYKl Eh4eZE39Lxh6i7XaZi0ei/cd9jY2z3tW/Bp4i BeeEgzd1fLfnlC76pdtH9M0kqxnepf3PPMzzP/7CXzAAAzAAAzBQDQPzos/UUUa8zYm 5eOTO4BjvD9tna/34X49P3zgCMA5bYLoY8I8YDFFvPavpK lRQeiLy9xSvtfkg1s5cUSf EvGIABGIABGNjEwPMhy/HlXXR9CrX3Ywui73wd7vbxThMf8960cLuMfZ3c3UP0zdylAOx3 sLWLeGn7CvbcCSu9PQpqSe6kx5/bt9Lt5/aX89/nPD7BJzAAAzAAAzAgwoCpG8OCbkHUvXwfEIW 4HudexrsHT77OraL6EP0zQPo Ua7iJe2r2BPWui59hB9Hm9O8kpmlGsWFhT8C0cwAAMwAAMwUIq BPNFnPsd3Gy6vusYTfQuCz4zP6LvxsU5H6D02l PP450vhy87qhREu7UrLaJ8v0rbV7DnijTpbURf5/PLnw 8R8DCAAzAAAzAwGEYmBd99otaHpXl40tZXNH3ftzcwXN/jMCb7Hs98mnE4vPM1775egvRx4R7TDhpEeX7Vdq gj13gklvI/rmk9Buf9jwmeT9YRZbGGJ wQAMwAAMlGTA1I0l209pG9FH4YfoMwzwRS55yUpadDMP8/yPv/AXDMAADMAADFTDAKIPGKuBMfoXAO0iXtq gj3pu3uuPe708RfI6BwkX7aTL4kVsYIBGIABGHAYQPQ5zqDgqb zolRZRfuyl7SvYc0Wa9Dair3L fV55z2IOAzAAAzAAAzCQyACiL9FRCMIKCmJpEeXHXtq gj1poefaQ/RVwLjPJO9ZzGEABmAABmAABgQYQPQJOBFBuFOxLC2i/NhL21ew54o06W1EX4RjE0/tX59J3rPQwwAMwAAMwAAMCDCA6BNwIqIvUixL VhaRPn9kravYE9a6Ln2EH0RjqXjqc2fb5/3FA0wAAMwAAMw0C0DiD7gbwf 1opu6f7y7Z15rCr4X/UPPNL9Jbfl8YK/8BcMwAAMwMCBGWhP9P1ueIz8RZ7jx5y02kWxtH0Fe 6dOelt7vRF8op0PP08pW3fb4/3x8yTxJW4wgAMwAAMBBhA9AWcgqiMFL lfKZdFEvbV7AnLfRce4i CPfS8fTnkbZ9vz3eUxTAAAzAAAzAQDcMNCf6fuVOXzdwvolv7a JY2r6CPVekSW8j hB9b3OOYqDffEvsiT0MwAAMHIoBRB9AtwO0tIjyYy9tX8GetNB z7SH6EH2IvggDfs7gfTvrB7EiVjAAA50zgOjrHICmijxpEeXHX tq gj1XpElvI/oiBb90PLX58 3znoIHBmAABmAABrplANEH/O3A31rRLd1fvr0zj1UF/6v kUS6v S2PF7wF/6CARiAARg4MAOIvgMHV7xANUWp9u9SPLSLYmn7Cvak7 659rjTx50 8ZyxNJ85RnEFAzAAAzAAA7sxgOgDtnTYpEWM7/uY/dhx317ue237uf3xz dOXzqrxnfS8ZS2F4gvoisivH2f8T5vTuAv/AUDMAAD3TKA6AP dPhLF72l2y/NCqIvnVUTK2lepO35PGnb99vjfR5P At/wQAMwAAMNMwAoq/h4O1 V0C7KI3Zjx3fGktt wL9cx/HlN5uTiTF/CkdT2l7fv 17fvt8Z7iBQZgAAZgAAa6YaA10fcL/05fwceftIvSmP3Y8a2JS9u QP khZ5rD9EXmVvafGjb38of13dTGOz B0XYgi0YgAEYUGcA0Qdk6ZBpF6Ux 7HjW2OpbV gf65Ik95G9CH6KPYjDGydw1yfvt7gK3wFAzAAA6IMIPoAKh0ob VEUsx87vjWW2vYF ict9Fx7iL5Iwa/Nh7b9rfxxfXquxFf4CgZgAAZgoDIGEH2VBaTqv7RrF6Ux 7HjW2OpbV gf65Ik95G9CH6qs4/W cP11OAwQAMwAAMdMwAoq/j4GcXeNqiKGY/dnxrLLXtC/RPWui59hB9iL7snLCVaa6nAIMBGIABGICBXRhA9AFaOmjaoihm 3xzX/q2ZB/7JhnRWTRzNr2Q8pe35fdO277fHe1k 8Cf hAEYgAEYqJgBRF/FwREtWCXGqV2UatuX8EFJG4i vMVEmidpez5L2vb99nifxxP wl8wAAMwAAMNM4Doazh4u4tC7aJU237rsUb05S020jxJ2/N51Lbvt8f7PJ7wF/6CARiAARhomAFEX8PBQ/QJP75XOwuIvrzFRlpESdvzedO277fH zye8Bf ggEYgAEYaJgBRF/DwUP0IfrMBJb6ae4zcLG5Ky2ipO35/de277fHe4oXGIABGIABGOiGAVMv7q4dMvn6 PgYvnz7MXz9/nP45dffTX87K/ZrGa92UaptvxY/ru0Hd/rykpU0T9L2fA607fvt8T6PJ/yFv2AABmAABhpmANHXcPB2F7/aRam2/dZjjejLW2ykeZK25/Oobd9vj/d5POEv/AUDMAADMNAwA4i hoOH6Ovsji iL2 xkRZR0vb83KNt32 P93k84S/8BQMwAAMw0DADiL6Gg4foQ/SZCSz1w2f6IjxpizJtQ6ihUYgAEYgAEY6JYBUy/urh0yeeMzfZkOUwuodlGqbb8WP67tR 93 gwf2r9LsdHmU9v 0tg4Vv1CqJbXiT2xhwEYgIEuGED0AXo66NpFqbb91mON6EtndU 2sY/zFjq9p071G277bFtu6LOFf/AsDMAADMFAZA4i ygJS9V9ztYtSbfutxxrRp7uAxPiLHd/Kl7b9rf3jel3 8C/ hQEYgAEYUGQA0afo3KoF3Jpxaxel2vbXjLmmaxB9uotBjL/Y8a2saNvf2j u1 UP/ JfGIABGIABRQYQfYrORfRFvhjD9z1F73KyQ/Qt 8fnKfd9jL/Y8dz2/PO17fvt8V6XJ/yLf2EABmAABipiANFXUTCqF4naRam2/dZjjejTXTxi/MWOb VL2/7W/nG9Ln/4F//CAAzAAAwoMoDoU3Ru9SIud zaRam2/dzx1nY ok93MYjxFzu lRdt 1v7x/W6/OFf/AsDMAADMKDIQEz0XW734Xqef0pvcvxyM YeP/frcDb9Du07X4e7PW8Yhvv1vBhj/skGRQCyhKl2UaptvxY/ru0Hom8xUWSxHIpBjL/Y8ZDNnH3a9nP6wrm6rOFf/AsDMAADMLAzA0Z7hWuly/CQcHOib n4ebjeh F2ccWis8 Ivttlpl33msc2om9nKMJAPP FNM2 UPQuTwpE37J/trIZ4y92XLv9rfa5Xpcf/It/YQAGYAAGKmZgXvQZwWWE2pzoWz4 uQP4HP9rH6LvXdnOCq2a4KHoLZvMEH26/o/xbY5r/9Y03 mLLm/4F//CAAzAAAzsyIDzlGXA7ytFnxF19vFOOxZ3n9l NXwbLvacmVfu9M04ZnehGCuKt/ZT2/7W/pW HtEXSFKCf0CR5k/aXmn aF XP/yLf2EABmAABhQZEL/T54o72 /Qvuex8/XOZ/p2F282MLmv2kWstv3c8dZ2PqJPdzGQ5k/aXm080h9dHvEv/oUBGIABGBBkIE/0mc/xuXfmvDuBIXEX2uf033zPC1/k4jikagGoXcRq22/Fz3P9RPTpJn9p/qTtzXHBfl0u8C/ hQEYgAEYOAAD86LPflHL4znMx5eyuKLv/bi5a f GDEX3ec/BhrwKY93BpxSRBxqF7Ha9mvx49p IPp0Fx1p/qTtreWG63S5wb/4FwZgAAZgoAEG5kWf4EdlNvoB0bfRgWICUbuI1bZfix/X9gPRp7uoSPMnbW8tN1ynyw3 xb8wAAMwAAMNMIDoayBIYqJt61i1i1ht 1vHX/p6RJ/uoiLNn7S90vzRvi5/ Bf/wgAMwAAMKDKA6FN0bjViTWqM2kWstn0pP5Syg jTXQyk ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiD/tIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2UH06SZzaf6k7ZXijnZ1ucO/ BcGYAAGYGAHBhB9Ozj5MOJRu4jVtt96rBF9uouCNH/S9lrnl/7r8ot/8S8MwAAMwMACA4i BeccRqxJjVG7iNW2L WHUnYQfbrJXJo/aXuluKNdXe7wL/6FARiAARjYgQFE3w5OPox41C5ite23HmtEn 6iIM2ftL3W aX/uvziX/wLAzAAAzCwwACib8E5hxFrUmPULmK17Uv5oZQdRJ9uMpfmT9pe Ke5oV5c7/It/YQAGYAAGdmAA0beDkw8jHrWLWG37rcca0ae7KEjzJ22vdX7pvy 6/ Bf/wgAMwAAMLDCA6FtwzmHEmtQYtYtYbftSfihlB9Gnm8yl ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiEftIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2Skt kx8tH XfKvNh7R9aXtLvuEYCz0MwAAMwAAMwMACA4i Becg k7TyaNdxGrbbz3WNYg TR/G4h87vrVv2va39o/rp/kIf APGIABGIABGEhmANEHLMmwjHd5NP1F0b0cC0Tfsn 2sgl/uv7dGh uJz4wAAMwAAMwsJoBRB/wpMOjXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891og Q4jub uMuP1nPqXnNtdvbOM3GIABGICBAzKA6DtgUNX UXntIlLbfuux7l305cavd556H38uL5xPkQcDMAADMHBgBhB9Bw 6uuPjTLiK17bcea0Rf3mLUO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBmQhH7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgFB9J3S/aPNEqIvLxa9i57ex689H7GfNx/xF/6CARiAgaIMIPoAMB1A7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgHhTh93 l4MaIsIafvS9lrLFb2Pv7V40d/0tQhf4SsYgAEYyGYA0Qc06dBoF5Ha9luPNXf60lk1se6dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4C87vIYP2kXkdr2W481oi d1T14rZ0n5lMeL7XHk/4RTxiAARiAgQ0MIPo2OG8iiHqwo11EattvPUaIvrxk3ztPvf1u xhgAACAASURBVI /9flO//PmO/7CXzAAAzCwyACiD0AWAZkIW 0iUtt 67FG9KWzamLdO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBQfTxRS4vBrRFhLR9aXut5Yrex99avOh v lqEr/AVDMAADGQzgOgDmnRotItIbfutx5o7femsmlj3zlPv4299vtP/vPmOv/AXDMAADCwygOgDkEVAXnd5jJ 0i0ht 63HGtGXzuoevNbOE/Mpj5fa40n/iCcMwAAMwMAGBhB9G5w3EUQ92NEuIrXttx4jRF9esu dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4BMhK12Ealtv/VYI/rSWTWx7p2n3sff nyn/3nzHX/hLxiAARhYZCAm i63 3A9z3 XxeT45WbMPX7u1 FsfB/adzoP17t33kKcPj4 hi/ffgxfv/8cfvn1dzOe Q5xTNE32kWktv3WuUH0LSazt7nfO0 9j7/1 U7/8 Y7/sJfMAADMLDIgJFeb7XS6LPL8JBwc6Jv6fhD1N0urv5w9hkheLu M7T423fPetxF9tUCsXURq26/Fj2v7geibSVbvSWNMar3z1Pv4184zrsubZ/gLf8EADMBAEwzMiz5TRxmhNif6lo9P7gA WbD7ztf7cL eH/5xBGBYfJ4GRF8tk0m7iNS2X4sf1/bD Ef7d6lv2vGRti9tb8k3exzTjv3R/LVHTGijiUJnrrhg/8wfzOAarmHgkAw8H7IcX97z30rRd74Od/t4p XG2Te5u4foayjpaheF2vYtjL28SvtT2p4fB2n70vb8/u79vvSd3r3HS3uHLDreC42G1kCYhEkYgIGGGRC/0 eIu1du9/Zxp69VYLSLaG37rfp9bb l/Sltzx XtH1pe35/936P6KPY2Js52oM5GIABGDgMA3miz3yO7zZcXvH37gR64m4Ufa F9zt29yV2/l93pH/54vHPGMS9Vvddx7SJa2/5efqqlHWl/Stvz/SRtX9qe39 93yP6DrPw7p6792aV9mAVBmAABqpjYF702S9qGZ/8HB5fyuKKvvfj5g6e 2M txfa9/is4PNM/zHQACOIvoBTihQN2kW0tv1a/LhXP6T9KW3P94O0fWl7fn/3fo/oq24BLZKH9 aO9uAOBmAABg7BgJFeta9biL5aJpt2Ea1tvxY/7tUPaX9K2/P9IG1f2p7f373fI/qqX6xqX0zp3/QxIvyBP2AABnpiANG3d HWcnvaRbS2/ZZ9v6bv0v6UtuePSdq tD2/v3u/R/Qh vZmjvZgDgZgAAYOwwCiD5jTYdYuorXt9xZraX9K2/PjIW1f2p7f373fI/rSc9XesaE9YgMDMAADMFA5A4i ygNU1W1n7SJa235vsZb2p7Q9Px7S9qXt f3d z2ij4Jib ZoD ZgAAZg4DAMIPqAOR1m7SJa235vsZb2p7Gn/SsZI nxS/ZtjS1EX3quWuNfrsG/MAADMAADB2YA0Xfg4IrfJdQuorXt9xbr0v7svX1p3hB9FCPSTG EPpmAABmCgGwYQfcCeDrt2Ea9tv7dYl/Zn7 1L84boS89V0r7HHr6HARiAARhonAFEX MBFL bt QP7SJe2/7S2I54rLQ/e29fmilEHwWHNFPYgykYgAEY6IYBRB wp8OuXcRr2 8t1qX92Xv70rwh tJzlbTvsYfvYQAGYAAGGmcA0dd4ALnTxz8sOstA76Kr9Pilcwu ij4JDminswRQMwAAMdMMAog/Y02HXLqK17fcW69L 7L19ad4Qfem5Str32MP3MAADMAADjTOA6Gs8gLN3eTTGpV3Ea9 vX8EnNNkv7s/f2pdlA9FFwSDOFPZiCARiAgW4YQPQBezrs2kW8tv3eYl3an723 L80boi89V0n7Hnv4HgZgAAZgoHEGEH2NB5A7fXymb5aB3kVX6f FL5xZEHwWHNFPYgykYgAEY6IYBRB wp8OuXURr2yfW6bGW8FXpeJZuX8KHrg1E3778ur5nG9/DAAzAAAw0zgCir/EAzt7l0RiXdhGtbV/DJ9icXwRKx7N0 9JsIPrmWZP2NfbwNQzAAAzAwMEYQPQdLKCqIlC7iNa2T6z3TeC l41m6fWneEH378isdP wRPxiAARiAgYIMIPoKOl9VoGmMS7uI1rav4RNszifw0vEs3b40 G4i edakfY09fA0DMAADMHAwBhB9BwuoqpDULqK17RPrfRN46XiWbl aN0TfvvxKxw97xA8GYAAGYKAgA4i gs5XFWga49IuorXta/gEm/MJvHQ8S7cvzQaib541aV9jD1/DAAzAAAwcjAFE38ECqioktYtobfvEet8EXjqepduX5g3Rty /0vHDHvGDARiAARgoyACir6DzVQWaxri0i2ht xo weZ8Ai8dz9LtS7OB6JtnTdrX2MPXMAADMAADB2MA0acZUOmi09 jT/l3yh/R4/La07fvt8V43oZeOZ n2pflC9OnyKh0v7BEvGIABGICBihhA9GkGQ7rolLbnjz1mP3bc t5f7Xtt bn84v 1kfTSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zt8c1/71 8R7EuRaBmI8r7Vb6jpEH3OhFHu0C3swAAMw0DwDiD5NiKWLTml 7/ti17fvt8b75BHIihvvFENG3n6/hGl/DAAzAAAwcjAFEn2ZApUWUtD1/7Nr2/fZ4T0KFgXQGEH3pvoIrfAUDMAADMAADEwYQfZpASIsoaXv 2LXt3xfjIZuWt2wh9LcwLRBx9LfHAMPmAABmAABhYYQPQtOGdz ES4toqTt WPXtu 3x3uSEwykM4DoS/cVXOErGIABGIABGJgwgOjTBEJaREnb88eubd9vj/eTybj5jwz489j RPQdO77MX ILAzAAAzCgyEBM9F1u9 F6nn/qanL8cjPmHj/363B2 j0573wd7va8YRju1/NijD8 PoYv334MX7//HH759Xdz7nyHqjomLaKk7fl 1Lbvt8f7RfCrYplYlY8Voq98DJgHxAAGYAAGYKBRBoz2CteWl Eh4eZE39Lx83C9D8PtYrRZ4Dwj m6XmXbf9Ryiz8KlLcq07dtx8JoMf3hyvk8SzuvAJ4g 5g25EwZgAAZgAAZWMjAv kwNZcTbnOhbPj65s fbQfStLFC1RZm2/ZWQImhW8oK/j7UwIPqOFU/mJ/GEARiAARjYkQHnKcuA31eKPiPqJo93enYmj3fehktkvNzpsw7S FmXa9u04eA1MNoQd4j7CAKKPeUPuhAEYgAEYgIGVDIjf6XsTfK aO8USf09fz9c5n pKLXW1Rpm3fCXzymLmG5AYDDwYQfcwF5gIMwAAMwAAMrGQgT/SZz e5d Y8MRcUfMuiz3z3C1/kkho8bVGmbT91nJxHQoOBdwYQfe8 gRN8AgMwAAMwAANJDMyLPvsFLI8HQD /lMWKvvfj5q6d /MQc5HzJo Bhp9u4vFOC7O2KNO2b8fBa9Lk5G5oOCF06xdEH/OG3AkDMAADMAADKxmYF3311FuIPhtcbVGmbd Og1cSFgzkM4Doy/cZnOEzGIABGIABGBgZaEX0/fnPfx7sf/w7fVrwIvpIjFpsYXc7W4i 7T6EQ3wIAzAAAzDQKQMtiT776CiiTwtWRB JUIst7G5nC9G33YdwiA9hAAZgAAY6ZQDRpxl4aRElbc8fu7Z9v z3ek3gPzsAwCrXTwCs gIH9Gej2878Hz6vEtZ7PXxGLtmKB6NNMjtIiytjT/tX0B7YReR0xQJG/f5GPz/G5ywAFaVsFKfEiXjCgy0BLoo/P9OUWzNKiM7d9zkfkwYAcAzzeKedLuMSXMAADMAADnTHQiuj78 u3H8PX7z GXX383jOoqYTH7pUVX6fZbiRP9JPG3wACiD05b4JQ wikMwAAMVMkAok8TzNKiq3T7mr7FdpUJRewPJsT3Pb6IvnefwA k gQEYgAEYgIEkBhB9mqCUFl2l29f0LbaTJjgirJGnAlJ4RvTBfA onnAMnMAADMAADAQYQfQGniBXKpUVX6fY1fYttElpvDCD6YL43 5hkvzMMADMCAGAOIPk2YSouu0u1r hbbYklA7I8cxEQ3Jog Xf/CL/6FARiAARg4MAOIPs3glhZdpdvX9C22Scy9MYDog/nemGe8MA8DMAADYgwg jRhKi26Srev6VtsiyUB7vQ18rk/RB/Mk/dgAAZgAAZgYCUDxxZ90qLH2NP XRnIYOEuPX7JvmGLpAUDeQwg vL81TtfpfN/6fZ7jz/jJ1/AAAx4DCD6PIcExZM9R3sRk7Yvbc/6gVcSCQzszwCib3 ft8x56fxfuv2WY0ffmeswAAMKDCD6cpyqvYhJ25e2l MrziVhwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHaS9i0val7eX4inNJRjAgywCiT9afR ezdP4v3f7R48v4yAcwAAOZDCD6chymvYhJ25e2l MrziUZwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHmUVM zenP7FzWXRJCDFGON4OI4i dmKlMa 01x7p9ULanoZPsdn3nCL xL8zBhB9mgEvveiVbl/Tt9gmWffGAKKvb a187m0fWl7vc13xtv3fCf xF BAUSfglNP1mbpRa90 9YPvJK8YGA7A4i 7T5smUPtfC5tX9pey7Gj733PXeJP/CthANGnGYjSi17p9jV9i22SaG8MIPr6Zl47n0vbl7bX23xnvH3 Pd JP/BUYQPQpOJU7fScmqyZX2O6TL0Rfn3G3811bREnbl7Zn/cBr3/OA BN/GFjNAKJPE57Si17p9jV9i 3Vk/71Rwl82JYPEX1txUt6fmnnc2n70vak/Ym9vucT8Sf HTKA6NMMeulFr3T7mr7FNgm7NwYQfX0zr53Ppe1L2 ttvjPevuc78Sf Cgwg hSc rqTUnrRK92 pm xTULsjQFEX9/Ma dzafvS9nqb74y37/lO/Im/AgOIPgWnIvr4TN LAU2 sN3XooDo6yve/vzWFlHS9qXt f7gfd/zgfgTfxjIZqBN0WcWE61fSYhKL3ql25f0JbayJzfC82B/fED09T0HtPN5zL45rv1Lnu bceJP/GFAlYE2RZ8WFLFFL7ddaXuttZ/bX85XneyIwMZFIKKv7/mhvZ7E7MNf3/yxPhN/GGieAUSfC3Fs0XPPTdmWtpfSpntO6fbdvrDdfLJANBYWjRTdfc 8h7Xwesw9/ffPHGk78YaB5BhB9LsSxRc89N2Vb2l5Km 45pdt3 8J288kC0Yfog4GCDGjn85h9RB85nHUcBmCgaQYQfS7AsUXPPTd lW9peSpvuOaXbd/vCdtOJgmK/YLFv5w5Fd99zSDufx zDX9/82TzEKxzAQLMMIPpceGOLnntuyra0vZQ23XNKt /2he1mkwSCrwLBZ YPRXffc0g7n8fsw1/f/LGGE38YaJ4BRJ8LcWzRc89N2Za2l9Kme07p9t2 sN18skD8FRZ/FN19zyHtfB6zD39988caTvxhoHkGYqLvcrsP1/N8rTM5frkZc4 f 3U4O3xMzjudh s9fF6orvz4 Bi fPsxfP3 c/jl19 Nz c7tOlYbNHLbVfaXmvt5/aX85tPKJvmH/Ffjj9F97J/js6P9noSsw9/ffN39PnF OC7AwaM9ArXaZfhIeHmRN/S8Yeou12MNgucZ8Th7TK2 9hc1nCIvrUgxhbxtXa5bmbSLIMcnmhcg18SGaDo7nveaefzmH3 465s/1n3iDwPNMzAv kwdYsTbnOhbPv5 Z /Tzvl6H 7X88N3jgCcq/0QfWsnWmwRX2uX65qf HOTjf2JAqzEHKDobmveSedfY0/7d4lr GuLv6VYcoxYwkCXDDwfshxf3uu9laLvfB3uk8c7p3Ymd/cQfYpFpnTRQZLoMkm8JwZFZmFsnjGK7nnf1MhN6fwr3T78tcVf jXOCPsEQDBRlQPxO35vge78jyJ2 vaCXXvT36jftFE0KiLxKRS1Fd1vzonT lW4f/trij3WUeMEADHgM5Ik 8/m823B52ZjewTsFBd 76Ds5d/cmd/1edqc1F493zjgmWpxLL/pr 8F1JB4Y2M4ARfd2H 7JYen8K90 /LXF356s0xZswEATDMyLPvsFLOOTn8Pnl7JY0fd 3NzBc38en9t7P /xWcHnmZPHQKdiz2oaRN/aySS96K/tB9c1kQzshOM1nIiK 4Wiu615VDr/SrcPf23xx7pLvGAABjwGjPQqXst4ffL7g iLOMh32Ou99KK/th9cV/0kezFDrOqNFUV3vbEJzZvS Ve6ffhri78Qk wjhjDQNQOIPncCKCySRYtp6fG4vmK768RRlOte2aPobmvOlc6/0u3DX1v89ZonGTecwsAsA4g Fw6FRbJocSw9HtdXbM9OqqIxJy7HjQtFd1uxLZ1/pduHv7b4Yy0gXjAAAx4DiD7XIQqLZFEBID0e11dsk0xgYF8GKL r39fdWvkvnX n24a8t/rbyy/XEGwYOxwCiz4VaYZFE9FX6pRhu3Nk XGIrOu 0eKLoLsupWR 0fyXZUVjPTMGg9TP6VnL82Co7X/A//oeB6hgw bv2 ogvclk7caQX/bX94LrqJ1ntSYD PeSGVsE9LgTki V5qu0fafsK9uCPP2KSi2EABtplANHnChKFRbLo5JAej srtpcLRPyDf6QZ4E5fWaa086m0fQV7iL52i72itYh0LsRe2VyI/5v1P6LPhVdhkSyaaKXH4/qK7WYnfVEm4WY9N4i 9b6T4E47n0rbV7CH6EP0sX7AAAy0ywCizy0GFBbJopNDejyur9 guW4Di//78j grG3PtfCptX8Eeoq/dYq9oLcJ6VTZ34X/8/2QA0edOBoVFsmiilR6P6yu2SSIwsC8DiL59/e3zrZ1Ppe0r2EP0IfqK1jT nOR92ZyI/5vzP6LPhVZhkSyaIKXH4/qK7eYme1EW4WU7L4i 7T7cwqF2PpW2r2AP0YfoYx2BARholwFEn1sEKCySRSeH9HhcX7 FdtgDF//35H9FXNuba VTavoI9RF 7xV7RWoT1qmzuwv/4/8kAos dDAqLZNFEKz0e11dsk0RgYF8GEH37 tvnWzufSttXsIfoQ/QVrWn8Ocn7sjkR/zfnf0SfC63CIlk0QUqPx/UV281N9qIswst2XhB92324hUPtfCptX8Eeog/RxzoCAzDQLgOIPrcIUFgkmRztTg5iR yqYgDRh hz16vYtsJ6hugjJ1aVE2NzgONlcyb r87/iD4XSoVFkgTJIgkDMCDCAKKv7AIqvT64a4/ZlravYA/RRy4TyWU7wvm9vwfzf R/S5sCsskiRIFkkYgAERBhB9ZRdm6fXBXXvMtrR9BXuIPnKZSC7z 2ed92dyG/7vxP6LPhV1hkSRBskjCAAyIMIDoK7swS68P7tpjtqXtK9hD9JH LRHKZzz7vy Y2/N N/xF9LuwKiyQJkkUSBmBAhAFEX9mFWXp9cNcesy1tX8Eeoo9cJpL LfPZ5Xza34f9u/I/oc2FXWCRJkCySMAADIgwg souzNLrg7v2mG1p wr2EH3kMpFc5rPP 7K5Df93439Enwu7wiJJgmSRhAEYEGEA0Vd2YZZeH9y1x2xL21e wh gjl4nkMp993pfNbfi/G/8j lzYFRZJEiSLJAzAgAgDiL68hVkjnxubmr/uerR1W2H8iD5ymUgu28o21 flQvyFv54MIPrcySC9SLq22WbSwQAMbGEA0ZfHT l8frT24S Pvy1znWvxNQzAgAIDiD7XqaUXabcvbDPhYQAGXAYouvN4KJ3Pj 9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBlgKI7j4fS fxo7cNfHn/u3GUb38EADFTAAKLPDULpRdrtC9skCBiAAZcBiu48Hkrn86O1D 395/Llzl218BwMwUAEDiD43CKUXabcvbJMgYAAGXAYouvN4KJ3Pj9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBloMGiezidhp7/K/pvmkmvZw3yV9T/7txlm1wOAzBQAQOIPjcI0ouka5ttJjwMwMAWBhoqunsWeu7Yi4 oO6fWsIf6K n3LHOda1ggYgAFFBhB9rnOlF0nXNttMZBiAgS0MNFR0W EjWnxr52dh xIL//5t8O/IcPNBkQnaNb8hvXsj7CgDoDiD4XMuFFn2R6UgcYH PjbhhA9OnmE H8v1X0aRb62EZIugx0k0Pdeo9t3XyKf6v0L6LPBVN40SeRIkhg AAbEGED06S6iwvkf0YewcoVVzdtiOcqtp9jWzVf4F/ uYADR5zpNeNEnkVLwwwAMiDGA6NNd5IXzP6IP0Vez0HP7Jpaj3 HqKbd18hX/x7woGEH2u04QXfRIpBT8MwIAYA4g 3UVeOP9vFX2GG7cwZxsRqcGAWH5yaym2dXMV/sW/KxlA9LmOE170SaYU/DAAA2IMIPp0F3rh/C8h jaxIzyeU0P8bfKbWxOwrTvn8C/ hYFdGYiJvsvtPlzP83Xb5PjlZsw9fu7X4TzG8jxc796 83Wwu8yR /W8OOaPj4/hy7cfw9fvP4dffv3dnDvfoU3HpBdJrX5idxGYTQzgW3xbKwONF N1qYkc7P0vbN/F6/juFRXKSxniea7nGixGVRfxU63ynX/AAAzAgzIDJ3eE8exkeEm5O9C0dfwi92 U0nIwQvF3GNh6bp FkRN9zX7jtae5H9AkHPcXpnDOFEH/gj IMIPpmFishNqVFB6IvSxsi oQ4pl7QzRP4F/82zMC86DP5x4i3OdG3fNzeATxf75938qwARPSR3IsX0A1PWnzX 6fxB9OkWG4i Zf82wh/5sdP8yJq PH/xD/4xT544P5cqXoM6Lu Xjn6 6e4c0Vfa92b8MlwiJ3 iIOeg8cSR fwMDhGGik6FZ7pFFalPl5Vdp 6Tt9/vi2vm Ev8PN 61x43qKfRiAgScDRnvN58gVos8RfMZu8E6fw9/kuLPf7ROib8YxrpPYRuTAwMEZaKToRvQ9OTTx mP6X9NztBH mvYxa/1CQXrw/E7sif0ODOSJPvM5PvfOnCcKPcE35l57d 90GiZ3/Z5jM/v4IpcdAs1CyIIBA40z0EjRjehzRJ/zRS5GADY9Bxvhr2kfUwu0PUeIH/GrnIF50We/qOXxHOb4pSwnV/S9Hzd37dyfh5gzwvC59/nI5 S817d8zq H3OmrHCIW2Xl48Q2 EWOgkaIb0fdk3sQL0efWBIvbfJELuVIsV1IzIb5gIMiAScK1zz NEH/BWD2ntk4j HaCgakD0uSJHnDnpz9z5eVXIvv9Ip/te3Cf GDTfN8Bf0/7VjB22qSFgAAaeX RSe55E9DFZmawwAAMNFN2Ivsdn MZF9SkiVX2yZ15ogL/aixn6d4A/vu0552iLdV YAe70uQ4V ksviZ3EDgMwIM5AA0W3qsDRzs9C9l f3UP0LT7O6R/k8U5ypnjOdOs7thFQMDCm3drnGXf6AJVkBQMwgOjTZQDRt zfBvirvZihfwhbGICBkgy0eafPLM5avxTXyws//sE/MFCGgdJFd0LOfd3pSzg3mMOX2DI2l45vPSZk3/0Mn7 t2v t449dX5q/WP84rjs/8C/ hYHmGWhT9KWCJ7SIN71Qp/qK85qfzHCqLApKz5HSRXdCPn2JvjW itmPHV/TpnuNkn3rk9djn26bLW2X5q8lX9FX1lMYgIEKGUD0VRgUiveDF 8wx2KwhoHSRXeCKLICZ1UOi9mPHV/jU/caJfvWJ4i 8eMks//jM32se6vyhjuH2WZthYFFBhB9ALIICEmYhRgGKmGgctFnxc1qX mKiK3Z8ay5XtD/6hn cfVbwjYWIov9XM7mVKa6nvoABGKiIAURfRcFgYaqkuIYJknSND CD6dLlUFB2IvkW9Nx7kTh/rHzUQDMCALgNW9MUz8r5nuHFf/ 2diou420G2dSHFv/gXBh5fe6KZhqNFdySfcqdvfp4i uLkRvmr8Q8x9En3DzH4F//CgCgDJhObeqq2H7fGQ/QBvSj0Llxszxeq KYy33CnTzcPRETtlvmA6IuXGIi yvINdYduvsG/ LcAAzHRd7uch t9Pl9Pjt8uthsQrgAAIABJREFUnzE8X4fHZffhen7mMrsveN60 DXd9RfQVAMMNANssxjBQAQOIvs8FRiMnKog /59sWHpf/RwrzZ9GzLGpO6fwL/6FgaoYmBd9t EyxmpO9C0dfwi9y20YBiPwxg2zeRqemy FF9pn 2TXQEQfk6aqSWPB5LUCIdTT3ChddEdEEY93vs8H 42dsTt99ryqc0pp/nqa64yVNR8GYECBASuwXipssmHE25zoMyfOH7d3AO/X83C2twodAfhoZv56d 17E33/7q//fkj5zzwuknIe56T5Ez/hJxgox4DJZ5o/sXwZe/xOQvQt8TW2b4Sn4u9S 2uOGTFnrrOib86GPW/ueA37Nf1ubS N056j brUPsfK5T58j 9hQI4BI7DCP/Oi7HH zPH7dTg/H Wc3MlzRZ85x4hY/9bfsyOLos89yPb7X5fxCT6BgQMysIPoW Rm4U7fZsFnFoMF 4v9UvhrqFR7RsxN/pvpqzlHqs1q7EjHU9qeHwtt 357vD8e88SUmFbOgNFYZo0I/8yIutfJgeOO4DOnLd/p846/7D76ZNeutzt99gCvBywUKp8wMAdzxRhA9DVdUCwJY0RfQl7RFm Xa9lnbmp6/xfI 3MCNIANGZxmWwzqDOf47sM5qN6jx/vuCf4xnOcu3uTu35PC2bf6/HP5z7z4s4vRJ9gwF3Hsp1QaOD7yWSEmYLMIPqaZhHRt3HuaIsy BfvuXV5y58b4sxY3nf/gvw7 rcBy9NZz035Ry6Ofj6cwXdH3ftzc1XPj hBzRhg x/p85HNynv1GT68Drh1EH8luApYLB9t1JBLisEMcEH1N5wFE38Y5 oiDKJnlLyL4r9PztSXus603PZ2K5cT7DfxH 50Wfp8J2fuvOJ0Qfk6PI5HAhZJsEX5wBRF/TecAXAP774nxJrzNCIurlF2l7/ng32PdjOff NRa/bd43PbeJK/VBKwwg ki2JFsYgIEWGED0NcvpKALM5yhmODPHWykakvu5QUQF25C258c i0/6csFvaHxyX3w/eH28uEFNiWgkDVvTVnIu401cJLDVDQt8OWDTC/XShRPRN/dEQH4g gfyUKcqy14RE 0uibulYdn8a4puxCfBNvJvN7y3xj hjojHRYAAGWmCgUtG39Fm1rMUwsejOsllBXI0QsH12feULBHvO YV6l4yltz2djwb4fq5z3h4mn7y/ev Y1Mf7Mcfiibl8g khcJC4YgIEWGED0NcepK/hMMWRFn79/POaIw0MUTgsiatX4jD3tXycP5Ag7/9xV43Pa5vq6C2fiQ3xaZQDRR6JtrpBqdbLRbxaKTQwg prKVUFhZ4XfjMALXbOJmZLrm7Toyx3LivZ98Zbzvtk45fqV85v KQ3BJ3eEygOgjgZHAYAAGWmAA0dcEp1YouAut3R7v9M0Ivtc5k eP2vOpfV4gu0TE927fxMK8h7x3O2QPfaF/Yxf8AsMlGcA0ddCsUcfg4s1CaR8AiEGO8YA0Vd9HpgTFnaejKI iIZ/H7Fh7Vb9WIPpyRVzK VX7PIEt r9jziYe1efs3uYDoo9JyaSEARhogQFEX/WcLom1UVAs/LMNfvGxZMs/t8r3BxN9Vfq4hbxFH6vPW7Ddzx8CEH0kJBISDMBACwwg qrnNCTURrH3fLTQfpFLapEVspd6bfHzDiD6ivuwhbxEH6vPS3D cj6iLxRrRR8IiYcEADLTAQIWiL1fELC5IpUWCAAO SPPfm/Hn ixkY9GPAuMQsV86nma /LHtPxE/1BIP sE6BwPdM4DoYxJ0PwlY2PkrWBMMIPqqz1WuQHO3Xb4QfTvlGwH R54pGN4Zs7xRD6rPqcx5zoa25gOgjqZBUYAAGWmAA0Vc1p77I8 9/b4gjRt1ORJCz6EIA7xa2FXEwfq87FNtfy j5nEX1MXiYvDMBACwyYx W0f5f8EHhcL1fALC7CAfuL5y/1dedjvsDz37vjyPXZki3XbnXbpeP5bN8Va3bb9ZXdt bVtcP2e4GJT/AJDNTFAKJv5 KACVDXBCAexOOwDEgX3QF7uQJm0dcB 4vnV5K7Q2Jhqd 5PjP2l xVe6ySeObEJ3Ru6r5q41DJPME/jc5j Gkz/87EDdE34xgSFAkKBmCgaQaki 6AvVwBs jPgP3F8xvN3bk Q/Rty0Nzoi3G1tx1Kftjtjm Lab4D//BwDoGEH2NFg4Avw54/IbfumFAWkQF7OUKmEXfB wvnt9o7s71GaJve84KCbUctkLXp 7LaYdzt8caH JDGJhnANHXaOEA1PNQ4xt8AwPPT/9J5jdPlOWKl2hMPPvR8yXHtrOtHN8h rbns5BAW8tXyFbqvrVtct12BvAhPoSBk9F81T u vHxMXz59mP4 v3n8Muvv5v Ai8 gAEYgIFFBqRFlGcvR7gs9tPmc89 0jX22sZec3yXKijsedX4raJ4Wt/4r1t95dvLeb 1ba4n/8MADOQygOhrrFjIDTDnkxRgoFMGpItuz16OcEli0LOfdE2j TvVd1ZEpPrCnJ96rvp5lcXT tJ9lfSBazd3W7If2KpoDjSan2DouAzFRN/ldh u5/nxT45fbuOdw/F/9 twHnk/D9f7c/fivvk2uNNH4qinkCEWxKIVBqSLbs9eqnBJLiA8 8nXtRIPp58pvjPCwfjAvqb4I fcFHubzqksniEhtml8TjxdO6F2cva5ttieLwzxDb6BgXwG5kXf ZXhIuDnRt3T8IfRul9NwMkLwdhnXrsfmzL6Z/GliiuhbcA7Q50OPz/BZFwxIF92evRThkuVnz37WtY3lyJjvXPHmbsd8knNuzNbm45XF c054bR7nAntzbabu1 wbtlkHYaA/BuZFn/GFEW9zom/5uL0DeL7eh/v1/Lg58BSAoX1L7CH6FhaVJcdxrL8JTcyJ YsB6aLb2HN X8LF2eceX7XdSa57 S4wXl 4 e9f8U24dulc9WOGi0AfS 4Lia29 hNqO3XfXn2knfqYJSbERJKB54OX48u73ZWi73wd7s9HOV9390z uf4q 0L73tj/jjOirbOFcChbHPsHFF/jiyAwsCZcjj1tibHO Cwm80L65PuScO2fjyPtDIqvEeEP9SN1Xor 0yVoGA8dgQPxOnyP4DCOhu3qhfUs8IfoQfdX9xXgJWI4dIzkSx/k4zokWfDbvM983vg/nBNvcft eeZ9zbuj6HvaFxFXJcYf6k7qvZL9pO32u4yt8VQsDeaLPfI7vN lxeGsS7E gJvnGMz7t7Zvt1hy 072XznQ1E34JzagGJfryDi0/wyVEZ8AXLUcepOS7Xh3NibW7/XL9yz5 zc T9IUFVy3hDfUvdV8sY6AfrHgzUy8C86LNf1DITmMX8pyckXf 3FzB8/9eXyW7/GlLuN vr2zXhCYpMQGBmAglQFXsKRew3lTvqwPl4Ta0rGQP3PPD9k4 r45EVXbuOf6mbK/trHQn ncxx/4oxQDRoyVaju1Xe70caevekhTYeY8kv0RGLCC5QhjKTWG0YcL/67eGgG35ppS4y/Zbkg4lexPrO1Qf1P3xWxznDUJBvphANGHoEJQwQAMwEAWA4i 7UXCWLTPcGeOrSnE1l63pq2WrwkJplbGE p76r5Wxkg/181//IbfYgwg mYW3ZjjOM7kggEY6JUBRN829sci3XzxSmD9McfWcLX2ujVttX7 NnEhqaVxzY0jd39JY6eu6nIDf8JvPAKIvsOj6TuI9EwcGYAAGP hlA9H36Yg0XY2EeEH1m/1p7a67r ZqQOGrVH6Gx5Oxrddz0e12 wG/9 g3Rh hbVWSQNPpNGsS 79gj LbF3wq7UFG Zm5Ze2uu7fkaKf/X5sPQuFL31TYW rMt1 A//OczgOhD9CH6YAAGYCCZAUTf kLCFWhjIR642 cv0kvvXXtL53HsPWZzQuhIvpobY8r I/mBsbzzj0/69Amij2IvudgjSfSZJIg7cXcZQPSt58EVaWPhvUH0ubbc LCdHp Q Dmq/0JjTd13VJ8wrvS5gq O4StEH6IP0QcDMAADyQwg tYv/q5QGwvulaLPtUMxti0evvDpwZ/ mHPe9 Afxrh TuG7un2H6KPYSy72mMx1T2biQ3z2YADRt56zt J6hegzNvaIcw9tvMXjj9PQm3/nfJCyvwdGGCP55kgMIPoQfRQQMAADMJDMAKJPrgjK9WVvgmSPY iskbvZot8Y2Qr5I3VfjeOiTXK7Cl8fwJaKPYi 52GPSH2PSE0fiuIWBXKGypa2jX5vjSwSfzrwNiZqjcxcbX8gnO fti9jmuwzJ xa8xBhB9iD5EHwzAAAwkMZAjUmKLD8cfBUqKTxF8usVcSNDA55 PP5yOvIR l7MOPuuziX/ybwwCij2IvqdjLgYpzSUIwcEwGUgQKsc LfYpPEX15Ps1lMCRecm30cH7IT6n7evAPY9Sdp/h3u38RfYg RB8MwAAMJDGQIlBYmPMW5hSfIvryfJrLYEi45Nro7fyQz1L39e Yrxqs7f/Fvun8RfRR7ScUekyp9UuErfHVUBlIEylHHrjWuFJ8i vRziitYtGJ9VLuu73K3j oTxqU/Z/Fxvo8RfYg RB8MwAAMJDGQIlBYiNMWYr84dv3mHzPv3eNs449aGQixm7qv1j HRL bbURhA9FHsUUzAAAzAQBIDiD6Z4scVcaNPHVHnHjtKocE4ZLhp zY pYi90Xmtjpb99Mt5a3BF9FHtJxV5rYNNfEjAMyDKA4JPxZ0jUj UWv YfaHfEHvzL xo91 DEk7FL3EcM6Ykgc2o8Dog/Rh iDARiAgSgDiL7tC/6cqLPFL0XVdh/jw/p9aHlf80p8648vMao3Rog ir1osccErncCExtisxcDiL5trM0JPhO/sfhlLWIt6oyBNaLPvWav3Ec723If/qvHf4i zpIsk6 eyUcsiEVLDCD61vMaFXzmH8BmLUL0dcyAK bWbLeUS nr lyK77b5DtHXcZJl8mybPPgP//XEAKJvHe8xwWcYGotc1iJEHwyMDKwRffaannIyY12Xk3v2G6KP JMtCCwMwAANRBhB9 QWGL/hsYWpfbfExvofBKIPWX7zms9iqz xcWfPa6pjpdz987x1rRB8LLQstDMAADEQZQPTlFyKmULWLurtt 99nXsaCFwZevrF94/eQHXzzviJtHoVf8h/9gCQZORvNVn2c/Pj6GL99 DF //xxfV301/gxQcwAAMwsBcDCL51rLnF6VKsrOgzfl46j2P4BwYeDLhzK3cbH zKPemUA0cciS5EBAzAAA4sMIPrWFUmmGE0pLhB9aX5K8SXn9Of LXNHnng8v/fHSc8wRfRR7SUVJz5OEsbMo9M4Aok93DiD6dP3b /ztafyuoMvd7slPjLXPnIPoQ/Qh mAABmBgkQFEn26BgOjT9e8eBW5IYOzRLm3MsxOKSeo /DrvV3zTrm8QfRR7i8Uek7vdyU3siJ0UA4g XZYQfbr lZoHxk6qaLDnSbaNrXWc2FisfcXv6/yO3 rzG6IP0YfogwEYgIFFBhB9uov3WIwaQQGHixzuWUSuFQj dXv2mbbi89SPT 57fBz3MT6q10eIPhbZahZZEkW9iYLY9B0bRJ9u/MfCE9FXZC3KLfpzzyd36s6dLf7NjaV7/pZ2ubZeJo4eG0Qfoq/IQnv0icX4SOpHYQDBp8 yKSYNL/haz9duwb7n9lHywNHHsYWJo/uG8enlpb19i hD9CH6YAAGYGCWAYSI/oKP6JPz8ZbiXePavYs62tvO0hoO8Pt2v8d8ePvjNNz ot9OrB8tH0f0UezNFnstg03fSYwwIMMAok/Gj0s8xorMpWt7PRbzmebxOZ H2pw7l/3680rCx6GYhvaNbf3lNFz/1Ma4JHyzq42/PL5E6f7XDP8Sj7f6HtGH6HuDYteJjP/xPwxUzQCiL6PIWMmyKSJN3g352h7rNS HCuy99uX6PNSvXBucrz/f1vo4FF 7z9i8/MPz213/QWEMfzoNt4DgMXe/Livzzlo/pF539fp7kb5L95fTsCQCVeNRqc9jsUH0NRq4WGA5rpB0YaVqcQ LzOsyHhAi lvW1KRyNT0O tseO7nNbPJd4lfJtqO9StrEjO e2 tONtbVlBJjZr/EI4ihgfjsNZ6cOeYmaPyq8w/in03B/ mMUpeZO3QYxbMbq /X816fI9vyyRzxsG629IvqcCdRa8OhvXYsA8SAeR2QgJESOOM69 x QWjWbbtB/ytT22d/ 02vPHved7rTFZu3uOhbaeBf9TWKz1h42dyOvzEcScO2/X3xIF21NEvdn27nYl29OufZsEJvFGgz4sz3vRF4/mOyVuD6d/ZGoT0nJjXjoe0/Jfsx0Xe53Yfreb6WCx2f7rsMN9OI blfH3 kOF H 3PXY/d58QbCx8fH8OXbj Hr95/DL7/ bs6d7xDH8A0MwAAMyDEQEiL4d5t/TYHq tC D/naHnPPb2F7bREucV0p/0j0HRsyYi7Hj5K85D5umXN3MMV2jj3JcYdsTQRoqgCzYvGP6aO br7t63v6YT2LH/X7X5D /bxLvjegK27FibU70hY6/77vcjNZ7iLrz9f7YNqLvdplpd7oWmr4h hC5ybCEYX6HivPwCQzEGQiJEPwW91vMR6Ygdc9x3/s d4 519SynVNcS59biw9sP6THh719BKCNn8TrS g4jzdO7k55n82zIsPE2r 75fcnKGA22PPtu /dfvmPVbrnLW1PHsl8 iM2xtGeOTdwV9D41s6JsU8z57l90oyH204r2/Oiz6xJ5 F6nxN9c8en17ii72TeGLGH6Jsu K3AQj JGwz0xYAvQIj/9vibosX3o7vP97l7zL9uz/e22Crxuuc4t7RVwje0 SkE1vpiS8z9a43IuNkvdHEePbWPZY6PKT4FzXj3yjzKaMVMQOi 49kOib4s91/a4/afTcP3LaXDvqlmf2v6/XbNwU8LYcQWv6X S6PNs l8IY/tnvhjGtR/qm2Y8Qu3Vvs95yvJtHZIQfaPAcxuxou 17xb94iHu9HkToHao6N97UYdP8EmLDPgCpMUx1NRnU0D5/fH3 T73j/vXS7 3RV6JV mxlLBXwm 0uU34SXJiBdxL3PiPNT7veBkRZc415413xIxAinwJTEj0nTbYe xu36etvp FivyDFilZfjAb KYTrPzy ZObmnmvsOZ 3M/1fums4udbWvc8 uV9gY/o9it2Eby7VjMeb/2yfK37VvtPn uT1eKfjj9A 9xqzjehzHOY7h/fvRRQ wScwIMOAL0Dw6za/muLc96G/z/e5f9y/fu37kkJhbZ 57p0ffJLnkxD3Uj60AmNyV8wXfU xZ0Wf7c8oEj2R5PdrTjSZdtfY8 2/7qCZmvMpJk3/fKFm2pvsM cacecI0NG2ee IwLfrnNrWiLiXUHb2T/rk7Leib9IP57hpXzsevv9aeJ8n sxn9tw7c9NHOR/jDe0zc9Jc /6o6OTxTy9e1n IvhnHWAfxmpf08Rf goE0BnwBgt/S/DbnJ1NAucf89 aY7/PQOa6N2La5vtR/sb5xfMoD/tD3R2guSPg9ZHfVPufOmN8vK2Ky7C7Y8 2b96vaiOQYK4KN7ZCwG8XiQj/9O5xG8JnHOkfhF7jOCsUsP82NIWA/5LdW9s2LPvulLI/nMG8XMxdd0Td3/HGf94jfNNnQ8bp8Hc3Xv92G/0XNA1iL4F57QCGv3UX8zwMT6WZsAXINL2e7NnihA7Znfb7jOvv s9DhYt7vt0OnbfXPtsHXj/jiy/q9EVoTkjEKmQ3ZZ 5U2XvWpnzl 5cnZ53DZfsZtnza8s/Tf9A5Nuy7RrhZoSYfW8f4XTH8TrmPIJpPusY9HXks3nGrhWOvg 9Cn nbIvr8MS/Gw/dfAN ArGoKK I/oqCkbtsNC/maQKQ9UnuhrZ9QVIjX1sqU mELL9dbftPvPq 9w/zy2m9t52 8n2ZyzxRTu CM2ZHuPn3z173eFzHsfcyy9WpIUElj0WFH1zIpJ657XO DFE9AHHLBw LLxvZ2EjVsRqKwONhqj sffxm3fvDFnN1vXl3fu eFClaNfW5f2CaXHImB0HzZa3yzjzcWqkMnd ued 6Cj19q98/5/GAoPvZOonScaouH9PhC9hB92jBjH1EJAzDQIAOu8AgtHuzLFwN QTPnQ9f35hpznn txPu59tmfH1t81obPQvNmj9jZO1am/dAdrT36EGrDfSTzdTetxHo1I/y0fFVrPEIxktyH6CsBN20iAmAABipnwBUekosOtuLFsV YGp/5 yTeE4t4LPDRsXwUmje7xTjy7Zy79aPytWc3P3QYD0Qf8FN8wwA MwMAbA4i csXuWJg mTTbpggKFata 3Yruph3b/MO3 vOu9Ccwee6Pse/9fgX0ceiw6IDAzAAA28MIPrKLdRjYfpk0my7RVOoaN1rn9sPtq dxwR9t CM0V4hdG7EjTtvjhOij2JsUFEyq7ZMKH LDIzCA6NuX41AxavfN8WSO22P23BKvtg 8fsYDX9Tpi9D8IFZ1xoq4yMcF0YfoexUNTDD5CYZP8WmrDCD69 mXXCrixKH1 g2eMHXvN0nmhInevfUv94ti fOHvh79D7OMbWOyFAUQfog/RBwMwAAMTBhB8 xdBthi1xUdKDMw19vzcV9teidfcvnLjjju6nvQrzjo6mP8Mdx/YHoo9hbXTSQGI6bGIht37FNERwwIsuIL BSYuBfIxGTUFG81z6J/pe2sZevaEfuy41KM0P7srkUf877E9GH6EP0wQAMwMCEgRTBwcI 6v7BK CYlBqbwl2grxUZJkZHSvxrOKekj2l4vAmtghz7sl8t69jWij2J vt6Kh54nG2EnoLTGQIjhaGk LfU2JwZ6ib86HJcXGXJ9K7S/pC9pG9JXinnbbqW8QfYg RB8MwAAMTBhIERws9LoLfUoMahB9cxyUFCFzfdLeX3LMtI3o0 Yb 7o5fw//Ivoo9ibF3h7Q0Ub7iYMYHjuGKYIDBnQZSIlBzaJvjo S4mSuT1L7S46NtteJPqnYY0c3H JfGf8i hB9iD4YgAEYmDCQIjhYhGUW4Tk/psSgRdE3O94/1hXtEmJnrk 5 0N9ybXB brzCv/i354ZQPRR7E2KvZ4nA2NnMYCB05AiNvDTPnMlFosjib45pkJCa q99c32a2x/q19y57N9nDuFn/AwDnwwg hB9iD4YgAEYeDEQExosoJ8LqLYvYrHoQfTN TgksPbal9OnuXPZv988wtf4GgYeDCD6KPZexR6TgsQIAzAQExo wsh8jS7HoWfAtMbiX8EttZ6mvHNtvLuFrfA0DJ6P5qq/5Pz4 hi/ffgxfv/8cfvn1d9Nf4MUHMAADMKDBwJLQ0GgPm/McL8UC0TfvtxBTqSJN rxQX9iXFzv8hb9gQIYBRB8CsnrVz2SXmez4ET mMLAkNFKu5xw5zuZigeAT9LHyF8gwH RihS/xJQxsYwDRh hD9MEADMDAi4E5ocFiu22xzfGff7fJvRbBt08c/Bisfe/Gju19Yoef8TMMhBlA9FHsvYo9Jkl4kuAX/NITA4i 8rxbYTfG4o9pf yxnpisaay54q mvtOX6VzCH/ijNwYQfYg RB8MwAAMjAwg OooglxhN4oMh0/3WG8FS83jDYnBmvtL3 qY68SBOOzJAKLPWUz3dDxtMdFhAAZqYwDRVweTrrBD9NURk9rm Kv2BCxiAgVwGEH2IPu7ywAAMwAB3 goz4N8psou5K/pcMWiP80rhBwMwAAMwkMIAoq/wQp8SJM5hMsMADOzBAHf6ynE2J gQfeVissecow3iCwMwsBcDiD5EH3d5YAAGYIA7fYUZiIm ueN7FQu0Q2EKAzAAA20zgOgrvNAzgdqeQMSP B2JAe70lePZFXXj3T3v3487EmeMpRxn B7fw0C/DCD6EH3c5YEBGIAB7vQVZsAXfbYwGwVg4b7ZvvDab7FI7Ik9DL TPAKKPxZSCHwZgAAYG7vKVXdBjos/Eh6ILH8AADMAADKxlANHHQkohAQMwAAOIvsIM I902kXd3ulD9FHoWSZ4hQUYgIE1DCD6Ci/0a4LGNUx2GIABaQa401cnU4i OuMiPf wR5xhAAa0GUD0Ifq4ywMDMAAD3OmrlAFEH4WgdiGIfRiDgT4YQ PRVutAzAfuYgMSZONfCAHf66mQR0VdnXGqZt/QDPmAABlIZQPQh rjLAwMwAAPc6auUAUQfBV1qQcd5sAIDMLDEAKKv0oV KWgcY1LDAAxIM8CdvnqZIjb1xkZ6HmKPWMMADGgxgOhD9HGXBw ZgoHMGEBX1FxnEqP4YaRVq2CX2MAADEgwg jov9iQgwgbJCAbaZgBBUX/8iFH9MSIPEiMYgIGaGUD0Ifq4ywMDMNA5AwiK gsVYlR/jGou9ugb/MAADCD6Oi/2SAIkARiAAQRF/QwQo/pjRC4lRjAAAzUz0KToM53mBw/gATyAB/AAHsADeAAP4AE8gAfSPFCzKDV9 /j4GL58 zF8/f5z OXX382TaG38JcG4v5W avST8RN/Da5asQn/8N8Kqxr97J1/DZ9is43ajzgRJxhYzwCirxGR60Pe 6LP Cn6/TnR03v4h/ eeGes64s8fIfvYAAGLAOIPkRfk3dMKXopem0S6/EV/uG/R 4ZM8UrDMAADKxnoFnRR9DXBx3f4TsYgAEYgAEYgAEYgAEY6IcB RF jd/qYpP1MUmJNrGEABmAABmAABmAABrYwsFL0nYfr3TxgNAzD/TqcR F0GW7PXZ/73OCErgntc6 Z2b68WnLaf5x7ud2H6zlw3fk62C4/unkbLhsFX6it0L5HgEJjDe0L9N3vZ43jX hTF P3 Lpfz95js6FYh/a1Gf/zKyE8k8Dt0tX4T6c68t841xwWb5cEnvz8Mr6jk001AAAFUElEQ VR/Z3PXGAf79BxLLNcojX/XGBcf/8PXofUstE88xy Nn2Nebl07x7nuwS1 wA/9MLBO9JlF91nUPTZPg3m1ha4pDuz2C6bANafQvsyEbtv/XJAXRN9LoJ6Gse1hrfCzBZ7bVmifA1JorKF9zY7/c6yfMfncF4z1kcZvCs03odPR B1ue5z/BmWb8/Yb/0OYzQk704 5Y6 87MRtsi8yN/cbozOH3vq67/jLxLjQ F9/xCi/xk24fGNgyT8cw3cwAAMw4DLwJvqGlxCyIsa9m/dw3mTBfxYH7oL4WeAbGw9hFbomtM/tXHzbLPruouS/d4JtinJX9J1Ow2f7j JhegdwfvyPfoXa8vf1Nn7jb9cHHY0/KPo6Gv rGPsc8 MPMX3M/zL5z/yxzc1/Tr575rdR9Dl3vl75/XIb7nf77MP7H78 c PzD2STP2jsGePpmPw1Yc/xl4qxP2b3vdb461njluPv oJtfAUDMAADywy8ib7Ts3h9aLnwxZNjjzfDeJ19vNO8jkXCZ3E Quia0LzlgtpCZFCOu4PD6bs73RJ8Vp5N JIz/0cdQW/6 zsb/FpOOxm/HPs4BW0R3NP6n6JuIhfFuwcMXkzn2eDM HfC6E/Xc1 z8n8R/h/xn/G3a9HPaS3w//qj18q8Tn3Gf4 9pzB55MxQvG5vp YqMO2OxbU9e9x5/iRgv UBx/A8/uZYcPfVzD S77hGI AwgAMwMAbA2 ib6xZ79fhGvkLsn2UyQondzGeFgWPImKy71lwhPa5dlK2JzbeF iRH AUWSHut6c7kJzL 9AXxs33b1njtYccfiPVz0jF 55Hnw8b/swD05y7xF45/IJ FfP5 p8/8Pe5x987N4a/thfn6sL9/jP1xje LjX//HFdi/I82fYFnxh7aF/CJYI4Ljp9i7q2Yw08PDvEDfoCBeQbeRJ911iNnz1z4TOjm3Pfz TFFgHzlyCoTQNaF9mcncmPgsWOYXpLe/ipsLn4 eProxHWton/XN4zXUlr vt/E/fPgZE8ZvH292/zjyYuuxMS7er30N8z8RduM4eoy/GbNy/ksQPG5udh8BNDFKEX1BXiePxNt8qR/jad6N3 G059s5JTn h 0dYryUB/aI/9i v56ZmPv7CsR/yTccQwzCAAzAwCwDb6JvvOP1ejTzef/r7REik/i9Y2Yheu4ai4rR6c6CMC4W3jXBfbaYmH81hcvr59U309bnz2cf nnac/j3Oso/g2YXs89rPR1Of 15t2D6F2prbZ9sJ OxA45 PCeN/fEvssePvfn7PFt3TfQcfv5NfPnPPDvlv/Mi1 02xTh6yecuoH cnSfQFc5M7HjcXys/xT4ZsO5 vk1yz5/h3jHH58TscjU8rG//P7ds3/ku 4djnPMEX AIGYMBn4E30 SfwHmhgAAZgAAZgAAZgAAZgAAZgoF0GEH3cBp69DczEbndiEzt iBwMwAAMwAAMwAAMwYBlA9CH6EH0wAAMwAAMwAAMwAAMwAAMHZ gDRd DgWmXPK3/lgQEYgAEYgAEYgAEYgIF GUD0Ifr4qw4MwAAMwAAMwAAMwAAMwMCBGUD0HTi4/DWn37/mEHtiDwMwAAMwAAMwAAMwYBlA9CH6 KsODMAADMAADMAADMAADMDAgRlA9B04uFbZ88pfeWAABmAABmA ABmAABmCgXwbeRN// j//b5j778u3HwP/4QMYgAEYgIGWGfjzn/88 P 1PB76znyEARiAARhIYcBd 05zgs/s//r9J//hAxiAARiAgaYZMIue 2Pes76xvsMADMAADBydAXf9 /8DsLveFHyzpQAAAABJRU5ErkJggg==اعتذر حاولت ادراج الصورة ولم استطع
ارجوا ان تكون الفكرة كافية

اخي ما هي المشكلة التي تظهر لك؟
يجب ان تستخدم الوضع المتطور و ان تكون الصورة jpg or png و ان لاي كون هناك مانع اعلانات
و اذا عملت هذ الخطوات ولم تظهر ايضاً فقم بارفاق صورة للمشكلة عن طريق هذا الموقع مؤقتاً
http://postimage.org/
ثم
Choose images

kira-h
17-07-2020, 04:11 PM
السلام عليكم استاذ حسن
تابع معي الكود من فضلك

int lower =iLowest(NULL,0,1,counted_bars,0);int higher =iHighest(NULL,0,2,counted_bars,0);
double pricelower=Low[lower];
double pricehigher=High[higher];


pricelower هو أقصى قاع في الشارت
pricehigher هو اعلى قمة عي الشارت


for(int i=1; i>=0; i--)

{
for(double h=up_draw[i]; h > Bid; h=h-BOX)
{

up_draw[i]=h;//مؤشر خطي MODE_LINE
}
for(double m=dn_draw[i]; m < Bid; m=m+BOX)
{

dn_draw[i]=m;//مؤشر خطي MODE_LINE

}

الان سيدي الكريم بعد ان يهبط السعر اكثر BOX التي تساوي 0.005 نقطة
يهبط معها up_draw
ولكن اريده ان يبقى في مكانه الجديد ولا يعود الى مكانه السابق اذا صعد السعر فوقه

نفس الشيئ بالنسبة لل dn_draw، اذا صعد السعر اكثر من BOX يصعد معها dn_draw
ولكن لا يعود الى مكانه السابق قبل ان يصعد السعر اكثر من BOX

هذه الصورة تبين المشكلة اين تكمن
https://www.fxprg.com/vb/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA30AAAHcCAYAAAB iVcPbAAAgAElEQVR4Ae2dT7LjuLKftRAPvYY70D7uAu5EW/AW7lBTr6Fe NW7disq/MrP7sGbVPhW2z1zaOAIn7EjHL0BOkAJOiAEEgCZSQDEd050i KfBJD5IZG/Q0p1Op1OA//hAxiAARiAARiAARiAARiAARiIMzAMQ/X66ePjY/jX3/73678TgY0HFh/hIxiAARiAARiAARiAARiAAcMAoo 7htWrfpIVyQoGYAAGYAAGYAAGYAAG1jOA6EP0IfpgAAZgAAZgA AZgAAZgAAYOzACi78DB5a8h6/8agu/wHQzAAAzAAAzAAAzAwFEYQPQh virDgzAAAzAAAzAAAzAAAzAwIEZiIm y 0 XM/zIn9y/HIz5h4/9 twdv12vg734TZcxn3n4XqfOc 95rnNF7kEnHKUvzowjvnJhW/wDQzAAAzAAAzAAAzAgAQDRnqF7VyGh4SbE31Lxx i7naxMTLn3of7/Sn6jDi8XcZ2H5v2vPArog/RNwNpGJgw0JyLX2AABmAABmAABmAABvpkYF70GX8Y8TYn paPf94BtDbM60P0na/34X49P p4RwDOMYjoQ/Qh mAABmAABmAABmAABmAABlYy8HzIcnx5F11WsM0J4pnj5lHO5 Odn3fyPkXf577TcEoUfV/Rj w3/ 78M//ZffTKznOsR fAMDMAADMAADMAADMAADMAADLgPid/ocwfe4U jKymEY7tfhsuJOH6IPoctfdmAABmAABmAABmAABmAABlYwkCf6 zGfz7JexGPHs3embCD5fXH/e6XPv7k3u s303zzeieibcY6r4Nn2oeM9TMAADMAADMAADMAADMDAvOizX9T yuFP3 FIWV/S9Hzef1XN/Xp/bG/WKI/pGsfg80/ Wz4C2QfQFnMLkZfLCAAzAAAzAAAzAAAzAAAykMGCkV8p5Jc9B9 CH6qoe05AShbZI9DMAADMAADMAADMDAEgOIPgQVggoGYAAGYAA GYAAGYAAGYODADCD6DhzcJbXPMf4aBAMwAAMwAAMwAAMwAAN9M IDoQ/TxVx0YgAEYgAEYgAEYgAEYgIEDM9CU6Ptn/p0 JmNLk3Eo/Jej0u23FCv6Sm6BARiAARiAARg4MAOIvgMHl9v1nYsuRB LF/kNBmAABmAABmAABk4no/mq98Pr2zu501dYxJA08iZLadFVun14yeMFf EvGIABGIABGIABJQYQfUqO5S4bAvVUWnSVbp 5xcIFAzAAAzAAAzAAA1UwgOgDxCpAPKRILi26SrfP3GJuwQAMw AAMwAAMwEAVDCD6ALEKEBF9CndGEX2wTX6DARiAARiAARiAAT7 Tp1BoM7GYWJaB0qKrdPvWD7wyJ2AABmAABmAABmCgKAPN3en7l 9 MvxBr KABBkqLrtLtM0 LJndyRAM5gjnCHIEBGIABGNiJAUTfTo6mAOuwACstukq3z9xiI YMBGIABGIABGICBKhhoS/T9ffgn7vR1KJ5qSRZGRGn/So4V0VdFkuUPPuQsGIABGIABGICB0gwg iSLbGwdu8jWFlHS9qXtwfex Sa xBcGYAAGYAAGDssAog 4Dwu3 F9UtEWUtH1pe8wV5goMwAAMwAAMwAAMNMkAog9wmwRXXNClcKA toqTtS9tL8RHnMJ9gAAZgAAZgAAZgoDoGEH1AWR2URQRdCgfaI kravrS9FB9xDvMJBmAABmAABmAABqpjoDXR9ze yIUPwhYThdoiStq tD0SeHUJvNhcgAVYgAEYgAEYgIGmGED0AWxTwBYtcrVFlLR9aX vMFeYKDMAADMAADMAADDTJAKIPcJsEt4j40xZR0val7TFXmCsw AAMwAAMwAAMw0CQDiD7AbRJcRF/CY76IPtgmv8EADMAADMAADMDA6WQ0X/VPj4GL58 zH84z//feAzfUzccsBqi6iYfXNc xe yvGF7/E9DMAADMAADMCAEgOIPiXHFrkTxVh0E0VMlG31f8z 8PgrzfinGoX/jYJy6xi4XpdB/It/YQAGYAAGYAAGVjCA6FvhNARdwqOFR/RrTJRtHXPMPqKPJL VMa6HIRiAARiAARjokgFEH B3Cf4q4R4TZVtZitlH9MHqVsa4HoZgAAZgAAZgoEsGEH2A3yX4 iL7350N5vLPTO9jkQHIgDMAADMAADByeAUQfkB8e8lUCL8RF7E 5c6JqcfTH73OmD1RyeOBdeYAAGYAAGYAAGngwg pgMTIZUBmKiLNXO3Hkx 4g WJ1jh/2wAQMwAAMwAAMwsMAAom/BOWJ3iGjjGJMwJsq2xjlmH9F3DI62csL1cAADMAADMAADMJDJQ Hui73 YGPPZG3xQgIGYKNvKZcw oo8Ev5UxrochGIABGIABGOiSAUQf4HcJ/irRHBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwYQfYDfJfiIPjP 1pz98e2eBu8fkH/IPDMAADMAADMDADgyYqm9V/btD32y/Pj4 hi/ffgz/ P3vw9/ hcc7qw YDdzhXmN34rZOiph97vTB/lbGuB6GYAAGYAAGYKBLBhB9gN8l KsEaUyUbWUpZh/RB6tbGeN6GIIBGIABGICBLhlA9AF l Aj qaPdo6JICY6mSvMFRiAARiAARiAARhokgFEH A2Ce4q0bY11tqiKGafO32wupVhrochGIABGIABGOiSAUQf4HcJ/irRGBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwZiou9yuw/X8/yX2k2OX27G3OPnfh3OhqnQvvN1uNvzhmG4X8 LvueLXJici4CsEnBrfBoTZWtsutfE7CP66uDAjRnbxAQGYAAGY AAGYKABBoz2CtfMl Eh4eZE39Lx83C9D8PtMhWLRv N 4zou11m2p1eY/qG6GsApDBE78Fs ryYKNsap5h9RF9y0mias60ccT2cwAAMwAAMwAAMeAzMiz5Trxv xNif6lo9P7gCObTq2toi /8o/2QDEHsS7FfgxUba1XzH7iD7Y38oY18MQDMAADMAADHTJgPOUZW D8jlAL8jFz3Ig6 3inuc4 zmnv7tn3Y O34RK0/XmTaHKnD9H36ZjdxE4kQN30IybKtvopZh/RF0hSzIdu5t/W cX1zB8YgAEYgIGOGRC/0 cLPse35 v97fN7oX1 DYPoc5zoO4f3Oxb9MVG2NU4x 4g FqutjHE9DMEADMAADMBAlwzkiT7zOT73zpx3p29B8BltYj7T53 9pS2ifr2MQfUzOOiZnTJRtjVPMPqKvDg62xpnriSMMwAAMwAAM wMDODMyLPvtFLeMzmM8vZXFF3/txc9fO/TECb7Lv chnaJ8v9Nz3iL6doXCdz7ZzJzEmyrbGKWYf0ccCsZUxrochGIA BGIABGOiSgXnR59S6hdlA9BUOAMLvORliomxrnGL2EX1dJmnmX z2LEbEgFjAAAzAAA60y0Jbo zn8jS9yYbIVm2wxUYboQ5RtZYDrYQgGYAAGYAAGYECBgdZE339 E9CH6EH3uU9Ry2ydtUauQwIqxwFhYkGEABmAABmAABhpiANHXU LAocAsLXm1RFLPP450sLuQrGIABGIABGIABGFjBAKJvhdMQX4X FV6mYxUTZ1n7F7CP6SPJbGeN6GIIBGIABGICBLhlA9AF l CvEu4xUbaVpZh9RB sbmWM62EIBmAABmAABrpkoCXR9/X7z4HP9DFRy03UmCjbGpuYfURfudhvjS3XEzsYgAEYgAEYgIGC DCD6Cjp/1d0m lsuYcRE2dbYxOwj srFfmtsuZ7YwQAMwAAMwAAMFGQA0VfQ Yi xj4bGBNlW1mK2Uf0sVhsZYzrYQgGYAAGYAAGumQA0Qf4XYK/SnDHRNlWlmL2EX2wupUxrochGIABGIABGOiSAUQf4HcJPqLPTP 3pD/9OX2N3nsld5C4YgAEYgAEYgIFEBkzVt6r TbQvYfvj42P48u3HwBe57Oh0icAdzkbsTtzW MTsc6ev mR1OOa3Ms31MAsDMAADMAADVTCA6APEKkBsoliOibKtLMXsI/pgdStjXA9DMAADMAADMNAlA4g wO8S/FUiMybKtrIUs4/og9WtjHE9DMEADMAADMBAlwwg gC/S/ARfWbqT3/4TB f6Vs1L8ih5FAYgAEYgAEYqJ4BU/XVvs7zmT4mUh2Qxu7EbY1TzD53 urgYGucuZ44wgAMwAAMwAAM7MwAom9nh9eusOnfwt2emCjbylL MPqKPBWIrY1wPQzAAAzAAAzDQJQOIPsDvEvxV4jYmyrayFLOP6 IPVrYxxPQzBAAzAAAzAQJcMtCf6/qeJ08LdGI51CfIuTMRE2Vb2YvYRfbC9lTGuhyEYgAEYgAEY6JI BRB/gdwn KpEYE2VbWYrZR/TB6lbGuB6GYAAGYAAGYKBLBhB9gN8l Ig M/WnP3x7J08QrJoX5FByKAzAAAzAAAxUz4Cp mpf56ff3snjndUHrBqgYnfOchOUtD2//Zj91u70xcbjj5/3zG0YgAEYgAEYgAEYUGEA0QdYKmBVIfykRYe0PZ 9mH1E33FZ9VngPbGGARiAARiAARgQZADRJ jMKoQO4/lMEDERlesraXtzH7iL7P2Pq 4z2 gQEYgAEYgAEYgIFZBpoTff Nxztng4no9D6TFRNRuYlB2p7ffsw og/2fWZ4DxMwAAMwAAMwAAMJDCD6EpyEmPLEVCs i4mo3HFI2/Pbj9lH9JHUfWZ4DxMwAAMwAAMwAAMJDCD6EpyE6EP0jQzERNlW lmL2EX0k9a2McT0MwQAMwAAMwECXDCD6AP 44MdEVG7spe357cfsI/qOy6rPAu JNQzAAAzAAAzAgCADiD5BZ3JHsLI7gjERlRt7aXtzH7iD6Sv88 M72ECBmAABmAABmAggQFEX4KTEHOVibnUmMVEVKode560PWvXv sbsI/pI6pYVXmEBBmAABmAABmAggwFEX4azEH Nib YiMqNvbGn/bvUJ0RfXnKXjv9SbDiWFxv8hb9gAAZgAAZgYFcGEH0Atytwuwr n0kW/dPuIvjxWpf1PrsjzP/7CXzAAAzAAAzBQDQOtib7/xL/T19jdtpKTvXTRL90 oi8vcUr7vyTLtJ0Xe/yFv2AABmAABmBgwgCiDyAmQOx6J07b96WLfun2EX15rEr7X5tX 7OfFF3/hLxiAARiAARhIZgDRByzJsDQnCEsX/dLtI/ryWJX2P7kiz//4C3/BAAzAAAzAQDUMIPqAsRoYxUVl6aJfun1EXx6r0v4nV T5H3/hLxiAARiAARiohgFEHzBWAyOiL/J5TURfHquIvjx/kQvxFwzAAAzAAAwcloGY6Lvc7sP1PF LTo5fbsbc4 d Hc6Gm9C 03m43r3zFhj7 PgYvnz7MXz9/nPgi1wWHCUumlpvq3TRL90 oi8vEUv7v/X5QP/z MFf AsGYAAGYOBADBjpFdYKl Eh4eZE39Lxh6i7XaZi0ei/cd9jY2z3tW/Bp4i BeeEgzd1fLfnlC76pdtH9M0kqxnepf3PPMzzP/7CXzAAAzAAAzBQDQPzos/UUUa8zYm 5eOTO4BjvD9tna/34X49P3zgCMA5bYLoY8I8YDFFvPavpK lRQeiLy9xSvtfkg1s5cUSf EvGIABGIABGNjEwPMhy/HlXXR9CrX3Ywui73wd7vbxThMf8960cLuMfZ3c3UP0zdylAOx3 sLWLeGn7CvbcCSu9PQpqSe6kx5/bt9Lt5/aX89/nPD7BJzAAAzAAAzAgwoCpG8OCbkHUvXwfEIW 4HudexrsHT77OraL6EP0zQPo Ua7iJe2r2BPWui59hB9Hm9O8kpmlGsWFhT8C0cwAAMwAAMwUIq BPNFnPsd3Gy6vusYTfQuCz4zP6LvxsU5H6D02l PP450vhy87qhREu7UrLaJ8v0rbV7DnijTpbURf5/PLnw 8R8DCAAzAAAzAwGEYmBd99otaHpXl40tZXNH3ftzcwXN/jMCb7Hs98mnE4vPM1775egvRx4R7TDhpEeX7Vdq gj13gklvI/rmk9Buf9jwmeT9YRZbGGJ wQAMwAAMlGTA1I0l209pG9FH4YfoMwzwRS55yUpadDMP8/yPv/AXDMAADMAADFTDAKIPGKuBMfoXAO0iXtq gj3pu3uuPe708RfI6BwkX7aTL4kVsYIBGIABGHAYQPQ5zqDgqb zolRZRfuyl7SvYc0Wa9Dair3L fV55z2IOAzAAAzAAAzCQyACiL9FRCMIKCmJpEeXHXtq gj1poefaQ/RVwLjPJO9ZzGEABmAABmAABgQYQPQJOBFBuFOxLC2i/NhL21ew54o06W1EX4RjE0/tX59J3rPQwwAMwAAMwAAMCDCA6BNwIqIvUixL VhaRPn9kravYE9a6Ln2EH0RjqXjqc2fb5/3FA0wAAMwAAMw0C0DiD7gbwf 1opu6f7y7Z15rCr4X/UPPNL9Jbfl8YK/8BcMwAAMwMCBGWhP9P1ueIz8RZ7jx5y02kWxtH0Fe 6dOelt7vRF8op0PP08pW3fb4/3x8yTxJW4wgAMwAAMBBhA9AWcgqiMFL lfKZdFEvbV7AnLfRce4i CPfS8fTnkbZ9vz3eUxTAAAzAAAzAQDcMNCf6fuVOXzdwvolv7a JY2r6CPVekSW8j hB9b3OOYqDffEvsiT0MwAAMHIoBRB9AtwO0tIjyYy9tX8GetNB z7SH6EH2IvggDfs7gfTvrB7EiVjAAA50zgOjrHICmijxpEeXHX tq gj1XpElvI/oiBb90PLX58 3znoIHBmAABmAABrplANEH/O3A31rRLd1fvr0zj1UF/6v kUS6v S2PF7wF/6CARiAARg4MAOIvgMHV7xANUWp9u9SPLSLYmn7Cvak7 659rjTx50 8ZyxNJ85RnEFAzAAAzAAA7sxgOgDtnTYpEWM7/uY/dhx317ue237uf3xz dOXzqrxnfS8ZS2F4gvoisivH2f8T5vTuAv/AUDMAAD3TKA6AP dPhLF72l2y/NCqIvnVUTK2lepO35PGnb99vjfR5P At/wQAMwAAMNMwAoq/h4O1 V0C7KI3Zjx3fGktt wL9cx/HlN5uTiTF/CkdT2l7fv 17fvt8Z7iBQZgAAZgAAa6YaA10fcL/05fwceftIvSmP3Y8a2JS9u QP khZ5rD9EXmVvafGjb38of13dTGOz B0XYgi0YgAEYUGcA0Qdk6ZBpF6Ux 7HjW2OpbV gf65Ik95G9CH6KPYjDGydw1yfvt7gK3wFAzAAA6IMIPoAKh0ob VEUsx87vjWW2vYF ict9Fx7iL5Iwa/Nh7b9rfxxfXquxFf4CgZgAAZgoDIGEH2VBaTqv7RrF6Ux 7HjW2OpbV gf65Ik95G9CH6qs4/W cP11OAwQAMwAAMdMwAoq/j4GcXeNqiKGY/dnxrLLXtC/RPWui59hB9iL7snLCVaa6nAIMBGIABGICBXRhA9AFaOmjaoihm 3xzX/q2ZB/7JhnRWTRzNr2Q8pe35fdO277fHe1k 8Cf hAEYgAEYqJgBRF/FwREtWCXGqV2UatuX8EFJG4i vMVEmidpez5L2vb99nifxxP wl8wAAMwAAMNM4Doazh4u4tC7aJU237rsUb05S020jxJ2/N51Lbvt8f7PJ7wF/6CARiAARhomAFEX8PBQ/QJP75XOwuIvrzFRlpESdvzedO277fH zye8Bf ggEYgAEYaJgBRF/DwUP0IfrMBJb6ae4zcLG5Ky2ipO35/de277fHe4oXGIABGIABGOiGAVMv7q4dMvn6 PgYvnz7MXz9/nP45dffTX87K/ZrGa92UaptvxY/ru0Hd/rykpU0T9L2fA607fvt8T6PJ/yFv2AABmAABhpmANHXcPB2F7/aRam2/dZjjejLW2ykeZK25/Oobd9vj/d5POEv/AUDMAADMNAwA4i hoOH6Ovsji iL2 xkRZR0vb83KNt32 P93k84S/8BQMwAAMw0DADiL6Gg4foQ/SZCSz1w2f6IjxpizJtQ6ihUYgAEYgAEY6JYBUy/urh0yeeMzfZkOUwuodlGqbb8WP67tR 93 gwf2r9LsdHmU9v 0tg4Vv1CqJbXiT2xhwEYgIEuGED0AXo66NpFqbb91mON6EtndU 2sY/zFjq9p071G277bFtu6LOFf/AsDMAADMFAZA4i ygJS9V9ztYtSbfutxxrRp7uAxPiLHd/Kl7b9rf3jel3 8C/ hQEYgAEYUGQA0afo3KoF3Jpxaxel2vbXjLmmaxB9uotBjL/Y8a2saNvf2j u1 UP/ JfGIABGIABRQYQfYrORfRFvhjD9z1F73KyQ/Qt 8fnKfd9jL/Y8dz2/PO17fvt8V6XJ/yLf2EABmAABipiANFXUTCqF4naRam2/dZjjejTXTxi/MWOb VL2/7W/nG9Ln/4F//CAAzAAAwoMoDoU3Ru9SIud zaRam2/dzx1nY ok93MYjxFzu lRdt 1v7x/W6/OFf/AsDMAADMKDIQEz0XW734Xqef0pvcvxyM YeP/frcDb9Du07X4e7PW8Yhvv1vBhj/skGRQCyhKl2UaptvxY/ru0Hom8xUWSxHIpBjL/Y8ZDNnH3a9nP6wrm6rOFf/AsDMAADMLAzA0Z7hWuly/CQcHOib n4ebjeh F2ccWis8 Ivttlpl33msc2om9nKMJAPP FNM2 UPQuTwpE37J/trIZ4y92XLv9rfa5Xpcf/It/YQAGYAAGKmZgXvQZwWWE2pzoWz4 uQP4HP9rH6LvXdnOCq2a4KHoLZvMEH26/o/xbY5r/9Y03 mLLm/4F//CAAzAAAzsyIDzlGXA7ytFnxF19vFOOxZ3n9l NXwbLvacmVfu9M04ZnehGCuKt/ZT2/7W/pW HtEXSFKCf0CR5k/aXmn aF XP/yLf2EABmAABhQZEL/T54o72 /Qvuex8/XOZ/p2F282MLmv2kWstv3c8dZ2PqJPdzGQ5k/aXm080h9dHvEv/oUBGIABGBBkIE/0mc/xuXfmvDuBIXEX2uf033zPC1/k4jikagGoXcRq22/Fz3P9RPTpJn9p/qTtzXHBfl0u8C/ hQEYgAEYOAAD86LPflHL4znMx5eyuKLv/bi5a f GDEX3ec/BhrwKY93BpxSRBxqF7Ha9mvx49p IPp0Fx1p/qTtreWG63S5wb/4FwZgAAZgoAEG5kWf4EdlNvoB0bfRgWICUbuI1bZfix/X9gPRp7uoSPMnbW8tN1ynyw3 xb8wAAMwAAMNMIDoayBIYqJt61i1i1ht 1vHX/p6RJ/uoiLNn7S90vzRvi5/ Bf/wgAMwAAMKDKA6FN0bjViTWqM2kWstn0pP5Syg jTXQyk ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiD/tIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2UH06SZzaf6k7ZXijnZ1ucO/ BcGYAAGYGAHBhB9Ozj5MOJRu4jVtt96rBF9uouCNH/S9lrnl/7r8ot/8S8MwAAMwMACA4i BeccRqxJjVG7iNW2L WHUnYQfbrJXJo/aXuluKNdXe7wL/6FARiAARjYgQFE3w5OPox41C5ite23HmtEn 6iIM2ftL3W aX/uvziX/wLAzAAAzCwwACib8E5hxFrUmPULmK17Uv5oZQdRJ9uMpfmT9pe Ke5oV5c7/It/YQAGYAAGdmAA0beDkw8jHrWLWG37rcca0ae7KEjzJ22vdX7pvy 6/ Bf/wgAMwAAMLDCA6FtwzmHEmtQYtYtYbftSfihlB9Gnm8yl ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiEftIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2Skt kx8tH XfKvNh7R9aXtLvuEYCz0MwAAMwAAMwMACA4i Becg k7TyaNdxGrbbz3WNYg TR/G4h87vrVv2va39o/rp/kIf APGIABGIABGEhmANEHLMmwjHd5NP1F0b0cC0Tfsn 2sgl/uv7dGh uJz4wAAMwAAMwsJoBRB/wpMOjXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891og Q4jub uMuP1nPqXnNtdvbOM3GIABGICBAzKA6DtgUNX UXntIlLbfuux7l305cavd556H38uL5xPkQcDMAADMHBgBhB9Bw 6uuPjTLiK17bcea0Rf3mLUO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBmQhH7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgFB9J3S/aPNEqIvLxa9i57ex689H7GfNx/xF/6CARiAgaIMIPoAMB1A7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgHhTh93 l4MaIsIafvS9lrLFb2Pv7V40d/0tQhf4SsYgAEYyGYA0Qc06dBoF5Ha9luPNXf60lk1se6dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4C87vIYP2kXkdr2W481oi d1T14rZ0n5lMeL7XHk/4RTxiAARiAgQ0MIPo2OG8iiHqwo11EattvPUaIvrxk3ztPvf1u xhgAACAASURBVI /9flO//PmO/7CXzAAAzCwyACiD0AWAZkIW 0iUtt 67FG9KWzamLdO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBQfTxRS4vBrRFhLR9aXut5Yrex99avOh v lqEr/AVDMAADGQzgOgDmnRotItIbfutx5o7femsmlj3zlPv4299vtP/vPmOv/AXDMAADCwygOgDkEVAXnd5jJ 0i0ht 63HGtGXzuoevNbOE/Mpj5fa40n/iCcMwAAMwMAGBhB9G5w3EUQ92NEuIrXttx4jRF9esu dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4BMhK12Ealtv/VYI/rSWTWx7p2n3sff nyn/3nzHX/hLxiAARhYZCAm i63 3A9z3 XxeT45WbMPX7u1 FsfB/adzoP17t33kKcPj4 hi/ffgxfv/8cfvn1dzOe Q5xTNE32kWktv3WuUH0LSazt7nfO0 9j7/1 U7/8 Y7/sJfMAADMLDIgJFeb7XS6LPL8JBwc6Jv6fhD1N0urv5w9hkheLu M7T423fPetxF9tUCsXURq26/Fj2v7geibSVbvSWNMar3z1Pv4184zrsubZ/gLf8EADMBAEwzMiz5TRxmhNif6lo9P7gA WbD7ztf7cL eH/5xBGBYfJ4GRF8tk0m7iNS2X4sf1/bD Ef7d6lv2vGRti9tb8k3exzTjv3R/LVHTGijiUJnrrhg/8wfzOAarmHgkAw8H7IcX97z30rRd74Od/t4p XG2Te5u4foayjpaheF2vYtjL28SvtT2p4fB2n70vb8/u79vvSd3r3HS3uHLDreC42G1kCYhEkYgIGGGRC/0 eIu1du9/Zxp69VYLSLaG37rfp9bb l/Sltzx XtH1pe35/936P6KPY2Js52oM5GIABGDgMA3miz3yO7zZcXvH37gR64m4Ufa F9zt29yV2/l93pH/54vHPGMS9Vvddx7SJa2/5efqqlHWl/Stvz/SRtX9qe39 93yP6DrPw7p6792aV9mAVBmAABqpjYF702S9qGZ/8HB5fyuKKvvfj5g6e 2M txfa9/is4PNM/zHQACOIvoBTihQN2kW0tv1a/LhXP6T9KW3P94O0fWl7fn/3fo/oq24BLZKH9 aO9uAOBmAABg7BgJFeta9biL5aJpt2Ea1tvxY/7tUPaX9K2/P9IG1f2p7f373fI/qqX6xqX0zp3/QxIvyBP2AABnpiANG3d HWcnvaRbS2/ZZ9v6bv0v6UtuePSdq tD2/v3u/R/Qh vZmjvZgDgZgAAYOwwCiD5jTYdYuorXt9xZraX9K2/PjIW1f2p7f373fI/rSc9XesaE9YgMDMAADMFA5A4i ygNU1W1n7SJa235vsZb2p7Q9Px7S9qXt f3d z2ij4Jib ZoD ZgAAZg4DAMIPqAOR1m7SJa235vsZb2p7Gn/SsZI nxS/ZtjS1EX3quWuNfrsG/MAADMAADB2YA0Xfg4IrfJdQuorXt9xbr0v7svX1p3hB9FCPSTG EPpmAABmCgGwYQfcCeDrt2Ea9tv7dYl/Zn7 1L84boS89V0r7HHr6HARiAARhonAFEX MBFL bt QP7SJe2/7S2I54rLQ/e29fmilEHwWHNFPYgykYgAEY6IYBRB wp8OuXcRr2 8t1qX92Xv70rwh tJzlbTvsYfvYQAGYAAGGmcA0dd4ALnTxz8sOstA76Kr9Pilcwu ij4JDminswRQMwAAMdMMAog/Y02HXLqK17fcW69L 7L19ad4Qfem5Str32MP3MAADMAADjTOA6Gs8gLN3eTTGpV3Ea9 vX8EnNNkv7s/f2pdlA9FFwSDOFPZiCARiAgW4YQPQBezrs2kW8tv3eYl3an723 L80boi89V0n7Hnv4HgZgAAZgoHEGEH2NB5A7fXymb5aB3kVX6f FL5xZEHwWHNFPYgykYgAEY6IYBRB wp8OuXURr2yfW6bGW8FXpeJZuX8KHrg1E3778ur5nG9/DAAzAAAw0zgCir/EAzt7l0RiXdhGtbV/DJ9icXwRKx7N0 9JsIPrmWZP2NfbwNQzAAAzAwMEYQPQdLKCqIlC7iNa2T6z3TeC l41m6fWneEH378isdP wRPxiAARiAgYIMIPoKOl9VoGmMS7uI1rav4RNszifw0vEs3b40 G4i edakfY09fA0DMAADMHAwBhB9BwuoqpDULqK17RPrfRN46XiWbl aN0TfvvxKxw97xA8GYAAGYKAgA4i gs5XFWga49IuorXta/gEm/MJvHQ8S7cvzQaib541aV9jD1/DAAzAAAwcjAFE38ECqioktYtobfvEet8EXjqepduX5g3Rty /0vHDHvGDARiAARgoyACir6DzVQWaxri0i2ht xo weZ8Ai8dz9LtS7OB6JtnTdrX2MPXMAADMAADB2MA0acZUOmi09 jT/l3yh/R4/La07fvt8V43oZeOZ n2pflC9OnyKh0v7BEvGIABGICBihhA9GkGQ7rolLbnjz1mP3bc t5f7Xtt bn84v 1kfTSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zt8c1/71 8R7EuRaBmI8r7Vb6jpEH3OhFHu0C3swAAMw0DwDiD5NiKWLTml 7/ti17fvt8b75BHIihvvFENG3n6/hGl/DAAzAAAwcjAFEn2ZApUWUtD1/7Nr2/fZ4T0KFgXQGEH3pvoIrfAUDMAADMAADEwYQfZpASIsoaXv 2LXt3xfjIZuWt2wh9LcwLRBx9LfHAMPmAABmAABhYYQPQtOGdz ES4toqTt WPXtu 3x3uSEwykM4DoS/cVXOErGIABGIABGJgwgOjTBEJaREnb88eubd9vj/eTybj5jwz489j RPQdO77MX ILAzAAAzCgyEBM9F1u9 F6nn/qanL8cjPmHj/363B2 j0573wd7va8YRju1/NijD8 PoYv334MX7//HH759Xdz7nyHqjomLaKk7fl 1Lbvt8f7RfCrYplYlY8Voq98DJgHxAAGYAAGYKBRBoz2CteWl Eh4eZE39Lx83C9D8PtYrRZ4Dwj m6XmXbf9Ryiz8KlLcq07dtx8JoMf3hyvk8SzuvAJ4g 5g25EwZgAAZgAAZWMjAv kwNZcTbnOhbPj65s fbQfStLFC1RZm2/ZWQImhW8oK/j7UwIPqOFU/mJ/GEARiAARjYkQHnKcuA31eKPiPqJo93enYmj3fehktkvNzpsw7S FmXa9u04eA1MNoQd4j7CAKKPeUPuhAEYgAEYgIGVDIjf6XsTfK aO8USf09fz9c5n pKLXW1Rpm3fCXzymLmG5AYDDwYQfcwF5gIMwAAMwAAMrGQgT/SZz e5d Y8MRcUfMuiz3z3C1/kkho8bVGmbT91nJxHQoOBdwYQfe8 gRN8AgMwAAMwAANJDMyLPvsFLI8HQD /lMWKvvfj5q6d /MQc5HzJo Bhp9u4vFOC7O2KNO2b8fBa9Lk5G5oOCF06xdEH/OG3AkDMAADMAADKxmYF3311FuIPhtcbVGmbd Og1cSFgzkM4Doy/cZnOEzGIABGIABGBgZaEX0/fnPfx7sf/w7fVrwIvpIjFpsYXc7W4i 7T6EQ3wIAzAAAzDQKQMtiT776CiiTwtWRB JUIst7G5nC9G33YdwiA9hAAZgAAY6ZQDRpxl4aRElbc8fu7Z9v z3ek3gPzsAwCrXTwCs gIH9Gej2878Hz6vEtZ7PXxGLtmKB6NNMjtIiytjT/tX0B7YReR0xQJG/f5GPz/G5ywAFaVsFKfEiXjCgy0BLoo/P9OUWzNKiM7d9zkfkwYAcAzzeKedLuMSXMAADMAADnTHQiuj78 u3H8PX7z GXX383jOoqYTH7pUVX6fZbiRP9JPG3wACiD05b4JQ wikMwAAMVMkAok8TzNKiq3T7mr7FdpUJRewPJsT3Pb6IvnefwA k gQEYgAEYgIEkBhB9mqCUFl2l29f0LbaTJjgirJGnAlJ4RvTBfA onnAMnMAADMAADAQYQfQGniBXKpUVX6fY1fYttElpvDCD6YL43 5hkvzMMADMCAGAOIPk2YSouu0u1r hbbYklA7I8cxEQ3Jog Xf/CL/6FARiAARg4MAOIPs3glhZdpdvX9C22Scy9MYDog/nemGe8MA8DMAADYgwg jRhKi26Srev6VtsiyUB7vQ18rk/RB/Mk/dgAAZgAAZgYCUDxxZ90qLH2NP XRnIYOEuPX7JvmGLpAUDeQwg vL81TtfpfN/6fZ7jz/jJ1/AAAx4DCD6PIcExZM9R3sRk7Yvbc/6gVcSCQzszwCib3 ft8x56fxfuv2WY0ffmeswAAMKDCD6cpyqvYhJ25e2l MrziVhwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHaS9i0val7eX4inNJRjAgywCiT9afR ezdP4v3f7R48v4yAcwAAOZDCD6chymvYhJ25e2l MrziUZwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHmUVM zenP7FzWXRJCDFGON4OI4i dmKlMa 01x7p9ULanoZPsdn3nCL xL8zBhB9mgEvveiVbl/Tt9gmWffGAKKvb a187m0fWl7vc13xtv3fCf xF BAUSfglNP1mbpRa90 9YPvJK8YGA7A4i 7T5smUPtfC5tX9pey7Gj733PXeJP/CthANGnGYjSi17p9jV9i22SaG8MIPr6Zl47n0vbl7bX23xnvH3 Pd JP/BUYQPQpOJU7fScmqyZX2O6TL0Rfn3G3811bREnbl7Zn/cBr3/OA BN/GFjNAKJPE57Si17p9jV9i 3Vk/71Rwl82JYPEX1txUt6fmnnc2n70vak/Ym9vucT8Sf HTKA6NMMeulFr3T7mr7FNgm7NwYQfX0zr53Ppe1L2 ttvjPevuc78Sf Cgwg hSc rqTUnrRK92 pm xTULsjQFEX9/Ma dzafvS9nqb74y37/lO/Im/AgOIPgWnIvr4TN LAU2 sN3XooDo6yve/vzWFlHS9qXt f7gfd/zgfgTfxjIZqBN0WcWE61fSYhKL3ql25f0JbayJzfC82B/fED09T0HtPN5zL45rv1Lnu bceJP/GFAlYE2RZ8WFLFFL7ddaXuttZ/bX85XneyIwMZFIKKv7/mhvZ7E7MNf3/yxPhN/GGieAUSfC3Fs0XPPTdmWtpfSpntO6fbdvrDdfLJANBYWjRTdfc 8h7Xwesw9/ffPHGk78YaB5BhB9LsSxRc89N2Vb2l5Km 45pdt3 8J288kC0Yfog4GCDGjn85h9RB85nHUcBmCgaQYQfS7AsUXPPTd lW9peSpvuOaXbd/vCdtOJgmK/YLFv5w5Fd99zSDufx zDX9/82TzEKxzAQLMMIPpceGOLnntuyra0vZQ23XNKt /2he1mkwSCrwLBZ YPRXffc0g7n8fsw1/f/LGGE38YaJ4BRJ8LcWzRc89N2Za2l9Kme07p9t2 sN18skD8FRZ/FN19zyHtfB6zD39988caTvxhoHkGYqLvcrsP1/N8rTM5frkZc4 f 3U4O3xMzjudh s9fF6orvz4 Bi fPsxfP3 c/jl19 Nz c7tOlYbNHLbVfaXmvt5/aX85tPKJvmH/Ffjj9F97J/js6P9noSsw9/ffN39PnF OC7AwaM9ArXaZfhIeHmRN/S8Yeou12MNgucZ8Th7TK2 9hc1nCIvrUgxhbxtXa5bmbSLIMcnmhcg18SGaDo7nveaefzmH3 465s/1n3iDwPNMzAv kwdYsTbnOhbPv5 Z /Tzvl6H 7X88N3jgCcq/0QfWsnWmwRX2uX65qf HOTjf2JAqzEHKDobmveSedfY0/7d4lr GuLv6VYcoxYwkCXDDwfshxf3uu9laLvfB3uk8c7p3Ymd/cQfYpFpnTRQZLoMkm8JwZFZmFsnjGK7nnf1MhN6fwr3T78tcVf jXOCPsEQDBRlQPxO35vge78jyJ2 vaCXXvT36jftFE0KiLxKRS1Fd1vzonT lW4f/trij3WUeMEADHgM5Ik 8/m823B52ZjewTsFBd 76Ds5d/cmd/1edqc1F493zjgmWpxLL/pr 8F1JB4Y2M4ARfd2H 7JYen8K90 /LXF356s0xZswEATDMyLPvsFLOOTn8Pnl7JY0fd 3NzBc38en9t7P /xWcHnmZPHQKdiz2oaRN/aySS96K/tB9c1kQzshOM1nIiK 4Wiu615VDr/SrcPf23xx7pLvGAABjwGjPQqXst4ffL7g iLOMh32Ou99KK/th9cV/0kezFDrOqNFUV3vbEJzZvS Ve6ffhri78Qk wjhjDQNQOIPncCKCySRYtp6fG4vmK768RRlOte2aPobmvOlc6/0u3DX1v89ZonGTecwsAsA4g Fw6FRbJocSw9HtdXbM9OqqIxJy7HjQtFd1uxLZ1/pduHv7b4Yy0gXjAAAx4DiD7XIQqLZFEBID0e11dsk0xgYF8GKL r39fdWvkvnX n24a8t/rbyy/XEGwYOxwCiz4VaYZFE9FX6pRhu3Nk XGIrOu 0eKLoLsupWR 0fyXZUVjPTMGg9TP6VnL82Co7X/A//oeB6hgw bv2 ogvclk7caQX/bX94LrqJ1ntSYD PeSGVsE9LgTki V5qu0fafsK9uCPP2KSi2EABtplANHnChKFRbLo5JAej srtpcLRPyDf6QZ4E5fWaa086m0fQV7iL52i72itYh0LsRe2VyI/5v1P6LPhVdhkSyaaKXH4/qK7WYnfVEm4WY9N4i 9b6T4E47n0rbV7CH6EP0sX7AAAy0ywCizy0GFBbJopNDejyur9 guW4Di//78j grG3PtfCptX8Eeoq/dYq9oLcJ6VTZ34X/8/2QA0edOBoVFsmiilR6P6yu2SSIwsC8DiL59/e3zrZ1Ppe0r2EP0IfqK1jT nOR92ZyI/5vzP6LPhVZhkSyaIKXH4/qK7eYme1EW4WU7L4i 7T7cwqF2PpW2r2AP0YfoYx2BARholwFEn1sEKCySRSeH9HhcX7 FdtgDF//35H9FXNuba VTavoI9RF 7xV7RWoT1qmzuwv/4/8kAos dDAqLZNFEKz0e11dsk0RgYF8GEH37 tvnWzufSttXsIfoQ/QVrWn8Ocn7sjkR/zfnf0SfC63CIlk0QUqPx/UV281N9qIswst2XhB92324hUPtfCptX8Eeog/RxzoCAzDQLgOIPrcIUFgkmRztTg5iR yqYgDRh hz16vYtsJ6hugjJ1aVE2NzgONlcyb r87/iD4XSoVFkgTJIgkDMCDCAKKv7AIqvT64a4/ZlravYA/RRy4TyWU7wvm9vwfzf R/S5sCsskiRIFkkYgAERBhB9ZRdm6fXBXXvMtrR9BXuIPnKZSC7z 2ed92dyG/7vxP6LPhV1hkSRBskjCAAyIMIDoK7swS68P7tpjtqXtK9hD9JH LRHKZzz7vy Y2/N N/xF9LuwKiyQJkkUSBmBAhAFEX9mFWXp9cNcesy1tX8Eeoo9cJpL LfPZ5Xza34f9u/I/oc2FXWCRJkCySMAADIgwg souzNLrg7v2mG1p wr2EH3kMpFc5rPP 7K5Df93439Enwu7wiJJgmSRhAEYEGEA0Vd2YZZeH9y1x2xL21e wh gjl4nkMp993pfNbfi/G/8j lzYFRZJEiSLJAzAgAgDiL68hVkjnxubmr/uerR1W2H8iD5ymUgu28o21 flQvyFv54MIPrcySC9SLq22WbSwQAMbGEA0ZfHT l8frT24S Pvy1znWvxNQzAgAIDiD7XqaUXabcvbDPhYQAGXAYouvN4KJ3Pj 9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBlgKI7j4fS fxo7cNfHn/u3GUb38EADFTAAKLPDULpRdrtC9skCBiAAZcBiu48Hkrn86O1D 395/Llzl218BwMwUAEDiD43CKUXabcvbJMgYAAGXAYouvN4KJ3Pj9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBloMGiezidhp7/K/pvmkmvZw3yV9T/7txlm1wOAzBQAQOIPjcI0ouka5ttJjwMwMAWBhoqunsWeu7Yi4 oO6fWsIf6K n3LHOda1ggYgAFFBhB9rnOlF0nXNttMZBiAgS0MNFR0W EjWnxr52dh xIL//5t8O/IcPNBkQnaNb8hvXsj7CgDoDiD4XMuFFn2R6UgcYH PjbhhA9OnmE H8v1X0aRb62EZIugx0k0Pdeo9t3XyKf6v0L6LPBVN40SeRIkhg AAbEGED06S6iwvkf0YewcoVVzdtiOcqtp9jWzVf4F/ uYADR5zpNeNEnkVLwwwAMiDGA6NNd5IXzP6IP0Vez0HP7Jpaj3 HqKbd18hX/x7woGEH2u04QXfRIpBT8MwIAYA4g 3UVeOP9vFX2GG7cwZxsRqcGAWH5yaym2dXMV/sW/KxlA9LmOE170SaYU/DAAA2IMIPp0F3rh/C8h jaxIzyeU0P8bfKbWxOwrTvn8C/ hYFdGYiJvsvtPlzP83Xb5PjlZsw9fu7X4TzG8jxc796 83Wwu8yR /W8OOaPj4/hy7cfw9fvP4dffv3dnDvfoU3HpBdJrX5idxGYTQzgW3xbKwONF N1qYkc7P0vbN/F6/juFRXKSxniea7nGixGVRfxU63ynX/AAAzAgzIDJ3eE8exkeEm5O9C0dfwi92 U0nIwQvF3GNh6bp FkRN9zX7jtae5H9AkHPcXpnDOFEH/gj IMIPpmFishNqVFB6IvSxsi oQ4pl7QzRP4F/82zMC86DP5x4i3OdG3fNzeATxf75938qwARPSR3IsX0A1PWnzX 6fxB9OkWG4i Zf82wh/5sdP8yJq PH/xD/4xT544P5cqXoM6Lu Xjn6 6e4c0Vfa92b8MlwiJ3 iIOeg8cSR fwMDhGGik6FZ7pFFalPl5Vdp 6Tt9/vi2vm Ev8PN 61x43qKfRiAgScDRnvN58gVos8RfMZu8E6fw9/kuLPf7ROib8YxrpPYRuTAwMEZaKToRvQ9OTTx mP6X9NztBH mvYxa/1CQXrw/E7sif0ODOSJPvM5PvfOnCcKPcE35l57d 90GiZ3/Z5jM/v4IpcdAs1CyIIBA40z0EjRjehzRJ/zRS5GADY9Bxvhr2kfUwu0PUeIH/GrnIF50We/qOXxHOb4pSwnV/S9Hzd37dyfh5gzwvC59/nI5 S817d8zq H3OmrHCIW2Xl48Q2 EWOgkaIb0fdk3sQL0efWBIvbfJELuVIsV1IzIb5gIMiAScK1zz NEH/BWD2ntk4j HaCgakD0uSJHnDnpz9z5eVXIvv9Ip/te3Cf GDTfN8Bf0/7VjB22qSFgAAaeX RSe55E9DFZmawwAAMNFN2Ivsdn MZF9SkiVX2yZ15ogL/aixn6d4A/vu0552iLdV YAe70uQ4V ksviZ3EDgMwIM5AA0W3qsDRzs9C9l f3UP0LT7O6R/k8U5ypnjOdOs7thFQMDCm3drnGXf6AJVkBQMwgOjTZQDRt zfBvirvZihfwhbGICBkgy0eafPLM5avxTXyws//sE/MFCGgdJFd0LOfd3pSzg3mMOX2DI2l45vPSZk3/0Mn7 t2v t449dX5q/WP84rjs/8C/ hYHmGWhT9KWCJ7SIN71Qp/qK85qfzHCqLApKz5HSRXdCPn2JvjW itmPHV/TpnuNkn3rk9djn26bLW2X5q8lX9FX1lMYgIEKGUD0VRgUiveDF 8wx2KwhoHSRXeCKLICZ1UOi9mPHV/jU/caJfvWJ4i 8eMks//jM32se6vyhjuH2WZthYFFBhB9ALIICEmYhRgGKmGgctFnxc1qX mKiK3Z8ay5XtD/6hn cfVbwjYWIov9XM7mVKa6nvoABGKiIAURfRcFgYaqkuIYJknSND CD6dLlUFB2IvkW9Nx7kTh/rHzUQDMCALgNW9MUz8r5nuHFf/ 2diou420G2dSHFv/gXBh5fe6KZhqNFdySfcqdvfp4i uLkRvmr8Q8x9En3DzH4F//CgCgDJhObeqq2H7fGQ/QBvSj0Llxszxeq KYy33CnTzcPRETtlvmA6IuXGIi yvINdYduvsG/ LcAAzHRd7uch t9Pl9Pjt8uthsQrgAAIABJREFUnzE8X4fHZffhen7mMrsveN60 DXd9RfQVAMMNANssxjBQAQOIvs8FRiMnKog /59sWHpf/RwrzZ9GzLGpO6fwL/6FgaoYmBd9t EyxmpO9C0dfwi9y20YBiPwxg2zeRqemy FF9pn 2TXQEQfk6aqSWPB5LUCIdTT3ChddEdEEY93vs8H 42dsTt99ryqc0pp/nqa64yVNR8GYECBASuwXipssmHE25zoMyfOH7d3AO/X83C2twodAfhoZv56d 17E33/7q//fkj5zzwuknIe56T5Ez/hJxgox4DJZ5o/sXwZe/xOQvQt8TW2b4Sn4u9S 2uOGTFnrrOib86GPW/ueA37Nf1ubS N056j brUPsfK5T58j 9hQI4BI7DCP/Oi7HH zPH7dTg/H Wc3MlzRZ85x4hY/9bfsyOLos89yPb7X5fxCT6BgQMysIPoW Rm4U7fZsFnFoMF 4v9UvhrqFR7RsxN/pvpqzlHqs1q7EjHU9qeHwtt 357vD8e88SUmFbOgNFYZo0I/8yIutfJgeOO4DOnLd/p846/7D76ZNeutzt99gCvBywUKp8wMAdzxRhA9DVdUCwJY0RfQl7RFm Xa9lnbmp6/xfI 3MCNIANGZxmWwzqDOf47sM5qN6jx/vuCf4xnOcu3uTu35PC2bf6/HP5z7z4s4vRJ9gwF3Hsp1QaOD7yWSEmYLMIPqaZhHRt3HuaIsy BfvuXV5y58b4sxY3nf/gvw7 rcBy9NZz035Ry6Ofj6cwXdH3ftzc1XPj hBzRhg x/p85HNynv1GT68Drh1EH8luApYLB9t1JBLisEMcEH1N5wFE38Y5 oiDKJnlLyL4r9PztSXus603PZ2K5cT7DfxH 50Wfp8J2fuvOJ0Qfk6PI5HAhZJsEX5wBRF/TecAXAP774nxJrzNCIurlF2l7/ng32PdjOff NRa/bd43PbeJK/VBKwwg ki2JFsYgIEWGED0NcvpKALM5yhmODPHWykakvu5QUQF25C258c i0/6csFvaHxyX3w/eH28uEFNiWgkDVvTVnIu401cJLDVDQt8OWDTC/XShRPRN/dEQH4g gfyUKcqy14RE 0uibulYdn8a4puxCfBNvJvN7y3xj hjojHRYAAGWmCgUtG39Fm1rMUwsejOsllBXI0QsH12feULBHvO YV6l4yltz2djwb4fq5z3h4mn7y/ev Y1Mf7Mcfiibl8g khcJC4YgIEWGED0NcepK/hMMWRFn79/POaIw0MUTgsiatX4jD3tXycP5Ag7/9xV43Pa5vq6C2fiQ3xaZQDRR6JtrpBqdbLRbxaKTQwg prKVUFhZ4XfjMALXbOJmZLrm7Toyx3LivZ98Zbzvtk45fqV85v KQ3BJ3eEygOgjgZHAYAAGWmAA0dcEp1YouAut3R7v9M0Ivtc5k eP2vOpfV4gu0TE927fxMK8h7x3O2QPfaF/Yxf8AsMlGcA0ddCsUcfg4s1CaR8AiEGO8YA0Vd9HpgTFnaejKI iIZ/H7Fh7Vb9WIPpyRVzK VX7PIEt r9jziYe1efs3uYDoo9JyaSEARhogQFEX/WcLom1UVAs/LMNfvGxZMs/t8r3BxN9Vfq4hbxFH6vPW7Ddzx8CEH0kJBISDMBACwwg qrnNCTURrH3fLTQfpFLapEVspd6bfHzDiD6ivuwhbxEH6vPS3D cj6iLxRrRR8IiYcEADLTAQIWiL1fELC5IpUWCAAO SPPfm/Hn ixkY9GPAuMQsV86nma /LHtPxE/1BIP sE6BwPdM4DoYxJ0PwlY2PkrWBMMIPqqz1WuQHO3Xb4QfTvlGwH R54pGN4Zs7xRD6rPqcx5zoa25gOgjqZBUYAAGWmAA0Vc1p77I8 9/b4gjRt1ORJCz6EIA7xa2FXEwfq87FNtfy j5nEX1MXiYvDMBACwyYx W0f5f8EHhcL1fALC7CAfuL5y/1dedjvsDz37vjyPXZki3XbnXbpeP5bN8Va3bb9ZXdt bVtcP2e4GJT/AJDNTFAKJv5 KACVDXBCAexOOwDEgX3QF7uQJm0dcB 4vnV5K7Q2Jhqd 5PjP2l xVe6ySeObEJ3Ru6r5q41DJPME/jc5j Gkz/87EDdE34xgSFAkKBmCgaQaki 6AvVwBs jPgP3F8xvN3bk Q/Rty0Nzoi3G1tx1Kftjtjm Lab4D//BwDoGEH2NFg4Avw54/IbfumFAWkQF7OUKmEXfB wvnt9o7s71GaJve84KCbUctkLXp 7LaYdzt8caH JDGJhnANHXaOEA1PNQ4xt8AwPPT/9J5jdPlOWKl2hMPPvR8yXHtrOtHN8h rbns5BAW8tXyFbqvrVtct12BvAhPoSBk9F81T u vHxMXz59mP4 v3n8Muvv5v Ai8 gAEYgIFFBqRFlGcvR7gs9tPmc89 0jX22sZec3yXKijsedX4raJ4Wt/4r1t95dvLeb 1ba4n/8MADOQygOhrrFjIDTDnkxRgoFMGpItuz16OcEli0LOfdE2j TvVd1ZEpPrCnJ96rvp5lcXT tJ9lfSBazd3W7If2KpoDjSan2DouAzFRN/ldh u5/nxT45fbuOdw/F/9 twHnk/D9f7c/fivvk2uNNH4qinkCEWxKIVBqSLbs9eqnBJLiA8 8nXtRIPp58pvjPCwfjAvqb4I fcFHubzqksniEhtml8TjxdO6F2cva5ttieLwzxDb6BgXwG5kXf ZXhIuDnRt3T8IfRul9NwMkLwdhnXrsfmzL6Z/GliiuhbcA7Q50OPz/BZFwxIF92evRThkuVnz37WtY3lyJjvXPHmbsd8knNuzNbm45XF c054bR7nAntzbabu1 wbtlkHYaA/BuZFn/GFEW9zom/5uL0DeL7eh/v1/Lg58BSAoX1L7CH6FhaVJcdxrL8JTcyJ YsB6aLb2HN X8LF2eceX7XdSa57 S4wXl 4 e9f8U24dulc9WOGi0AfS 4Lia29 hNqO3XfXn2knfqYJSbERJKB54OX48u73ZWi73wd7s9HOV9390z uf4q 0L73tj/jjOirbOFcChbHPsHFF/jiyAwsCZcjj1tibHO Cwm80L65PuScO2fjyPtDIqvEeEP9SN1Xor 0yVoGA8dgQPxOnyP4DCOhu3qhfUs8IfoQfdX9xXgJWI4dIzkSx/k4zokWfDbvM983vg/nBNvcft eeZ9zbuj6HvaFxFXJcYf6k7qvZL9pO32u4yt8VQsDeaLPfI7vN lxeGsS7E gJvnGMz7t7Zvt1hy 072XznQ1E34JzagGJfryDi0/wyVEZ8AXLUcepOS7Xh3NibW7/XL9yz5 zc T9IUFVy3hDfUvdV8sY6AfrHgzUy8C86LNf1DITmMX8pyckXf 3FzB8/9eXyW7/GlLuN vr2zXhCYpMQGBmAglQFXsKRew3lTvqwPl4Ta0rGQP3PPD9k4 r45EVXbuOf6mbK/trHQn ncxx/4oxQDRoyVaju1Xe70caevekhTYeY8kv0RGLCC5QhjKTWG0YcL/67eGgG35ppS4y/Zbkg4lexPrO1Qf1P3xWxznDUJBvphANGHoEJQwQAMwEAWA4i 7UXCWLTPcGeOrSnE1l63pq2WrwkJplbGE p76r5Wxkg/181//IbfYgwg mYW3ZjjOM7kggEY6JUBRN829sci3XzxSmD9McfWcLX2ujVttX7 NnEhqaVxzY0jd39JY6eu6nIDf8JvPAKIvsOj6TuI9EwcGYAAGP hlA9H36Yg0XY2EeEH1m/1p7a67r ZqQOGrVH6Gx5Oxrddz0e12 wG/9 g3Rh hbVWSQNPpNGsS 79gj LbF3wq7UFG Zm5Ze2uu7fkaKf/X5sPQuFL31TYW rMt1 A//OczgOhD9CH6YAAGYCCZAUTf kLCFWhjIR642 cv0kvvXXtL53HsPWZzQuhIvpobY8r I/mBsbzzj0/69Amij2IvudgjSfSZJIg7cXcZQPSt58EVaWPhvUH0ubbc LCdHp Q Dmq/0JjTd13VJ8wrvS5gq O4StEH6IP0QcDMAADyQwg tYv/q5QGwvulaLPtUMxti0evvDpwZ/ mHPe9 Afxrh TuG7un2H6KPYSy72mMx1T2biQ3z2YADRt56zt J6hegzNvaIcw9tvMXjj9PQm3/nfJCyvwdGGCP55kgMIPoQfRQQMAADMJDMAKJPrgjK9WVvgmSPY iskbvZot8Y2Qr5I3VfjeOiTXK7Cl8fwJaKPYi 52GPSH2PSE0fiuIWBXKGypa2jX5vjSwSfzrwNiZqjcxcbX8gnO fti9jmuwzJ xa8xBhB9iD5EHwzAAAwkMZAjUmKLD8cfBUqKTxF8usVcSNDA55 PP5yOvIR l7MOPuuziX/ybwwCij2IvqdjLgYpzSUIwcEwGUgQKsc LfYpPEX15Ps1lMCRecm30cH7IT6n7evAPY9Sdp/h3u38RfYg RB8MwAAMJDGQIlBYmPMW5hSfIvryfJrLYEi45Nro7fyQz1L39e Yrxqs7f/Fvun8RfRR7ScUekyp9UuErfHVUBlIEylHHrjWuFJ8i vRziitYtGJ9VLuu73K3j oTxqU/Z/Fxvo8RfYg RB8MwAAMJDGQIlBYiNMWYr84dv3mHzPv3eNs449aGQixm7qv1j HRL bbURhA9FHsUUzAAAzAQBIDiD6Z4scVcaNPHVHnHjtKocE4ZLhp zY pYi90Xmtjpb99Mt5a3BF9FHtJxV5rYNNfEjAMyDKA4JPxZ0jUj UWv YfaHfEHvzL xo91 DEk7FL3EcM6Ykgc2o8Dog/Rh iDARiAgSgDiL7tC/6cqLPFL0XVdh/jw/p9aHlf80p8648vMao3Rog ir1osccErncCExtisxcDiL5trM0JPhO/sfhlLWIt6oyBNaLPvWav3Ec723If/qvHf4i zpIsk6 eyUcsiEVLDCD61vMaFXzmH8BmLUL0dcyAK bWbLeUS nr lyK77b5DtHXcZJl8mybPPgP//XEAKJvHe8xwWcYGotc1iJEHwyMDKwRffaannIyY12Xk3v2G6KP JMtCCwMwAANRBhB9 QWGL/hsYWpfbfExvofBKIPWX7zms9iqz xcWfPa6pjpdz987x1rRB8LLQstDMAADEQZQPTlFyKmULWLurtt 99nXsaCFwZevrF94/eQHXzzviJtHoVf8h/9gCQZORvNVn2c/Pj6GL99 DF //xxfV301/gxQcwAAMwsBcDCL51rLnF6VKsrOgzfl46j2P4BwYeDLhzK3cbH zKPemUA0cciS5EBAzAAA4sMIPrWFUmmGE0pLhB9aX5K8SXn9Of LXNHnng8v/fHSc8wRfRR7SUVJz5OEsbMo9M4Aok93DiD6dP3b /ztafyuoMvd7slPjLXPnIPoQ/Qh mAABmBgkQFEn26BgOjT9e8eBW5IYOzRLm3MsxOKSeo /DrvV3zTrm8QfRR7i8Uek7vdyU3siJ0UA4g XZYQfbr lZoHxk6qaLDnSbaNrXWc2FisfcXv6/yO3 rzG6IP0YfogwEYgIFFBhB9uov3WIwaQQGHixzuWUSuFQj dXv2mbbi89SPT 57fBz3MT6q10eIPhbZahZZEkW9iYLY9B0bRJ9u/MfCE9FXZC3KLfpzzyd36s6dLf7NjaV7/pZ2ubZeJo4eG0Qfoq/IQnv0icX4SOpHYQDBp8 yKSYNL/haz9duwb7n9lHywNHHsYWJo/uG8enlpb19i hD9CH6YAAGYGCWAYSI/oKP6JPz8ZbiXePavYs62tvO0hoO8Pt2v8d8ePvjNNz ot9OrB8tH0f0UezNFnstg03fSYwwIMMAok/Gj0s8xorMpWt7PRbzmebxOZ H2pw7l/3680rCx6GYhvaNbf3lNFz/1Ma4JHyzq42/PL5E6f7XDP8Sj7f6HtGH6HuDYteJjP/xPwxUzQCiL6PIWMmyKSJN3g352h7rNS HCuy99uX6PNSvXBucrz/f1vo4FF 7z9i8/MPz213/QWEMfzoNt4DgMXe/Livzzlo/pF539fp7kb5L95fTsCQCVeNRqc9jsUH0NRq4WGA5rpB0YaVqcQ LzOsyHhAi lvW1KRyNT0O tseO7nNbPJd4lfJtqO9StrEjO e2 tONtbVlBJjZr/EI4ihgfjsNZ6cOeYmaPyq8w/in03B/ mMUpeZO3QYxbMbq /X816fI9vyyRzxsG629IvqcCdRa8OhvXYsA8SAeR2QgJESOOM69 x QWjWbbtB/ytT22d/ 02vPHved7rTFZu3uOhbaeBf9TWKz1h42dyOvzEcScO2/X3xIF21NEvdn27nYl29OufZsEJvFGgz4sz3vRF4/mOyVuD6d/ZGoT0nJjXjoe0/Jfsx0Xe53Yfreb6WCx2f7rsMN9OI blfH3 kOF H 3PXY/d58QbCx8fH8OXbj Hr95/DL7/ bs6d7xDH8A0MwAAMyDEQEiL4d5t/TYHq tC D/naHnPPb2F7bREucV0p/0j0HRsyYi7Hj5K85D5umXN3MMV2jj3JcYdsTQRoqgCzYvGP6aO br7t63v6YT2LH/X7X5D /bxLvjegK27FibU70hY6/77vcjNZ7iLrz9f7YNqLvdplpd7oWmr4h hC5ybCEYX6HivPwCQzEGQiJEPwW91vMR6Ygdc9x3/s d4 519SynVNcS59biw9sP6THh719BKCNn8TrS g4jzdO7k55n82zIsPE2r 75fcnKGA22PPtu /dfvmPVbrnLW1PHsl8 iM2xtGeOTdwV9D41s6JsU8z57l90oyH204r2/Oiz6xJ5 F6nxN9c8en17ii72TeGLGH6Jsu K3AQj JGwz0xYAvQIj/9vibosX3o7vP97l7zL9uz/e22Crxuuc4t7RVwje0 SkE1vpiS8z9a43IuNkvdHEePbWPZY6PKT4FzXj3yjzKaMVMQOi 49kOib4s91/a4/afTcP3LaXDvqlmf2v6/XbNwU8LYcQWv6X S6PNs l8IY/tnvhjGtR/qm2Y8Qu3Vvs95yvJtHZIQfaPAcxuxou 17xb94iHu9HkToHao6N97UYdP8EmLDPgCpMUx1NRnU0D5/fH3 T73j/vXS7 3RV6JV mxlLBXwm 0uU34SXJiBdxL3PiPNT7veBkRZc415413xIxAinwJTEj0nTbYe xu36etvp FivyDFilZfjAb KYTrPzy ZObmnmvsOZ 3M/1fums4udbWvc8 uV9gY/o9it2Eby7VjMeb/2yfK37VvtPn uT1eKfjj9A 9xqzjehzHOY7h/fvRRQ wScwIMOAL0Dw6za/muLc96G/z/e5f9y/fu37kkJhbZ 57p0ffJLnkxD3Uj60AmNyV8wXfU xZ0Wf7c8oEj2R5PdrTjSZdtfY8 2/7qCZmvMpJk3/fKFm2pvsM cacecI0NG2ee IwLfrnNrWiLiXUHb2T/rk7Leib9IP57hpXzsevv9aeJ8n sxn9tw7c9NHOR/jDe0zc9Jc /6o6OTxTy9e1n IvhnHWAfxmpf08Rf goE0BnwBgt/S/DbnJ1NAucf89 aY7/PQOa6N2La5vtR/sb5xfMoD/tD3R2guSPg9ZHfVPufOmN8vK2Ky7C7Y8 2b96vaiOQYK4KN7ZCwG8XiQj/9O5xG8JnHOkfhF7jOCsUsP82NIWA/5LdW9s2LPvulLI/nMG8XMxdd0Td3/HGf94jfNNnQ8bp8Hc3Xv92G/0XNA1iL4F57QCGv3UX8zwMT6WZsAXINL2e7NnihA7Znfb7jOvv s9DhYt7vt0OnbfXPtsHXj/jiy/q9EVoTkjEKmQ3ZZ 5U2XvWpnzl 5cnZ53DZfsZtnza8s/Tf9A5Nuy7RrhZoSYfW8f4XTH8TrmPIJpPusY9HXks3nGrhWOvg 9Cn nbIvr8MS/Gw/dfAN ArGoKK I/oqCkbtsNC/maQKQ9UnuhrZ9QVIjX1sqU mELL9dbftPvPq 9w/zy2m9t52 8n2ZyzxRTu CM2ZHuPn3z173eFzHsfcyy9WpIUElj0WFH1zIpJ657XO DFE9AHHLBw LLxvZ2EjVsRqKwONhqj sffxm3fvDFnN1vXl3fu eFClaNfW5f2CaXHImB0HzZa3yzjzcWqkMnd ued 6Cj19q98/5/GAoPvZOonScaouH9PhC9hB92jBjH1EJAzDQIAOu8AgtHuzLFwN QTPnQ9f35hpznn txPu59tmfH1t81obPQvNmj9jZO1am/dAdrT36EGrDfSTzdTetxHo1I/y0fFVrPEIxktyH6CsBN20iAmAABipnwBUekosOtuLFsV YGp/5 yTeE4t4LPDRsXwUmje7xTjy7Zy79aPytWc3P3QYD0Qf8FN8wwA MwMAbA4i csXuWJg mTTbpggKFata 3Yruph3b/MO3 vOu9Ccwee6Pse/9fgX0ceiw6IDAzAAA28MIPrKLdRjYfpk0my7RVOoaN1rn9sPtq dxwR9t CM0V4hdG7EjTtvjhOij2JsUFEyq7ZMKH LDIzCA6NuX41AxavfN8WSO22P23BKvtg 8fsYDX9Tpi9D8IFZ1xoq4yMcF0YfoexUNTDD5CYZP8WmrDCD69 mXXCrixKH1 g2eMHXvN0nmhInevfUv94ti fOHvh79D7OMbWOyFAUQfog/RBwMwAAMTBhB8 xdBthi1xUdKDMw19vzcV9teidfcvnLjjju6nvQrzjo6mP8Mdx/YHoo9hbXTSQGI6bGIht37FNERwwIsuIL BSYuBfIxGTUFG81z6J/pe2sZevaEfuy41KM0P7srkUf877E9GH6EP0wQAMwMCEgRTBwcI 6v7BK CYlBqbwl2grxUZJkZHSvxrOKekj2l4vAmtghz7sl8t69jWij2J vt6Kh54nG2EnoLTGQIjhaGk LfU2JwZ6ib86HJcXGXJ9K7S/pC9pG9JXinnbbqW8QfYg RB8MwAAMTBhIERws9LoLfUoMahB9cxyUFCFzfdLeX3LMtI3o0 Yb 7o5fw//Ivoo9ibF3h7Q0Ub7iYMYHjuGKYIDBnQZSIlBzaJvjo S4mSuT1L7S46NtteJPqnYY0c3H JfGf8i hB9iD4YgAEYmDCQIjhYhGUW4Tk/psSgRdE3O94/1hXtEmJnrk 5 0N9ybXB brzCv/i354ZQPRR7E2KvZ4nA2NnMYCB05AiNvDTPnMlFosjib45pkJCa q99c32a2x/q19y57N9nDuFn/AwDnwwg hB9iD4YgAEYeDEQExosoJ8LqLYvYrHoQfTN TgksPbal9OnuXPZv988wtf4GgYeDCD6KPZexR6TgsQIAzAQExo wsh8jS7HoWfAtMbiX8EttZ6mvHNtvLuFrfA0DJ6P5qq/5Pz4 hi/ffgxfv/8cfvn1d9Nf4MUHMAADMKDBwJLQ0GgPm/McL8UC0TfvtxBTqSJN rxQX9iXFzv8hb9gQIYBRB8CsnrVz2SXmez4ET mMLAkNFKu5xw5zuZigeAT9LHyF8gwH RihS/xJQxsYwDRh hD9MEADMDAi4E5ocFiu22xzfGff7fJvRbBt08c/Bisfe/Gju19Yoef8TMMhBlA9FHsvYo9Jkl4kuAX/NITA4i 8rxbYTfG4o9pf yxnpisaay54q mvtOX6VzCH/ijNwYQfYg RB8MwAAMjAwg OooglxhN4oMh0/3WG8FS83jDYnBmvtL3 qY68SBOOzJAKLPWUz3dDxtMdFhAAZqYwDRVweTrrBD9NURk9rm Kv2BCxiAgVwGEH2IPu7ywAAMwAB3 goz4N8psou5K/pcMWiP80rhBwMwAAMwkMIAoq/wQp8SJM5hMsMADOzBAHf6ynE2J gQfeVissecow3iCwMwsBcDiD5EH3d5YAAGYIA7fYUZiIm ueN7FQu0Q2EKAzAAA20zgOgrvNAzgdqeQMSP B2JAe70lePZFXXj3T3v3487EmeMpRxn B7fw0C/DCD6EH3c5YEBGIAB7vQVZsAXfbYwGwVg4b7ZvvDab7FI7Ik9DL TPAKKPxZSCHwZgAAYG7vKVXdBjos/Eh6ILH8AADMAADKxlANHHQkohAQMwAAOIvsIM I902kXd3ulD9FHoWSZ4hQUYgIE1DCD6Ci/0a4LGNUx2GIABaQa401cnU4i OuMiPf wR5xhAAa0GUD0Ifq4ywMDMAAD3OmrlAFEH4WgdiGIfRiDgT4YQ PRVutAzAfuYgMSZONfCAHf66mQR0VdnXGqZt/QDPmAABlIZQPQh rjLAwMwAAPc6auUAUQfBV1qQcd5sAIDMLDEAKKv0oV KWgcY1LDAAxIM8CdvnqZIjb1xkZ6HmKPWMMADGgxgOhD9HGXBw ZgoHMGEBX1FxnEqP4YaRVq2CX2MAADEgwg jov9iQgwgbJCAbaZgBBUX/8iFH9MSIPEiMYgIGaGUD0Ifq4ywMDMNA5AwiK gsVYlR/jGou9ugb/MAADCD6Oi/2SAIkARiAAQRF/QwQo/pjRC4lRjAAAzUz0KToM53mBw/gATyAB/AAHsADeAAP4AE8gAfSPFCzKDV9 /j4GL58 zF8/f5z OXX382TaG38JcG4v5W avST8RN/Da5asQn/8N8Kqxr97J1/DZ9is43ajzgRJxhYzwCirxGR60Pe 6LP Cn6/TnR03v4h/ eeGes64s8fIfvYAAGLAOIPkRfk3dMKXopem0S6/EV/uG/R 4ZM8UrDMAADKxnoFnRR9DXBx3f4TsYgAEYgAEYgAEYgAEY6IcB RF jd/qYpP1MUmJNrGEABmAABmAABmAABrYwsFL0nYfr3TxgNAzD/TqcR F0GW7PXZ/73OCErgntc6 Z2b68WnLaf5x7ud2H6zlw3fk62C4/unkbLhsFX6it0L5HgEJjDe0L9N3vZ43jX hTF P3 Lpfz95js6FYh/a1Gf/zKyE8k8Dt0tX4T6c68t841xwWb5cEnvz8Mr6jk001AAAFUElEQ VR/Z3PXGAf79BxLLNcojX/XGBcf/8PXofUstE88xy Nn2Nebl07x7nuwS1 wA/9MLBO9JlF91nUPTZPg3m1ha4pDuz2C6bANafQvsyEbtv/XJAXRN9LoJ6Gse1hrfCzBZ7bVmifA1JorKF9zY7/c6yfMfncF4z1kcZvCs03odPR B1ue5z/BmWb8/Yb/0OYzQk704 5Y6 87MRtsi8yN/cbozOH3vq67/jLxLjQ F9/xCi/xk24fGNgyT8cw3cwAAMw4DLwJvqGlxCyIsa9m/dw3mTBfxYH7oL4WeAbGw9hFbomtM/tXHzbLPruouS/d4JtinJX9J1Ow2f7j JhegdwfvyPfoXa8vf1Nn7jb9cHHY0/KPo6Gv rGPsc8 MPMX3M/zL5z/yxzc1/Tr575rdR9Dl3vl75/XIb7nf77MP7H78 c PzD2STP2jsGePpmPw1Yc/xl4qxP2b3vdb461njluPv oJtfAUDMAADywy8ib7Ts3h9aLnwxZNjjzfDeJ19vNO8jkXCZ3E Quia0LzlgtpCZFCOu4PD6bs73RJ8Vp5N JIz/0cdQW/6 zsb/FpOOxm/HPs4BW0R3NP6n6JuIhfFuwcMXkzn2eDM HfC6E/Xc1 z8n8R/h/xn/G3a9HPaS3w//qj18q8Tn3Gf4 9pzB55MxQvG5vp YqMO2OxbU9e9x5/iRgv UBx/A8/uZYcPfVzD S77hGI AwgAMwMAbA2 ib6xZ79fhGvkLsn2UyQondzGeFgWPImKy71lwhPa5dlK2JzbeF iRH AUWSHut6c7kJzL 9AXxs33b1njtYccfiPVz0jF 55Hnw8b/swD05y7xF45/IJ FfP5 p8/8Pe5x987N4a/thfn6sL9/jP1xje LjX//HFdi/I82fYFnxh7aF/CJYI4Ljp9i7q2Yw08PDvEDfoCBeQbeRJ911iNnz1z4TOjm3Pfz TFFgHzlyCoTQNaF9mcncmPgsWOYXpLe/ipsLn4 eProxHWton/XN4zXUlr vt/E/fPgZE8ZvH292/zjyYuuxMS7er30N8z8RduM4eoy/GbNy/ksQPG5udh8BNDFKEX1BXiePxNt8qR/jad6N3 G059s5JTn h 0dYryUB/aI/9i v56ZmPv7CsR/yTccQwzCAAzAwCwDb6JvvOP1ejTzef/r7REik/i9Y2Yheu4ai4rR6c6CMC4W3jXBfbaYmH81hcvr59U309bnz2cf nnac/j3Oso/g2YXs89rPR1Of 15t2D6F2prbZ9sJ OxA45 PCeN/fEvssePvfn7PFt3TfQcfv5NfPnPPDvlv/Mi1 02xTh6yecuoH cnSfQFc5M7HjcXys/xT4ZsO5 vk1yz5/h3jHH58TscjU8rG//P7ds3/ku 4djnPMEX AIGYMBn4E30 SfwHmhgAAZgAAZgAAZgAAZgAAZgoF0GEH3cBp69DczEbndiEzt iBwMwAAMwAAMwAAMwYBlA9CH6EH0wAAMwAAMwAAMwAAMwAAMHZ gDRd DgWmXPK3/lgQEYgAEYgAEYgAEYgIF GUD0Ifr4qw4MwAAMwAAMwAAMwAAMwMCBGUD0HTi4/DWn37/mEHtiDwMwAAMwAAMwAAMwYBlA9CH6 KsODMAADMAADMAADMAADMDAgRlA9B04uFbZ88pfeWAABmAABmA ABmAABmCgXwbeRN// j//b5j778u3HwP/4QMYgAEYgIGWGfjzn/88 P 1PB76znyEARiAARhIYcBd 05zgs/s//r9J//hAxiAARiAgaYZMIue 2Pes76xvsMADMAADBydAXf9 /8DsLveFHyzpQAAAABJRU5ErkJggg==
فما هو الكود المناسب لضبطه حسب ما اريد
وبارك الله فيك
وعليكم السلام
لم افهم منطق الكود!
اشرح الفكرة كاملة وارفق المؤشر للمراجعة

kira-h
17-07-2020, 04:12 PM
اشكرك جزيلاً استاذي الفاضل .. تقبل فائق تحياتي.
العفو اخي الكريم

bahoma31
17-07-2020, 06:07 PM
السلام عليكم استاذ حسن
تابع معي الكود من فضلك

int lower =iLowest(NULL,0,1,counted_bars,0);int higher =iHighest(NULL,0,2,counted_bars,0);
double pricelower=Low[lower];
double pricehigher=High[higher];


pricelower هو أقصى قاع في الشارت
pricehigher هو اعلى قمة عي الشارت


for(int i=1; i>=0; i--)

{
for(double h=up_draw[i]; h > Bid; h=h-BOX)
{

up_draw[i]=h;//مؤشر خطي MODE_LINE
}
for(double m=dn_draw[i]; m < Bid; m=m+BOX)
{

dn_draw[i]=m;//مؤشر خطي MODE_LINE

}

الان سيدي الكريم بعد ان يهبط السعر اكثر BOX التي تساوي 0.005 نقطة
يهبط معها up_draw
ولكن اريده ان يبقى في مكانه الجديد ولا يعود الى مكانه السابق اذا صعد السعر فوقه

نفس الشيئ بالنسبة لل dn_draw، اذا صعد السعر اكثر من BOX يصعد معها dn_draw
ولكن لا يعود الى مكانه السابق قبل ان يصعد السعر اكثر من BOX

هذه الصورة تبين المشكلة اين تكمن
https://www.fxprg.com/vb/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA30AAAHcCAYAAAB iVcPbAAAgAElEQVR4Ae2dT7LjuLKftRAPvYY70D7uAu5EW/AW7lBTr6Fe NW7disq/MrP7sGbVPhW2z1zaOAIn7EjHL0BOkAJOiAEEgCZSQDEd050i KfBJD5IZG/Q0p1Op1OA//hAxiAARiAARiAARiAARiAARiIMzAMQ/X66ePjY/jX3/73678TgY0HFh/hIxiAARiAARiAARiAARiAAcMAoo 7htWrfpIVyQoGYAAGYAAGYAAGYAAG1jOA6EP0IfpgAAZgAAZgA AZgAAZgAAYOzACi78DB5a8h6/8agu/wHQzAAAzAAAzAAAzAwFEYQPQh virDgzAAAzAAAzAAAzAAAzAwIEZiIm y 0 XM/zIn9y/HIz5h4/9 twdv12vg734TZcxn3n4XqfOc 95rnNF7kEnHKUvzowjvnJhW/wDQzAAAzAAAzAAAzAgAQDRnqF7VyGh4SbE31Lxx i7naxMTLn3of7/Sn6jDi8XcZ2H5v2vPArog/RNwNpGJgw0JyLX2AABmAABmAABmAABvpkYF70GX8Y8TYn paPf94BtDbM60P0na/34X49P p4RwDOMYjoQ/Qh mAABmAABmAABmAABmAABlYy8HzIcnx5F11WsM0J4pnj5lHO5 Odn3fyPkXf577TcEoUfV/Rj w3/ 78M//ZffTKznOsR fAMDMAADMAADMAADMAADMAADLgPid/ocwfe4U jKymEY7tfhsuJOH6IPoctfdmAABmAABmAABmAABmAABlYwkCf6 zGfz7JexGPHs3embCD5fXH/e6XPv7k3u s303zzeieibcY6r4Nn2oeM9TMAADMAADMAADMAADMDAvOizX9T yuFP3 FIWV/S9Hzef1XN/Xp/bG/WKI/pGsfg80/ Wz4C2QfQFnMLkZfLCAAzAAAzAAAzAAAzAAAykMGCkV8p5Jc9B9 CH6qoe05AShbZI9DMAADMAADMAADMDAEgOIPgQVggoGYAAGYAA GYAAGYAAGYODADCD6DhzcJbXPMf4aBAMwAAMwAAMwAAMwAAN9M IDoQ/TxVx0YgAEYgAEYgAEYgAEYgIEDM9CU6Ptn/p0 JmNLk3Eo/Jej0u23FCv6Sm6BARiAARiAARg4MAOIvgMHl9v1nYsuRB LF/kNBmAABmAABmAABk4no/mq98Pr2zu501dYxJA08iZLadFVun14yeMFf EvGIABGIABGIABJQYQfUqO5S4bAvVUWnSVbp 5xcIFAzAAAzAAAzAAA1UwgOgDxCpAPKRILi26SrfP3GJuwQAMw AAMwAAMwEAVDCD6ALEKEBF9CndGEX2wTX6DARiAARiAARiAAT7 Tp1BoM7GYWJaB0qKrdPvWD7wyJ2AABmAABmAABmCgKAPN3en7l 9 MvxBr KABBkqLrtLtM0 LJndyRAM5gjnCHIEBGIABGNiJAUTfTo6mAOuwACstukq3z9xiI YMBGIABGIABGICBKhhoS/T9ffgn7vR1KJ5qSRZGRGn/So4V0VdFkuUPPuQsGIABGIABGICB0gwg iSLbGwdu8jWFlHS9qXtwfex Sa xBcGYAAGYAAGDssAog 4Dwu3 F9UtEWUtH1pe8wV5goMwAAMwAAMwAAMNMkAog9wmwRXXNClcKA toqTtS9tL8RHnMJ9gAAZgAAZgAAZgoDoGEH1AWR2URQRdCgfaI kravrS9FB9xDvMJBmAABmAABmAABqpjoDXR9ze yIUPwhYThdoiStq tD0SeHUJvNhcgAVYgAEYgAEYgIGmGED0AWxTwBYtcrVFlLR9aX vMFeYKDMAADMAADMAADDTJAKIPcJsEt4j40xZR0val7TFXmCsw AAMwAAMwAAMw0CQDiD7AbRJcRF/CY76IPtgmv8EADMAADMAADMDA6WQ0X/VPj4GL58 zH84z//feAzfUzccsBqi6iYfXNc xe yvGF7/E9DMAADMAADMCAEgOIPiXHFrkTxVh0E0VMlG31f8z 8PgrzfinGoX/jYJy6xi4XpdB/It/YQAGYAAGYAAGVjCA6FvhNARdwqOFR/RrTJRtHXPMPqKPJL VMa6HIRiAARiAARjokgFEH B3Cf4q4R4TZVtZitlH9MHqVsa4HoZgAAZgAAZgoEsGEH2A3yX4 iL7350N5vLPTO9jkQHIgDMAADMAADByeAUQfkB8e8lUCL8RF7E 5c6JqcfTH73OmD1RyeOBdeYAAGYAAGYAAGngwg pgMTIZUBmKiLNXO3Hkx 4g WJ1jh/2wAQMwAAMwAAMwsMAAom/BOWJ3iGjjGJMwJsq2xjlmH9F3DI62csL1cAADMAADMAADMJDJQ Hui73 YGPPZG3xQgIGYKNvKZcw oo8Ev5UxrochGIABGIABGOiSAUQf4HcJ/irRHBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwYQfYDfJfiIPjP 1pz98e2eBu8fkH/IPDMAADMAADMDADgyYqm9V/btD32y/Pj4 hi/ffgz/ P3vw9/ hcc7qw YDdzhXmN34rZOiph97vTB/lbGuB6GYAAGYAAGYKBLBhB9gN8l KsEaUyUbWUpZh/RB6tbGeN6GIIBGIABGICBLhlA9AF l Aj qaPdo6JICY6mSvMFRiAARiAARiAARhokgFEH A2Ce4q0bY11tqiKGafO32wupVhrochGIABGIABGOiSAUQf4HcJ/irRGBNlW1mK2Uf0wepWxrgehmAABmAABmCgSwZiou9yuw/X8/yX2k2OX27G3OPnfh3OhqnQvvN1uNvzhmG4X8 LvueLXJici4CsEnBrfBoTZWtsutfE7CP66uDAjRnbxAQGYAAGY AAGYKABBoz2CtfMl Eh4eZE39Lx83C9D8PtMhWLRv N 4zou11m2p1eY/qG6GsApDBE78Fs ryYKNsap5h9RF9y0mias60ccT2cwAAMwAAMwAAMeAzMiz5Trxv xNif6lo9P7gCObTq2toi /8o/2QDEHsS7FfgxUba1XzH7iD7Y38oY18MQDMAADMAADHTJgPOUZW D8jlAL8jFz3Ig6 3inuc4 zmnv7tn3Y O34RK0/XmTaHKnD9H36ZjdxE4kQN30IybKtvopZh/RF0hSzIdu5t/W cX1zB8YgAEYgIGOGRC/0 cLPse35 v97fN7oX1 DYPoc5zoO4f3Oxb9MVG2NU4x 4g FqutjHE9DMEADMAADMBAlwzkiT7zOT73zpx3p29B8BltYj7T53 9pS2ifr2MQfUzOOiZnTJRtjVPMPqKvDg62xpnriSMMwAAMwAAM wMDODMyLPvtFLeMzmM8vZXFF3/txc9fO/TECb7Lv chnaJ8v9Nz3iL6doXCdz7ZzJzEmyrbGKWYf0ccCsZUxrochGIA BGIABGOiSgXnR59S6hdlA9BUOAMLvORliomxrnGL2EX1dJmnmX z2LEbEgFjAAAzAAA60y0Jbo zn8jS9yYbIVm2wxUYboQ5RtZYDrYQgGYAAGYAAGYECBgdZE339 E9CH6EH3uU9Ry2ydtUauQwIqxwFhYkGEABmAABmAABhpiANHXU LAocAsLXm1RFLPP450sLuQrGIABGIABGIABGFjBAKJvhdMQX4X FV6mYxUTZ1n7F7CP6SPJbGeN6GIIBGIABGICBLhlA9AF l CvEu4xUbaVpZh9RB sbmWM62EIBmAABmAABrpkoCXR9/X7z4HP9DFRy03UmCjbGpuYfURfudhvjS3XEzsYgAEYgAEYgIGC DCD6Cjp/1d0m lsuYcRE2dbYxOwj srFfmtsuZ7YwQAMwAAMwAAMFGQA0VfQ Yi xj4bGBNlW1mK2Uf0sVhsZYzrYQgGYAAGYAAGumQA0Qf4XYK/SnDHRNlWlmL2EX2wupUxrochGIABGIABGOiSAUQf4HcJPqLPTP 3pD/9OX2N3nsld5C4YgAEYgAEYgIFEBkzVt6r TbQvYfvj42P48u3HwBe57Oh0icAdzkbsTtzW MTsc6ev mR1OOa3Ms31MAsDMAADMAADVTCA6APEKkBsoliOibKtLMXsI/pgdStjXA9DMAADMAADMNAlA4g wO8S/FUiMybKtrIUs4/og9WtjHE9DMEADMAADMBAlwwg gC/S/ARfWbqT3/4TB f6Vs1L8ih5FAYgAEYgAEYqJ4BU/XVvs7zmT4mUh2Qxu7EbY1TzD53 urgYGucuZ44wgAMwAAMwAAM7MwAom9nh9eusOnfwt2emCjbylL MPqKPBWIrY1wPQzAAAzAAAzDQJQOIPsDvEvxV4jYmyrayFLOP6 IPVrYxxPQzBAAzAAAzAQJcMtCf6/qeJ08LdGI51CfIuTMRE2Vb2YvYRfbC9lTGuhyEYgAEYgAEY6JI BRB/gdwn KpEYE2VbWYrZR/TB6lbGuB6GYAAGYAAGYKBLBhB9gN8l Ig M/WnP3x7J08QrJoX5FByKAzAAAzAAAxUz4Cp mpf56ff3snjndUHrBqgYnfOchOUtD2//Zj91u70xcbjj5/3zG0YgAEYgAEYgAEYUGEA0QdYKmBVIfykRYe0PZ 9mH1E33FZ9VngPbGGARiAARiAARgQZADRJ jMKoQO4/lMEDERlesraXtzH7iL7P2Pq 4z2 gQEYgAEYgAEYgIFZBpoTff Nxztng4no9D6TFRNRuYlB2p7ffsw og/2fWZ4DxMwAAMwAAMwAAMJDCD6EpyEmPLEVCs i4mo3HFI2/Pbj9lH9JHUfWZ4DxMwAAMwAAMwAAMJDCD6EpyE6EP0jQzERNlW lmL2EX0k9a2McT0MwQAMwAAMwECXDCD6AP 44MdEVG7spe357cfsI/qOy6rPAu JNQzAAAzAAAzAgCADiD5BZ3JHsLI7gjERlRt7aXtzH7iD6Sv88 M72ECBmAABmAABmAggQFEX4KTEHOVibnUmMVEVKode560PWvXv sbsI/pI6pYVXmEBBmAABmAABmAggwFEX4azEH Nib YiMqNvbGn/bvUJ0RfXnKXjv9SbDiWFxv8hb9gAAZgAAZgYFcGEH0Atytwuwr n0kW/dPuIvjxWpf1PrsjzP/7CXzAAAzAAAzBQDQOtib7/xL/T19jdtpKTvXTRL90 oi8vcUr7vyTLtJ0Xe/yFv2AABmAABmBgwgCiDyAmQOx6J07b96WLfun2EX15rEr7X5tX 7OfFF3/hLxiAARiAARhIZgDRByzJsDQnCEsX/dLtI/ryWJX2P7kiz//4C3/BAAzAAAzAQDUMIPqAsRoYxUVl6aJfun1EXx6r0v4nV T5H3/hLxiAARiAARiohgFEHzBWAyOiL/J5TURfHquIvjx/kQvxFwzAAAzAAAwcloGY6Lvc7sP1PF LTo5fbsbc4 d Hc6Gm9C 03m43r3zFhj7 PgYvnz7MXz9/nPgi1wWHCUumlpvq3TRL90 oi8vEUv7v/X5QP/z MFf AsGYAAGYOBADBjpFdYKl Eh4eZE39Lxh6i7XaZi0ei/cd9jY2z3tW/Bp4i BeeEgzd1fLfnlC76pdtH9M0kqxnepf3PPMzzP/7CXzAAAzAAAzBQDQPzos/UUUa8zYm 5eOTO4BjvD9tna/34X49P3zgCMA5bYLoY8I8YDFFvPavpK lRQeiLy9xSvtfkg1s5cUSf EvGIABGIABGNjEwPMhy/HlXXR9CrX3Ywui73wd7vbxThMf8960cLuMfZ3c3UP0zdylAOx3 sLWLeGn7CvbcCSu9PQpqSe6kx5/bt9Lt5/aX89/nPD7BJzAAAzAAAzAgwoCpG8OCbkHUvXwfEIW 4HudexrsHT77OraL6EP0zQPo Ua7iJe2r2BPWui59hB9Hm9O8kpmlGsWFhT8C0cwAAMwAAMwUIq BPNFnPsd3Gy6vusYTfQuCz4zP6LvxsU5H6D02l PP450vhy87qhREu7UrLaJ8v0rbV7DnijTpbURf5/PLnw 8R8DCAAzAAAzAwGEYmBd99otaHpXl40tZXNH3ftzcwXN/jMCb7Hs98mnE4vPM1775egvRx4R7TDhpEeX7Vdq gj13gklvI/rmk9Buf9jwmeT9YRZbGGJ wQAMwAAMlGTA1I0l209pG9FH4YfoMwzwRS55yUpadDMP8/yPv/AXDMAADMAADFTDAKIPGKuBMfoXAO0iXtq gj3pu3uuPe708RfI6BwkX7aTL4kVsYIBGIABGHAYQPQ5zqDgqb zolRZRfuyl7SvYc0Wa9Dair3L fV55z2IOAzAAAzAAAzCQyACiL9FRCMIKCmJpEeXHXtq gj1poefaQ/RVwLjPJO9ZzGEABmAABmAABgQYQPQJOBFBuFOxLC2i/NhL21ew54o06W1EX4RjE0/tX59J3rPQwwAMwAAMwAAMCDCA6BNwIqIvUixL VhaRPn9kravYE9a6Ln2EH0RjqXjqc2fb5/3FA0wAAMwAAMw0C0DiD7gbwf 1opu6f7y7Z15rCr4X/UPPNL9Jbfl8YK/8BcMwAAMwMCBGWhP9P1ueIz8RZ7jx5y02kWxtH0Fe 6dOelt7vRF8op0PP08pW3fb4/3x8yTxJW4wgAMwAAMBBhA9AWcgqiMFL lfKZdFEvbV7AnLfRce4i CPfS8fTnkbZ9vz3eUxTAAAzAAAzAQDcMNCf6fuVOXzdwvolv7a JY2r6CPVekSW8j hB9b3OOYqDffEvsiT0MwAAMHIoBRB9AtwO0tIjyYy9tX8GetNB z7SH6EH2IvggDfs7gfTvrB7EiVjAAA50zgOjrHICmijxpEeXHX tq gj1XpElvI/oiBb90PLX58 3znoIHBmAABmAABrplANEH/O3A31rRLd1fvr0zj1UF/6v kUS6v S2PF7wF/6CARiAARg4MAOIvgMHV7xANUWp9u9SPLSLYmn7Cvak7 659rjTx50 8ZyxNJ85RnEFAzAAAzAAA7sxgOgDtnTYpEWM7/uY/dhx317ue237uf3xz dOXzqrxnfS8ZS2F4gvoisivH2f8T5vTuAv/AUDMAAD3TKA6AP dPhLF72l2y/NCqIvnVUTK2lepO35PGnb99vjfR5P At/wQAMwAAMNMwAoq/h4O1 V0C7KI3Zjx3fGktt wL9cx/HlN5uTiTF/CkdT2l7fv 17fvt8Z7iBQZgAAZgAAa6YaA10fcL/05fwceftIvSmP3Y8a2JS9u QP khZ5rD9EXmVvafGjb38of13dTGOz B0XYgi0YgAEYUGcA0Qdk6ZBpF6Ux 7HjW2OpbV gf65Ik95G9CH6KPYjDGydw1yfvt7gK3wFAzAAA6IMIPoAKh0ob VEUsx87vjWW2vYF ict9Fx7iL5Iwa/Nh7b9rfxxfXquxFf4CgZgAAZgoDIGEH2VBaTqv7RrF6Ux 7HjW2OpbV gf65Ik95G9CH6qs4/W cP11OAwQAMwAAMdMwAoq/j4GcXeNqiKGY/dnxrLLXtC/RPWui59hB9iL7snLCVaa6nAIMBGIABGICBXRhA9AFaOmjaoihm 3xzX/q2ZB/7JhnRWTRzNr2Q8pe35fdO277fHe1k 8Cf hAEYgAEYqJgBRF/FwREtWCXGqV2UatuX8EFJG4i vMVEmidpez5L2vb99nifxxP wl8wAAMwAAMNM4Doazh4u4tC7aJU237rsUb05S020jxJ2/N51Lbvt8f7PJ7wF/6CARiAARhomAFEX8PBQ/QJP75XOwuIvrzFRlpESdvzedO277fH zye8Bf ggEYgAEYaJgBRF/DwUP0IfrMBJb6ae4zcLG5Ky2ipO35/de277fHe4oXGIABGIABGOiGAVMv7q4dMvn6 PgYvnz7MXz9/nP45dffTX87K/ZrGa92UaptvxY/ru0Hd/rykpU0T9L2fA607fvt8T6PJ/yFv2AABmAABhpmANHXcPB2F7/aRam2/dZjjejLW2ykeZK25/Oobd9vj/d5POEv/AUDMAADMNAwA4i hoOH6Ovsji iL2 xkRZR0vb83KNt32 P93k84S/8BQMwAAMw0DADiL6Gg4foQ/SZCSz1w2f6IjxpizJtQ6ihUYgAEYgAEY6JYBUy/urh0yeeMzfZkOUwuodlGqbb8WP67tR 93 gwf2r9LsdHmU9v 0tg4Vv1CqJbXiT2xhwEYgIEuGED0AXo66NpFqbb91mON6EtndU 2sY/zFjq9p071G277bFtu6LOFf/AsDMAADMFAZA4i ygJS9V9ztYtSbfutxxrRp7uAxPiLHd/Kl7b9rf3jel3 8C/ hQEYgAEYUGQA0afo3KoF3Jpxaxel2vbXjLmmaxB9uotBjL/Y8a2saNvf2j u1 UP/ JfGIABGIABRQYQfYrORfRFvhjD9z1F73KyQ/Qt 8fnKfd9jL/Y8dz2/PO17fvt8V6XJ/yLf2EABmAABipiANFXUTCqF4naRam2/dZjjejTXTxi/MWOb VL2/7W/nG9Ln/4F//CAAzAAAwoMoDoU3Ru9SIud zaRam2/dzx1nY ok93MYjxFzu lRdt 1v7x/W6/OFf/AsDMAADMKDIQEz0XW734Xqef0pvcvxyM YeP/frcDb9Du07X4e7PW8Yhvv1vBhj/skGRQCyhKl2UaptvxY/ru0Hom8xUWSxHIpBjL/Y8ZDNnH3a9nP6wrm6rOFf/AsDMAADMLAzA0Z7hWuly/CQcHOib n4ebjeh F2ccWis8 Ivttlpl33msc2om9nKMJAPP FNM2 UPQuTwpE37J/trIZ4y92XLv9rfa5Xpcf/It/YQAGYAAGKmZgXvQZwWWE2pzoWz4 uQP4HP9rH6LvXdnOCq2a4KHoLZvMEH26/o/xbY5r/9Y03 mLLm/4F//CAAzAAAzsyIDzlGXA7ytFnxF19vFOOxZ3n9l NXwbLvacmVfu9M04ZnehGCuKt/ZT2/7W/pW HtEXSFKCf0CR5k/aXmn aF XP/yLf2EABmAABhQZEL/T54o72 /Qvuex8/XOZ/p2F282MLmv2kWstv3c8dZ2PqJPdzGQ5k/aXm080h9dHvEv/oUBGIABGBBkIE/0mc/xuXfmvDuBIXEX2uf033zPC1/k4jikagGoXcRq22/Fz3P9RPTpJn9p/qTtzXHBfl0u8C/ hQEYgAEYOAAD86LPflHL4znMx5eyuKLv/bi5a f GDEX3ec/BhrwKY93BpxSRBxqF7Ha9mvx49p IPp0Fx1p/qTtreWG63S5wb/4FwZgAAZgoAEG5kWf4EdlNvoB0bfRgWICUbuI1bZfix/X9gPRp7uoSPMnbW8tN1ynyw3 xb8wAAMwAAMNMIDoayBIYqJt61i1i1ht 1vHX/p6RJ/uoiLNn7S90vzRvi5/ Bf/wgAMwAAMKDKA6FN0bjViTWqM2kWstn0pP5Syg jTXQyk ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiD/tIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2UH06SZzaf6k7ZXijnZ1ucO/ BcGYAAGYGAHBhB9Ozj5MOJRu4jVtt96rBF9uouCNH/S9lrnl/7r8ot/8S8MwAAMwMACA4i BeccRqxJjVG7iNW2L WHUnYQfbrJXJo/aXuluKNdXe7wL/6FARiAARjYgQFE3w5OPox41C5ite23HmtEn 6iIM2ftL3W aX/uvziX/wLAzAAAzCwwACib8E5hxFrUmPULmK17Uv5oZQdRJ9uMpfmT9pe Ke5oV5c7/It/YQAGYAAGdmAA0beDkw8jHrWLWG37rcca0ae7KEjzJ22vdX7pvy 6/ Bf/wgAMwAAMLDCA6FtwzmHEmtQYtYtYbftSfihlB9Gnm8yl ZO2V4o72tXlDv/iXxiAARiAgR0YQPTt4OTDiEftIlbbfuuxRvTpLgrS/Enba51f q/LL/7FvzAAAzAAAwsMIPoWnHMYsSY1Ru0iVtu lB9K2Skt kx8tH XfKvNh7R9aXtLvuEYCz0MwAAMwAAMwMACA4i Becg k7TyaNdxGrbbz3WNYg TR/G4h87vrVv2va39o/rp/kIf APGIABGIABGEhmANEHLMmwjHd5NP1F0b0cC0Tfsn 2sgl/uv7dGh uJz4wAAMwAAMwsJoBRB/wpMOjXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891oi dFbXxBr dP27JiZcQ0xgAAZgAAZgQIQBRB8gpYOkXRRr22891og Q4jub uMuP1nPqXnNtdvbOM3GIABGICBAzKA6DtgUNX UXntIlLbfuux7l305cavd556H38uL5xPkQcDMAADMHBgBhB9Bw 6uuPjTLiK17bcea0Rf3mLUO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBmQhH7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgFB9J3S/aPNEqIvLxa9i57ex689H7GfNx/xF/6CARiAgaIMIPoAMB1A7SJS237rsUb0pbNqYt07T72Pv/X5Tv/z5jv wl8wAAMwsMgAog9AFgHhTh93 l4MaIsIafvS9lrLFb2Pv7V40d/0tQhf4SsYgAEYyGYA0Qc06dBoF5Ha9luPNXf60lk1se6dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4C87vIYP2kXkdr2W481oi d1T14rZ0n5lMeL7XHk/4RTxiAARiAgQ0MIPo2OG8iiHqwo11EattvPUaIvrxk3ztPvf1u xhgAACAASURBVI /9flO//PmO/7CXzAAAzCwyACiD0AWAZkIW 0iUtt 67FG9KWzamLdO0 9j7/1 U7/8 Y7/sJfMAADMLDIAKIPQBYBQfTxRS4vBrRFhLR9aXut5Yrex99avOh v lqEr/AVDMAADGQzgOgDmnRotItIbfutx5o7femsmlj3zlPv4299vtP/vPmOv/AXDMAADCwygOgDkEVAXnd5jJ 0i0ht 63HGtGXzuoevNbOE/Mpj5fa40n/iCcMwAAMwMAGBhB9G5w3EUQ92NEuIrXttx4jRF9esu dp97H3/p8p/958x1/4S8YgAEYWGQA0Qcgi4BMhK12Ealtv/VYI/rSWTWx7p2n3sff nyn/3nzHX/hLxiAARhYZCAm i63 3A9z3 XxeT45WbMPX7u1 FsfB/adzoP17t33kKcPj4 hi/ffgxfv/8cfvn1dzOe Q5xTNE32kWktv3WuUH0LSazt7nfO0 9j7/1 U7/8 Y7/sJfMAADMLDIgJFeb7XS6LPL8JBwc6Jv6fhD1N0urv5w9hkheLu M7T423fPetxF9tUCsXURq26/Fj2v7geibSVbvSWNMar3z1Pv4184zrsubZ/gLf8EADMBAEwzMiz5TRxmhNif6lo9P7gA WbD7ztf7cL eH/5xBGBYfJ4GRF8tk0m7iNS2X4sf1/bD Ef7d6lv2vGRti9tb8k3exzTjv3R/LVHTGijiUJnrrhg/8wfzOAarmHgkAw8H7IcX97z30rRd74Od/t4p XG2Te5u4foayjpaheF2vYtjL28SvtT2p4fB2n70vb8/u79vvSd3r3HS3uHLDreC42G1kCYhEkYgIGGGRC/0 eIu1du9/Zxp69VYLSLaG37rfp9bb l/Sltzx XtH1pe35/936P6KPY2Js52oM5GIABGDgMA3miz3yO7zZcXvH37gR64m4Ufa F9zt29yV2/l93pH/54vHPGMS9Vvddx7SJa2/5efqqlHWl/Stvz/SRtX9qe39 93yP6DrPw7p6792aV9mAVBmAABqpjYF702S9qGZ/8HB5fyuKKvvfj5g6e 2M txfa9/is4PNM/zHQACOIvoBTihQN2kW0tv1a/LhXP6T9KW3P94O0fWl7fn/3fo/oq24BLZKH9 aO9uAOBmAABg7BgJFeta9biL5aJpt2Ea1tvxY/7tUPaX9K2/P9IG1f2p7f373fI/qqX6xqX0zp3/QxIvyBP2AABnpiANG3d HWcnvaRbS2/ZZ9v6bv0v6UtuePSdq tD2/v3u/R/Qh vZmjvZgDgZgAAYOwwCiD5jTYdYuorXt9xZraX9K2/PjIW1f2p7f373fI/rSc9XesaE9YgMDMAADMFA5A4i ygNU1W1n7SJa235vsZb2p7Q9Px7S9qXt f3d z2ij4Jib ZoD ZgAAZg4DAMIPqAOR1m7SJa235vsZb2p7Gn/SsZI nxS/ZtjS1EX3quWuNfrsG/MAADMAADB2YA0Xfg4IrfJdQuorXt9xbr0v7svX1p3hB9FCPSTG EPpmAABmCgGwYQfcCeDrt2Ea9tv7dYl/Zn7 1L84boS89V0r7HHr6HARiAARhonAFEX MBFL bt QP7SJe2/7S2I54rLQ/e29fmilEHwWHNFPYgykYgAEY6IYBRB wp8OuXcRr2 8t1qX92Xv70rwh tJzlbTvsYfvYQAGYAAGGmcA0dd4ALnTxz8sOstA76Kr9Pilcwu ij4JDminswRQMwAAMdMMAog/Y02HXLqK17fcW69L 7L19ad4Qfem5Str32MP3MAADMAADjTOA6Gs8gLN3eTTGpV3Ea9 vX8EnNNkv7s/f2pdlA9FFwSDOFPZiCARiAgW4YQPQBezrs2kW8tv3eYl3an723 L80boi89V0n7Hnv4HgZgAAZgoHEGEH2NB5A7fXymb5aB3kVX6f FL5xZEHwWHNFPYgykYgAEY6IYBRB wp8OuXURr2yfW6bGW8FXpeJZuX8KHrg1E3778ur5nG9/DAAzAAAw0zgCir/EAzt7l0RiXdhGtbV/DJ9icXwRKx7N0 9JsIPrmWZP2NfbwNQzAAAzAwMEYQPQdLKCqIlC7iNa2T6z3TeC l41m6fWneEH378isdP wRPxiAARiAgYIMIPoKOl9VoGmMS7uI1rav4RNszifw0vEs3b40 G4i edakfY09fA0DMAADMHAwBhB9BwuoqpDULqK17RPrfRN46XiWbl aN0TfvvxKxw97xA8GYAAGYKAgA4i gs5XFWga49IuorXta/gEm/MJvHQ8S7cvzQaib541aV9jD1/DAAzAAAwcjAFE38ECqioktYtobfvEet8EXjqepduX5g3Rty /0vHDHvGDARiAARgoyACir6DzVQWaxri0i2ht xo weZ8Ai8dz9LtS7OB6JtnTdrX2MPXMAADMAADB2MA0acZUOmi09 jT/l3yh/R4/La07fvt8V43oZeOZ n2pflC9OnyKh0v7BEvGIABGICBihhA9GkGQ7rolLbnjz1mP3bc t5f7Xtt bn84v 1kfTSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zj923LeX 17bfm5/OL/t5Hw0nhB9bfNIPiF MAADMAADBRlA9Gk6X7rolLbnjz1mP3bct5f7Xtt bn84v 3kfDSeEH1t80g IX4wAAMwAAMFGUD0aTpfuuiUtuePPWY/dty3l/te235ufzi/7eR8NJ4QfW3zSD4hfjAAAzAAAwUZQPRpOl 66JS25489Zt8c1/71 8R7EuRaBmI8r7Vb6jpEH3OhFHu0C3swAAMw0DwDiD5NiKWLTml 7/ti17fvt8b75BHIihvvFENG3n6/hGl/DAAzAAAwcjAFEn2ZApUWUtD1/7Nr2/fZ4T0KFgXQGEH3pvoIrfAUDMAADMAADEwYQfZpASIsoaXv 2LXt3xfjIZuWt2wh9LcwLRBx9LfHAMPmAABmAABhYYQPQtOGdz ES4toqTt WPXtu 3x3uSEwykM4DoS/cVXOErGIABGIABGJgwgOjTBEJaREnb88eubd9vj/eTybj5jwz489j RPQdO77MX ILAzAAAzCgyEBM9F1u9 F6nn/qanL8cjPmHj/363B2 j0573wd7va8YRju1/NijD8 PoYv334MX7//HH759Xdz7nyHqjomLaKk7fl 1Lbvt8f7RfCrYplYlY8Voq98DJgHxAAGYAAGYKBRBoz2CteWl Eh4eZE39Lx83C9D8PtYrRZ4Dwj m6XmXbf9Ryiz8KlLcq07dtx8JoMf3hyvk8SzuvAJ4g 5g25EwZgAAZgAAZWMjAv kwNZcTbnOhbPj65s fbQfStLFC1RZm2/ZWQImhW8oK/j7UwIPqOFU/mJ/GEARiAARjYkQHnKcuA31eKPiPqJo93enYmj3fehktkvNzpsw7S FmXa9u04eA1MNoQd4j7CAKKPeUPuhAEYgAEYgIGVDIjf6XsTfK aO8USf09fz9c5n pKLXW1Rpm3fCXzymLmG5AYDDwYQfcwF5gIMwAAMwAAMrGQgT/SZz e5d Y8MRcUfMuiz3z3C1/kkho8bVGmbT91nJxHQoOBdwYQfe8 gRN8AgMwAAMwAANJDMyLPvsFLI8HQD /lMWKvvfj5q6d /MQc5HzJo Bhp9u4vFOC7O2KNO2b8fBa9Lk5G5oOCF06xdEH/OG3AkDMAADMAADKxmYF3311FuIPhtcbVGmbd Og1cSFgzkM4Doy/cZnOEzGIABGIABGBgZaEX0/fnPfx7sf/w7fVrwIvpIjFpsYXc7W4i 7T6EQ3wIAzAAAzDQKQMtiT776CiiTwtWRB JUIst7G5nC9G33YdwiA9hAAZgAAY6ZQDRpxl4aRElbc8fu7Z9v z3ek3gPzsAwCrXTwCs gIH9Gej2878Hz6vEtZ7PXxGLtmKB6NNMjtIiytjT/tX0B7YReR0xQJG/f5GPz/G5ywAFaVsFKfEiXjCgy0BLoo/P9OUWzNKiM7d9zkfkwYAcAzzeKedLuMSXMAADMAADnTHQiuj78 u3H8PX7z GXX383jOoqYTH7pUVX6fZbiRP9JPG3wACiD05b4JQ wikMwAAMVMkAok8TzNKiq3T7mr7FdpUJRewPJsT3Pb6IvnefwA k gQEYgAEYgIEkBhB9mqCUFl2l29f0LbaTJjgirJGnAlJ4RvTBfA onnAMnMAADMAADAQYQfQGniBXKpUVX6fY1fYttElpvDCD6YL43 5hkvzMMADMCAGAOIPk2YSouu0u1r hbbYklA7I8cxEQ3Jog Xf/CL/6FARiAARg4MAOIPs3glhZdpdvX9C22Scy9MYDog/nemGe8MA8DMAADYgwg jRhKi26Srev6VtsiyUB7vQ18rk/RB/Mk/dgAAZgAAZgYCUDxxZ90qLH2NP XRnIYOEuPX7JvmGLpAUDeQwg vL81TtfpfN/6fZ7jz/jJ1/AAAx4DCD6PIcExZM9R3sRk7Yvbc/6gVcSCQzszwCib3 ft8x56fxfuv2WY0ffmeswAAMKDCD6cpyqvYhJ25e2l MrziVhwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHaS9i0val7eX4inNJRjAgywCiT9afR ezdP4v3f7R48v4yAcwAAOZDCD6chymvYhJ25e2l MrziUZwYAsA4g WX8enc/S b90 0ePL MjH8AADGQygOjLcZj2IiZtX9pejq84l2QEA7IMIPpk/Xl0Pkvn/9LtHz2 jI98AAMwkMkAoi/HYdqLmLR9aXs5vuJckhEMyDKA6JP159H5LJ3/S7d/9PgyPvIBDMBAJgOIvhyHmUVM zenP7FzWXRJCDFGON4OI4i dmKlMa 01x7p9ULanoZPsdn3nCL xL8zBhB9mgEvveiVbl/Tt9gmWffGAKKvb a187m0fWl7vc13xtv3fCf xF BAUSfglNP1mbpRa90 9YPvJK8YGA7A4i 7T5smUPtfC5tX9pey7Gj733PXeJP/CthANGnGYjSi17p9jV9i22SaG8MIPr6Zl47n0vbl7bX23xnvH3 Pd JP/BUYQPQpOJU7fScmqyZX2O6TL0Rfn3G3811bREnbl7Zn/cBr3/OA BN/GFjNAKJPE57Si17p9jV9i 3Vk/71Rwl82JYPEX1txUt6fmnnc2n70vak/Ym9vucT8Sf HTKA6NMMeulFr3T7mr7FNgm7NwYQfX0zr53Ppe1L2 ttvjPevuc78Sf Cgwg hSc rqTUnrRK92 pm xTULsjQFEX9/Ma dzafvS9nqb74y37/lO/Im/AgOIPgWnIvr4TN LAU2 sN3XooDo6yve/vzWFlHS9qXt f7gfd/zgfgTfxjIZqBN0WcWE61fSYhKL3ql25f0JbayJzfC82B/fED09T0HtPN5zL45rv1Lnu bceJP/GFAlYE2RZ8WFLFFL7ddaXuttZ/bX85XneyIwMZFIKKv7/mhvZ7E7MNf3/yxPhN/GGieAUSfC3Fs0XPPTdmWtpfSpntO6fbdvrDdfLJANBYWjRTdfc 8h7Xwesw9/ffPHGk78YaB5BhB9LsSxRc89N2Vb2l5Km 45pdt3 8J288kC0Yfog4GCDGjn85h9RB85nHUcBmCgaQYQfS7AsUXPPTd lW9peSpvuOaXbd/vCdtOJgmK/YLFv5w5Fd99zSDufx zDX9/82TzEKxzAQLMMIPpceGOLnntuyra0vZQ23XNKt /2he1mkwSCrwLBZ YPRXffc0g7n8fsw1/f/LGGE38YaJ4BRJ8LcWzRc89N2Za2l9Kme07p9t2 sN18skD8FRZ/FN19zyHtfB6zD39988caTvxhoHkGYqLvcrsP1/N8rTM5frkZc4 f 3U4O3xMzjudh s9fF6orvz4 Bi fPsxfP3 c/jl19 Nz c7tOlYbNHLbVfaXmvt5/aX85tPKJvmH/Ffjj9F97J/js6P9noSsw9/ffN39PnF OC7AwaM9ArXaZfhIeHmRN/S8Yeou12MNgucZ8Th7TK2 9hc1nCIvrUgxhbxtXa5bmbSLIMcnmhcg18SGaDo7nveaefzmH3 465s/1n3iDwPNMzAv kwdYsTbnOhbPv5 Z /Tzvl6H 7X88N3jgCcq/0QfWsnWmwRX2uX65qf HOTjf2JAqzEHKDobmveSedfY0/7d4lr GuLv6VYcoxYwkCXDDwfshxf3uu9laLvfB3uk8c7p3Ymd/cQfYpFpnTRQZLoMkm8JwZFZmFsnjGK7nnf1MhN6fwr3T78tcVf jXOCPsEQDBRlQPxO35vge78jyJ2 vaCXXvT36jftFE0KiLxKRS1Fd1vzonT lW4f/trij3WUeMEADHgM5Ik 8/m823B52ZjewTsFBd 76Ds5d/cmd/1edqc1F493zjgmWpxLL/pr 8F1JB4Y2M4ARfd2H 7JYen8K90 /LXF356s0xZswEATDMyLPvsFLOOTn8Pnl7JY0fd 3NzBc38en9t7P /xWcHnmZPHQKdiz2oaRN/aySS96K/tB9c1kQzshOM1nIiK 4Wiu615VDr/SrcPf23xx7pLvGAABjwGjPQqXst4ffL7g iLOMh32Ou99KK/th9cV/0kezFDrOqNFUV3vbEJzZvS Ve6ffhri78Qk wjhjDQNQOIPncCKCySRYtp6fG4vmK768RRlOte2aPobmvOlc6/0u3DX1v89ZonGTecwsAsA4g Fw6FRbJocSw9HtdXbM9OqqIxJy7HjQtFd1uxLZ1/pduHv7b4Yy0gXjAAAx4DiD7XIQqLZFEBID0e11dsk0xgYF8GKL r39fdWvkvnX n24a8t/rbyy/XEGwYOxwCiz4VaYZFE9FX6pRhu3Nk XGIrOu 0eKLoLsupWR 0fyXZUVjPTMGg9TP6VnL82Co7X/A//oeB6hgw bv2 ogvclk7caQX/bX94LrqJ1ntSYD PeSGVsE9LgTki V5qu0fafsK9uCPP2KSi2EABtplANHnChKFRbLo5JAej srtpcLRPyDf6QZ4E5fWaa086m0fQV7iL52i72itYh0LsRe2VyI/5v1P6LPhVdhkSyaaKXH4/qK7WYnfVEm4WY9N4i 9b6T4E47n0rbV7CH6EP0sX7AAAy0ywCizy0GFBbJopNDejyur9 guW4Di//78j grG3PtfCptX8Eeoq/dYq9oLcJ6VTZ34X/8/2QA0edOBoVFsmiilR6P6yu2SSIwsC8DiL59/e3zrZ1Ppe0r2EP0IfqK1jT nOR92ZyI/5vzP6LPhVZhkSyaIKXH4/qK7eYme1EW4WU7L4i 7T7cwqF2PpW2r2AP0YfoYx2BARholwFEn1sEKCySRSeH9HhcX7 FdtgDF//35H9FXNuba VTavoI9RF 7xV7RWoT1qmzuwv/4/8kAos dDAqLZNFEKz0e11dsk0RgYF8GEH37 tvnWzufSttXsIfoQ/QVrWn8Ocn7sjkR/zfnf0SfC63CIlk0QUqPx/UV281N9qIswst2XhB92324hUPtfCptX8Eeog/RxzoCAzDQLgOIPrcIUFgkmRztTg5iR yqYgDRh hz16vYtsJ6hugjJ1aVE2NzgONlcyb r87/iD4XSoVFkgTJIgkDMCDCAKKv7AIqvT64a4/ZlravYA/RRy4TyWU7wvm9vwfzf R/S5sCsskiRIFkkYgAERBhB9ZRdm6fXBXXvMtrR9BXuIPnKZSC7z 2ed92dyG/7vxP6LPhV1hkSRBskjCAAyIMIDoK7swS68P7tpjtqXtK9hD9JH LRHKZzz7vy Y2/N N/xF9LuwKiyQJkkUSBmBAhAFEX9mFWXp9cNcesy1tX8Eeoo9cJpL LfPZ5Xza34f9u/I/oc2FXWCRJkCySMAADIgwg souzNLrg7v2mG1p wr2EH3kMpFc5rPP 7K5Df93439Enwu7wiJJgmSRhAEYEGEA0Vd2YZZeH9y1x2xL21e wh gjl4nkMp993pfNbfi/G/8j lzYFRZJEiSLJAzAgAgDiL68hVkjnxubmr/uerR1W2H8iD5ymUgu28o21 flQvyFv54MIPrcySC9SLq22WbSwQAMbGEA0ZfHT l8frT24S Pvy1znWvxNQzAgAIDiD7XqaUXabcvbDPhYQAGXAYouvN4KJ3Pj 9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBlgKI7j4fS fxo7cNfHn/u3GUb38EADFTAAKLPDULpRdrtC9skCBiAAZcBiu48Hkrn86O1D 395/Llzl218BwMwUAEDiD43CKUXabcvbJMgYAAGXAYouvN4KJ3Pj9Y /OXx585dtvEdDMBABQwg twglF6k3b6wTYKAARhwGaDozuOhdD4/Wvvwl8efO3fZxncwAAMVMIDoc4NQepF2 8I2CQIGYMBloMGiezidhp7/K/pvmkmvZw3yV9T/7txlm1wOAzBQAQOIPjcI0ouka5ttJjwMwMAWBhoqunsWeu7Yi4 oO6fWsIf6K n3LHOda1ggYgAFFBhB9rnOlF0nXNttMZBiAgS0MNFR0W EjWnxr52dh xIL//5t8O/IcPNBkQnaNb8hvXsj7CgDoDiD4XMuFFn2R6UgcYH PjbhhA9OnmE H8v1X0aRb62EZIugx0k0Pdeo9t3XyKf6v0L6LPBVN40SeRIkhg AAbEGED06S6iwvkf0YewcoVVzdtiOcqtp9jWzVf4F/ uYADR5zpNeNEnkVLwwwAMiDGA6NNd5IXzP6IP0Vez0HP7Jpaj3 HqKbd18hX/x7woGEH2u04QXfRIpBT8MwIAYA4g 3UVeOP9vFX2GG7cwZxsRqcGAWH5yaym2dXMV/sW/KxlA9LmOE170SaYU/DAAA2IMIPp0F3rh/C8h jaxIzyeU0P8bfKbWxOwrTvn8C/ hYFdGYiJvsvtPlzP83Xb5PjlZsw9fu7X4TzG8jxc796 83Wwu8yR /W8OOaPj4/hy7cfw9fvP4dffv3dnDvfoU3HpBdJrX5idxGYTQzgW3xbKwONF N1qYkc7P0vbN/F6/juFRXKSxniea7nGixGVRfxU63ynX/AAAzAgzIDJ3eE8exkeEm5O9C0dfwi92 U0nIwQvF3GNh6bp FkRN9zX7jtae5H9AkHPcXpnDOFEH/gj IMIPpmFishNqVFB6IvSxsi oQ4pl7QzRP4F/82zMC86DP5x4i3OdG3fNzeATxf75938qwARPSR3IsX0A1PWnzX 6fxB9OkWG4i Zf82wh/5sdP8yJq PH/xD/4xT544P5cqXoM6Lu Xjn6 6e4c0Vfa92b8MlwiJ3 iIOeg8cSR fwMDhGGik6FZ7pFFalPl5Vdp 6Tt9/vi2vm Ev8PN 61x43qKfRiAgScDRnvN58gVos8RfMZu8E6fw9/kuLPf7ROib8YxrpPYRuTAwMEZaKToRvQ9OTTx mP6X9NztBH mvYxa/1CQXrw/E7sif0ODOSJPvM5PvfOnCcKPcE35l57d 90GiZ3/Z5jM/v4IpcdAs1CyIIBA40z0EjRjehzRJ/zRS5GADY9Bxvhr2kfUwu0PUeIH/GrnIF50We/qOXxHOb4pSwnV/S9Hzd37dyfh5gzwvC59/nI5 S817d8zq H3OmrHCIW2Xl48Q2 EWOgkaIb0fdk3sQL0efWBIvbfJELuVIsV1IzIb5gIMiAScK1zz NEH/BWD2ntk4j HaCgakD0uSJHnDnpz9z5eVXIvv9Ip/te3Cf GDTfN8Bf0/7VjB22qSFgAAaeX RSe55E9DFZmawwAAMNFN2Ivsdn MZF9SkiVX2yZ15ogL/aixn6d4A/vu0552iLdV YAe70uQ4V ksviZ3EDgMwIM5AA0W3qsDRzs9C9l f3UP0LT7O6R/k8U5ypnjOdOs7thFQMDCm3drnGXf6AJVkBQMwgOjTZQDRt zfBvirvZihfwhbGICBkgy0eafPLM5avxTXyws//sE/MFCGgdJFd0LOfd3pSzg3mMOX2DI2l45vPSZk3/0Mn7 t2v t449dX5q/WP84rjs/8C/ hYHmGWhT9KWCJ7SIN71Qp/qK85qfzHCqLApKz5HSRXdCPn2JvjW itmPHV/TpnuNkn3rk9djn26bLW2X5q8lX9FX1lMYgIEKGUD0VRgUiveDF 8wx2KwhoHSRXeCKLICZ1UOi9mPHV/jU/caJfvWJ4i 8eMks//jM32se6vyhjuH2WZthYFFBhB9ALIICEmYhRgGKmGgctFnxc1qX mKiK3Z8ay5XtD/6hn cfVbwjYWIov9XM7mVKa6nvoABGKiIAURfRcFgYaqkuIYJknSND CD6dLlUFB2IvkW9Nx7kTh/rHzUQDMCALgNW9MUz8r5nuHFf/ 2diou420G2dSHFv/gXBh5fe6KZhqNFdySfcqdvfp4i uLkRvmr8Q8x9En3DzH4F//CgCgDJhObeqq2H7fGQ/QBvSj0Llxszxeq KYy33CnTzcPRETtlvmA6IuXGIi yvINdYduvsG/ LcAAzHRd7uch t9Pl9Pjt8uthsQrgAAIABJREFUnzE8X4fHZffhen7mMrsveN60 DXd9RfQVAMMNANssxjBQAQOIvs8FRiMnKog /59sWHpf/RwrzZ9GzLGpO6fwL/6FgaoYmBd9t EyxmpO9C0dfwi9y20YBiPwxg2zeRqemy FF9pn 2TXQEQfk6aqSWPB5LUCIdTT3ChddEdEEY93vs8H 42dsTt99ryqc0pp/nqa64yVNR8GYECBASuwXipssmHE25zoMyfOH7d3AO/X83C2twodAfhoZv56d 17E33/7q//fkj5zzwuknIe56T5Ez/hJxgox4DJZ5o/sXwZe/xOQvQt8TW2b4Sn4u9S 2uOGTFnrrOib86GPW/ueA37Nf1ubS N056j brUPsfK5T58j 9hQI4BI7DCP/Oi7HH zPH7dTg/H Wc3MlzRZ85x4hY/9bfsyOLos89yPb7X5fxCT6BgQMysIPoW Rm4U7fZsFnFoMF 4v9UvhrqFR7RsxN/pvpqzlHqs1q7EjHU9qeHwtt 357vD8e88SUmFbOgNFYZo0I/8yIutfJgeOO4DOnLd/p846/7D76ZNeutzt99gCvBywUKp8wMAdzxRhA9DVdUCwJY0RfQl7RFm Xa9lnbmp6/xfI 3MCNIANGZxmWwzqDOf47sM5qN6jx/vuCf4xnOcu3uTu35PC2bf6/HP5z7z4s4vRJ9gwF3Hsp1QaOD7yWSEmYLMIPqaZhHRt3HuaIsy BfvuXV5y58b4sxY3nf/gvw7 rcBy9NZz035Ry6Ofj6cwXdH3ftzc1XPj hBzRhg x/p85HNynv1GT68Drh1EH8luApYLB9t1JBLisEMcEH1N5wFE38Y5 oiDKJnlLyL4r9PztSXus603PZ2K5cT7DfxH 50Wfp8J2fuvOJ0Qfk6PI5HAhZJsEX5wBRF/TecAXAP774nxJrzNCIurlF2l7/ng32PdjOff NRa/bd43PbeJK/VBKwwg ki2JFsYgIEWGED0NcvpKALM5yhmODPHWykakvu5QUQF25C258c i0/6csFvaHxyX3w/eH28uEFNiWgkDVvTVnIu401cJLDVDQt8OWDTC/XShRPRN/dEQH4g gfyUKcqy14RE 0uibulYdn8a4puxCfBNvJvN7y3xj hjojHRYAAGWmCgUtG39Fm1rMUwsejOsllBXI0QsH12feULBHvO YV6l4yltz2djwb4fq5z3h4mn7y/ev Y1Mf7Mcfiibl8g khcJC4YgIEWGED0NcepK/hMMWRFn79/POaIw0MUTgsiatX4jD3tXycP5Ag7/9xV43Pa5vq6C2fiQ3xaZQDRR6JtrpBqdbLRbxaKTQwg prKVUFhZ4XfjMALXbOJmZLrm7Toyx3LivZ98Zbzvtk45fqV85v KQ3BJ3eEygOgjgZHAYAAGWmAA0dcEp1YouAut3R7v9M0Ivtc5k eP2vOpfV4gu0TE927fxMK8h7x3O2QPfaF/Yxf8AsMlGcA0ddCsUcfg4s1CaR8AiEGO8YA0Vd9HpgTFnaejKI iIZ/H7Fh7Vb9WIPpyRVzK VX7PIEt r9jziYe1efs3uYDoo9JyaSEARhogQFEX/WcLom1UVAs/LMNfvGxZMs/t8r3BxN9Vfq4hbxFH6vPW7Ddzx8CEH0kJBISDMBACwwg qrnNCTURrH3fLTQfpFLapEVspd6bfHzDiD6ivuwhbxEH6vPS3D cj6iLxRrRR8IiYcEADLTAQIWiL1fELC5IpUWCAAO SPPfm/Hn ixkY9GPAuMQsV86nma /LHtPxE/1BIP sE6BwPdM4DoYxJ0PwlY2PkrWBMMIPqqz1WuQHO3Xb4QfTvlGwH R54pGN4Zs7xRD6rPqcx5zoa25gOgjqZBUYAAGWmAA0Vc1p77I8 9/b4gjRt1ORJCz6EIA7xa2FXEwfq87FNtfy j5nEX1MXiYvDMBACwyYx W0f5f8EHhcL1fALC7CAfuL5y/1dedjvsDz37vjyPXZki3XbnXbpeP5bN8Va3bb9ZXdt bVtcP2e4GJT/AJDNTFAKJv5 KACVDXBCAexOOwDEgX3QF7uQJm0dcB 4vnV5K7Q2Jhqd 5PjP2l xVe6ySeObEJ3Ru6r5q41DJPME/jc5j Gkz/87EDdE34xgSFAkKBmCgaQaki 6AvVwBs jPgP3F8xvN3bk Q/Rty0Nzoi3G1tx1Kftjtjm Lab4D//BwDoGEH2NFg4Avw54/IbfumFAWkQF7OUKmEXfB wvnt9o7s71GaJve84KCbUctkLXp 7LaYdzt8caH JDGJhnANHXaOEA1PNQ4xt8AwPPT/9J5jdPlOWKl2hMPPvR8yXHtrOtHN8h rbns5BAW8tXyFbqvrVtct12BvAhPoSBk9F81T u vHxMXz59mP4 v3n8Muvv5v Ai8 gAEYgIFFBqRFlGcvR7gs9tPmc89 0jX22sZec3yXKijsedX4raJ4Wt/4r1t95dvLeb 1ba4n/8MADOQygOhrrFjIDTDnkxRgoFMGpItuz16OcEli0LOfdE2j TvVd1ZEpPrCnJ96rvp5lcXT tJ9lfSBazd3W7If2KpoDjSan2DouAzFRN/ldh u5/nxT45fbuOdw/F/9 twHnk/D9f7c/fivvk2uNNH4qinkCEWxKIVBqSLbs9eqnBJLiA8 8nXtRIPp58pvjPCwfjAvqb4I fcFHubzqksniEhtml8TjxdO6F2cva5ttieLwzxDb6BgXwG5kXf ZXhIuDnRt3T8IfRul9NwMkLwdhnXrsfmzL6Z/GliiuhbcA7Q50OPz/BZFwxIF92evRThkuVnz37WtY3lyJjvXPHmbsd8knNuzNbm45XF c054bR7nAntzbabu1 wbtlkHYaA/BuZFn/GFEW9zom/5uL0DeL7eh/v1/Lg58BSAoX1L7CH6FhaVJcdxrL8JTcyJ YsB6aLb2HN X8LF2eceX7XdSa57 S4wXl 4 e9f8U24dulc9WOGi0AfS 4Lia29 hNqO3XfXn2knfqYJSbERJKB54OX48u73ZWi73wd7s9HOV9390z uf4q 0L73tj/jjOirbOFcChbHPsHFF/jiyAwsCZcjj1tibHO Cwm80L65PuScO2fjyPtDIqvEeEP9SN1Xor 0yVoGA8dgQPxOnyP4DCOhu3qhfUs8IfoQfdX9xXgJWI4dIzkSx/k4zokWfDbvM983vg/nBNvcft eeZ9zbuj6HvaFxFXJcYf6k7qvZL9pO32u4yt8VQsDeaLPfI7vN lxeGsS7E gJvnGMz7t7Zvt1hy 072XznQ1E34JzagGJfryDi0/wyVEZ8AXLUcepOS7Xh3NibW7/XL9yz5 zc T9IUFVy3hDfUvdV8sY6AfrHgzUy8C86LNf1DITmMX8pyckXf 3FzB8/9eXyW7/GlLuN vr2zXhCYpMQGBmAglQFXsKRew3lTvqwPl4Ta0rGQP3PPD9k4 r45EVXbuOf6mbK/trHQn ncxx/4oxQDRoyVaju1Xe70caevekhTYeY8kv0RGLCC5QhjKTWG0YcL/67eGgG35ppS4y/Zbkg4lexPrO1Qf1P3xWxznDUJBvphANGHoEJQwQAMwEAWA4i 7UXCWLTPcGeOrSnE1l63pq2WrwkJplbGE p76r5Wxkg/181//IbfYgwg mYW3ZjjOM7kggEY6JUBRN829sci3XzxSmD9McfWcLX2ujVttX7 NnEhqaVxzY0jd39JY6eu6nIDf8JvPAKIvsOj6TuI9EwcGYAAGP hlA9H36Yg0XY2EeEH1m/1p7a67r ZqQOGrVH6Gx5Oxrddz0e12 wG/9 g3Rh hbVWSQNPpNGsS 79gj LbF3wq7UFG Zm5Ze2uu7fkaKf/X5sPQuFL31TYW rMt1 A//OczgOhD9CH6YAAGYCCZAUTf kLCFWhjIR642 cv0kvvXXtL53HsPWZzQuhIvpobY8r I/mBsbzzj0/69Amij2IvudgjSfSZJIg7cXcZQPSt58EVaWPhvUH0ubbc LCdHp Q Dmq/0JjTd13VJ8wrvS5gq O4StEH6IP0QcDMAADyQwg tYv/q5QGwvulaLPtUMxti0evvDpwZ/ mHPe9 Afxrh TuG7un2H6KPYSy72mMx1T2biQ3z2YADRt56zt J6hegzNvaIcw9tvMXjj9PQm3/nfJCyvwdGGCP55kgMIPoQfRQQMAADMJDMAKJPrgjK9WVvgmSPY iskbvZot8Y2Qr5I3VfjeOiTXK7Cl8fwJaKPYi 52GPSH2PSE0fiuIWBXKGypa2jX5vjSwSfzrwNiZqjcxcbX8gnO fti9jmuwzJ xa8xBhB9iD5EHwzAAAwkMZAjUmKLD8cfBUqKTxF8usVcSNDA55 PP5yOvIR l7MOPuuziX/ybwwCij2IvqdjLgYpzSUIwcEwGUgQKsc LfYpPEX15Ps1lMCRecm30cH7IT6n7evAPY9Sdp/h3u38RfYg RB8MwAAMJDGQIlBYmPMW5hSfIvryfJrLYEi45Nro7fyQz1L39e Yrxqs7f/Fvun8RfRR7ScUekyp9UuErfHVUBlIEylHHrjWuFJ8i vRziitYtGJ9VLuu73K3j oTxqU/Z/Fxvo8RfYg RB8MwAAMJDGQIlBYiNMWYr84dv3mHzPv3eNs449aGQixm7qv1j HRL bbURhA9FHsUUzAAAzAQBIDiD6Z4scVcaNPHVHnHjtKocE4ZLhp zY pYi90Xmtjpb99Mt5a3BF9FHtJxV5rYNNfEjAMyDKA4JPxZ0jUj UWv YfaHfEHvzL xo91 DEk7FL3EcM6Ykgc2o8Dog/Rh iDARiAgSgDiL7tC/6cqLPFL0XVdh/jw/p9aHlf80p8648vMao3Rog ir1osccErncCExtisxcDiL5trM0JPhO/sfhlLWIt6oyBNaLPvWav3Ec723If/qvHf4i zpIsk6 eyUcsiEVLDCD61vMaFXzmH8BmLUL0dcyAK bWbLeUS nr lyK77b5DtHXcZJl8mybPPgP//XEAKJvHe8xwWcYGotc1iJEHwyMDKwRffaannIyY12Xk3v2G6KP JMtCCwMwAANRBhB9 QWGL/hsYWpfbfExvofBKIPWX7zms9iqz xcWfPa6pjpdz987x1rRB8LLQstDMAADEQZQPTlFyKmULWLurtt 99nXsaCFwZevrF94/eQHXzzviJtHoVf8h/9gCQZORvNVn2c/Pj6GL99 DF //xxfV301/gxQcwAAMwsBcDCL51rLnF6VKsrOgzfl46j2P4BwYeDLhzK3cbH zKPemUA0cciS5EBAzAAA4sMIPrWFUmmGE0pLhB9aX5K8SXn9Of LXNHnng8v/fHSc8wRfRR7SUVJz5OEsbMo9M4Aok93DiD6dP3b /ztafyuoMvd7slPjLXPnIPoQ/Qh mAABmBgkQFEn26BgOjT9e8eBW5IYOzRLm3MsxOKSeo /DrvV3zTrm8QfRR7i8Uek7vdyU3siJ0UA4g XZYQfbr lZoHxk6qaLDnSbaNrXWc2FisfcXv6/yO3 rzG6IP0YfogwEYgIFFBhB9uov3WIwaQQGHixzuWUSuFQj dXv2mbbi89SPT 57fBz3MT6q10eIPhbZahZZEkW9iYLY9B0bRJ9u/MfCE9FXZC3KLfpzzyd36s6dLf7NjaV7/pZ2ubZeJo4eG0Qfoq/IQnv0icX4SOpHYQDBp8 yKSYNL/haz9duwb7n9lHywNHHsYWJo/uG8enlpb19i hD9CH6YAAGYGCWAYSI/oKP6JPz8ZbiXePavYs62tvO0hoO8Pt2v8d8ePvjNNz ot9OrB8tH0f0UezNFnstg03fSYwwIMMAok/Gj0s8xorMpWt7PRbzmebxOZ H2pw7l/3680rCx6GYhvaNbf3lNFz/1Ma4JHyzq42/PL5E6f7XDP8Sj7f6HtGH6HuDYteJjP/xPwxUzQCiL6PIWMmyKSJN3g352h7rNS HCuy99uX6PNSvXBucrz/f1vo4FF 7z9i8/MPz213/QWEMfzoNt4DgMXe/Livzzlo/pF539fp7kb5L95fTsCQCVeNRqc9jsUH0NRq4WGA5rpB0YaVqcQ LzOsyHhAi lvW1KRyNT0O tseO7nNbPJd4lfJtqO9StrEjO e2 tONtbVlBJjZr/EI4ihgfjsNZ6cOeYmaPyq8w/in03B/ mMUpeZO3QYxbMbq /X816fI9vyyRzxsG629IvqcCdRa8OhvXYsA8SAeR2QgJESOOM69 x QWjWbbtB/ytT22d/ 02vPHved7rTFZu3uOhbaeBf9TWKz1h42dyOvzEcScO2/X3xIF21NEvdn27nYl29OufZsEJvFGgz4sz3vRF4/mOyVuD6d/ZGoT0nJjXjoe0/Jfsx0Xe53Yfreb6WCx2f7rsMN9OI blfH3 kOF H 3PXY/d58QbCx8fH8OXbj Hr95/DL7/ bs6d7xDH8A0MwAAMyDEQEiL4d5t/TYHq tC D/naHnPPb2F7bREucV0p/0j0HRsyYi7Hj5K85D5umXN3MMV2jj3JcYdsTQRoqgCzYvGP6aO br7t63v6YT2LH/X7X5D /bxLvjegK27FibU70hY6/77vcjNZ7iLrz9f7YNqLvdplpd7oWmr4h hC5ybCEYX6HivPwCQzEGQiJEPwW91vMR6Ygdc9x3/s d4 519SynVNcS59biw9sP6THh719BKCNn8TrS g4jzdO7k55n82zIsPE2r 75fcnKGA22PPtu /dfvmPVbrnLW1PHsl8 iM2xtGeOTdwV9D41s6JsU8z57l90oyH204r2/Oiz6xJ5 F6nxN9c8en17ii72TeGLGH6Jsu K3AQj JGwz0xYAvQIj/9vibosX3o7vP97l7zL9uz/e22Crxuuc4t7RVwje0 SkE1vpiS8z9a43IuNkvdHEePbWPZY6PKT4FzXj3yjzKaMVMQOi 49kOib4s91/a4/afTcP3LaXDvqlmf2v6/XbNwU8LYcQWv6X S6PNs l8IY/tnvhjGtR/qm2Y8Qu3Vvs95yvJtHZIQfaPAcxuxou 17xb94iHu9HkToHao6N97UYdP8EmLDPgCpMUx1NRnU0D5/fH3 T73j/vXS7 3RV6JV mxlLBXwm 0uU34SXJiBdxL3PiPNT7veBkRZc415413xIxAinwJTEj0nTbYe xu36etvp FivyDFilZfjAb KYTrPzy ZObmnmvsOZ 3M/1fums4udbWvc8 uV9gY/o9it2Eby7VjMeb/2yfK37VvtPn uT1eKfjj9A 9xqzjehzHOY7h/fvRRQ wScwIMOAL0Dw6za/muLc96G/z/e5f9y/fu37kkJhbZ 57p0ffJLnkxD3Uj60AmNyV8wXfU xZ0Wf7c8oEj2R5PdrTjSZdtfY8 2/7qCZmvMpJk3/fKFm2pvsM cacecI0NG2ee IwLfrnNrWiLiXUHb2T/rk7Leib9IP57hpXzsevv9aeJ8n sxn9tw7c9NHOR/jDe0zc9Jc /6o6OTxTy9e1n IvhnHWAfxmpf08Rf goE0BnwBgt/S/DbnJ1NAucf89 aY7/PQOa6N2La5vtR/sb5xfMoD/tD3R2guSPg9ZHfVPufOmN8vK2Ky7C7Y8 2b96vaiOQYK4KN7ZCwG8XiQj/9O5xG8JnHOkfhF7jOCsUsP82NIWA/5LdW9s2LPvulLI/nMG8XMxdd0Td3/HGf94jfNNnQ8bp8Hc3Xv92G/0XNA1iL4F57QCGv3UX8zwMT6WZsAXINL2e7NnihA7Znfb7jOvv s9DhYt7vt0OnbfXPtsHXj/jiy/q9EVoTkjEKmQ3ZZ 5U2XvWpnzl 5cnZ53DZfsZtnza8s/Tf9A5Nuy7RrhZoSYfW8f4XTH8TrmPIJpPusY9HXks3nGrhWOvg 9Cn nbIvr8MS/Gw/dfAN ArGoKK I/oqCkbtsNC/maQKQ9UnuhrZ9QVIjX1sqU mELL9dbftPvPq 9w/zy2m9t52 8n2ZyzxRTu CM2ZHuPn3z173eFzHsfcyy9WpIUElj0WFH1zIpJ657XO DFE9AHHLBw LLxvZ2EjVsRqKwONhqj sffxm3fvDFnN1vXl3fu eFClaNfW5f2CaXHImB0HzZa3yzjzcWqkMnd ued 6Cj19q98/5/GAoPvZOonScaouH9PhC9hB92jBjH1EJAzDQIAOu8AgtHuzLFwN QTPnQ9f35hpznn txPu59tmfH1t81obPQvNmj9jZO1am/dAdrT36EGrDfSTzdTetxHo1I/y0fFVrPEIxktyH6CsBN20iAmAABipnwBUekosOtuLFsV YGp/5 yTeE4t4LPDRsXwUmje7xTjy7Zy79aPytWc3P3QYD0Qf8FN8wwA MwMAbA4i csXuWJg mTTbpggKFata 3Yruph3b/MO3 vOu9Ccwee6Pse/9fgX0ceiw6IDAzAAA28MIPrKLdRjYfpk0my7RVOoaN1rn9sPtq dxwR9t CM0V4hdG7EjTtvjhOij2JsUFEyq7ZMKH LDIzCA6NuX41AxavfN8WSO22P23BKvtg 8fsYDX9Tpi9D8IFZ1xoq4yMcF0YfoexUNTDD5CYZP8WmrDCD69 mXXCrixKH1 g2eMHXvN0nmhInevfUv94ti fOHvh79D7OMbWOyFAUQfog/RBwMwAAMTBhB8 xdBthi1xUdKDMw19vzcV9teidfcvnLjjju6nvQrzjo6mP8Mdx/YHoo9hbXTSQGI6bGIht37FNERwwIsuIL BSYuBfIxGTUFG81z6J/pe2sZevaEfuy41KM0P7srkUf877E9GH6EP0wQAMwMCEgRTBwcI 6v7BK CYlBqbwl2grxUZJkZHSvxrOKekj2l4vAmtghz7sl8t69jWij2J vt6Kh54nG2EnoLTGQIjhaGk LfU2JwZ6ib86HJcXGXJ9K7S/pC9pG9JXinnbbqW8QfYg RB8MwAAMTBhIERws9LoLfUoMahB9cxyUFCFzfdLeX3LMtI3o0 Yb 7o5fw//Ivoo9ibF3h7Q0Ub7iYMYHjuGKYIDBnQZSIlBzaJvjo S4mSuT1L7S46NtteJPqnYY0c3H JfGf8i hB9iD4YgAEYmDCQIjhYhGUW4Tk/psSgRdE3O94/1hXtEmJnrk 5 0N9ybXB brzCv/i354ZQPRR7E2KvZ4nA2NnMYCB05AiNvDTPnMlFosjib45pkJCa q99c32a2x/q19y57N9nDuFn/AwDnwwg hB9iD4YgAEYeDEQExosoJ8LqLYvYrHoQfTN TgksPbal9OnuXPZv988wtf4GgYeDCD6KPZexR6TgsQIAzAQExo wsh8jS7HoWfAtMbiX8EttZ6mvHNtvLuFrfA0DJ6P5qq/5Pz4 hi/ffgxfv/8cfvn1d9Nf4MUHMAADMKDBwJLQ0GgPm/McL8UC0TfvtxBTqSJN rxQX9iXFzv8hb9gQIYBRB8CsnrVz2SXmez4ET mMLAkNFKu5xw5zuZigeAT9LHyF8gwH RihS/xJQxsYwDRh hD9MEADMDAi4E5ocFiu22xzfGff7fJvRbBt08c/Bisfe/Gju19Yoef8TMMhBlA9FHsvYo9Jkl4kuAX/NITA4i 8rxbYTfG4o9pf yxnpisaay54q mvtOX6VzCH/ijNwYQfYg RB8MwAAMjAwg OooglxhN4oMh0/3WG8FS83jDYnBmvtL3 qY68SBOOzJAKLPWUz3dDxtMdFhAAZqYwDRVweTrrBD9NURk9rm Kv2BCxiAgVwGEH2IPu7ywAAMwAB3 goz4N8psou5K/pcMWiP80rhBwMwAAMwkMIAoq/wQp8SJM5hMsMADOzBAHf6ynE2J gQfeVissecow3iCwMwsBcDiD5EH3d5YAAGYIA7fYUZiIm ueN7FQu0Q2EKAzAAA20zgOgrvNAzgdqeQMSP B2JAe70lePZFXXj3T3v3487EmeMpRxn B7fw0C/DCD6EH3c5YEBGIAB7vQVZsAXfbYwGwVg4b7ZvvDab7FI7Ik9DL TPAKKPxZSCHwZgAAYG7vKVXdBjos/Eh6ILH8AADMAADKxlANHHQkohAQMwAAOIvsIM I902kXd3ulD9FHoWSZ4hQUYgIE1DCD6Ci/0a4LGNUx2GIABaQa401cnU4i OuMiPf wR5xhAAa0GUD0Ifq4ywMDMAAD3OmrlAFEH4WgdiGIfRiDgT4YQ PRVutAzAfuYgMSZONfCAHf66mQR0VdnXGqZt/QDPmAABlIZQPQh rjLAwMwAAPc6auUAUQfBV1qQcd5sAIDMLDEAKKv0oV KWgcY1LDAAxIM8CdvnqZIjb1xkZ6HmKPWMMADGgxgOhD9HGXBw ZgoHMGEBX1FxnEqP4YaRVq2CX2MAADEgwg jov9iQgwgbJCAbaZgBBUX/8iFH9MSIPEiMYgIGaGUD0Ifq4ywMDMNA5AwiK gsVYlR/jGou9ugb/MAADCD6Oi/2SAIkARiAAQRF/QwQo/pjRC4lRjAAAzUz0KToM53mBw/gATyAB/AAHsADeAAP4AE8gAfSPFCzKDV9 /j4GL58 zF8/f5z OXX382TaG38JcG4v5W avST8RN/Da5asQn/8N8Kqxr97J1/DZ9is43ajzgRJxhYzwCirxGR60Pe 6LP Cn6/TnR03v4h/ eeGes64s8fIfvYAAGLAOIPkRfk3dMKXopem0S6/EV/uG/R 4ZM8UrDMAADKxnoFnRR9DXBx3f4TsYgAEYgAEYgAEYgAEY6IcB RF jd/qYpP1MUmJNrGEABmAABmAABmAABrYwsFL0nYfr3TxgNAzD/TqcR F0GW7PXZ/73OCErgntc6 Z2b68WnLaf5x7ud2H6zlw3fk62C4/unkbLhsFX6it0L5HgEJjDe0L9N3vZ43jX hTF P3 Lpfz95js6FYh/a1Gf/zKyE8k8Dt0tX4T6c68t841xwWb5cEnvz8Mr6jk001AAAFUElEQ VR/Z3PXGAf79BxLLNcojX/XGBcf/8PXofUstE88xy Nn2Nebl07x7nuwS1 wA/9MLBO9JlF91nUPTZPg3m1ha4pDuz2C6bANafQvsyEbtv/XJAXRN9LoJ6Gse1hrfCzBZ7bVmifA1JorKF9zY7/c6yfMfncF4z1kcZvCs03odPR B1ue5z/BmWb8/Yb/0OYzQk704 5Y6 87MRtsi8yN/cbozOH3vq67/jLxLjQ F9/xCi/xk24fGNgyT8cw3cwAAMw4DLwJvqGlxCyIsa9m/dw3mTBfxYH7oL4WeAbGw9hFbomtM/tXHzbLPruouS/d4JtinJX9J1Ow2f7j JhegdwfvyPfoXa8vf1Nn7jb9cHHY0/KPo6Gv rGPsc8 MPMX3M/zL5z/yxzc1/Tr575rdR9Dl3vl75/XIb7nf77MP7H78 c PzD2STP2jsGePpmPw1Yc/xl4qxP2b3vdb461njluPv oJtfAUDMAADywy8ib7Ts3h9aLnwxZNjjzfDeJ19vNO8jkXCZ3E Quia0LzlgtpCZFCOu4PD6bs73RJ8Vp5N JIz/0cdQW/6 zsb/FpOOxm/HPs4BW0R3NP6n6JuIhfFuwcMXkzn2eDM HfC6E/Xc1 z8n8R/h/xn/G3a9HPaS3w//qj18q8Tn3Gf4 9pzB55MxQvG5vp YqMO2OxbU9e9x5/iRgv UBx/A8/uZYcPfVzD S77hGI AwgAMwMAbA2 ib6xZ79fhGvkLsn2UyQondzGeFgWPImKy71lwhPa5dlK2JzbeF iRH AUWSHut6c7kJzL 9AXxs33b1njtYccfiPVz0jF 55Hnw8b/swD05y7xF45/IJ FfP5 p8/8Pe5x987N4a/thfn6sL9/jP1xje LjX//HFdi/I82fYFnxh7aF/CJYI4Ljp9i7q2Yw08PDvEDfoCBeQbeRJ911iNnz1z4TOjm3Pfz TFFgHzlyCoTQNaF9mcncmPgsWOYXpLe/ipsLn4 eProxHWton/XN4zXUlr vt/E/fPgZE8ZvH292/zjyYuuxMS7er30N8z8RduM4eoy/GbNy/ksQPG5udh8BNDFKEX1BXiePxNt8qR/jad6N3 G059s5JTn h 0dYryUB/aI/9i v56ZmPv7CsR/yTccQwzCAAzAwCwDb6JvvOP1ejTzef/r7REik/i9Y2Yheu4ai4rR6c6CMC4W3jXBfbaYmH81hcvr59U309bnz2cf nnac/j3Oso/g2YXs89rPR1Of 15t2D6F2prbZ9sJ OxA45 PCeN/fEvssePvfn7PFt3TfQcfv5NfPnPPDvlv/Mi1 02xTh6yecuoH cnSfQFc5M7HjcXys/xT4ZsO5 vk1yz5/h3jHH58TscjU8rG//P7ds3/ku 4djnPMEX AIGYMBn4E30 SfwHmhgAAZgAAZgAAZgAAZgAAZgoF0GEH3cBp69DczEbndiEzt iBwMwAAMwAAMwAAMwYBlA9CH6EH0wAAMwAAMwAAMwAAMwAAMHZ gDRd DgWmXPK3/lgQEYgAEYgAEYgAEYgIF GUD0Ifr4qw4MwAAMwAAMwAAMwAAMwMCBGUD0HTi4/DWn37/mEHtiDwMwAAMwAAMwAAMwYBlA9CH6 KsODMAADMAADMAADMAADMDAgRlA9B04uFbZ88pfeWAABmAABmA ABmAABmCgXwbeRN// j//b5j778u3HwP/4QMYgAEYgIGWGfjzn/88 P 1PB76znyEARiAARhIYcBd 05zgs/s//r9J//hAxiAARiAgaYZMIue 2Pes76xvsMADMAADBydAXf9 /8DsLveFHyzpQAAAABJRU5ErkJggg==
فما هو الكود المناسب لضبطه حسب ما اريد
وبارك الله فيك

لقد ادرجت الصورة والحمد لله
المشكلة كانت في اخفاء الاعلانات وسأجعل المتصفح يسمح بظهورها على المنتدى

ابو عمر
18-07-2020, 11:08 AM
لقد ادرجت الصورة والحمد لله
المشكلة كانت في اخفاء الاعلانات وسأجعل المتصفح يسمح بظهورها على المنتدى

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

bahoma31
18-07-2020, 07:35 PM
حياك الله اخي
كما ترى فلا يوجد اي اعلانات نهائياً في المنتدى (فقط بانر للشركات التي تعاقدنا معها) لكن حسب التحديث الجديد لشركات الاستضافة فإنه لا يمكن رفع الملفات الا اذا تم تعطيل مانع الاعلانات

اهلا استاذ
ولا يهمك
نحن نعلم ان الاعلانات مصدر من مصادر دخل المنتدى الذي نستفيد منه
وهذا اقل شيئ يمكننا عمله لشكركم على جهودكم
تحياتي استاذ

bahoma31
18-07-2020, 09:33 PM
ثفضل المؤشر اخي حسن
اعتقد من اسمه سيتضح لك وضيفته
لكن بدون رسم شموع او mode offline
بل يعتمد فقط على خطين يحصران السعر (Bid)
خطي في الاعلى up_draw[]
وخط في الاسفل dn_draw[]

الخط الاعلى - خط الاسفل =BOX
الشرط كالتالي
if up_draw -Bid >= Box
{up_draw = up_draw-Bid}
ولكن اذا يصعد السعر مرة اخرى فوق up_draw ثم يكمل + BOX فيبقى up_draw كما هو
لكن سيتغير dn_draw ويصبح dn_draw +BOX
وهكذا استاذ

kira-h
19-07-2020, 05:29 AM
ثفضل المؤشر اخي حسن
اعتقد من اسمه سيتضح لك وضيفته
لكن بدون رسم شموع او mode offline
بل يعتمد فقط على خطين يحصران السعر (Bid)
خطي في الاعلى up_draw[]
وخط في الاسفل dn_draw[]

الخط الاعلى - خط الاسفل =BOX
الشرط كالتالي
if up_draw -Bid >= Box
{up_draw = up_draw-Bid}
ولكن اذا يصعد السعر مرة اخرى فوق up_draw ثم يكمل + BOX فيبقى up_draw كما هو
لكن سيتغير dn_draw ويصبح dn_draw +BOX
وهكذا استاذ

اخي الكريم المؤشر رسومي فقط وفكرته مختلفة تماما عن طلبك
لا يوجد اي مصفوفة مثل dn_draw او up_ draw
لم افهم ما هو المطلوب !
فضلا ارفق المؤشر الذي قمت ببرمجته للمراجعة والتصحيح مع شرح المطلوب بصورة من الشارت
فربما ما تريده لا يصلح الا بالدالة ObjectCreate

bahoma31
19-07-2020, 03:34 PM
اخي الكريم المؤشر رسومي فقط وفكرته مختلفة تماما عن طلبك
لا يوجد اي مصفوفة مثل dn_draw او up_ draw
لم افهم ما هو المطلوب !
فضلا ارفق المؤشر الذي قمت ببرمجته للمراجعة والتصحيح مع شرح المطلوب بصورة من الشارت
فربما ما تريده لا يصلح الا بالدالة ObjectCreate

سيدي لقد اخطأت في تحميل المؤشر نظرا لتشابه الاسماء ارجوك اعذرني
وهذا هو المؤشر المراد تعديله

kira-h
19-07-2020, 11:45 PM
سيدي لقد اخطأت في تحميل المؤشر نظرا لتشابه الاسماء ارجوك اعذرني
وهذا هو المؤشر المراد تعديله
اخي الكريم الفكرة أو الشرح غير واضح وبالتالي لا يمكنني معرفة الخطا بالكود والذي بدوره لا يوضح شيء! سوى أنه مؤشر يعيد رسم نفسه لانك تضع مقارنة بالسعر الحالي

sabil
04-08-2020, 11:14 AM
اخي حسن
كل عام وانت بخير
اريد دالة تعديل الهدف والاستوب بالشرط التالي :
اذا لدينا عدة اوامر شراء يجعل الهدف والاستوب للجميع عند هدف واستوب الامر الاول فقط ونفس الشيء مع اوامر البيع

sabil
04-08-2020, 08:00 PM
اخي حسن
كل عام وانت بخير
اريد دالة تعديل الهدف والاستوب بالشرط التالي :
اذا لدينا عدة اوامر شراء يجعل الهدف والاستوب للجميع عند هدف واستوب الامر الاول فقط ونفس الشيء مع اوامر البيع
نسيت اذكر البيع لوحده والشراء لوحده
يعني التعديل يتم مع اول امر شراء لاوامر الشراء فقط واول امر بيع لاوامر البيع فقط

kira-h
04-08-2020, 10:41 PM
اخي حسن
كل عام وانت بخير
اريد دالة تعديل الهدف والاستوب بالشرط التالي :
اذا لدينا عدة اوامر شراء يجعل الهدف والاستوب للجميع عند هدف واستوب الامر الاول فقط ونفس الشيء مع اوامر البيع


نسيت اذكر البيع لوحده والشراء لوحده
يعني التعديل يتم مع اول امر شراء لاوامر الشراء فقط واول امر بيع لاوامر البيع فقط
السلام عليكم
دالة تعود بهدف وستوب اول صفقة حسب النوع كالتالي:


double FirstOrder(string info,int type)
{
for(int i=0;i<OrdersTotal();i++)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType();
double tp=OrderTakeProfit(),
pt=OrderStopLoss();
if(sy==Symbol()&&mn==MagicNo&&ty==type)
{
if(info=="TP")return(tp);
else if(info=="SL")return(sl);
}
}
return(0);
}


ثم دالة تعديل الهدف والستوب عند فتح اكثر من صفقة لكل نوع :


void OrdersModify()
{
bool s,m;
int B=0,S=0;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
double op=OrderOpenPrice(),
sl=OrderStopLoss(),
tp=OrderTakeProfit();
int tk=OrderTicket(),
ty=OrderType(),
mn=OrderMagicNumber() ;

if(sy==Symbol()&&mn==MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B++;
if(B>1&&NormalizeDouble(sl,Digits)!=NormalizeDouble(FirstO rder("SL",OP_BUY),Digits))m=OrderModify(tk,op,FirstOrder("SL",OP_BUY),tp,0,Blue);
if(B>1&&NormalizeDouble(tp,Digits)!=NormalizeDouble(FirstO rder("TP",OP_BUY),Digits))m=OrderModify(tk,op,sl,FirstOrder ("TP",OP_BUY),0,Blue);
}
if(ty==OP_SELL)
{
S++;
if(S>1&&NormalizeDouble(sl,Digits)!=NormalizeDouble(FirstO rder("SL",OP_SELL),Digits))m=OrderModify(tk,op,FirstOrder("SL",OP_SELL),tp,0,Red);
if(S>1&&NormalizeDouble(tp,Digits)!=NormalizeDouble(FirstO rder("TP",OP_SELL),Digits))m=OrderModify(tk,op,sl,FirstOrde r("TP",OP_SELL),0,Red);
}
}
}
}

sabil
05-08-2020, 02:53 PM
السلام عليكم
دالة تعود بهدف وستوب اول صفقة حسب النوع كالتالي:


double FirstOrder(string info,int type)
{
for(int i=0;i<OrdersTotal();i++)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
int mn=OrderMagicNumber(),
ty=OrderType();
double tp=OrderTakeProfit(),
pt=OrderStopLoss();
if(sy==Symbol()&&mn==MagicNo&&ty==type)
{
if(info=="TP")return(tp);
else if(info=="SL")return(sl);
}
}
return(0);
}


ثم دالة تعديل الهدف والستوب عند فتح اكثر من صفقة لكل نوع :


void OrdersModify()
{
bool s,m;
int B=0,S=0;
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
string sy=OrderSymbol();
double op=OrderOpenPrice(),
sl=OrderStopLoss(),
tp=OrderTakeProfit();
int tk=OrderTicket(),
ty=OrderType(),
mn=OrderMagicNumber() ;

if(sy==Symbol()&&mn==MagicNo&&ty<=OP_SELL)
{
if(ty==OP_BUY)
{
B++;
if(B>1&&NormalizeDouble(sl,Digits)!=NormalizeDouble(FirstO rder("SL",OP_BUY),Digits))m=OrderModify(tk,op,FirstOrder("SL",OP_BUY),tp,0,Blue);
if(B>1&&NormalizeDouble(tp,Digits)!=NormalizeDouble(FirstO rder("TP",OP_BUY),Digits))m=OrderModify(tk,op,sl,FirstOrder ("TP",OP_BUY),0,Blue);
}
if(ty==OP_SELL)
{
S++;
if(S>1&&NormalizeDouble(sl,Digits)!=NormalizeDouble(FirstO rder("SL",OP_SELL),Digits))m=OrderModify(tk,op,FirstOrder("SL",OP_SELL),tp,0,Red);
if(S>1&&NormalizeDouble(tp,Digits)!=NormalizeDouble(FirstO rder("TP",OP_SELL),Digits))m=OrderModify(tk,op,sl,FirstOrde r("TP",OP_SELL),0,Red);
}
}
}
}

شكرا ياغالي
جاري التجربة

kira-h
05-08-2020, 09:49 PM
شكرا ياغالي
جاري التجربة
بالتوفيق ان شاء الله

mr.forex
07-08-2020, 01:28 PM
السلام عليكم
جمعة مباركة أخي حسن
فضلا منك ما هو الكود الصحيح لما يلي
1- وضع الأمر المعلق
2- تعديل سعر الأمر المعلق
موجود عندي كود قديم لوضع الأمر المعلق ولكن به مشكلة تظهر خطأ في خانة الجورنال مهما وضعت من إعدادات

kira-h
07-08-2020, 02:13 PM
السلام عليكم
جمعة مباركة أخي حسن
فضلا منك ما هو الكود الصحيح لما يلي
1- وضع الأمر المعلق
2- تعديل سعر الأمر المعلق
موجود عندي كود قديم لوضع الأمر المعلق ولكن به مشكلة تظهر خطأ في خانة الجورنال مهما وضعت من إعدادات
وعليكم السلام
يمكنك وضع امر معلق من خلال الوظيفة OrderSend وتأكد من ان كل مدخلاته سليمة ومتوافقة مع نوع الصفقة ومتطلبات منصتك مثل اقل هدف او ستوب متاح او اقل مسافة للامرالمعلق وهكذا...
مثال لتعديل سعر الأمر المعلق وعليك يمكنك يناء شروطك الخاصة :


void ModifyPendings()
{
bool order;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
{
if(OrderType()==OP_SELLSTOP)
{
if(Bid-50*point>OrderOpenPrice())
{
order=OrderModify(OrderTicket(),Bid-500*Point,0,0,0,Red);
}
}
}
}
}
}

mr.forex
07-08-2020, 04:17 PM
وعليكم السلام
يمكنك وضع امر معلق من خلال الوظيفة OrderSend وتأكد من ان كل مدخلاته سليمة ومتوافقة مع نوع الصفقة ومتطلبات منصتك مثل اقل هدف او ستوب متاح او اقل مسافة للامرالمعلق وهكذا...
مثال لتعديل سعر الأمر المعلق وعليك يمكنك يناء شروطك الخاصة :


void ModifyPendings()
{
bool order;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
{
if(OrderType()==OP_SELLSTOP)
{
if(Bid-50*point>OrderOpenPrice())
{
order=OrderModify(OrderTicket(),Bid-500*Point,0,0,0,Red);
}
}
}
}
}
}


ألف شكر لك مشرفنا
بالنسبة لكود وضع الأمر المعلق عرفت أين المشكة بعد تنبيهك لي


input double Lot=0.10,
SpaceToPut=5.0,
Takeprofit=15.0,
Stoploss=15.0;



void SellStop(){ double TP,SL; if(Stoploss!=0){SL=Bid+Stoploss*point;}else SL=0; if(Takeprofit!=0){TP=Bid-Takeprofit*point;}else TP=0; double ss = Bid-SpaceToPut*point; int tk=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDou ble(ss,Digits),5*Q,SL,TP,"Sell",MagicNumbrt,0,Red);}

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

kira-h
07-08-2020, 09:39 PM
ألف شكر لك مشرفنا
بالنسبة لكود وضع الأمر المعلق عرفت أين المشكة بعد تنبيهك لي


input double Lot=0.10,
SpaceToPut=5.0,
Takeprofit=15.0,
Stoploss=15.0;



void SellStop(){ double TP,SL; if(Stoploss!=0){SL=Bid+Stoploss*point;}else SL=0; if(Takeprofit!=0){TP=Bid-Takeprofit*point;}else TP=0; double ss = Bid-SpaceToPut*point; int tk=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDou ble(ss,Digits),5*Q,SL,TP,"Sell",MagicNumbrt,0,Red);}

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


void SellStop()
{
double TP,SL;
double ss = NormalizeDouble(Bid-SpaceToPut*point,Digits);
if(Stoploss!=0){SL=ss+Stoploss*point;}else SL=0;
if(Takeprofit!=0){TP=ss-Takeprofit*point;}else TP=0;
int tk=OrderSend(Symbol(),OP_SELLSTOP,Lot,ss,5*Q,SL,TP ,"Sell",MagicNumbrt,0,Red);
}

mr.forex
07-08-2020, 11:13 PM
ستضع الهدف والوقف من سعر الامر المعلق وليس السعر الحالي
كالتالي :


void SellStop()
{
double TP,SL;
double ss = NormalizeDouble(Bid-SpaceToPut*point,Digits);
if(Stoploss!=0){SL=ss+Stoploss*point;}else SL=0;
if(Takeprofit!=0){TP=ss-Takeprofit*point;}else TP=0;
int tk=OrderSend(Symbol(),OP_SELLSTOP,Lot,ss,5*Q,SL,TP ,"Sell",MagicNumbrt,0,Red);
}


أشكرك أخي حسن، تسلم إيدك ،،،

kira-h
08-08-2020, 06:06 PM
أشكرك أخي حسن، تسلم إيدك ،،،

العفو اخي الكريم

mr.forex
10-08-2020, 02:00 PM
السلام عليكم أخي حسن
عند تعديل سعر الأمر المعلق والستوب الخاص به يظهر الخطأ 130
أعتقد بأن المشكلة هي عدم كتابتي لكود الدالة PandingsModify() بشكل صحيح



void PandingsModify()
{
bool mod;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumbrt&&OrderType()>OP_SELL)
{
if(OrderType()==OP_SELLSTOP)
{
double price = NormalizeDouble(Bid-SpaceAfterPut*point,Digits),
pric1 = Bid-SpaceAfterPut*Point,
SL=price+StoplossToModidfi*point,
TP=price-Takeprofit*point;
if(price != OrderOpenPrice())
{
mod=OrderModify(OrderTicket(),pric1,SL,TP,0,Red);
}
}
if(OrderType()==OP_BUYSTOP)
{
double pricee = NormalizeDouble(Ask+SpaceAfterPut*point,Digits),
pric2 = Ask+SpaceAfterPut*Point,
SL=pricee-StoplossToModidfi*point,
TP=pricee+Takeprofit*point;

if(pricee != OrderOpenPrice())
{
mod=OrderModify(OrderTicket(),pric2,SL,TP,0,Red);
}
}
}
}
}


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

kira-h
11-08-2020, 07:37 PM
السلام عليكم أخي حسن
عند تعديل سعر الأمر المعلق والستوب الخاص به يظهر الخطأ 130
أعتقد بأن المشكلة هي عدم كتابتي لكود الدالة PandingsModify() بشكل صحيح



void PandingsModify()
{
bool mod;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumbrt&&OrderType()>OP_SELL)
{
if(OrderType()==OP_SELLSTOP)
{
double price = NormalizeDouble(Bid-SpaceAfterPut*point,Digits),
pric1 = Bid-SpaceAfterPut*Point,
SL=price+StoplossToModidfi*point,
TP=price-Takeprofit*point;
if(price != OrderOpenPrice())
{
mod=OrderModify(OrderTicket(),pric1,SL,TP,0,Red);
}
}
if(OrderType()==OP_BUYSTOP)
{
double pricee = NormalizeDouble(Ask+SpaceAfterPut*point,Digits),
pric2 = Ask+SpaceAfterPut*Point,
SL=pricee-StoplossToModidfi*point,
TP=pricee+Takeprofit*point;

if(pricee != OrderOpenPrice())
{
mod=OrderModify(OrderTicket(),pric2,SL,TP,0,Red);
}
}
}
}
}


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

mr.forex
11-08-2020, 11:14 PM
وعليكم السلام
مرفق الاكسبيرت

أشكرك كثيرا مشرفنا القدير
بعد تعديلاتك تعلمت منك وعرفت أين المشكلة
ما شاء الله تبارك الله عليك،،، الله يزيدك من علمه ويحفظك

kira-h
12-08-2020, 01:56 AM
أشكرك كثيرا مشرفنا القدير
بعد تعديلاتك تعلمت منك وعرفت أين المشكلة
ما شاء الله تبارك الله عليك،،، الله يزيدك من علمه ويحفظك

العفو اخي الفاضل؛ هذا واجب
وبالتوفيق ان شاء الله