النتائج 1,546 إلى 1,560 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 26-01-2012, 06:42 AM #1546
شكرا جزيلا أخي أسامه
أنا قمت بتعديلات على الإكسبيرت بحيث قمت بالتأكد من وجود الدالهكود:if(orderstotal()<1){
كود:if(orderstotal()<2){
- قمت بوضع الدالهكود:double point; int digits,i,D; int init() { if(Digits==5||Digits==3){ D=10;} else{D=1;} if(Digits<4) { point=0.01; digits=2; } else { point=0.0001; digits=4; } return(0); }
ثم حاولت أن أنقل الدوال الخاصه بإخفاء الستوب للإكسبيرت و لكن الكثير من الأخطاء و لا أعلم المكان الصحيح لوضع دوال إخفاء الإستوب و الهدف في إكسبيرتي .
قمت أيضا بتغيير Point في الداله استارت إلى point .
الإكسبيرت مرفق رجاء الإطلاع و جزاك الله خيرا
وآسف على تعبك معايا
- 26-01-2012, 06:48 AM #1547
تمام جدا أخي أسامه
وسؤال بعد إذنك ... ذكرت " الجزء الآخر والخاص ب 4 أو 5 أرقام عشريه هو جزء else
إي إذا كانت عدد الأرقام العشرية أكبر أو تساوي 4 أي 4 أو 5 أرقام عشرية .... "
ولكن الكود يقول في هذا الجزءكود:digits=4;
كود:digits=>4;
- 26-01-2012, 12:52 PM #1548
قمت ببرمجة الاكسبيرت الذي في المرفقات اعتمادا على هذا الموضوع:https://forum.arabictrader.com/t97945.html
حيث قمت بتغيير المؤشر الى متوسط 200
و المضاعفة من الشكل 111 222 444 888 ....
عملية التجميع لا تعطي أي أخطاء
لكن عند التست الاكسبيرت يقوم بفتع عمليات بيع متتالية حتى يتوقف.
جزء من الجرنال:
2012.01.26 10:20:19 2012.01.02 08:26 Tester: order #127 is closed
2012.01.26 10:20:19 2012.01.02 08:26 sma_200_v2: stopped because of Stop Out
2012.01.26 10:20:19 2012.01.02 08:26 sma_200_v2 EURUSD,M5: open #127 buy 0.10 EURUSD at 1.29525 sl: 1.29325 tp: 1.30025 ok
2012.01.26 10:20:18 2012.01.02 08:24 sma_200_v2 EURUSD,M5: open #51 buy 0.10 EURUSD at 1.29505 sl: 1.29305 tp: 1.30005 ok
2012.01.26 10:20:18 2012.01.02 08:24 sma_200_v2 EURUSD,M5: open #50 buy 0.10 EURUSD at 1.29504 sl: 1.29304 tp: 1.30004 ok
2012.01.26 10:20:18 2012.01.02 08:24 sma_200_v2 EURUSD,M5: open #49 buy 0.10 EURUSD at 1.29506 sl: 1.29306 tp: 1.30006 ok
2012.01.26 10:20:18 2012.01.02 08:23 sma_200_v2 EURUSD,M5: open #48 buy 0.10 EURUSD at 1.29507 sl: 1.29307 tp: 1.30007 ok
2012.01.26 10:20:18 2012.01.02 08:23 sma_200_v2 EURUSD,M5: open #47 buy 0.10 EURUSD at 1.29497 sl: 1.29297 tp: 1.29997 ok
2012.01.26 10:20:18 2012.01.02 08:23 sma_200_v2 EURUSD,M5: open #46 buy 0.10 EURUSD at 1.29500 sl: 1.29300 tp: 1.30000 ok
2012.01.26 10:20:18 2012.01.02 08:23 sma_200_v2 EURUSD,M5: open #45 buy 0.10 EURUSD at 1.29504 sl: 1.29304 tp: 1.30004 ok
2012.01.26 10:20:18 2012.01.02 08:23 sma_200_v2 EURUSD,M5: open #44 buy 0.10 EURUSD at 1.29507 sl: 1.29307 tp: 1.30007 ok
2012.01.26 10:20:18 2012.01.02 08:23 sma_200_v2 EURUSD,M5: open #43 buy 0.10 EURUSD at 1.29510 sl: 1.29310 tp: 1.30010 ok
2012.01.26 10:20:18 2012.01.02 08:23 sma_200_v2 EURUSD,M5: open #42 buy 0.10 EURUSD at 1.29509 sl: 1.29309 tp: 1.30009 ok
2012.01.26 10:20:18 2012.01.02 08:23 sma_200_v2 EURUSD,M5: open #41 buy 0.10 EURUSD at 1.29508 sl: 1.29308 tp: 1.30008 ok
أين هو الخطأ ، أو كيف يمكن أن أجده
كيف يمكن تحويل هذا الاكسبيرت الى نصف آليآخر تعديل بواسطة mohammed.elhadi ، 26-01-2012 الساعة 12:56 PM
- 26-01-2012, 05:03 PM #1549اخي مستر دولار كيف اجعل الاكسبرت يبدا العمل مع افتتاح لشمعة القادمة وليش في منتصف الشمعة الحالية لان فكرة الاكسبرت تبدا مع افتتاح كل شمعة
ثانيا: كيف اضع متغير ياخذ قيمة افتتاح شمعة الاربع ساعات فقط مهما تغير الفريم عالشارت ولكل العملات.لان القيمة
open[0]
تتغير اذا تغير الفريم
ولك جزيل الشكر اخي الكريم.
- 26-01-2012, 05:47 PM #1550
السلام عليكم ورحمة الله
اود ان اشكر كل القائمين على هذا الموضوع المفيد وخاصة للمبتدئين مثلي
اريد منكم مساعدة
قمت بكتابة اكسبيرت وذلك بمعلوماتي المتواضعة عندما استخدم الكومبايل يظهر لي انه لا خطا ابدا في هذا الإكسبيرت
لكن عندما اقوم بعمل تيست لهذا الإكسبيرت لا يقوم باي صفقة ولا حتى صفقة خاسرة ههههه
ارجوكم وضحو لي الخطأ الذي ارتكبته فقد اضناني من كثرة التعديل والبحث
هذا هو الكود
وشكرا لكم
كود PHP:extern int Step=5;
extern int Takeprofit=15;
extern double Lots=1;
int Magicnumber=234561;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int ticket;
if(Hour()==0 && Hour()==4 && Hour()==8 && Hour()==12 && Hour()==16 && Hour()==20 && Hour()==24 && Minute()<2 && MyOrdersTotal(Magicnumber)>0)
{
DeletePendingOrders(Magicnumber);
CloseOrders(Magicnumber);
}
if(Hour()==0 && Hour()==4 && Hour()==8 && Hour()==12 && Hour()==16 && Hour()==20 && Hour()==24 && Minute()>2 && MyOrdersTotal(Magicnumber)==0)
{
double Hourclose=iClose(Symbol(),PERIOD_H4,1);
double BuyPrice=Hourclose+Step*Point;
double BuyTP=BuyPrice+Takeprofit*Point;
double SellPrice=Hourclose-Step*Point;
double SellTP=SellPrice-Takeprofit*Point;
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask,BuyPrice,3,BuyTP,"",Magicnumber,0,Green);
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid,SellPrice,3,SellTP,"",Magicnumber,0,Red);
}
return(0);
}
int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal()-1;
for (int cnt = total ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
int CloseOrders(int Magic)
{
int total = OrdersTotal()-1;
for (int cnt = total ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
}
return(0);
}
آخر تعديل بواسطة aliphy ، 26-01-2012 الساعة 05:51 PM
- 26-01-2012, 07:43 PM #1551
لا يمكن أن تقوم بتعريف المتغير aa بهذا الشكل
كود PHP:double aa+=a;
كود PHP:double aa;
aa+=a;
جرب هذه الداله والداله التي وضعتها أنت وراجع النتائج
كود PHP:for(int i=0;i<Bars;i++){
double aa;
for(int e=i;e<i+period;e++){
double a=Close[e];
aa+=a;
double lin=aa/period;
ExtMapBuffer1[i]=lin;
}
}
- 26-01-2012, 07:56 PM #1552
- 26-01-2012, 08:00 PM #1553
معنى else يعني إذا لم يتحقق الشرط الأول الموجود في if وهو
كود PHP:if(Digits<4)
وهو
كود PHP:point=0.0001;
digits=4;
أنصحك بمراجعة هذه المشاركه بها شرح للجمله الشرطيه وكيفية كتابتها
https://forum.arabictrader.com/t93679.html#post1673127
- 26-01-2012, 08:09 PM #1554
- 26-01-2012, 08:13 PM #1555
يمكنك وضع شرط
كود PHP:if(High[0]==Low[0])
أو شرط آخر
كود PHP:if(TimeCurrent()==Time[0])
الدوال الخاصه بمعرفة قيم شموع تايم فريم آخر
كود PHP:iOpen(Symbol(),TimeFrame,0);
0 هو رقم الشمعه
- 26-01-2012, 08:29 PM #1556
- 26-01-2012, 09:20 PM #1557
وعليكم السلام ورحمة الله وبركاته
شروط الدخول لديك خاطئه ولا يمكن أن تتحقق
كود PHP:if(Hour()==0 && Hour()==4 && Hour()==8 && Hour()==12 && Hour()==16 && Hour()==20 && Hour()==24 && Minute()>2 && MyOrdersTotal(Magicnumber)==0)
أنت تقصد أو وهي || وليس &&
- 27-01-2012, 01:13 AM #1558
أنا لم أعدل سوىأشياء طفيفه و لم أضف الدوال
طيب أخي أسامه هل هذه الدوال كلها هي المسئوله عن غخفاء الهدف و الإستوب و يجب غضافتها كلها خارج الداله ستارت ؟؟؟
كود:if(HideSL&&StopLoss>0) { CloseBuyOrdersHiddenSL();CloseSellOrdersHiddenSL(); } if(HideTP&&TakeProfit>0) { CloseBuyOrdersHiddenTP();CloseSellOrdersHiddenTP(); } //////////////////////////////////////////////////// for(int cnt=OrdersTotal();cnt>=0;cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); double type=OrderType();double stop=OrderStopLoss();double open=OrderOpenPrice(); int tick=OrderTicket();double profit=OrderTakeProfit(); if(OrderSymbol()==Symbol()||ModifyAllOrders==true){ if(StopLoss!=0||TakeProfit!=0){ if(type==OP_BUY&&(HideSL==false||HideTP==false)){ if(StopLoss!=0&&HideSL==false){SL=open-StopLoss*point;} if(TakeProfit!=0&&HideTP==false){TP=open+TakeProfit*point;} if(stop!=SL||profit!=TP){ OrderModify(tick,open,SL,TP,0,Blue); }} if(type==OP_SELL&&(HideSL==false||HideTP==false)){ if(StopLoss!=0&&HideSL==false){SL=open+StopLoss*point;} if(TakeProfit!=0&&HideTP==false){TP=open-TakeProfit*point;} if(stop!=SL||profit!=TP){ OrderModify(tick,open,SL,TP,0,Red); } }} } } } //+------------------------------------------------------------------+ int CloseBuyOrdersHiddenTP() { int total=OrdersTotal(); for (int cnt=total;cnt>=0;cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY&&Bid>(OrderOpenPrice()+TakeProfit*point)) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3*D); } } } return(0); } void CloseBuyOrdersHiddenSL() { int total=OrdersTotal(); for (int cnt=total;cnt>=0;cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY&&Bid<(OrderOpenPrice()-StopLoss*point)) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3*D); } } } } void CloseSellOrdersHiddenTP() { int total=OrdersTotal(); for(int cnt=total;cnt>=0;cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()) { if(OrderType()==OP_SELL&&Ask<(OrderOpenPrice()-TakeProfit*point)) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3*D); } } } } void CloseSellOrdersHiddenSL() { int total=OrdersTotal(); for(int cnt=total;cnt>=0;cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()) { if(OrderType()==OP_SELL&&Ask>(OrderOpenPrice()+StopLoss*point)) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3*D); } } } }
أنا آسف على كثرة الأسئله أخي ... وجزاك الله خيرا .
- 27-01-2012, 01:20 AM #1559
- 27-01-2012, 03:19 AM #1560
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM