النتائج 2,251 إلى 2,265 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 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
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله تعالى وبركاته
تحياتي للجميع
بحاول أعمل دالة لإغلاق جميع الصفقات المفتوحة بعد شرط معين لكن مش عارف ليه بيقفل بس الصفقات الشراء
وده الكود إلي كتبته وانا شايف نظريا مافيش خطأ مع العلم إن في الجورنال برضه مافيش أخطاء يعني الدالة نفسها مش بتقفل غير صفقات الشراء
كود 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
رد:موضوع مخصص للأسئلة البرمجية
بارك الله فيك يا أستاذ أسامة
جربت ونفس المشكلة ده حتى فتحت إكسبيرت جديد وعملت الكود البسيط ده ونفس المشكلة بيعمل قفزات وجربت ميتا إيديتور لشركة تانية برضه نفس المشكلة
كود 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