النتائج 5,941 إلى 5,955 من 10328
الموضوع: موضوع مخصص للأسئلة البرمجية
- 28-09-2014, 09:53 PM #5941
طيب بالنسبه للداله ده انا قمت بتعريف( اوردر سيلكت) بنفس النظام اللى حضرتك قلت عليه زى ما انت عملت فى( سيند اوردر) بس برضه مش شغاله
عايز اعرف ايه المشكله اللى فيها
كود PHP:double lastsellprice(){
for(int i=OrdersTotal();i>0;i--){
int s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_SELL){
return(OrderOpenPrice());
}
}
return(0);
}
not all control paths return a valueآخر تعديل بواسطة barachot ، 28-09-2014 الساعة 10:05 PM
- 29-09-2014, 12:04 AM #5942
- 29-09-2014, 07:04 PM #5943
السلام عليكم ورحمة الله وبركاتة
استاذي مستر دولار
لقد حاولت اضافة خاصية Virtual Trailing Stop الى اكسبيرتي كما قمت بشرحها في المشاركة رقم 5902
لكنها لم تضبط معي الرجاء المساعدة في اضافتة خاصية Virtual Trailing Stop بالنقاطآخر تعديل بواسطة first knight ، 29-09-2014 الساعة 07:06 PM سبب آخر: خطاء املائي
- 29-09-2014, 11:37 PM #5944
- 29-09-2014, 11:48 PM #5945
السلام عليكم ورحمة الله وبركاته
مطلوب تعديل على المؤشر
ليقوم برسم الاسهم على الايام السابقه
بطريقه صحيحه
كود://+------------------------------------------------------------------+ //| weekly.mq4 | //| king_f | //| [email protected] | //+------------------------------------------------------------------+ #property copyright "king_f" #property link " [email protected]" #property version "1.00" #property indicator_chart_window #property strict #property indicator_buffers 6 #property indicator_color1 Lime #property indicator_color2 Red //#property indicator_color3 Red //#property indicator_color4 Lime static int check=0; //------------------------- extern int frame = PERIOD_D1; //1440 10080 43200 /// الفريم extern int shift=1; extern double PipsDifference=0.9; extern double PipsDifference2=1; //--- buffers double buy[]; // السهم الصاعد double sell[]; // السهم الهابط double buy2[]; double sell2[]; double gap=4; int period=0; //1440 10080 43200 /// الفريم double ticksize=MarketInfo(Symbol(),MODE_TICKSIZE); double t2,t6,t9; double wpp112,wp75,wpp75,wp112; double y,y1,wp180,wpp180; double hiarrow1,lowarrow1,closearrow1,openarrow1,openarrow0,hiarrow2,lowarrow2,closearrow2; double close,closeh,close4h,open,high,low,closey; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { if(ticksize==0.0001) { t2=0.0030; t6=0.0045; t9=0.0072; } if(ticksize==0000.01) { t2=0003.00; t6=0004.50; t9=0007.20; } if(ticksize==000.01) { t2=000.30; t6=000.45; t9=000.72; } for(int i=shift;i<Bars;i++) { close=NormalizeDouble(iClose(Symbol(),frame,shift),Digits); wp75=close+t2; //75 wpp75=close-t2; wp112=close+t6; // 112 wpp112=close-t6; wp180=close+t9; wpp180=close-t9; y=close; } SetIndexStyle(0,DRAW_ARROW,EMPTY,1,Lime); SetIndexArrow(0,233); SetIndexBuffer(0,buy); SetIndexStyle(1,DRAW_ARROW,EMPTY,1,Red); SetIndexArrow(1,234); SetIndexBuffer(1,sell); SetIndexStyle(3,DRAW_ARROW,EMPTY,0,clrChartreuse); SetIndexArrow(3,228); SetIndexBuffer(3,buy2); SetIndexStyle(4,DRAW_ARROW,EMPTY,0,clrOrangeRed); SetIndexArrow(4,230); SetIndexBuffer(4,sell2); //--- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int deinit() { ObjectDelete("wp75"); ObjectDelete("wpp75"); ObjectDelete("wp112"); ObjectDelete("wpp112"); ObjectDelete("wp180"); ObjectDelete("wpp180"); ObjectDelete("y"); return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { for(int i=1;i<iBarShift(Symbol(),0,iTime(Symbol(),frame,100),false);i++) { hiarrow1= NormalizeDouble (iHigh (Symbol(),0,i),Digits);// هاى الشمعه السابقه lowarrow1 = NormalizeDouble(iLow (Symbol(),0,i),Digits);// لو الشمعه السابقه closearrow1 = NormalizeDouble(iClose (Symbol(),0,i),Digits);// كلوز الشمعه السابقة openarrow0 = NormalizeDouble(iOpen (Symbol(),0,i-1),Digits);// اوبن الشمعه الحاليه hiarrow2= NormalizeDouble (iHigh (Symbol(),0,i+1),Digits);// lowarrow2 = NormalizeDouble(iLow (Symbol(),0,i+1),Digits);// closearrow2=NormalizeDouble(iClose(Symbol(),0,i+1),Digits); if(hiarrow1>=wp75-PipsDifference*Point && hiarrow1<=wp75+PipsDifference*Point && lowarrow1!=wp75 && closearrow1<=wp75 && openarrow0<=wp75) { sell[i]=High[i]+gap*Point; } if(lowarrow1<=wpp75+PipsDifference*Point && lowarrow1>=wpp75-PipsDifference*Point && closearrow1>=wpp75 && openarrow0>=wpp75) { buy[i]=Low[i]-gap*Point; } if(hiarrow1>=wp112-PipsDifference*Point && hiarrow1<=wp112+PipsDifference*Point && closearrow1<=wp112 && openarrow0<=wp112) { sell[i]=High[i]+gap*Point; } if(lowarrow1<=wpp112+PipsDifference*Point && lowarrow1>=wpp112-PipsDifference*Point && closearrow1>=wpp112 && openarrow0>=wpp112) { buy[i]=Low[i]-gap*Point; } if(hiarrow1>=wp180-PipsDifference2*Point && hiarrow1<=wp180+PipsDifference2*Point && closearrow1<=wp180 && openarrow0<=wp180) { sell[i]=High[i]+gap*Point; } if(lowarrow1<=wpp180+PipsDifference2*Point && lowarrow1>=wpp180-PipsDifference2*Point && closearrow1>=wpp180 && openarrow0>=wpp180) { buy[i]=Low[i]-gap*Point; } } return(0); } //+------------------------------------------------------------------+
- 30-09-2014, 12:15 AM #5946
جزاكم الله خيرا مستر دولار
اريد بالنقاط لكل صفقة على حده
قيمة Virtual Trailing Stop بالنقاط التي سيبدأ التحرك عند ربحها
Virtual Trailing ٍStepعدد نقاط الربح التي سيتحرك اليها
مرفق الاكسبيرت بعد محاولة اضافة Virtual Trailing Stop
كود://+------------------------------------------------------------------+ //| Moving Average EA.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property strict extern double LotSize = 0.01; extern int TakeProfit=50; extern int StopLoss=25; extern int Magic = 1234; double pips; extern int VirtualTrailingStop = 20; extern int VirtualTrailingStep =10; static double TS_Profit; extern int FastMA=5; extern int FastMaShift=0; extern int FastMaMethod=0; extern int FastMaAppliedTo=0; extern int SlowMA=21; extern int SlowMaShift=0; extern int SlowMaMethod=0; extern int SlowMaAppliedTo=0; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- if(Digits==3||Digits==5) pips=10; else pips=1; return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if(TotalProfit()>=VirtualTrailingStop&&TotalProfit()-VirtualTrailingStop>TS_Profit) { TS_Profit=TotalProfit()-VirtualTrailingStop; } if(TotalProfit()<=TS_Profit) { TS_Profit=0; } double PreviousFast = iMA(NULL,0,FastMA,FastMaShift,FastMaMethod,FastMaAppliedTo,2); double CurrentFast = iMA(NULL,0,FastMA,FastMaShift,FastMaMethod,FastMaAppliedTo,1); double PreviousSlow = iMA(NULL,0,SlowMA,SlowMaShift,SlowMaMethod,SlowMaAppliedTo,2); double CurrentSlow = iMA(NULL,0,SlowMA,SlowMaShift,SlowMaMethod,SlowMaAppliedTo,1); if(PreviousFast<PreviousSlow && CurrentFast>CurrentSlow) if(OrdersTotal()==0) OrderSend(Symbol(),OP_BUY,LotSize,Ask,3,Ask-(StopLoss*pips),Ask+(TakeProfit*pips),NULL,Magic,0,Green); if(PreviousFast>PreviousSlow && CurrentFast<CurrentSlow) if(OrdersTotal()==0) OrderSend(Symbol(),OP_SELL,LotSize,Bid,3,Bid+(StopLoss*pips),Bid-(TakeProfit*pips),NULL,Magic,0,Red); } //+------------------------------------------------------------------+ double TotalProfit() { for(int i=0;i<OrdersTotal();i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol()) { profit+=OrderProfit(); } } return(profit); }
- 30-09-2014, 05:48 AM #5947
شكرا استاذ جميل
ولاكن عند استخدام هذه الداله بهذا الشكل لا تشتغل معى لقد جربت بطرق كثيره
منها
كود PHP:if((Ask-lastsellprice())/0.0001>50.0){
كود PHP:if((Ask-lastsellprice())/point>50.0){
كود PHP:if((Ask-lastsellprice())/0.00001>50.0){
- 30-09-2014, 02:00 PM #5948
تفضل هذه الدالة كاملة من اكسبيرتاتي إستحالة تعطيك خطأ ومستخدمها عشرات المرات ، اذا واجهت خطأ فأبحث في سبب غير الدالة .
كود PHP:double LastOrderOpenPrice(int type){
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&& type==OrderType()){
return(OrderOpenPrice());
}
}
return(0);
}
آخر تعديل بواسطة Jmeel ، 30-09-2014 الساعة 02:05 PM
- 07-10-2014, 12:07 AM #5949
تفضل هذه الداله كمثال كامل
كود PHP:void VirtualTrailing()
{
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
bool select=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(VirtualTrailingStop>0&&NormalizeDouble(Ask-VirtualTrailingStep*point,Digits)>NormalizeDouble(OrderOpenPrice()+VirtualTrailingStop*point,Digits))
{
if((NormalizeDouble(GlobalVariableGet("TS"+OrderTicket()),Digits)<NormalizeDouble(Bid-VirtualTrailingStop*point,Digits))||(GlobalVariableGet("TS"+OrderTicket())==0))
{
GlobalVariableSet("TS"+OrderTicket(),NormalizeDouble(Bid-VirtualTrailingStop*point,Digits));
}
}
if(GlobalVariableGet("TS"+OrderTicket())!=0&&Bid<GlobalVariableGet("TS"+OrderTicket()))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
GlobalVariableDel("TS"+OrderTicket());
}
}
else
{
if(VirtualTrailingStop>0&&NormalizeDouble(Bid+VirtualTrailingStep*point,Digits)<NormalizeDouble(OrderOpenPrice()-VirtualTrailingStop*point,Digits))
{
if((NormalizeDouble(GlobalVariableGet("TS"+OrderTicket()),Digits)>(NormalizeDouble(Ask+VirtualTrailingStop*point,Digits)))||(GlobalVariableGet("TS"+OrderTicket())==0))
{
GlobalVariableSet("TS"+OrderTicket(),NormalizeDouble(Ask+VirtualTrailingStop*point,Digits));
}
}
if(GlobalVariableGet("TS"+OrderTicket())!=0&&Ask>GlobalVariableGet("TS"+OrderTicket()))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
GlobalVariableDel("TS"+OrderTicket());
}
}
}
}
}
- 07-10-2014, 08:05 AM #5950
جزاكم الله خيرا مستر دولار
وجعله الله في ميزان حسناتك
- 09-10-2014, 02:27 PM #5951
السلام عليكم ورحمة الله
اخ جميل او اخ اسامة سؤال بسيط لو سمحتم
المؤشر الذي في المرفقات هو للباترن 123 اظن انه مبدأه يقوم على مؤشر الزكزاك
ماهي اعدادات الزكزاك التي يعتمد عليها ؟؟؟؟
- 09-10-2014, 11:57 PM #5952
- 10-10-2014, 01:32 PM #5953
اساتذتي السلام عليكم ورحمة الله
عملت اكسبيرت يفتح على شمعة الساعة ويكون هناك امر معلق واريد ان يغلق الصفقة المفتوحة مع اغلاق الساعة او شمعة الشارت الموضوع عليها .. فما هو الشرط الصحيح للاغلاق ؟؟؟؟؟؟؟؟؟؟؟
كما اريد ان يمسح الصفقة المعلقة بمجرد فتح الصفقة الاخري ووضعت الشرط كالتالي
كود:if ( OrderTotal()==1){ DeletePendingOrders(); }
- 10-10-2014, 02:14 PM #5954
- 12-10-2014, 10:18 PM #5955
اساتذتي الاعزاء .. السلام عليكم ورحمة الله
انا عاوز اضع حجم جسم الشمعة في شرط من الشروط فوضعت الشرط بهذه الطريقة
كود PHP:&& MathAbs(Open[1]+ Close[1]) >= 20*points &&
وجزاكم الله خير
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM