النتائج 2,251 إلى 2,265 من 10363
الموضوع: موضوع مخصص للأسئلة البرمجية
- 11-06-2012, 04:44 AM #2251
- 11-06-2012, 04:45 AM #2252
- 11-06-2012, 08:18 AM #2253
رد:موضوع مخصص للأسئلة البرمجية
هذه الداله أيضا تفي بالغرض هي الأخرى أخي أسامه ؟؟؟؟
ثم إذا أردت فتح شراء إذا كانت آخر صفقه أغلقت خساره و نوع آخر صفقه شراء يكون الكود :كود PHP:
string last;
for(int i=OrdersHistoryTotal();i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss";
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss";
break;
}
}
وسؤالي هنا هل إستخدامي لنوع الصفقه في الشرط السابق يعبر عن نوع آخر صفقه مغلقة ؟؟؟ أم أني أحتاج لعمل داله أخرى لحساب نوع آخر صفقه مغلقة ؟؟؟ غير هذه الدالهكود PHP:if( last=="loss" && OrderType()==OP_BUY ) //buy
و كيف أقوم بعمل هذه الداله أخي أسامه والتي تحسب أو تفحص نوع آخر صفقه مغلقة كانت بيعا أم شراء سواء كان مازال صفقات أخرى مفتوحه أم كانت هي آخر صفقه ؟؟؟كود PHP: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()&&OrderType()==type && (MagicNumber==OrderMagicNumber()) ){
cnt++;
}
}
}
return(cnt);
}
وشكرا جزيلا ..آخر تعديل بواسطة dentist_hussein ، 11-06-2012 الساعة 08:38 AM
- 11-06-2012, 03:41 PM #2254
- 11-06-2012, 03:47 PM #2255
نعم يمكنك إستخدام هذا الكود ستكون نفس النتيجه
ويجب أن تقوم بعمل داله أخرى لمعرفة نوع آخر صفقه أغلقت بيع أو شراء
أو يمكنك عمل تعديل في الكود الذي أرفقته وتعريف متغير يحفظ نوع آخر صفقهكود PHP:int lastordertype(){
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
return(OrderType());
}
}
return(-1);
}
كود PHP:string last; int type
for(int i=OrdersHistoryTotal();i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
type=OrderType();
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss";
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss";
break;
}
}
- 11-06-2012, 03:50 PM #2256
السلام عليكم ورحمه الله وبركاته
ممكن مساعدة
كيف يتم استدعاء last high و last low من مؤشر ال zigzag لاستخدامه في عمل أسكر يبت
يعني محتاج اخر قمة وآخر قاع
ولكم جزيل الشكر
- 11-06-2012, 05:21 PM #2257
تمام أخي أسامه ,,,
لو قمت بعمل الداله
سوف أستدعي نوع آخر صفقه بهذا الكود :كود PHP:int lastordertype(){
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
return(OrderType());
}
}
return(-1);
}
__________________كود PHP:if( lastordertype()==OP_BUY ) //buy
ولكن إذا قمت بعمل تعديل على الداله كما تفضلت :
سيكون إستدعاء نوع آخر صفقه بهذا الكود :كود PHP:string last; int type
for(int i=OrdersHistoryTotal();i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
type=OrderType();
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss";
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss";
break;
}
}
_______________كود PHP:if( OrderType()==OP_BUY ) //buy
لكن في حالة أردت أن أستخدم كود يستدعي نوع آخر صفقه و كود نوع الصفقه الحاليه سوف أستخدم هاتين الدالتين :
- الداله التي تحسب نوع الصفقه الحاليه :
وهذا الكود يكون خاص بإستدعاء نوع الصفقه الحاليه :كود PHP: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()&&OrderType()==type && (MagicNumber==OrderMagicNumber()) ){
cnt++;
}
}
}
return(cnt);
}
والداله التي تحسب نوع آخر صفقه مغلقه :كود PHP:if( OrderType()==OP_BUY ) //buy
ليكون هذا الكود خاص بإستدعاء نوع آخر صفقه مغلقه :كود PHP:int lastordertype(){
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()OrderMagicNumber()==MagicNumber){
return(OrderType());
}
}
return(-1);
}
هل فهمي صحيح ؟كود PHP:if( lastordertype()==OP_BUY ) //buy
وجزاك الله خيرا
- 11-06-2012, 05:45 PM #2258
- 11-06-2012, 09:25 PM #2259
وعليكم السلام ورحمة الله وبركاته
كمثال
كود PHP:double lasthigh,lastlow;
for(int i=0;i<Bars;i++){
double zig=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
if(zig==High[i])lasthigh=zig;
if(zig==Low[i])lastlow=zig;
if(lasthigh!=0&&lastlow!=0)break;
}
- 12-06-2012, 01:33 AM #2260
- 12-06-2012, 02:12 PM #2261
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله تعالى وبركاته
تحياتي للجميع.gif)
بحاول أعمل دالة لإغلاق جميع الصفقات المفتوحة بعد شرط معين لكن مش عارف ليه بيقفل بس الصفقات الشراء
وده الكود إلي كتبته وانا شايف نظريا مافيش خطأ مع العلم إن في الجورنال برضه مافيش أخطاء يعني الدالة نفسها مش بتقفل غير صفقات الشراء
كود PHP:
void close_all_orders()
{
if ( OrdersTotal()==6)
{
for ( int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderType()==OP_BUY)double B=Bid;
if (OrderType()==OP_SELL) B=Ask;
OrderClose(OrderTicket(),OrderLots(),B,5,CLR_NONE);
}
}
}
وسؤال فني , كنت بعمل إكسبيرت على مدار يومين وعملت كومبايل وعامل حفظ وعامل باكتست اكتر من مرة يعني الكود والشغل كله محفوظ و100% تاني يوم كنت بشتغل فجأة إتقطعت الكهربا ولم جت فتحت الإكسبيرت لقيت الصفحة بيضا والكود كله إتمسح حتى الكود الإفتراضي إلي بيكون موجود لما نفتح إكسبيرت جديد إتمسح
حد إتعامل مع مشكلة زي دي وياريت لو ليها حل وأقدر أسترجع الشغل تدلوني وشكرا مقدما على كل الاحوال
تحياتي
- 12-06-2012, 07:45 PM #2262
حقيقه لا أرى أي سبب آخر قد يكون المشكله في ظهور الخطأ
إذا كان الإكسبرت يفتح بعض الصفقات فربما السبب هو في عدد المحاولات فإذا حلت المشكله فقم بزيادة عدد المحاولات حتى يظل يحاول فتح الصفقه والسبب غالبا في هذه الحاله هو سرعة الحركه وإختلاف سعر فتح الصفقه عن السعر الحالي
لذلك إستخدمت RefreshRates
- 12-06-2012, 07:52 PM #2263
- 12-06-2012, 10:38 PM #2264
وعليكم السلام ورحمة الله وبركاته
الداله صحيحه لا يوجد بها أخطاء . جرب تعريف متغير ticket وقم بحفظ رقم التيكيت بعد إختيار الصفقه ب OrderSelect وإستخدمه في أمر إغلاق الصفقه
بالنسبه للخطأ فالسبب غالبا تقني من الجهاز نفسه في المرات القادمه عندما تقوم ببرمجة إكسبرت إجعل ملف كود الإكسبرت والذي تقوم بالتطوير فيه في مجلد مختلف عن الميتاتريدر
الحل الآن يمكنك إستخدام ملف الإكسبرت التنفيذي ex4 قم بكسره وسوف تجد الكود سليم
- 13-06-2012, 12:21 AM #2265
رد:موضوع مخصص للأسئلة البرمجية
بارك الله فيك يا أستاذ أسامة
.gif)
جربت ونفس المشكلة ده حتى فتحت إكسبيرت جديد وعملت الكود البسيط ده ونفس المشكلة بيعمل قفزات وجربت ميتا إيديتور لشركة تانية برضه نفس المشكلة
كود PHP:
int start()
{
if (OrdersTotal()<6)OrderSend(Symbol(),OP_BUY,0.1,Ask,5,0,0,"",0,0,CLR_NONE);
if (OrdersTotal()==6)close_all_orders();
return(0);
}
//+------------------------------------------------------------------+
void close_all_orders()
{
for ( int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);
}
}

حتى ملف الـ ex4 إختفى
لكن الحمد لله قبل شوية خلصت بحدود 90 % من الكود إلي كنت عامله المرة التانية بتكون اسهل
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM
الأكثر زيارة

رد مع اقتباس