النتائج 3,856 إلى 3,870 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 17-05-2013, 11:40 AM #3856
رد:موضوع مخصص للأسئلة البرمجية
جمعة مباركة على الجميع
استفسار اجد احيانا في اعدادات مؤشرات البايفوت اعدادات خارجية مثل هذه اموجودة في الصورة المرفقة هل ممكن ان تشرحوا لي كيفية استخدامهاالصحيح والتوقيت الصحييح ؟
- 17-05-2013, 11:46 AM #3857
- 17-05-2013, 04:17 PM #3858
السلام عليكم ورحمة الله وبركاته
جمعه مباركة للجميع
- 17-05-2013, 05:31 PM #3859
السلام عليكم
ممكن مساعدة في دالة المضاعفات بحيث لو اغلقت
الصفقة على خسارة يكون الدخول في الصفقة التي بعدها
بمضاعف الى ان تاتي صفقة موجبة فيبدا من جديد
- 17-05-2013, 05:34 PM #3860
- 18-05-2013, 02:20 AM #3861
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله وبركاته
أسهل حل هو أن تجعل دالة حساب عدد الصفقات المغلقه تحسب آخر صفقات مغلقه خاسره بالتالي إذا كانت آخر صفقة مغلقه رابحه فسوف يكون عدد الصفقات الخاسره = 0 وبالتالي يبدأ من جديد
مثال
كود PHP:int closedorderno(){
int cnt=0;
for(int i =OrdersHistoryTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
if(OrderSymbol()==Symbol()&& MagicNumber==OrderMagicNumber() ){
if(OrderProfit()<0)cnt++;
else return(cnt);
}
}
}
return(cnt);
}
لكن قم بتعديل بسيط فقط في دالة حساب حجم اللوت بأن تضع خيار إذا كان عدد الصفقات الخاسره = 0
كود PHP:double new(){
double newLot;
double A=closedorderno();
if(A==0)newLot=FirstLot;
if(A==1)newLot=Lot2;
if(A==2)newLot=Lot3;
if(A==3)newLot=Lot4;
if(A==4)newLot=Lot5;
if(A==5)newLot=Lot6;
if(A==6)newLot=Lot7;
if(A==7)newLot=Lot8;
if(A==8)newLot=Lot9;
if(A==9)newLot=Lot10;
if(A==10)newLot=Lot11;
if(A==11)newLot=Lot12;
if(A==12)newLot=Lot13;
if(A==13)newLot=Lot14;
if(A==14)newLot=Lot15;
return(newLot);
}
- 18-05-2013, 02:22 AM #3862
- 18-05-2013, 05:51 AM #3863
LocalTimeZone الفرق بين توقيتك المحلي وتوقيت البروكر إذا أردت حساب اليوم مثلا بناء على بداية ونهاية منطقتك
DestTimeZone عدد ساعات الفرق بين توقيت جرينتش وبين التوقيت الجديد الذي قمت بتحديده بناء على المتغير السابق
GMtShift الفرق بين توقيت البروكر وتوقيت جرينتش حتى تجعل اليوم يبدأ وينتهي مع توقيت جرينتش
الأفضل ترك الخيار الأول والثاني بدون تعديل والتعامل مع الخيار الثالث لجعل بداية اليوم مع توقيت جرينتش
- 18-05-2013, 05:55 AM #3864
- 18-05-2013, 05:59 AM #3865
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله وبركاته
سوف تقوم بعمل داله لمعرفة حجم آخر صفقه رابحه أو خساره
كود PHP:double LastOrderProfit()
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
return(OrderProfit());
}
}
return(0);
}
كود PHP:double LastOrderLots()
{
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
return(OrderLots());
}
}
return(0);
}
كود PHP:if(LastOrderProfit()<0)NewLot=LastOrderLots9)*2;
- 18-05-2013, 07:38 AM #3866
شكرا استاذ اسامة بارك الله فيك وجعل هذا العمل في ميزان حسناتك
- 18-05-2013, 03:57 PM #3867
رد:موضوع مخصص للأسئلة البرمجية
كود PHP:
#include <stdlib.mqh>
#include <WinUser32.mqh>
// exported variables
extern double SellLots11 = 0.01;
extern int SellStoploss11 = 0;
extern int SellTakeprofit11 = 40;
extern double BuyLots13 = 0.01;
extern int BuyStoploss13 = 0;
extern int BuyTakeprofit13 = 30;
extern double SellLots15 = 0.01;
extern int SellStoploss15 = 0;
extern int SellTakeprofit15 = 20;
// local variables
double PipValue=1; // this variable is here to support 5-digit brokers
bool Terminated = false;
string LF = "\n"; // use this in custom or utility blocks where you need line feeds
int NDigits = 4; // used mostly for NormalizeDouble in Flex type blocks
int ObjCount = 0; // count of all objects created on the chart, allows creation of objects with unique names
int current = 0;
int init()
{
NDigits = Digits;
if (false) ObjectsDeleteAll(); // clear the chart
Comment(""); // clear the chart
}
// Expert start
int start()
{
if (Bars < 10)
{
Comment("Not enough bars");
return (0);
}
if (Terminated == true)
{
Comment("EA Terminated.");
return (0);
}
OnEveryTick1();
}
void OnEveryTick1()
{
if (true == false && false) PipValue = 10;
if (true && (NDigits == 3 || NDigits == 5)) PipValue = 10;
IfOrderDoesNotExist10();
}
void IfOrderDoesNotExist10()
{
bool exists = false;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
{
exists = true;
}
}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}
if (exists == false)
{
SellOrder11();
}
}
void SellOrder11()
{
double SL = Bid + SellStoploss11*PipValue*Point;
if (SellStoploss11 == 0) SL = 0;
double TP = Bid - SellTakeprofit11*PipValue*Point;
if (SellTakeprofit11 == 0) TP = 0;
int ticket = -1;
if (true)
ticket = OrderSend(Symbol(), OP_SELL, SellLots11, Bid, 7, 0, 0, "My Expert", 1, 0, Red);
else
ticket = OrderSend(Symbol(), OP_SELL, SellLots11, Bid, 7, SL, TP, "My Expert", 1, 0, Red);
if (ticket > -1)
{
if (true)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Red);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
IfOrderDoesNotExist12();
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
11111111111111111vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
void IfOrderDoesNotExist12()
{
bool exists = false;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 2)
{
exists = true;
}
}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}
if (exists == false)
{
BuyOrder13();
}
}
void BuyOrder13()
{
double SL = Ask - BuyStoploss13*PipValue*Point;
if (BuyStoploss13 == 0) SL = 0;
double TP = Ask + BuyTakeprofit13*PipValue*Point;
if (BuyTakeprofit13 == 0) TP = 0;
int ticket = -1;
if (true)
ticket = OrderSend(Symbol(), OP_BUY, BuyLots13, Ask, 4, 0, 0, "My Expert", 2, 0, Blue);
else
ticket = OrderSend(Symbol(), OP_BUY, BuyLots13, Ask, 4, SL, TP, "My Expert", 2, 0, Blue);
if (ticket > -1)
{
if (true)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
IfOrderDoesNotExist14();
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
2222222222222222222vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
void IfOrderDoesNotExist14()
{
bool exists = false;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == 3)
{
exists = true;
}
}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}
if (exists == false)
{
SellOrder15();
}
}
void SellOrder15()
{
double SL = Bid + SellStoploss15*PipValue*Point;
if (SellStoploss15 == 0) SL = 0;
double TP = Bid - SellTakeprofit15*PipValue*Point;
if (SellTakeprofit15 == 0) TP = 0;
int ticket = -1;
if (true)
ticket = OrderSend(Symbol(), OP_SELL, SellLots15, Bid, 4, 0, 0, "My Expert", 3, 0, Red);
else
ticket = OrderSend(Symbol(), OP_SELL, SellLots15, Bid, 4, SL, TP, "My Expert", 3, 0, Red);
if (ticket > -1)
{
if (true)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Red);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
int deinit()
{
if (false) ObjectsDeleteAll();
ارجو مساعدتك اخي الكريم جزاك الله خير
في كتابة الكود اللازم لكي يقوم بفتح صفقة معاكسة اذا ارتد السعر بعدد من النقاط وماكن وضعه في الاكسبرت بحيث( اقدر اغير عدد النقاط زي ما انا عاوز )
انا سايب علامات
1111vvvvvv
2222vvvvvvv
اماكن وضع الكود
انا جديد في برمجة الاكسبرتات واستعنت ببرنامج Forex EA Generatorفي الاكسبرت ده
اخيرا .. هل الاكسبرت ده ينفع يشتغل على اكتر من شارت في نفس الوقت من غير ميحصل لخبطة في الصفقات؟
- 18-05-2013, 08:55 PM #3868
- 18-05-2013, 10:23 PM #3869
- 19-05-2013, 11:32 PM #3870
السلام عليكم أستاذنا الغالي أسامة وكل الأخوة الاكارم
سؤالي هل يوجد أمر لتحويل الرقم العشري الى ثنائي في الـ mql وإذا لم يوجد فهل هناك دالة لعمل ذلك على حد علمك لأنني بحثت ولم أجد
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM