النتائج 1 إلى 14 من 14
- 17-05-2012, 06:06 PM #1
مطلوب اكسبرت بسيط جداً و اعتقد بانه مبرمج سابقاً
[COLOR="blue"]السلام عليكم و رحمة الله ،،
ارجو من الاخوة المساعدة بتزويدي اكسبرت مبرمج سابقاً و قد حاولت جاهداً ايجاده و لكني لم انجح ..
عمل الاكسبرت :
عند وضع الاكسبرت على الشارت يقوم باخذ عقد شراء معلق فوق الشمعة الحالية بعدد من النقاط و عقد بيع معلق اسفل من الشمعة الحالية بعدد معين من النقاط
على سبيل المثال :
فتحت شارت اليورو دولار فريم الخمس دقائق ... مجرد تشغيل الاكسبرت يقوم بوضع عقد شراء معلق اعلى الهاي للشمعة الحالية بخمس نقاط و اسفل اللو للشمعة الحالية بخمس نقاط
- 18-05-2012, 09:15 AM #2
ارجو المساعدة اخواني
- 19-05-2012, 04:35 PM #3
up
- 19-05-2012, 08:39 PM #4
اخواني المبرمجين ... هل من مساعدة ؟؟
الطلب بسيط جداً
ارجوكم لمن يملك الاكسبرت تزويدي به
- 20-05-2012, 08:07 PM #5
up up
- 21-05-2012, 02:25 AM #6
هل من مساعدة ؟؟ اني بحاجة ماسة للاكسبرت ... ارجو من الاخوة المبرمجين المساعدة ... اكسبرت بسيط جداً
- 21-05-2012, 02:28 AM #7
اصبر على بعص الداقاءق ابرمجة لك
حاليا انا في مقهى الانترنت لكن راح احمل برنامج
- 21-05-2012, 02:55 AM #8
رد:مطلوب اكسبرت بسيط جداً و اعتقد بانه مبرمج سابقاً
تفظل
- 21-05-2012, 02:56 AM #9
- 21-05-2012, 02:59 AM #10
رد:مطلوب اكسبرت بسيط جداً و اعتقد بانه مبرمج سابقاً
الكود سورس ادا احتجت اى تعديلات في المستقبل
كود 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 SellLots9 = 0.1;
extern int SellStoploss9 = 20;
extern int SellTakeprofit9 = 30;
extern int PriceOffset9 = 20;
extern double BuyLots8 = 0.1;
extern int BuyStoploss8 = 20;
extern int BuyTakeprofit8 = 30;
extern int PriceOffset8 = 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;
IfOrderDoesNotExist2();
IfOrderDoesNotExist5();
}
void IfOrderDoesNotExist2()
{
bool exists = false;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_SELLSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
{
exists = true;
}
}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}
if (exists == false)
{
IfOrderDoesNotExist6();
}
}
void IfOrderDoesNotExist6()
{
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)
{
SellPendingOrder9();
}
}
void SellPendingOrder9()
{
int expire = TimeCurrent() + 60 * 0;
double price = NormalizeDouble(Bid, NDigits) - PriceOffset9*PipValue*Point;
double SL = price + SellStoploss9*PipValue*Point;
if (SellStoploss9 == 0) SL = 0;
double TP = price - SellTakeprofit9*PipValue*Point;
if (SellTakeprofit9 == 0) TP = 0;
if (0 == 0) expire = 0;
int ticket = OrderSend(Symbol(), OP_SELLSTOP, SellLots9, price, 4, SL, TP, "My Expert", 1, expire, Red);
if (ticket == -1)
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
void IfOrderDoesNotExist5()
{
bool exists = false;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUYSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
{
exists = true;
}
}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}
if (exists == false)
{
IfOrderDoesNotExist7();
}
}
void IfOrderDoesNotExist7()
{
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() == 1)
{
exists = true;
}
}
else
{
Print("OrderSelect() error - ", ErrorDescription(GetLastError()));
}
if (exists == false)
{
BuyPendingOrder8();
}
}
void BuyPendingOrder8()
{
int expire = TimeCurrent() + 60 * 0;
double price = NormalizeDouble(Ask, NDigits) + PriceOffset8*PipValue*Point;
double SL = price - BuyStoploss8*PipValue*Point;
if (BuyStoploss8 == 0) SL = 0;
double TP = price + BuyTakeprofit8*PipValue*Point;
if (BuyTakeprofit8 == 0) TP = 0;
if (0 == 0) expire = 0;
int ticket = OrderSend(Symbol(), OP_BUYSTOP, BuyLots8, price, 4, SL, TP, "My Expert", 1, expire, Blue);
if (ticket == -1)
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
int deinit()
{
if (false) ObjectsDeleteAll();
}
- 21-05-2012, 03:35 AM #11
رد:مطلوب اكسبرت بسيط جداً و اعتقد بانه مبرمج سابقاً
السلام عليكم و رحمة الله و بركاته ،،
والله يا أخي الكريم لا اعرف كيف اشكرك .. الله يجزيك كل خير لما تقدمه من مساعدة لاخوانك في المنتدى
تمت تجربت الاكسبرت و هو يعمل بشكل ممتاز و لكنه لا يضع الاوامر كما طلبت في المشاركة الأولى ( حيث ان البيع المعلق اسفل اللو للشمعة الحالية و الشراء المعلق اعلى الهاي للشمعة الحالية ) .. ان عمل الاكسبرت الحالي هو عقد شراء من اسفل السعر الحالي بعدد من النقاط و اعلى السعر الحالي بعدد من النقلط ...
اتركك مع الشارت لمعرفة ما أقصده
اني استخدم نفس النظام الذي تستخدمه و لكني لم أخذ خاصية عقد معلق اعلى الهاي و اسفل اللو ...
الله يحميك و يحفظك اخي المبرمج و ان شاء الله التعديل يكون سهل
- 21-05-2012, 03:56 AM #12
الهاي او اللو للشمعة الحالية أي شمعة تشغيل الاكسبرت (الشمعة الغير مكتملة ) و ليس الشمعة التي تسبقها
- 21-05-2012, 04:40 AM #13
رد:مطلوب اكسبرت بسيط جداً و اعتقد بانه مبرمج سابقاً
جرب هده النسخة
- 21-05-2012, 04:43 AM #14
رد:مطلوب اكسبرت بسيط جداً و اعتقد بانه مبرمج سابقاً
كود
كود://------------------------------------------------------------- // 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 SellLots17 = 0.1; extern int SellStoploss17 = 20; extern int SellTakeprofit17 = 30; extern int PriceOffset17 = 10; extern double BuyLots13 = 0.1; extern int BuyStoploss13 = 20; extern int BuyTakeprofit13 = 30; extern int PriceOffset13 = 10; extern double SellLots35 = 0.1; extern int SellStoploss35 = 20; extern int SellTakeprofit35 = 30; extern int PriceOffset35 = 10; extern double BuyLots34 = 0.1; extern int BuyStoploss34 = 20; extern int BuyTakeprofit34 = 30; extern int PriceOffset34 = 10; // 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); } OnEveryTick9(); } void OnEveryTick9() { if (true == false && false) PipValue = 10; if (true && (NDigits == 3 || NDigits == 5)) PipValue = 10; TechnicalAnalysis5(); TechnicalAnalysis1(); } void TechnicalAnalysis5() { if (Open[0] <= Close[0]) { IfOrderDoesNotExist14(); IfOrderDoesNotExist12(); } } void IfOrderDoesNotExist14() { bool exists = false; for (int i=OrdersTotal()-1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType() == OP_SELLSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == 1) { exists = true; } } else { Print("OrderSelect() error - ", ErrorDescription(GetLastError())); } if (exists == false) { IfOrderDoesNotExist16(); } } void IfOrderDoesNotExist16() { 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) { SellPendingOrder17(); } } void SellPendingOrder17() { int expire = TimeCurrent() + 60 * 0; double price = NormalizeDouble(Low[current], NDigits) - PriceOffset17*PipValue*Point; double SL = price + SellStoploss17*PipValue*Point; if (SellStoploss17 == 0) SL = 0; double TP = price - SellTakeprofit17*PipValue*Point; if (SellTakeprofit17 == 0) TP = 0; if (0 == 0) expire = 0; int ticket = OrderSend(Symbol(), OP_SELLSTOP, SellLots17, price, 4, SL, TP, "My Expert", 1, expire, Red); if (ticket == -1) { Print("OrderSend() error - ", ErrorDescription(GetLastError())); } } void IfOrderDoesNotExist12() { bool exists = false; for (int i=OrdersTotal()-1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType() == OP_BUYSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == 1) { exists = true; } } else { Print("OrderSelect() error - ", ErrorDescription(GetLastError())); } if (exists == false) { 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_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 1) { exists = true; } } else { Print("OrderSelect() error - ", ErrorDescription(GetLastError())); } if (exists == false) { BuyPendingOrder13(); } } void BuyPendingOrder13() { int expire = TimeCurrent() + 60 * 0; double price = NormalizeDouble(High[current], NDigits) + PriceOffset13*PipValue*Point; double SL = price - BuyStoploss13*PipValue*Point; if (BuyStoploss13 == 0) SL = 0; double TP = price + BuyTakeprofit13*PipValue*Point; if (BuyTakeprofit13 == 0) TP = 0; if (0 == 0) expire = 0; int ticket = OrderSend(Symbol(), OP_BUYSTOP, BuyLots13, price, 4, SL, TP, "My Expert", 1, expire, Blue); if (ticket == -1) { Print("OrderSend() error - ", ErrorDescription(GetLastError())); } } void TechnicalAnalysis1() { if (Open[0] <= Close[0]) { IfOrderDoesNotExist20(); IfOrderDoesNotExist25(); } } void IfOrderDoesNotExist20() { bool exists = false; for (int i=OrdersTotal()-1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType() == OP_SELLSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == 1) { exists = true; } } else { Print("OrderSelect() error - ", ErrorDescription(GetLastError())); } if (exists == false) { IfOrderDoesNotExist26(); } } void IfOrderDoesNotExist26() { 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) { SellPendingOrder35(); } } void SellPendingOrder35() { int expire = TimeCurrent() + 60 * 0; double price = NormalizeDouble(Low[current], NDigits) - PriceOffset35*PipValue*Point; double SL = price + SellStoploss35*PipValue*Point; if (SellStoploss35 == 0) SL = 0; double TP = price - SellTakeprofit35*PipValue*Point; if (SellTakeprofit35 == 0) TP = 0; if (0 == 0) expire = 0; int ticket = OrderSend(Symbol(), OP_SELLSTOP, SellLots35, price, 4, SL, TP, "My Expert", 1, expire, Red); if (ticket == -1) { Print("OrderSend() error - ", ErrorDescription(GetLastError())); } } void IfOrderDoesNotExist25() { bool exists = false; for (int i=OrdersTotal()-1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderType() == OP_BUYSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == 1) { exists = true; } } else { Print("OrderSelect() error - ", ErrorDescription(GetLastError())); } if (exists == false) { IfOrderDoesNotExist27(); } } void IfOrderDoesNotExist27() { 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() == 1) { exists = true; } } else { Print("OrderSelect() error - ", ErrorDescription(GetLastError())); } if (exists == false) { BuyPendingOrder34(); } } void BuyPendingOrder34() { int expire = TimeCurrent() + 60 * 0; double price = NormalizeDouble(High[current], NDigits) + PriceOffset34*PipValue*Point; double SL = price - BuyStoploss34*PipValue*Point; if (BuyStoploss34 == 0) SL = 0; double TP = price + BuyTakeprofit34*PipValue*Point; if (BuyTakeprofit34 == 0) TP = 0; if (0 == 0) expire = 0; int ticket = OrderSend(Symbol(), OP_BUYSTOP, BuyLots34, price, 4, SL, TP, "My Expert", 1, expire, Blue); if (ticket == -1) { Print("OrderSend() error - ", ErrorDescription(GetLastError())); } } int deinit() { if (false) ObjectsDeleteAll(); }
ادا الاكسبيرت يعمل كما طلبت راح اعدل عليه
ادا لا يعمل حسب الطلوب ارجو توضيح اكثر
شكراآخر تعديل بواسطة المبرمج ، 21-05-2012 الساعة 04:48 AM