الموضوع: الاخ MOVING _AVERAGE
عرض مشاركة واحدة
قديم 29-01-2013, 07:19 AM   المشاركة رقم: 1
الكاتب
The_Mask
عضو جديد

البيانات
تاريخ التسجيل: Nov 2011
رقم العضوية: 6643
العمر: 35
المشاركات: 11
بمعدل : 0.00 يوميا

الإتصالات
الحالة:
The_Mask غير متواجد حالياً
وسائل الإتصال:

المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي الاخ MOVING _AVERAGE

السلام عليكم
الاخ

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

[PHP]

datetime Time0;
double digits,point;

//////////////////////////////////////////////////////
int init()
{
if((Digits==5) || (Digits==3)) digits=Digits;
if((Point==0.001) || (Point==0.00001)) point=Point;
return(0);

}

//////////////////////////////////////////////////////////////
int orderscnt(int type){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type ){
cnt++;
}
}
}
return(cnt);
}

/////////////////////////////////////////////////////////////////////////

////////////////// Buy//////////////

if (Open[2]<Close[2]&&(Close[2]-Open[2])/point>310&&Open[1]<Close[1]&&Time0!=Time[0]){


if(orderscnt(OP_BUY)+orderscnt(OP_SELL)<1){
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*point;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*poi nt;}
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask ,digits),3*digits,SL,TP,"EA",MagicNumber,0,Blue);
Time0=Time[0];
}
}


///////////////////// Sell////////////////////////

if (Open[2]>Close[2]&&(Open[2]-Close[2])/point>310&&Open[1]>Close[1]&&Time0!=Time[0]){

if(orderscnt(OP_BUY)+orderscnt(OP_SELL)<1){
if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*point;}
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bi d,digits),3*digits,SL,TP," EA",MagicNumber,0,Red);
Time0=Time[0];
}
}
}



[/PHP]
الاكسبرت لا يعتمد على اي موشر فقط على الشموع وهذه هي شروط الدخول
الاكسبرت جعلته يعمل فقط على منصه الخمسه ارقام لان البروكر خمسه ارقام
اخي الكريم
اذا ترى اي خطاء في اي كود او صيغة اخرى ممكن كتابة بها الاوامر على هذه الشروط
اكون شاكر لك .....
تحاتي





عرض البوم صور The_Mask  
رد مع اقتباس


  #1  
قديم 29-01-2013, 07:19 AM
The_Mask The_Mask غير متواجد حالياً
عضو جديد
افتراضي الاخ MOVING _AVERAGE

السلام عليكم
الاخ

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

[PHP]

datetime Time0;
double digits,point;

//////////////////////////////////////////////////////
int init()
{
if((Digits==5) || (Digits==3)) digits=Digits;
if((Point==0.001) || (Point==0.00001)) point=Point;
return(0);

}

//////////////////////////////////////////////////////////////
int orderscnt(int type){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type ){
cnt++;
}
}
}
return(cnt);
}

/////////////////////////////////////////////////////////////////////////

////////////////// Buy//////////////

if (Open[2]<Close[2]&&(Close[2]-Open[2])/point>310&&Open[1]<Close[1]&&Time0!=Time[0]){


if(orderscnt(OP_BUY)+orderscnt(OP_SELL)<1){
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*point;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*poi nt;}
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask ,digits),3*digits,SL,TP,"EA",MagicNumber,0,Blue);
Time0=Time[0];
}
}


///////////////////// Sell////////////////////////

if (Open[2]>Close[2]&&(Open[2]-Close[2])/point>310&&Open[1]>Close[1]&&Time0!=Time[0]){

if(orderscnt(OP_BUY)+orderscnt(OP_SELL)<1){
if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*point;}
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bi d,digits),3*digits,SL,TP," EA",MagicNumber,0,Red);
Time0=Time[0];
}
}
}



[/PHP]
الاكسبرت لا يعتمد على اي موشر فقط على الشموع وهذه هي شروط الدخول
الاكسبرت جعلته يعمل فقط على منصه الخمسه ارقام لان البروكر خمسه ارقام
اخي الكريم
اذا ترى اي خطاء في اي كود او صيغة اخرى ممكن كتابة بها الاوامر على هذه الشروط
اكون شاكر لك .....
تحاتي







رد مع اقتباس