النتائج 4,021 إلى 4,035 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 14-06-2013, 10:05 PM #4021
رد:موضوع مخصص للأسئلة البرمجية
استاد ماستر دولار لي سؤالين بارك الله فيك
الاول
هل الداليتن المرفقتين صحيحتين لتغيير ستوب اخر صفقة مفتوحة
كود PHP:void modifylastopenbuyorder(double stop)
{
int last=OrdersTotal()-1;
OrderSelect(last,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderModify(OrderTicket(),OrderOpenPrice(),stop,OrderTakeProfit(),0,Blue);
}
}
}
void modifylastopensellorder(double stop)
{
int last=OrdersTotal()-1;
OrderSelect(last,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
OrderModify(OrderTicket(),OrderOpenPrice(),stop,OrderTakeProfit(),0,Blue);
}
}
}
هل ادا طبقت الحل الموجود في هده المشاركة
https://forum.arabictrader.com/t3761...ml#post2664590
الدي يبحت عن اول تك في شمعة جديدة استطيع ان اتخلى عن شرط
كود PHP:Time0!=Time[0]
لان الحل اعلاه سيمكنني من تنفيد الشروط عن اول تك في الشمعة الجديدة فقط
بارك الله فيك
- 14-06-2013, 10:28 PM #4022
- 15-06-2013, 02:55 AM #4023
رد:موضوع مخصص للأسئلة البرمجية
أولا بالنسبه لشرط الملامسه هذا الشرط سيدخل بعد إغلاق الشمعه أعلى أو أسفل الخط وليس الملامسه
لذلك الشرط الصحيح
كود PHP:if ((Open[0]<=LineH&&Close[0]>=LineH)
كود PHP:void OncePerBar()
{
if (BarTime < Time[0])
{
// we have a new bar opened
BarTime = Time[0]; // keep the new bar open time
LimitOpenOrders();
}
}
أخيرا أنت تريد وضع الشروط بحيث يضع الأمر المعلق عند الخط الذي يلامسه لكنك وضعت الداله
كود PHP:void BuyOrderH()
{
for( int i=1;i<=20;i++)
{
double LineH=ObjectGet("Hi"+i,OBJPROP_PRICE1);
double price = (NormalizeDouble(LineH, NDigits) + (SellStep*PipValue*Point));
double SL = price - Stoploss*PipValue*Point;
if (Stoploss == 0) SL = 0;
double TP = price + Takeprofit*PipValue*Point;
if (Takeprofit == 0) TP = 0;
int Tries;
int ticket = -1;
if (ECNBroker)
{
ticket = OrderSend(Symbol(), OP_BUYSTOP, Lots, price, Slippage, 0, 0, "Kira-h", MagicNo, 0, Blue);
if(ticket>-1 && Tries<10)
{
OrderSelect(ticket, SELECT_BY_TICKET);
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0, Blue);
Tries++;Sleep(1000);
}
}
else
ticket = OrderSend(Symbol(), OP_BUYSTOP, Lots, price, Slippage, SL, TP, "Kira-h", MagicNo, 0, Blue);
}
}
فالصحيح أنك ستضع الأمر المعلق عند الخط الملامس فقط ( حسب فهمي لطلبك ) لذلك إجعل كود مقارنة تحقق الشرط وكود فتح الصفقه في حلقة واحده
إذا عدت هذه الشروط فلن تجد أخطاء أخرى بإذن الله
- 15-06-2013, 03:01 AM #4024
- 15-06-2013, 03:07 AM #4025
رد:موضوع مخصص للأسئلة البرمجية
نعم الداله ستقوم بتغيير آخر صفقة مفتوحه لكن إذا كنت تستخدم أكثر من إكسبرت مثلا أو تفتح صفقات يدويا فقد تكون آخر صفقة مفتوحه ليست من صفقات الإكسبرت بالتالي لن يتحقق الشرط ولن تتغير الصفقه
لذلك إذا كنت تقصد تغيير ستوب آخر صفقة فتحها الإكسبرت فيجب أن تستخدم الحلقه للبحث عن آخر صفقة مفتوحه وتغييرها
وأيضا إستخدم شرط المقارنه أن الأستوب الجديد الذي تريد وضعه لا يساوي الأستوب القديم حتى لا يحدث خطأ في حال قمت بتغييره وهو نفسه
مثال
كود PHP:void modifylastopenbuyorder(double stop)
{
for(int last=OrdersTotal()-1;last>=0;last--)
{
OrderSelect(last,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY&&stop!=OrderStopLoss())
{
OrderModify(OrderTicket(),OrderOpenPrice(),stop,OrderTakeProfit(),0,Blue);
break;
}
}
}
}
- 15-06-2013, 03:18 AM #4026
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمه الله
تحية طيبة للجميع
استاذي العزيز اسامة
اريد عمل اكسبيرت مضاعفات جمعي في البيع والشراء 543212345 اي يضاعف في الاتجاهين يضاعف عند الانعكاس ويضاعف في اتجاة الربح واريد ان اجعل خيار لايقاف المضاعفة في اتجاة الربح سوى في البيع او الشراء
كيف اكتب الكود
وجزاك الله كل خير
مع تمنياتي للجميع بالتوفيق
لاتنساني من دعائك
- 15-06-2013, 01:07 PM #4027
رد:موضوع مخصص للأسئلة البرمجية
تحتاج الى شرط تفعيل المضاعفات في حالة الربح
يعني كمثال فقط
if(win=true)
{
lot=2*mul
}
else
{
lot=1
}
كمثال يعني في حالة الربح وهو رمز win تغير من حالته
وفي دالة شرط اخرى حددها عندما يصل الربح الى القيمة المناسبة يرجع ليلاحظ هل win=true ام لا ومن هنا يتم التحكم في اللوت
يعني دوال شرطية تعتمد عليها
انا بصدد اعطيك فكرة فقط لا اكواد جاهزة حتى تتخيل الفكرة البرمجية
- 15-06-2013, 01:22 PM #4028
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمه الله
تحية طيبة للجميع
شكرا لك اخي لاكني اريد الكود حتى اتعلم منه لان هذا النوع قليل ان تجد اكسبيرت يعمل بنفس الطريقة بعدها افكر كيف اتحكم فية ليكون اكسبيرت ناجح لان مايميز الاكسبيرت هو الارباح الكبيرة والغير موجودة في اي اكسبيرت تم برمجتة
وفي انتظار الاستاذ اسامة
احاول تعلم البرمجه لاكن احتاج الى وقت لان تركيزي كان في الموشرات
مع تمنياتي للجميع بالتوفيق
لاتنساني من دعائك
- 15-06-2013, 03:34 PM #4029
رد:موضوع مخصص للأسئلة البرمجية
- 16-06-2013, 03:23 AM #4030
أنا لم أفهم الفكرة .هل من الممكن أن تشرحها لي أكتر .من فضلك
جزاك الله ألف خير.
- 16-06-2013, 03:24 AM #4031
- 16-06-2013, 05:07 AM #4032
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله وبركاته
سوف تقوم بعمل دالة لمعرفة سعر فتح آخر صفقة ونوع الصفقه
مثال
كود PHP:double LastOrderType()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
int type=OrderType();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic&&OrderType()==type)
{
return(type);
}
}
}
كود PHP:double LastOpenPrice()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic&&OrderType()==type)
{
return(OrderOpenPrice());
}
}
}
كود PHP:double LastLot()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
double L=OrderLots();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic&&OrderType()==type)
{
return(L);
}
}
}
مثال
كود PHP:if(LastOrderType()==OP_BUY&&(LastOpenPrice()-Bid>=Step*Point)||(Bid-LastOpenPrice()>=Step*Point&&OpenWinMultiplier))
{
double newLot=LastLot()*2;
OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
if(LastOrderType()==OP_SELL&&(Ask-LastOpenPrice()>=Step*Point)||(LastOpenPrice()-Ask>=Step*Point&&OpenWinMultiplier))
{
newLot=LastLot()*2;
OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Bid,Digits),3,0,0,"EA",MagicNumber,0,Blue);
}
- 16-06-2013, 05:55 AM #4033
السلام عليكم استاذ أسامة
لدي استراتيجية بحاول اعمل لها اكسبرت ومش ظابط معايا
بكل بساطة هي عباره عن ثلاثة موفنج افرج باعدادات مختلفة اسمائهم 1 2 3 على التوالي وكذلك مؤشر الماكد بالاعدادات الافتراضية :
شروط الدخول:
1- الشراء: عندما يقطع الموفينج رقم 1 الموفينجين 2 و 3 من الأسفل للأعلى ويتأكد ذلك من مؤشر الماكد بأن يصبح فوق الصفر
2- البيع:عندما يقطع الموفينج رقم 1 الموفنجين 2 و 3 من الأعلى للأسفل ويتأكد ذلك من مؤشر الماكد بأن يصبح تحت الصفر
يا ريت استاذ أسامة تقلي كمان اكتب ازاي المتغيرات الخاصة بالموفنجات علشان محتار في ارقام الشموع سواء 0 او 1 او 2 وكمان مؤشر الماكد أختار الـ ماين ولا سجنال يكون تحت الصفر او فوق الصفر
جزاك الله خيرآخر تعديل بواسطة waleedgadelmola ، 16-06-2013 الساعة 06:02 AM
- 16-06-2013, 07:09 AM #4034
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله
بعد أذن الأستاذ أسامة ، بالنسبة للموفنجات الثلاثة حتحتاج تضيف في المتغيرات هذا الكود حتى يستطيع المستخدم التغيير
كود PHP:extern int moving1=7; extern int moving1_mode=1;
extern int moving2=21; extern int moving2_mode=1;
extern int moving3=55; extern int moving3_mode=1;
كود PHP:double ma1,ma2,ma3;
كود PHP:ma1=iMA(NULL,0,moving1,0,moving1_mode,PRICE_CLOSE,1);
ma2=iMA(NULL,0,moving2,0,moving2_mode,PRICE_CLOSE,1);
ma3=iMA(NULL,0,moving3,0,moving3_mode,PRICE_CLOSE,1);
بعدها في دالة ستارت تضيف شرط البيع وشرط الشراء
كود PHP:if(ma1>ma2&&ma1>ma3&&ma2>ma3){/// Buy }
if(ma1<ma2&&ma1<ma3&&ma2<ma3){/// Sell }
البداية بالمتغيرات
كود PHP:extern int fast_ema_period=12;
extern int slow_ema_period=26;
extern int signal_period=9;
extern int applied_price=0;
extern int mode=0;
كود PHP:double amacd,bmacd;
كود PHP:amacd=iMACD(NULL, NULL,fast_ema_period,slow_ema_period,signal_period,applied_price,mode,1);
bmacd=iMACD(NULL, NULL,fast_ema_period,slow_ema_period,signal_period,applied_price,mode,2);
كود PHP:if (amacd > 0 && bmacd < 0 )
نصيحة الأفضل تبتدي بالموفنجات او بالماكد منفصلين حتى تضبط بعدها تشتغل على الأثنين
بالتوفيق وليد .
- 16-06-2013, 12:43 PM #4035
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM