فيه شئ غير صحيح في برنامجك اخي هو غلق الصفقات العكسية ماهي شروط غلق الصفقات العكسية ؟؟؟؟؟ |
|||
هو صراحة قمت بوضع كود وجته في احد الاكسبيرتات
|
جديد المواضيع |
|
منتدى المؤشرات و الاكسبيرتات تعليم برمجة الاكسبيرت ، اكسبيرت مجانى ، برمجة مؤشرات ، مؤشر ، تصميم اكسبيرت مجانا ، اكسبيرتات جديدة ، مؤشرات جديدة ، كل ما يتعلق بالتحليل و الخاص بالمؤشرات الفنية او الرقمية ، Expert advisor ، mql ، mql4 ، دورة برمجة ، برمجة اكسبيرت ، اكسبيرت رابح ، اكسبيرت جيد ، ادارة حسابات ، تداول الى ، ميتاتريدر ، تحميل منصة ، منصة تداول ، برمجة مؤشر ، مكتبة مؤشرات ، مؤشر جديد ، مؤشرات جديدة ، مؤشر حصرى ، احدث مؤشر . |
|
أدوات الموضوع |
31-03-2013, 03:33 PM | المشاركة رقم: 121 | ||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
|
||||||||||||||||||||||
|
#121
|
|
|
|
رد: دورة تعليم برمجة الاكسبريت
|
31-03-2013, 03:36 PM | المشاركة رقم: 122 | |||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
المناقشة او بنفس طريقة التي شرحت بها الدروس السابقة يكون افضل لاني كما اخبرتك انا اتعلم فقط اي اني لم ابرمج هذا الاكسبيرت للمتاجرة عليه من الاساس |
|||||||||||||||||||||||||||||||||||||||||||
|
#122
|
|||||||||||||||||||||
|
|||||||||||||||||||||
رد: دورة تعليم برمجة الاكسبريت
المناقشة او بنفس طريقة التي شرحت بها الدروس السابقة يكون افضل لاني كما اخبرتك انا اتعلم فقط اي اني لم ابرمج هذا الاكسبيرت للمتاجرة عليه من الاساس |
31-03-2013, 03:57 PM | المشاركة رقم: 123 | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
البرمجة معرفة كيفية وضع الاوامر وتعلم الاساسيات وهذا مبدء العمل فقط لاكن ليكون عملك صحيح يجب ان تعرف ماذا تبرمج اساسا الشروط من اهم الامور التي يجب معرفتها لكي نفهم عمل البرنامج نعود الي شروط الدخول في الصفقة نحن اشترطنا ضهور سهم في الشمعة السابقة لكي يدخل في عملية buy او sell لاكن لو وضعنا هذا الامر فقط فالاكسبريت يقارن الشرط كل تحرك للسعر وطالما الشرط صحيح سيدخل صفقة مثلا في الشمعة السابقة ضهر سهم يشير الي buy سيدخل اول صفقة buy تحرك السعر بتك واحد في نفس الشمعة سيعيد مقارنة الشرط ان وجده صحيح سيعيد الدخول ولكي نتفادي الدخول الكثير وضعنا شرط اخر ان يكون عدد الصفقات المفتوحة اصغر من اقصي حد نريد المتاجرة به اقصي حد نريد المتاجرة به وضعناه متغير خارجي نحن نحدده عدد الصفقات المفتوحة نحصل عليه بواسطة الدالة orderstotal() اذا سيصبح الشرط كالتالي اذا ضهر سهم في الشمعة السابقة وكانت عدد الصفقات المفتوحة اقل من اقصي حد للصفقات افتح امر [PHP] if(indigreen<4000&&orderstotal()<MaxTrades) [/PHP]ماذا سيعمل الاكسبريت سيقارن ان ضهر سهم في الشمعة السابقة تحقق هذا الامر جيد سيقارن ايضا عدد الصفقات المفتوحة وعدد الصفقات المفتوحة الي الان 0 وهي اصغر من اقصي حد للمتاجرة الذي = 1 سيفتح صفقة يتحرك السعر سيعيد المقارنة هل ضهر السهم في الشمعة السابقة تحقق هذا الامر جيد سيقارن ايضا عدد الصفقات المفتوحة وعدد الصفقات المفتوحة الي الان 1 وهي تساوي اقصي حد للمتاجرة الذي = 1 اذن لا يفتح صفقة ويستمر الاكسبريت هكذا ناتي الان لاغلاق الصفقات نريد اغلاق صفقة لما تضهر اشارة عكسية فقط لا يهمنا كم عدد الصفقات اذا الشرط سيكون كالتالي اذا ضهر سهم نازل اخرج من صفقات buy نترجمه [PHP] if(indired<4000) {CloseBuyOrders();} [/PHP]اي شئ غير مفهوم لا تتردد في طرحه اخي
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
#123
|
|||||||||||||||||||||
|
|||||||||||||||||||||
رد: دورة تعليم برمجة الاكسبريت
البرمجة معرفة كيفية وضع الاوامر وتعلم الاساسيات وهذا مبدء العمل فقط لاكن ليكون عملك صحيح يجب ان تعرف ماذا تبرمج اساسا الشروط من اهم الامور التي يجب معرفتها لكي نفهم عمل البرنامج نعود الي شروط الدخول في الصفقة نحن اشترطنا ضهور سهم في الشمعة السابقة لكي يدخل في عملية buy او sell لاكن لو وضعنا هذا الامر فقط فالاكسبريت يقارن الشرط كل تحرك للسعر وطالما الشرط صحيح سيدخل صفقة مثلا في الشمعة السابقة ضهر سهم يشير الي buy سيدخل اول صفقة buy تحرك السعر بتك واحد في نفس الشمعة سيعيد مقارنة الشرط ان وجده صحيح سيعيد الدخول ولكي نتفادي الدخول الكثير وضعنا شرط اخر ان يكون عدد الصفقات المفتوحة اصغر من اقصي حد نريد المتاجرة به اقصي حد نريد المتاجرة به وضعناه متغير خارجي نحن نحدده عدد الصفقات المفتوحة نحصل عليه بواسطة الدالة orderstotal() اذا سيصبح الشرط كالتالي اذا ضهر سهم في الشمعة السابقة وكانت عدد الصفقات المفتوحة اقل من اقصي حد للصفقات افتح امر [PHP] if(indigreen<4000&&orderstotal()<MaxTrades) [/PHP]ماذا سيعمل الاكسبريت سيقارن ان ضهر سهم في الشمعة السابقة تحقق هذا الامر جيد سيقارن ايضا عدد الصفقات المفتوحة وعدد الصفقات المفتوحة الي الان 0 وهي اصغر من اقصي حد للمتاجرة الذي = 1 سيفتح صفقة يتحرك السعر سيعيد المقارنة هل ضهر السهم في الشمعة السابقة تحقق هذا الامر جيد سيقارن ايضا عدد الصفقات المفتوحة وعدد الصفقات المفتوحة الي الان 1 وهي تساوي اقصي حد للمتاجرة الذي = 1 اذن لا يفتح صفقة ويستمر الاكسبريت هكذا ناتي الان لاغلاق الصفقات نريد اغلاق صفقة لما تضهر اشارة عكسية فقط لا يهمنا كم عدد الصفقات اذا الشرط سيكون كالتالي اذا ضهر سهم نازل اخرج من صفقات buy نترجمه [PHP] if(indired<4000) {CloseBuyOrders();} [/PHP]اي شئ غير مفهوم لا تتردد في طرحه اخي |
31-03-2013, 04:05 PM | المشاركة رقم: 124 | |||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
لذلك فاعمد الى البحث على الاكواد واعادة تحليلها لان وضع امر لدالة امر جد صعب في بداية الطريق متابع معاك يا غالي |
|||||||||||||||||||||||||||||||||||||||||||
|
#124
|
|||||||||||||||||||||
|
|||||||||||||||||||||
رد: دورة تعليم برمجة الاكسبريت
لذلك فاعمد الى البحث على الاكواد واعادة تحليلها لان وضع امر لدالة امر جد صعب في بداية الطريق متابع معاك يا غالي |
31-03-2013, 08:34 PM | المشاركة رقم: 125 | |||||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
|
|||||||||||||||||||||||||||||||||||||||||||||
|
#125
|
|||||||||||||||||||||
|
|||||||||||||||||||||
رد: دورة تعليم برمجة الاكسبريت
|
31-03-2013, 10:27 PM | المشاركة رقم: 126 | ||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
هو كود لتعامل مع المنصات ذات الاربع ارقام والخمس ارقام وكذلك لتعامل مع ازواج الين التي تكون في منصة اما بثلاث ارقام او رقمين اي لن يجد الاكسبيرت اي مشكلة على اي منصة وممكن نقل الكود ووضعه كما هو اي مثل هذه الاكواد هي تكون كقالب لاي اكسبريت تريد برمجته |
||||||||||||||||||||||
|
#126
|
|
|
|
رد: دورة تعليم برمجة الاكسبريت
ان كان على الكود المرفق فمثلما قال الاستاذ موفنج
هو كود لتعامل مع المنصات ذات الاربع ارقام والخمس ارقام وكذلك لتعامل مع ازواج الين التي تكون في منصة اما بثلاث ارقام او رقمين اي لن يجد الاكسبيرت اي مشكلة على اي منصة وممكن نقل الكود ووضعه كما هو اي مثل هذه الاكواد هي تكون كقالب لاي اكسبريت تريد برمجته |
31-03-2013, 11:16 PM | المشاركة رقم: 127 | ||||||||||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
في اللغة الاساسية ل MQL توجد كتابة Point تعطي لنا اصغر رقم يمكن الحصول عليه من السعر مثلا لو لدينا السعر 1.3625487021548 اصغر رقم يمكن الحصول عليه هو 0.0000000000001 واصغر رقم يسمي النقطة في منصة 5 ارقام اصغر رقم هو 0.00001 في منصة 4 ارقام اصغر رقم هو 0.0001 وكما نعلم ان قيمة النقطة نستخدمها في تحديد المسافة التي نريد اخذ الربح عندها او اغلاق الصفقة علي خسارة عندها لو ناخذ قيمة النقطة الافتراضية الموجودة اصلا في MQL وهي Point ب حرف P الكبير ونريد اخذ الربح بعد 10 نقاط وكما تعلم اخي ان الربح عند 10 نقاط لا يختلف حتي لو اختلفة المنصات 4 او 5 يعني لو دخلنا عقد من منصة 4 ارقام ومنصة 5 ارقام من نفس السعر الربح بعد 10 نقاط سيكون نفسه ؟؟؟ لو نستعمل Point في الحساب فلن يكون الربح نفسه لذا عمل متغير اخر ووضعنا فيه قيمة النقطة مهما كانت المنصة
|
||||||||||||||||||||||||||||||
|
#127
|
|
|
|
رد: دورة تعليم برمجة الاكسبريت
في اللغة الاساسية ل MQL توجد كتابة Point تعطي لنا اصغر رقم يمكن الحصول عليه من السعر مثلا لو لدينا السعر 1.3625487021548 اصغر رقم يمكن الحصول عليه هو 0.0000000000001 واصغر رقم يسمي النقطة في منصة 5 ارقام اصغر رقم هو 0.00001 في منصة 4 ارقام اصغر رقم هو 0.0001 وكما نعلم ان قيمة النقطة نستخدمها في تحديد المسافة التي نريد اخذ الربح عندها او اغلاق الصفقة علي خسارة عندها لو ناخذ قيمة النقطة الافتراضية الموجودة اصلا في MQL وهي Point ب حرف P الكبير ونريد اخذ الربح بعد 10 نقاط وكما تعلم اخي ان الربح عند 10 نقاط لا يختلف حتي لو اختلفة المنصات 4 او 5 يعني لو دخلنا عقد من منصة 4 ارقام ومنصة 5 ارقام من نفس السعر الربح بعد 10 نقاط سيكون نفسه ؟؟؟ لو نستعمل Point في الحساب فلن يكون الربح نفسه لذا عمل متغير اخر ووضعنا فيه قيمة النقطة مهما كانت المنصة |
01-04-2013, 12:41 AM | المشاركة رقم: 128 | ||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
اخ موفنج اعلم اني اتعبتك معي لكن رغم اني قمت بحذف |
||||||||||||||||||||||
|
#128
|
|
|
|
رد: دورة تعليم برمجة الاكسبريت
اخ موفنج اعلم اني اتعبتك معي لكن رغم اني قمت بحذف
دالة التريلنج لكن لم تحل المشكلة بقي يفتح 5 صفقات مع كل اشارة ولم افهم لما 5 صفقات رغم اني غيرة الدالة وجعلتها تفتح صفقة واحدة فقط دون اي متغير خارجي يتحكم في عدد الصفقات وايضا يقوم بتفعيل مع اول اشارة ولا يغلق الصفقة رغم اني وضعت دالة اغلاق الصفقة في حال وجود اشارة عكسية [PHP]extern double Lots = 0.1; double point; int digits,Q; extern int StopLoss=0; extern int TakeProfit=0; extern int MagicNumber=1234; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { if(Digits==5||Digits==3)Q=10; else Q=1; if(Digits==2) { point=0.01; } if(Digits==4) { point=0.0001; } if(Digits==3) { point=0.01; } if(Digits==5) { point=0.0001; } } int magic=0 ; int orderstotal(){ int cnt=0; for(int i =0;i<OrdersTotal();i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){ cnt++; } } return(cnt); } //---- //---- //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { Comment(""+"\n"+""+"\n"+"/"); ////////////////////////////////////////////////// double indigreen=iCustom(0,0,"imad",1,1); double indired=iCustom(0,0,"imad",0,1); دالة استدعاء المؤشر ////////////////////////////////////////////////// double TP,SL; if(indigreen<5000&&LastOrder()>0&&orderstotal()<=1 ) { {CloseSellOrders();} دالة فتح صفقة مع جعل صفقة واحدة فقط + امر اغلاق الصفقة في الاشارة العكسية //Buy if(TakeProfit==0){TP=0;} else{TP=Ask+TakeProfit*point;} if(StopLoss==0){SL=0;} else{SL=Ask-StopLoss*point;} OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"",Magi cNumber,0,Blue); } ////////////////////////////////////////////////// if(indired<5000&&LastOrder()!=1&&orderstotal()<=1) { {CloseBuyOrders();} دالة فتح صفقة مع جعل صفقة واحدة فقط + امر اغلاق الصفقة في الاشارة العكسية //Sell if(TakeProfit==0){TP=0;} else{TP=Bid-TakeProfit*point;} if(StopLoss==0){SL=0;} else{SL=Bid+StopLoss*point;} OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"",Mag icNumber,0,Red); } return(0); } //+------------------------------------------------------------------+ دالة اغلاق صفقة الشراء في حال ظهور اشارة معاكسة void CloseBuyOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ;cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } } } } ////////////////////////////////////////////////// دالة اغلاق صفقة البيع في حال ظهور اشارة معاكسة void CloseSellOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3); } } دالة لجعل الاكسبيرت يفتح الصفقات بتسلسل اي لا يفتح صفقتين متتاليتين بيع او شراء int LastOrder(){ for(int i=OrdersHistoryTotal();i>=0;i--){ OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber){ return(OrderType()); } } return(2); } [/PHP] |
01-04-2013, 12:51 AM | المشاركة رقم: 129 | |||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
[PHP][PHP] if(indired<5000&&LastOrder()!=1&&orderstotal()<=1) { الخطا كان في <= والكتابة الصحيحة هي if(indired<5000&&LastOrder()!=1&&orderstotal()<1){[/PHP] بقي خطا واحد وهو في اغلاق عند الاشارة العكسية |
|||||||||||||||||||||||||||||||||||||||||||
|
#129
|
|||||||||||||||||||||
|
|||||||||||||||||||||
رد: دورة تعليم برمجة الاكسبريت
[PHP][PHP] if(indired<5000&&LastOrder()!=1&&orderstotal()<=1) { الخطا كان في <= والكتابة الصحيحة هي if(indired<5000&&LastOrder()!=1&&orderstotal()<1){[/PHP] بقي خطا واحد وهو في اغلاق عند الاشارة العكسية |
01-04-2013, 06:56 PM | المشاركة رقم: 130 | ||||||||||||||||||||||
|
كاتب الموضوع :
MOVING_AVERAGE
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: دورة تعليم برمجة الاكسبريت
استاذ موفنج كيف الحال |
||||||||||||||||||||||
|
#130
|
|
|
|
رد: دورة تعليم برمجة الاكسبريت
استاذ موفنج كيف الحال
والله لم افهم سبب الخطا لحد الساعة فكل دوال في مكانها والاكسبيرت لا يعطي اي خطا لكن رغم ذلك فدالة اغلاق الصفقات العكسية لم تفعل بحيث لو وضعته على الباك تيست يقوم الاكسبيرت بفتح صفقة اول ما يظهر المؤشر لكن لا يغلق الصفقة يتركها مفتوحة |
مواقع النشر (المفضلة) |
الكلمات الدلالية (Tags) |
الاكسبريت, برمجة, تعليم, دورة |
أدوات الموضوع | |
|
|