عجزت واعلن استسلامي ..... ممكن مساعدو بليـــــــــــــــــــــز
السلام عليكم ورحمة الله
.
..
...
....
.....
......
.......
........
.........
..........
كود:
double price2=NormalizeDouble((sellpriceaverage+buypriceaverage)/2,Digits);
bool buymid=true;
for ( x = OrdersTotal(); x >= 0; x--)
{
OrderSelect(x, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderType() == OP_BUYSTOP && OrderOpenPrice()==price2 ) {buymid=false; break;}
}
if(buymid==true) {OrderSend(Symbol(), OP_BUYSTOP, lot, price2, 0, 0,0, "buymid", magic1, 0, Blue);}
عجزت وانا احاول ان اجد الخلل في هذا الكود
يعني اريد الامر يفتح مرة واحدة
ولكن دون جدوى
علما انها ليست اول مرة اعمل مثل هذا الكود
لكن هذه المرة لم يعمل ما هو الخلل رجاءا
لان صار لي اكثر من اسبوعين احاول بلا نتيجة
رجاءا هلب
رد:عجزت واعلن استسلامي ..... ممكن مساعدو بليـــــــــــــــــــــز
اقتباس:
المشاركة الأصلية كتبت بواسطة abojassar
ن شاء الله مستر دولار يجيبها لانه ماشاء الله خ ط ي ر والله يوفقك وانت شوف حاول انك تتأكد من المسافات والفواصل والنقط يمكن فيه زيادة او نقصان فيها على حسب خبرتي في البرمجه هذا الي اقدر افيدك فيه وبإذن الله تنحل قريب ...
اقتباس:
المشاركة الأصلية كتبت بواسطة StudyElliott
عليكم السلام
يارجل خوفتني فكرت صارت شيئ لحسابك لاسمح الله
طالما برمجيه إن شاء الله يساعدونك استاذ مستير دولار وعمرو وباقي الاساتذه الافاضل
بتمنى لك التوفيق :)
اقتباس:
المشاركة الأصلية كتبت بواسطة Mo3Ty
والله ياباشا اكتر واحد حيفيدك فى استفسارك هو مستر دولار ان شاء الله
وان شاء الله توصل لمبتغاك
تقبل تحياتي
شكرا لكم جميعا
ومنتظر الاخوة الاعزاء يساعدوني في هذه المشكلة
شكرا لكم ثانية
رد:عجزت واعلن استسلامي ..... ممكن مساعدو بليـــــــــــــــــــــز
اقتباس:
المشاركة الأصلية كتبت بواسطة mercury_man
السلام عليكم ورحمة الله
.
..
...
....
.....
......
.......
........
.........
.......... كود:
double price2=NormalizeDouble((sellpriceaverage+buypriceaverage)/2,Digits);
bool buymid=true;
for ( x = OrdersTotal(); x >= 0; x--)
{
OrderSelect(x, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderType() == OP_BUYSTOP && OrderOpenPrice()==price2 ) {buymid=false; break;}
}
if(buymid==true) {OrderSend(Symbol(), OP_BUYSTOP, lot, price2, 0, 0,0, "buymid", magic1, 0, Blue);}
عجزت وانا احاول ان اجد الخلل في هذا الكود
يعني اريد الامر يفتح مرة واحدة
ولكن دون جدوى
علما انها ليست اول مرة اعمل مثل هذا الكود
لكن هذه المرة لم يعمل ما هو الخلل رجاءا
لان صار لي اكثر من اسبوعين احاول بلا نتيجة
رجاءا هلب
تفظل
كود PHP:
double price2=NormalizeDouble((sellpriceaverage+buypriceaverage)/2,Digits);
bool buymid=true;
for ( x = OrdersTotal(); x >= 0; x--)
{
OrderSelect(x, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderType() == OP_BUYSTOP && OrderOpenPrice()==price2 ) {buymid=false; break;}
}
if(buymid==true) {OrderSend(Symbol(), OP_BUYSTOP, lot, price2, 0, 0,0, "buymid", magic1, 0, Blue);buymid=false}
1 مرفق
رد:عجزت واعلن استسلامي ..... ممكن مساعدو بليـــــــــــــــــــــز
الحل الثاني موضح في الصورة
رد:عجزت واعلن استسلامي ..... ممكن مساعدو بليـــــــــــــــــــــز
كود PHP:
//-------------------------------------------------------------
// Etasoft Inc. Forex EA and Script Generator version 4.1 EA
//-------------------------------------------------------------
// Keywords: MT4, Forex EA builder, create EA, expert advisor developer
#property copyright "Copyright © 2011, Etasoft Inc. Forex EA Generator v4.1"
#property link "http://www.********erator.com/"
#include <stdlib.mqh>
#include <WinUser32.mqh>
// exported variables
extern double BuyLots5 = 0.1;
extern int BuyStoploss5 = 20;
extern int BuyTakeprofit5 = 30;
// 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;
IfOrderDoesNotExist2();
}
void IfOrderDoesNotExist2()
{
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)
{
BuyOrder5();
}
}
void BuyOrder5()
{
double SL = Ask - BuyStoploss5*PipValue*Point;
if (BuyStoploss5 == 0) SL = 0;
double TP = Ask + BuyTakeprofit5*PipValue*Point;
if (BuyTakeprofit5 == 0) TP = 0;
int ticket = -1;
if (true)
ticket = OrderSend(Symbol(), OP_BUY, BuyLots5, Ask, 4, 0, 0, "My Expert", 1, 0, Blue);
else
ticket = OrderSend(Symbol(), OP_BUY, BuyLots5, Ask, 4, SL, TP, "My Expert", 1, 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()));
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
int deinit()
{
if (false) ObjectsDeleteAll();
}