النتائج 2,461 إلى 2,475 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 21-07-2012, 02:30 AM #2461
- 21-07-2012, 02:35 AM #2462
مثال
كود PHP:if(UseKijunStopLoss)SL=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,SL,0," EA",MagicNumber,0,Blue);
if(UseKijunStopLoss)SL=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)-5*Point;
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,0," EA",MagicNumber,0,Red);
كود PHP:void CloseBuyOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3);
}
}
}
}
void CloseSellOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3);
}
}
}
}
كود PHP:double Kijun=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,1);
if(Close[1]>Kijun)
{
CloseSellOrders();
}
if(Close[1]<Kijun)
{
CloseBuyOrders();
}
- 21-07-2012, 02:57 AM #2463
رد:موضوع مخصص للأسئلة البرمجية
كود PHP://+------------------------------------------------------------------+
//| Ambush |
//| Copyright, created 20 july 2012|
//| |
//| Desined by Ahmed Essam|
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "Ambush"
#property link "[email protected]"
extern int MaxTrades = 1; // ---------------- 1
extern int stoploss = 50; // ---------------- 2
extern int takeprofit = 50; // ---------------- 3
extern double TrailingStop =0; // ---------------- 4
extern bool UseHourTrade = false; // ---------------- 5
extern int FromHourTrade = 7; // ---------------- 6
extern int ToHourTrade = 17; // ---------------- 7
extern string MM_Parameters = "---------- Money Management";
extern double Lots = 0.01;
extern bool MM = false, // ---------------- 8
AccountIsMicro = true;
extern int Risk = 10; // ---------------- 9
int MagicNumber=148; // -------------------- 10
extern int tenkansen=9;
extern int kijunsen=26;
extern int senkospan=52;
extern int shift=1;
extern int shift2=26;
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int orderscnt(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{
if (UseHourTrade){
if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){
Comment("Non-Trading Hours!");
return(0);
}
}
double Tenkan=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_TENKANSEN,shift);
double Kijun=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_KIJUNSEN,shift);
double Senkou=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_CHINKOUSPAN,1+kijunsen);
double Senkoua=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift);
double Senkouaplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift+27);
double Senkoub=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift);
double Senkoubplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift+27);
double Ichimoku_B=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",1,shift);
double Ichimoku_S=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",0,shift);
double sl,tp;
if(MM) Lots = subLotSize();
//-----------------buy&sell ----------------
if((Close[1]>Tenkan)&&(Close[1]>Kijun)&&(Close[1]>Senkoub)&&(Close[1]>Senkoua)&&(Ichimoku_B==3)&&(Senkou>Senkoubplus&&Senkou>Senkouaplus)){ // ------------------------ 22
if(orderscnt()<MaxTrades){
if(stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;}
if(takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"Ambush",MagicNumber,0,Blue);
PlaySound("Alert.wav");
}
}
if ((Close[1]<Tenkan)&&(Close[1]<Kijun)&&(Close[1]<Senkoua)&&(Close[1]<Senkoub)&&(Ichimoku_S==3)&&(Senkou<Senkoubplus&&Senkou<Senkouaplus)){ // ------------------------ 23
if(orderscnt()<MaxTrades){
if(stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;}
if(takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;}
OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"Ambush",MagicNumber,0,Red);
PlaySound("Alert.wav");
}
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS TrailingStop |
//+------------------------------------------------------------------+
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,
OrderTakeProfit(),0,Green);
return(0);
}
}
}
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,
OrderTakeProfit(),0,Red);
return(0);
}
}
}
return(0);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Money Managment |
//+------------------------------------------------------------------+
double subLotSize()
{
double lotMM = MathCeil(AccountFreeMargin() * Risk / 1000) / 100;
if(AccountIsMicro==false)
{
if(lotMM < 0.1) lotMM = Lots;
if((lotMM > 0.5) && (lotMM < 1)) lotMM = 0.5;
if(lotMM > 1.0) lotMM = MathCeil(lotMM);
if(lotMM > 100) lotMM = 100;
}
else
{
if(lotMM < 0.01) lotMM = Lots;
if(lotMM > 1.0) lotMM = MathCeil(lotMM);
if(lotMM > 100) lotMM = 100;
}
return (lotMM);
}
//+---------------------------------------------------------------------------------+
- 21-07-2012, 03:04 AM #2464
أستاذ أسامة
أنا سامع إن في دورة جديدة لتعليم البرمجة هتبدأ قريب
ياريت يا أستاذ أسامة تكلم الإدارة إن قبل الدورة الجديدة ما تبدأ يتعمل لنا محاضرة للمؤشرات
أو على الأقل لو مفيهاش تعب ليك ممكن تعمل لنا موضوع شرح برمجة مؤشر الله يكرمك
لإن إحنا الإسم مبرمجين وإحنا ما بنعرفش نبرمج مؤشرات
-------------------
- 21-07-2012, 03:08 AM #2465
- 21-07-2012, 04:26 AM #2466
- 21-07-2012, 04:40 AM #2467
رد:موضوع مخصص للأسئلة البرمجية
انا تابعت الباك تست مرة أخرى ووجدت سبب المشكلة ، الصفقات التى يتم فتحها مع او قبل نهاية الاسبوع بـ يوم يتم إغلاقها مع نهاية يوم الجمعة وإغلاق السوق ، مثلا اذا تم فتح صفقة يوم الجمعة والمفترض الاكسيبرت يغلق الصفقة بعد 48 ساعة اى يوم الأحد ، يتم بدلا من ذلك الإغلاق يوم الجمعة ، وبالمثل ليوم الخميس .
وانا أريد وضع شرط حتى لايتم حدوث ذلك ، اى يتم إغلاق الصفقة يوم الاثنين مثلا وليس الجمعةآخر تعديل بواسطة spiders101 ، 21-07-2012 الساعة 04:58 AM
- 21-07-2012, 03:32 PM #2468
بعد اذنك استاذ اسامه اريد توضيح النقطة الخاصة بعمل الكيجن كاستوب لوس ويفضل تطبيقها على الكود المرفق للاكسبيرت بالمشاركة السابقة
واريد ان يغلق الاكسبيرت الصفقات فى حالة وجود شمعه كاملة فوق التنكن او تحته ( اغلاقها وافتتاحها) فوق التنكن فى حالة البيع وتحت التنكن فى حالة الشراء
وماهى فوائد اخفاء الهدف والاستوب لوس؟
وشكرااااااااا
- 21-07-2012, 04:11 PM #2469
رد:موضوع مخصص للأسئلة البرمجية
إخفاء الهدف والاستوب مماثل لفكرة عمل مودفاى للأوردر ، وكلاهما يتم إستخدامهما حتى يعمل الاكسيبرت على منصات الـ ECN التى لاتسمح بوضع تارجت واستوب إلا بعد فتح الصفقة ، وإخفاء الهدف والاستوب مهم لمن يتعامل بواسطة الاسكالبينج أو يخشى ضرب الأستوبات بسبب البروكر أو إظهاره
- 21-07-2012, 04:43 PM #2470
- 21-07-2012, 07:28 PM #2471
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، انا وضعت دالة لإغلاق الصفقات التى يتم فتحها يوم الخميس او الجمعة فـ يوم محدد مثل الثلاثاء مثلا ، والدالة والشروط تعمل ولكن عند وضع شروط إغلاق الصفقات بعد مرور 48 ساعة مع الشروط السابقة ، يحدث تعارض ولاتعمل خاصية الإغلاق يوم الثلاثاء ويتم الإغلاق مثل ما سبق يوم الجمعة
- 22-07-2012, 08:57 PM #2472
تفضل الكود كامل مع إضافة خيار الأستوب لوز فوق أو تحت الكيجن وإغلاق الصفقات عند إغلاق شمعة فوق أو تحت الكيجن
كود PHP://+------------------------------------------------------------------+
//| Ambush |
//| Copyright, created 20 july 2012|
//| |
//| Desined by Ahmed Essam|
//| [email protected] |
//+------------------------------------------------------------------+
#property copyright "Ambush"
#property link "[email protected]"
extern int MaxTrades = 1; // ---------------- 1
extern int stoploss = 50; // ---------------- 2
extern bool UseKijunStopLoss=false;
extern int takeprofit = 50; // ---------------- 3
extern double TrailingStop =0; // ---------------- 4
extern bool UseHourTrade = false; // ---------------- 5
extern int FromHourTrade = 7; // ---------------- 6
extern int ToHourTrade = 17; // ---------------- 7
extern string MM_Parameters = "---------- Money Management";
extern double Lots = 0.01;
extern bool MM = false, // ---------------- 8
AccountIsMicro = true;
extern int Risk = 10; // ---------------- 9
int MagicNumber=148; // -------------------- 10
extern int tenkansen=9;
extern int kijunsen=26;
extern int senkospan=52;
extern int shift=1;
extern int shift2=26;
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int orderscnt(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{
if (UseHourTrade){
if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){
Comment("Non-Trading Hours!");
return(0);
}
}
double Tenkan=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_TENKANSEN,shift);
double Kijun=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_KIJUNSEN,shift);
double Senkou=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_CHINKOUSPAN,1+kijunsen);
double Senkoua=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift);
double Senkouaplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift+27);
double Senkoub=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift);
double Senkoubplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift+27);
double Ichimoku_B=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",1,shift);
double Ichimoku_S=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",0,shift);
if(Close[1]>Kijun)
{
CloseSellOrders();
}
if(Close[1]<Kijun)
{
CloseBuyOrders();
}
double sl,tp;
if(MM) Lots = subLotSize();
//-----------------buy&sell ----------------
if((Close[1]>Tenkan)&&(Close[1]>Kijun)&&(Close[1]>Senkoub)&&(Close[1]>Senkoua)&&(Ichimoku_B==3)&&(Senkou>Senkoubplus&&Senkou>Senkouaplus)){ // ------------------------ 22
if(orderscnt()<MaxTrades){
if(stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;}
if(takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Point;}
if(UseKijunStopLoss)sl=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"Ambush",MagicNumber,0,Blue);
PlaySound("Alert.wav");
}
}
if ((Close[1]<Tenkan)&&(Close[1]<Kijun)&&(Close[1]<Senkoua)&&(Close[1]<Senkoub)&&(Ichimoku_S==3)&&(Senkou<Senkoubplus&&Senkou<Senkouaplus)){ // ------------------------ 23
if(orderscnt()<MaxTrades){
if(stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;}
if(takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;}
if(UseKijunStopLoss)sl=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"Ambush",MagicNumber,0,Red);
PlaySound("Alert.wav");
}
}
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,
OrderTakeProfit(),0,Green);
return(0);
}
}
}
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,
OrderTakeProfit(),0,Red);
return(0);
}
}
}
return(0);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS TrailingStop |
//+------------------------------------------------------------------+
void CloseBuyOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3);
}
}
}
}
void CloseSellOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3);
}
}
}
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Money Managment |
//+------------------------------------------------------------------+
double subLotSize()
{
double lotMM = MathCeil(AccountFreeMargin() * Risk / 1000) / 100;
if(AccountIsMicro==false)
{
if(lotMM < 0.1) lotMM = Lots;
if((lotMM > 0.5) && (lotMM < 1)) lotMM = 0.5;
if(lotMM > 1.0) lotMM = MathCeil(lotMM);
if(lotMM > 100) lotMM = 100;
}
else
{
if(lotMM < 0.01) lotMM = Lots;
if(lotMM > 1.0) lotMM = MathCeil(lotMM);
if(lotMM > 100) lotMM = 100;
}
return (lotMM);
}
//+---------------------------------------------------------------------------------+
- 22-07-2012, 08:59 PM #2473
- 23-07-2012, 02:53 AM #2474
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، النسخة الأخيرة من الاكسيبرت بالمرفقات تعمل بشكل أفضل ونادرا ماتظهر بعض الأخطـاء مثل
Order Send Error 146 ، Order Send Error 129 ، Order Send Error 128
ولكن على كل حال يتم فتح الصفقة اذا ظهر الخطـأ ، سؤالي هل يمكن التغاضى عن هذه الأخطـاء ، وحذف الكود الخاص بظهور الاليرت واترك النسخة كما هى لأنى تعبت من كثرة التعديلات على هذا الاكسيبرت
- 23-07-2012, 03:16 AM #2475
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM