1 مرفق
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
طيب بعيدا عن هذا الشرط تماما
يمكنك إضافة شرط آخر بحيث لن يغلق هيدج الشراء مع البيع إلا إذا كان السعر الحالي أكبر من سعر إفتتاح صفقة أكبر من أو يساوي سعر الأمر المعلق شراء 2
أو طبعا حتى تجعل الشرط عام يكون إغلاق الهيدج بيع + شراء إذا كان السعر أكبر من أمر الشراء السابق للأمر المفتوح فعند بداية البحث سترى كم رقم أمر الشراء الحالي مثلا رقمه 5 بالتالي سوف تبحث في الأوامر من 4 إلى 0
لتجد أمر الشراء السابق
تم عمل شرط جديد ويعمل بالباكتيست فقط بين مستويين
الدالة وأرجو التصحيح
كود PHP:
void CheckPipsS()
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
double openprice_S=OrderOpenPrice();int ticket_S=OrderTicket();
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL)
{
double ProfitPips_S=(openprice_S-Ask)/point;
for(int j=0;j<OrdersTotal();j++)
{
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
double openprice_B=OrderOpenPrice();int ticket_B=OrderTicket();
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
double ProfitPips_B=(Bid-openprice_B)/point;
for(int k=OrdersTotal()-1;k>=0;k--)
{
OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
double openprice_S2=OrderOpenPrice();
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL)
{
if((ProfitPips_S<PipLoss)&&(ProfitPips_B>PipProfit)&&(Ask<openprice_S2))
{
if(ProfitPips_S+ProfitPips_B>TotalProfit)
{
OrderCloseBy(ticket_S,ticket_B);
}
}
}
}
}
}
}
}
}
}
}
}
وفضلا أستاذي لاحظ معي ما حدث بالباكتيست
الاغلاق 1 حدث بعد تحرك السعر كما هو موضح بالسهم الأحمر وهذا خطأ يجب أن يغلق الصفقة بعد هبوط السعر إلى المستوى السفلي
الإغلاق 2 تمام لكن يوجد خطأ يجب أن يغلق بالضبط عند النقطة A أو تحتها
فما هو الحل ؟
بارك الله فيك :eh_s(7):
رد:موضوع مخصص للأسئلة البرمجية
إخوانى الأعزاء لو تكرمتم كنت عايز كود الإستدعاء لهذا المؤشر كود PHP:
//+------------------------------------------------------------------+
//| AAA_Emad.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
extern int History=50;
extern string name1="Astro";
extern string name2="By: ME";
extern int corner=0;
extern int day=7;
extern double alpha=0.382;
extern color upper1=Red;
extern color upper2=Blue;
extern color upper3=Red;
extern color upper4=Lime;
extern color upper5=Aqua;
extern color upper6=Aqua;
//--------------------------
extern color lower1=Yellow;
extern color lower2=Blue;
extern color lower3=Yellow;
extern color lower4=Lime;
extern color lower5=Aqua;
extern color lower6=Aqua;
double point;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits<4)point=0.01;
else point=0.0001;
DrawLogo();
IndicatorShortName("Eng. Emad Gann || Programmed By Mercury_man");
//---- indicators
Print(Open[0]," , ",Open[1]," , ",Open[2]," , ",Open[3]," , ",Open[4]," , ",Open[5]," , ",Open[6]);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
if(Bars-counted_bars==0)return;
for(int i=1;i<=History;i++){
double ave1=0,ave2=0,AAA1=0,AAA2=0,AAA3=0,AAA4=0,AAA5=0,AAA6=0,AAA7=0,AAA8=0,AAA9=0,AAA10=0,AAA11=0,AAA12=0,p=0,ns=0,sqns=0;
double K;
for (int x=i;x<=(i-1)+day-1; x++)
{
p= iOpen(Symbol(),PERIOD_D1,x-1);
ns=MathLog(iOpen(Symbol(),PERIOD_D1,x-1)/iOpen(Symbol(),PERIOD_D1,x));
sqns=ns*ns;
ave1=ave1+ns;
ave2=ave2+sqns;
}
ave1=ave1/(day);
ave2=ave2/(day);
double RChAv=(ave2-(ave1*ave1));
double dailyChAv=MathSqrt(RChAv)*100;
double yearlyChAv=MathSqrt(365)*dailyChAv;
double daiyPipCh=iOpen(Symbol(),PERIOD_D1,i-1)*dailyChAv/100;
AAA1=NormalizeDouble(iOpen(Symbol(),PERIOD_D1,i-1)-alpha*daiyPipCh,Digits);
AAA2=NormalizeDouble(iOpen(Symbol(),PERIOD_D1,i-1)+alpha*daiyPipCh,Digits);
AAA3=NormalizeDouble(iOpen(Symbol(),PERIOD_D1,i-1)+daiyPipCh,Digits);
AAA4=NormalizeDouble(AAA3+(AAA3-AAA2)/2,Digits);
AAA5=NormalizeDouble(AAA2+(AAA3-AAA2)/2,Digits);
AAA6=NormalizeDouble(AAA4+(AAA2-AAA1),Digits);
AAA7=NormalizeDouble(AAA6+(AAA2-AAA1),Digits);
AAA8=NormalizeDouble(iOpen(Symbol(),PERIOD_D1,i-1)-daiyPipCh,Digits);
AAA9=NormalizeDouble(AAA8-(AAA1-AAA8)/2,Digits);
AAA10=NormalizeDouble(AAA8+(AAA1-AAA8)/2,Digits);
AAA11=NormalizeDouble(AAA9-(AAA2-AAA1),Digits);
AAA12=NormalizeDouble(AAA11-(AAA2-AAA1),Digits);
CreateObject("AAA1"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA1,1,lower1,1);
CreateObject("AAA2"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA2,1,upper1,1);
CreateObject("AAA3"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA3,0,upper2,2);
CreateObject("AAA4"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA4,0,upper3,2);
CreateObject("AAA5"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA5,1,upper4,2);
CreateObject("AAA6"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA6,0,upper5,2);
CreateObject("AAA7"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA7,0,upper6,2);
CreateObject("AAA8"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA8,0,lower3,2);
CreateObject("AAA9"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA9,0,lower4,2);
CreateObject("AAA10"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA10,0,lower2,2);
CreateObject("AAA11"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA11,0,lower5,2);
CreateObject("AAA12"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA12,0,lower6,2);
if(i==1){
K=MathAbs(AAA1-AAA2)/point;
samir("sa1",2,10,20,DoubleToStr(K,0),20,"",Lime);
}
}
return(0);
}
void CreateObject(string name,datetime T1,datetime T2,double price,int style,color COLOR,int Width)
{
if(ObjectFind(name)==-1){
ObjectCreate(name,OBJ_TREND,0,T1,price,T2,price);
ObjectSet(name,OBJPROP_COLOR,COLOR);
ObjectSet(name,OBJPROP_WIDTH,Width);
ObjectSet(name,OBJPROP_STYLE,style);
ObjectSet(name,OBJPROP_RAY,false);
}
else if(ObjectGet(name,OBJPROP_PRICE1)!=price){
ObjectDelete(name);
CreateObject(name,T1,T2,price,style,COLOR,Width);
}
}
//+------------------------------------------------------------------+
void DrawLogo() {
string l_name_0 = "L_1";
if (ObjectFind(l_name_0) == -1) {
ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSet(l_name_0, OBJPROP_CORNER, corner);
ObjectSet(l_name_0, OBJPROP_XDISTANCE, 10);
ObjectSet(l_name_0, OBJPROP_YDISTANCE, 10);
}
ObjectSetText(l_name_0, name1, 22, "Arial", White);
l_name_0 = "L_2";
if (ObjectFind(l_name_0) == -1) {
ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSet(l_name_0, OBJPROP_CORNER, corner);
ObjectSet(l_name_0, OBJPROP_XDISTANCE, 10);
ObjectSet(l_name_0, OBJPROP_YDISTANCE, 40);
}
ObjectSetText(l_name_0, name2, 14, "Arial", Gold);
l_name_0 = "L_3";
if (ObjectFind(l_name_0) == -1) {
ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSet(l_name_0, OBJPROP_CORNER, corner);
ObjectSet(l_name_0, OBJPROP_XDISTANCE, 10);
ObjectSet(l_name_0, OBJPROP_YDISTANCE, 44);
}
ObjectSetText(l_name_0, "______________", 12, "Arial", White);
}
void samir(string a_name_0, double a_corner_8, int a_y_16, int a_x_20, string a_text_24, int a_fontsize_32, string a_fontname_36, color a_color_44) {
ObjectCreate(a_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSetText(a_name_0, a_text_24, a_fontsize_32, a_fontname_36, a_color_44);
ObjectSet(a_name_0, OBJPROP_CORNER, a_corner_8);
ObjectSet(a_name_0, OBJPROP_XDISTANCE, a_x_20);
ObjectSet(a_name_0, OBJPROP_YDISTANCE, a_y_16);
}
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة kira-h
تم عمل شرط جديد ويعمل بالباكتيست فقط بين مستويين
الدالة وأرجو التصحيح
كود PHP:
void CheckPipsS()
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
double openprice_S=OrderOpenPrice();int ticket_S=OrderTicket();
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL)
{
double ProfitPips_S=(openprice_S-Ask)/point;
for(int j=0;j<OrdersTotal();j++)
{
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
double openprice_B=OrderOpenPrice();int ticket_B=OrderTicket();
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
double ProfitPips_B=(Bid-openprice_B)/point;
for(int k=OrdersTotal()-1;k>=0;k--)
{
OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
double openprice_S2=OrderOpenPrice();
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL)
{
if((ProfitPips_S<PipLoss)&&(ProfitPips_B>PipProfit)&&(Ask<openprice_S2))
{
if(ProfitPips_S+ProfitPips_B>TotalProfit)
{
OrderCloseBy(ticket_S,ticket_B);
}
}
}
}
}
}
}
}
}
}
}
}
وفضلا أستاذي لاحظ معي ما حدث بالباكتيست
الاغلاق 1 حدث بعد تحرك السعر كما هو موضح بالسهم الأحمر وهذا خطأ يجب أن يغلق الصفقة بعد هبوط السعر إلى المستوى السفلي
الإغلاق 2 تمام لكن يوجد خطأ يجب أن يغلق بالضبط عند النقطة A أو تحتها
فما هو الحل ؟
بارك الله فيك :eh_s(7):
لأنه حسب ما هو واضح في الصوره أنت قارنت وضعت شرط صفقة البيع في حين كما يبدو في الشارت أن الأمر ما زال معلق لم يتفعل فيجب أن تضع هذا في الإعتبار
في الشرط إذا كان الأمر بيع أو بيع معلق
ثانيا كما أخبرتك في المشاركه السابقه المفروض أنك ستبحث عن آخر صفقة قبل الصفقة المفتوحه التي نقارنها
فالمفروض ستستخدم الحلقة
كود PHP:
for(int k=i-1;k>=0;k--)
أي أني سأبحث عن الصفقة المفتوحه قبل الصفقة رقم i التي قمت بتحديدها في أول حلقة
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
لأنه حسب ما هو واضح في الصوره أنت قارنت وضعت شرط صفقة البيع في حين كما يبدو في الشارت أن الأمر ما زال معلق لم يتفعل فيجب أن تضع هذا في الإعتبار
في الشرط إذا كان الأمر بيع أو بيع معلق
ثانيا كما أخبرتك في المشاركه السابقه المفروض أنك ستبحث عن آخر صفقة قبل الصفقة المفتوحه التي نقارنها
فالمفروض ستستخدم الحلقة
كود PHP:
for(int k=i-1;k>=0;k--)
أي أني سأبحث عن الصفقة المفتوحه قبل الصفقة رقم i التي قمت بتحديدها في أول حلقة
بارك الله فيك أستاذي الغالي
:00110:
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة sameh
إخوانى الأعزاء لو تكرمتم كنت عايز كود الإستدعاء لهذا المؤشر
كود PHP:
//+------------------------------------------------------------------+
//| AAA_Emad.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
extern int History=50;
extern string name1="Astro";
extern string name2="By: ME";
extern int corner=0;
extern int day=7;
extern double alpha=0.382;
extern color upper1=Red;
extern color upper2=Blue;
extern color upper3=Red;
extern color upper4=Lime;
extern color upper5=Aqua;
extern color upper6=Aqua;
//--------------------------
extern color lower1=Yellow;
extern color lower2=Blue;
extern color lower3=Yellow;
extern color lower4=Lime;
extern color lower5=Aqua;
extern color lower6=Aqua;
double point;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits<4)point=0.01;
else point=0.0001;
DrawLogo();
IndicatorShortName("Eng. Emad Gann || Programmed By Mercury_man");
//---- indicators
Print(Open[0]," , ",Open[1]," , ",Open[2]," , ",Open[3]," , ",Open[4]," , ",Open[5]," , ",Open[6]);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
if(Bars-counted_bars==0)return;
for(int i=1;i<=History;i++){
double ave1=0,ave2=0,AAA1=0,AAA2=0,AAA3=0,AAA4=0,AAA5=0,AAA6=0,AAA7=0,AAA8=0,AAA9=0,AAA10=0,AAA11=0,AAA12=0,p=0,ns=0,sqns=0;
double K;
for (int x=i;x<=(i-1)+day-1; x++)
{
p= iOpen(Symbol(),PERIOD_D1,x-1);
ns=MathLog(iOpen(Symbol(),PERIOD_D1,x-1)/iOpen(Symbol(),PERIOD_D1,x));
sqns=ns*ns;
ave1=ave1+ns;
ave2=ave2+sqns;
}
ave1=ave1/(day);
ave2=ave2/(day);
double RChAv=(ave2-(ave1*ave1));
double dailyChAv=MathSqrt(RChAv)*100;
double yearlyChAv=MathSqrt(365)*dailyChAv;
double daiyPipCh=iOpen(Symbol(),PERIOD_D1,i-1)*dailyChAv/100;
AAA1=NormalizeDouble(iOpen(Symbol(),PERIOD_D1,i-1)-alpha*daiyPipCh,Digits);
AAA2=NormalizeDouble(iOpen(Symbol(),PERIOD_D1,i-1)+alpha*daiyPipCh,Digits);
AAA3=NormalizeDouble(iOpen(Symbol(),PERIOD_D1,i-1)+daiyPipCh,Digits);
AAA4=NormalizeDouble(AAA3+(AAA3-AAA2)/2,Digits);
AAA5=NormalizeDouble(AAA2+(AAA3-AAA2)/2,Digits);
AAA6=NormalizeDouble(AAA4+(AAA2-AAA1),Digits);
AAA7=NormalizeDouble(AAA6+(AAA2-AAA1),Digits);
AAA8=NormalizeDouble(iOpen(Symbol(),PERIOD_D1,i-1)-daiyPipCh,Digits);
AAA9=NormalizeDouble(AAA8-(AAA1-AAA8)/2,Digits);
AAA10=NormalizeDouble(AAA8+(AAA1-AAA8)/2,Digits);
AAA11=NormalizeDouble(AAA9-(AAA2-AAA1),Digits);
AAA12=NormalizeDouble(AAA11-(AAA2-AAA1),Digits);
CreateObject("AAA1"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA1,1,lower1,1);
CreateObject("AAA2"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA2,1,upper1,1);
CreateObject("AAA3"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA3,0,upper2,2);
CreateObject("AAA4"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA4,0,upper3,2);
CreateObject("AAA5"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA5,1,upper4,2);
CreateObject("AAA6"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA6,0,upper5,2);
CreateObject("AAA7"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA7,0,upper6,2);
CreateObject("AAA8"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA8,0,lower3,2);
CreateObject("AAA9"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA9,0,lower4,2);
CreateObject("AAA10"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA10,0,lower2,2);
CreateObject("AAA11"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA11,0,lower5,2);
CreateObject("AAA12"+i,iTime(Symbol(),1440,i-1),iTime(Symbol(),1440,i-1)+3600*24,AAA12,0,lower6,2);
if(i==1){
K=MathAbs(AAA1-AAA2)/point;
samir("sa1",2,10,20,DoubleToStr(K,0),20,"",Lime);
}
}
return(0);
}
void CreateObject(string name,datetime T1,datetime T2,double price,int style,color COLOR,int Width)
{
if(ObjectFind(name)==-1){
ObjectCreate(name,OBJ_TREND,0,T1,price,T2,price);
ObjectSet(name,OBJPROP_COLOR,COLOR);
ObjectSet(name,OBJPROP_WIDTH,Width);
ObjectSet(name,OBJPROP_STYLE,style);
ObjectSet(name,OBJPROP_RAY,false);
}
else if(ObjectGet(name,OBJPROP_PRICE1)!=price){
ObjectDelete(name);
CreateObject(name,T1,T2,price,style,COLOR,Width);
}
}
//+------------------------------------------------------------------+
void DrawLogo() {
string l_name_0 = "L_1";
if (ObjectFind(l_name_0) == -1) {
ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSet(l_name_0, OBJPROP_CORNER, corner);
ObjectSet(l_name_0, OBJPROP_XDISTANCE, 10);
ObjectSet(l_name_0, OBJPROP_YDISTANCE, 10);
}
ObjectSetText(l_name_0, name1, 22, "Arial", White);
l_name_0 = "L_2";
if (ObjectFind(l_name_0) == -1) {
ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSet(l_name_0, OBJPROP_CORNER, corner);
ObjectSet(l_name_0, OBJPROP_XDISTANCE, 10);
ObjectSet(l_name_0, OBJPROP_YDISTANCE, 40);
}
ObjectSetText(l_name_0, name2, 14, "Arial", Gold);
l_name_0 = "L_3";
if (ObjectFind(l_name_0) == -1) {
ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSet(l_name_0, OBJPROP_CORNER, corner);
ObjectSet(l_name_0, OBJPROP_XDISTANCE, 10);
ObjectSet(l_name_0, OBJPROP_YDISTANCE, 44);
}
ObjectSetText(l_name_0, "______________", 12, "Arial", White);
}
void samir(string a_name_0, double a_corner_8, int a_y_16, int a_x_20, string a_text_24, int a_fontsize_32, string a_fontname_36, color a_color_44) {
ObjectCreate(a_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSetText(a_name_0, a_text_24, a_fontsize_32, a_fontname_36, a_color_44);
ObjectSet(a_name_0, OBJPROP_CORNER, a_corner_8);
ObjectSet(a_name_0, OBJPROP_XDISTANCE, a_x_20);
ObjectSet(a_name_0, OBJPROP_YDISTANCE, a_y_16);
}
هذا المؤشر يرسم خطوط على الشارت لذلك عند إستدعاء الخطوط
فإما أن تستخدم الداله
كود PHP:
ObjectGet("name",OBJPROP_PRICE1);
طبعا name هو إسم الخط الذي تريد إستدعائه لكن يجب أن تضع المؤشر على الشارت في حال إستخدمت هذه الطريقه
أو الأسهل في رئيي أن تضع كود المؤشر بداخل الإكسبرت مباشرة فكما أرى أن المؤشر يستخدم معادلات بسيطه سيكون من السهل أن تستخدمها في الإكسبرت