اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   الاخ MOVING _AVERAGE (https://fx-arabia.com/vb/showthread.php?t=29275)

The_Mask 29-01-2013 07:19 AM

الاخ 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]
الاكسبرت لا يعتمد على اي موشر فقط على الشموع وهذه هي شروط الدخول
الاكسبرت جعلته يعمل فقط على منصه الخمسه ارقام لان البروكر خمسه ارقام
اخي الكريم
اذا ترى اي خطاء في اي كود او صيغة اخرى ممكن كتابة بها الاوامر على هذه الشروط
اكون شاكر لك .....
تحاتي




MOVING_AVERAGE 29-01-2013 03:07 PM

رد: الاخ MOVING_AVERAGE
 
هذا الكود غير كامل اخي

تم تجزئة الكود

فيه متغيرات كثيرة غير معرفة

مثل الستوب لوز والتيك بروفت و النمبرماجيك

ياريت تضع الكود الكامل للاكسبريت لكي افحصه

The_Mask 29-01-2013 04:15 PM

رد: الاخ MOVING_AVERAGE
 
شكرا لتكرمك الرد
بالنسبة للاكسبرت مكتمل طبعا
[PHP]
extern string MM_Parameters = " Money Management";
extern double Lots = 1;
extern bool UseMoneyManagement = TRUE;
extern int RiskPercent = 80;

extern string S5=" Order Management";
extern int TakeProfit=100;

extern int StopLoss=400;

datetime Time0;

double digits,point;
extern int MagicNumber=3030;
int init()
{
if((Digits==5) || (Digits==3)) digits=Digits;
if((Point==0.001) || (Point==0.00001)) point=Point;
return(0);

}


//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+

void deinit() {
Comment("SAeed");
}

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);
}


//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{

double SL,TP;


if(UseMoneyManagement) Lots = LotManage();

////////////////// 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];
}
}
}


///////////////////////////////////////////////////////////////////////////////////////////////////////
double LotManage()
{
double lot = MathCeil(AccountFreeMargin() * RiskPercent / 1000) / 100;

if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=Market Info(Symbol(),MODE_MINLOT);
if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=Market Info(Symbol(),MODE_MAXLOT);


return (lot);
}



[/PHP]

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



MOVING_AVERAGE 29-01-2013 04:22 PM

رد: الاخ MOVING_AVERAGE
 
يالريت تذكر اي بروكر تعمل عليه

The_Mask 29-01-2013 04:32 PM

رد: الاخ MOVING_AVERAGE
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 457468)
يالريت تذكر اي بروكر تعمل عليه

FXDD
ايضا نفس المشكله واجهتها على بروكر 4 ارقام


MOVING_AVERAGE 29-01-2013 04:41 PM

رد: الاخ MOVING_AVERAGE
 
ساعمل عليه اليوم اخي

The_Mask 29-01-2013 05:03 PM

رد: الاخ MOVING_AVERAGE
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MOVING_AVERAGE (المشاركة 457477)
ساعمل عليه اليوم اخي

الاكسبرت فرص الدخول تبعه قليله ...
لذلك مراقبته فيها صعوبه شويه لانه يمكن يمر الاسبوع ما يعمل اوامر
وخاصه انه يعمل على فريم 15
بالنسبه للنتيجه مذهل جدا
ارجو من حضرتك التركيز على كود الدخول بالنسبة للشمعات هل كتابته صحيحه
لانه بعد مراجعتي للشارت اجد انه الفرص التي لم يدخل بها عندما يكون اغلاق الشمعات
بفارق كبير جدا
مثلا عند اغلاق الشمعه (2) وكان الفارق بين الافتتاح والاغلاق اكبرمن 50 نقطه
او الشمعه (1) كان فارق كبير بين افتتاحها واغلاقها



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



[/PHP]
هل كتابة الكود صحيحه
او ممكن كتابته بصيغه اخرى


MOVING_AVERAGE 29-01-2013 09:22 PM

رد: الاخ MOVING_AVERAGE
 
انا راجعت كتابة الكود واضفت بعض التعديلات

الان الاكسبريت يعمل علي كل البروكرات 4 و 5

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

يضهر لك الفرق بين بين الابن و الكلوز للشمعة رقم 2

الاستراتجية تعتمد علي

1- في حالة الصعود

صعود الشمعة رقم 2 اكثر من 31 نقطة

اذا كانت الشمعة رقم 1 صاعدة ايضا يدخل شراء

2-في خالة الهبوط

هبوط الشمعة رقم 2 اكثر او يساوي 31 نقطة

اذا كانت الشمعة رقم 1 هابطة

يدخل بيع

شئ اخر الاستراتجية تعتمد علي هبوطاو صعود كبير في الشمعة

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

حيث يرتفع السبريت كثيرا

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



اخيرا ياريت ترفقلي الاماكن التي لم يدخل فيها

The_Mask 30-01-2013 06:25 AM

رد: الاخ MOVING _AVERAGE
 

شكرا لك تمام كذى
الاستراتيجييه هكذى بالنسبه للبروكر هو كان يعمل على 4و 5 لكن قمت بتعديله
على ان يعمل على بروكر 5 توقعت يمكن يكون السبب
ثانيا
بالنسبه للاسبريد والاستوب لوز
الاكسبرت دخوله ليس مع الاخبار مباشره يعني بعد شمعتين 15 يكون مر على الخبر
نصف ساعة حتى الشركات اللي ترفع الاسبريد اعتقد يكون قد عاد الى طبيعته بعد
هذه الفتره
الاستوب لوز هو يعمل على استوب لوز 40 نقطه وما اعتقد انها تسبب مشكله
ثالثا ...
لو الاكسبرت ارسل الامر وتم رفضة من السيرفر لسبب ما اعتقد انه نجده في التعليق تبع الاكسبرت
على المنصه



//////////////////////////////////////////////////
بالنسبه لفرص الدخول
ناخذ مثلا شهر يناير
منصه اف اكس دي دي
فرص الدخول المتوفره كانت 4 فرص للاسف لم يدخل الا واحده فقط


وهذه الاولى التي دخل بها
بتاريخ
3/1/2013
13:00


http://im35.gulfup.com/BThd1.gif


هذه لم يدخل بها
10/1/2013
16:30


http://im35.gulfup.com/e0Ak2.gif


فرصه اخرى ضائعه

11/1/2013
16:00



http://im35.gulfup.com/V0cn3.gif



فرصه لم يتم ايضا الدخول بها

22/1/2013
13:30

http://im35.gulfup.com/OQzt4.gif

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

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



The_Mask 30-01-2013 07:39 AM

رد: الاخ MOVING _AVERAGE
 
على فريم 15

على الحقيقي

فرص الدخول

http://im32.gulfup.com/ssbz1.gif



فرصه لم يتم الخول عليها





http://im32.gulfup.com/NeW42.gif


لم يتم الدخول



http://im32.gulfup.com/KfNT3.gif

لم يتم الدخول

http://im32.gulfup.com/KVR74.gif

MOVING_AVERAGE 30-01-2013 11:33 PM

رد: الاخ MOVING _AVERAGE
 
بالفعل اخي

ساحاول تغير كتابة الاكسبريت وتجريبه علي الديمو لمعرفة الاسباب لعدم فتح الصفقات


الساعة الآن 03:28 AM

Powered by vBulletin® Copyright ©2000 - 2025

جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com