النتائج 1 إلى 9 من 9
- 24-04-2009, 03:31 PM #1
مشكلة تكرار فتح الصفقات على نفس الشمعة
يقوم الإكسبرت بفتح صفقات مع كل حركة للسعر على نفس الشمعة
و أنا اللي أبغاه يفتح عملية وحدة فقط عند تحقق الشروط
فما هو السبب ؟؟؟؟؟ و ما هو الحل ؟؟
كود PHP:extern int TakeProfit = 25;
extern int StopLose = 25;
extern double Lots = 0.3;
extern int MagicNumber = 23671;
double Poin;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if (Point == 0.00001) Poin = 0.0001; //6 digits
else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)
else Poin = Point; //Normal for 5 & 3 Digit Forex Quotes
return(0);
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
double cCLOSE = iClose(NULL, 0, 1);
double pCLOSE = iClose(NULL, 0, 2);
double BP=iHigh(NULL,0,1);
double SP=iLow(NULL,0,1);
double SLB=iLow(NULL,0,1);
double SLS=iHigh(NULL,0,1);
double cma5m=iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,1);
double pma5m=iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,2);
{
if(cCLOSE>cma5m && pCLOSE<pma5m)
OrderSend(Symbol(),OP_BUYSTOP,Lots,BP,3,SLB,Ask+TakeProfit*Poin,"",MagicNumber,0,Green);
if(cCLOSE<cma5m && pCLOSE>pma5m)
OrderSend(Symbol(),OP_SELLSTOP,Lots,SP,3,SLS,Bid-TakeProfit*Poin,"",MagicNumber,0,Red);
return(0);
}
//---------------------------------
return(0);
}
//+--------
- 24-04-2009, 05:44 PM #2
رد: مشكلة تكرار فتح الصفقات على نفس الشمعة
فقط باضافة الكود التالي بعد start() :
كود:for(int i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber()==MagicNumber && Symbol()==OrderSymbol()) return; }
- 24-04-2009, 06:28 PM #3
رد: مشكلة تكرار فتح الصفقات على نفس الشمعة
كود PHP:extern int TakeProfit = 25;
extern int StopLose = 25;
extern double Lots = 0.3;
extern int MagicNumber = 23671;
double Poin;
int Tim;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
Tim=Time[0];
if (Point == 0.00001) Poin = 0.0001; //6 digits
else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)
else Poin = Point; //Normal for 5 & 3 Digit Forex Quotes
return(0);
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if(Time[0]==Tim)return(0)
double cCLOSE = iClose(NULL, 0, 1);
double pCLOSE = iClose(NULL, 0, 2);
double BP=iHigh(NULL,0,1);
double SP=iLow(NULL,0,1);
double SLB=iLow(NULL,0,1);
double SLS=iHigh(NULL,0,1);
double cma5m=iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,1);
double pma5m=iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,2);
{
if(cCLOSE>cma5m && pCLOSE<pma5m)
OrderSend(Symbol(),OP_BUYSTOP,Lots,BP,3,SLB,Ask+TakeProfit*Poin,"",MagicNumber,0,Green);
if(cCLOSE<cma5m && pCLOSE>pma5m)
OrderSend(Symbol(),OP_SELLSTOP,Lots,SP,3,SLS,Bid-TakeProfit*Poin,"",MagicNumber,0,Red);
return(0);
}
//---------------------------------
return(0);
}
//+--------
جرب هذا اخوي
- 24-04-2009, 07:24 PM #4
رد: مشكلة تكرار فتح الصفقات على نفس الشمعة
د. اودي
وين الغيبة؟؟، لا ادري هل كنت مختفي ام بسبب قلة مشاركاتي لم اراك!!
اخر مرة رأيتك فيها كانت عندما طلبت برنامج لتفريغ الاسعار الى ملف txt.. في هذا الموضوع:
https://forum.arabictrader.com/t60906.html
وللأسف لم اراك بعدها، عسى المانع خير. وما هو اخبار مشروعك؟
بالنسبة للكود اللذي ارفقته في مشاركتك فلم ينجح (انظر الصورة).
يمكن عمل ذلك فقط بالرجوع الى order magic number، الطريقة اللذي ذكرتها في مشاركتي ليست مثالية 100% ولكن تفي بالغرض الاساسي، لانه اذا كان هناك وظائف في الاكسبيرت اخرى مثل تتبع الستوب trailingstop فلن يتفعل ذلك، ولكي يكون مثالياً فيجب ن تكون بالكريقة التالية:
كود:void start() { if (OrderIsActive()) TrailingStop(); else ProcessOrder(); . . . } bool OrderIsActive() { for(int i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber()==MagicNumber && Symbol()==OrderSymbol()) return(true); } return(false); }
بالتوفيق للجميع
- 24-04-2009, 09:19 PM #5
رد: مشكلة تكرار فتح الصفقات على نفس الشمعة
السلام عليكم ...
اخي صانع القرار .. انا موجود .. قمت بوضع بصناعة اكسبرت ووضعته هنا في المنتدى ..
Tripple K
كانت النتائج مذهلة في الباك تست اما في الحقيقي فكانت النتائج عكس ذلك تماما فشل .. المهم انا موجود دائما .. ارد على المواضيع التي لي باع فيها والتي لا استطيع ان اخدم فيها فلا ارد
بالنسبة لموضوع الاخ .. معك حق اخي .. الكود الذي وضعته انا هو مجرد فكرة .. يعني يمكن للاخ المبرمج وضع الكود في المكان المناسب .. ولكن انا اخبره بفكرة انه يمكن استخدام هذا الكود لتنفيذ الاوامر بعد افتتاح شمعو جديدة ...
شكرا اخي على سؤالك
واتمنى ان يصل كاتب الموضوع لمراده
تحياتي لكم جميعا
- 25-04-2009, 01:14 AM #6
رد: مشكلة تكرار فتح الصفقات على نفس الشمعة
آخر تعديل بواسطة alshakatan ، 25-04-2009 الساعة 01:21 AM
- 25-04-2009, 01:31 AM #7
- 25-04-2009, 08:49 AM #8
رد: مشكلة تكرار فتح الصفقات على نفس الشمعة
صحيح، بهذه الطريقة سوف يبحث عن طلبات الشراء فقط... ولكن يجب عليك ايضاً كتابة
الوظيفة نفسها للبحث في طلبات البيع. وهذا الطريقة في البرمجة لا ينصح بها.
والطريقة المثالية في هذه الحالة هو استدعاء وظيفة OrderIsActive معParameter
مثال على ذلك،
كود:void start() { if (OrderIsActive(OP_BUY)) TrailingStop(); else ProcessOrder(); . . . } bool OrderIsActive(int ordertype) { for(int i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber()==MagicNumber && Symbol()==OrderSymbol() && OrderType()==ordertype) return(true); } return(false); }
بالتوفيق
- 25-04-2009, 04:05 PM #9
المواضيع المتشابهه
-
أى سؤال وأى مشكلة فى الصفقات .. أسئل وسأحل مشكلتك ...أى زوج سأقول لك طريقة ...
By ggglll in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 178آخر مشاركة: 20-05-2010, 12:30 AM -
مطلوب كود إغلاق الصفقات بنهاية الشمعة
By Scarface in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 3آخر مشاركة: 03-01-2010, 06:06 PM -
مشكلة عكس الصفقات في إف إكس سول هل من حل
By BillGatesJordan in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 9آخر مشاركة: 24-05-2009, 05:42 PM