FX-Arabia

جديد المواضيع











الملاحظات

منتدى المؤشرات و الاكسبيرتات تعليم برمجة الاكسبيرت ، اكسبيرت مجانى ، برمجة مؤشرات ، مؤشر ، تصميم اكسبيرت مجانا ، اكسبيرتات جديدة ، مؤشرات جديدة ، كل ما يتعلق بالتحليل و الخاص بالمؤشرات الفنية او الرقمية ، Expert advisor ، mql ، mql4 ، دورة برمجة ، برمجة اكسبيرت ، اكسبيرت رابح ، اكسبيرت جيد ، ادارة حسابات ، تداول الى ، ميتاتريدر ، تحميل منصة ، منصة تداول ، برمجة مؤشر ، مكتبة مؤشرات ، مؤشر جديد ، مؤشرات جديدة ، مؤشر حصرى ، احدث مؤشر .


مشكلة في برمجة (دخول بعقدين) :(

منتدى المؤشرات و الاكسبيرتات


إضافة رد
 
أدوات الموضوع
قديم 22-11-2015, 03:19 AM   المشاركة رقم: 1
الكاتب
babouche007
عضو جديد

البيانات
تاريخ التسجيل: Jun 2015
رقم العضوية: 25643
المشاركات: 19
بمعدل : 0.01 يوميا

الإتصالات
الحالة:
babouche007 غير متواجد حالياً
وسائل الإتصال:

المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي مشكلة في برمجة (دخول بعقدين) :(

السلام عليكم إخواني

قمت ببرمجة اكسبيرت إغلاق الشمعة 1 > هاي الشمعة 2 ===> شراء
و دخول يكون بعقدين الأول 50 و التاني 150 نقطة
لكن المشكلة هي أن بعد ما يضرب الهدف الأول يدخل مرة أخرى بهدف ثاني

وأنا أريده أن يدخل بهدفين و إدا ضرب الهدف الأول لا يدخل مرة أخرى حتى يضرب الهذف الثاني

و شكرا

كود:
//+------------------------------------------------------------------+
//|                                                       boujie.mq4 |
//|                                      Copyright 2015, Hamza Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Hamza Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input string s1 = "--------------Trend--------------";
extern int TMperiod = 200;
extern int TMshift = 0;
extern int TMmethod = 0;
extern int TMapplied = 0;
input string s2 = "---------Money Management--------------";
input int TP_1 = 50 ;
input int TP_2 = 150;
input int SL = 100 ;
input double lots = 0.1 ;
input int  Magic = 11111 ;
 
double t ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if ( ticksize == 0.00001 || 0.001 )
   t = ticksize * 10; 
else 
   t = ticksize ;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  
  
 
   
//---
   if(Close[1]>High[2]){
   if(orderscnt()==0)
   bool Buy1 = OrderSend(NULL,OP_BUY,lots,Ask,3,Ask-(SL*t),Ask+(TP_1*t),"",Magic,0,Blue);
  if(orderscnt()<=1)
  bool Buy2 = OrderSend(NULL,OP_BUY,lots,Ask,3,Ask-(SL*t),Ask+(TP_2*t),"",Magic,0,Blue);
   }
   if(Close[1]<Low[2]){
   if(orderscnt()==0)
  bool Sell1 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP_1*t),"",Magic,0,Red);
  if(orderscnt()<=1)
  bool Sell2 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP_2*t),"",Magic,0,Red);
   }
   
  }
//+------------------------------------------------------------------+
 int orderscnt(){
 int cnt=0;
   for(int i =0;i<=OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic){
         cnt++;
       }
     }
   }
    return(cnt);
  }



عرض البوم صور babouche007  
رد مع اقتباس


  #1  
قديم 22-11-2015, 03:19 AM
babouche007 babouche007 غير متواجد حالياً
عضو جديد
افتراضي مشكلة في برمجة (دخول بعقدين) :(

السلام عليكم إخواني

قمت ببرمجة اكسبيرت إغلاق الشمعة 1 > هاي الشمعة 2 ===> شراء
و دخول يكون بعقدين الأول 50 و التاني 150 نقطة
لكن المشكلة هي أن بعد ما يضرب الهدف الأول يدخل مرة أخرى بهدف ثاني

وأنا أريده أن يدخل بهدفين و إدا ضرب الهدف الأول لا يدخل مرة أخرى حتى يضرب الهذف الثاني

و شكرا

كود:
//+------------------------------------------------------------------+
//|                                                       boujie.mq4 |
//|                                      Copyright 2015, Hamza Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Hamza Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input string s1 = "--------------Trend--------------";
extern int TMperiod = 200;
extern int TMshift = 0;
extern int TMmethod = 0;
extern int TMapplied = 0;
input string s2 = "---------Money Management--------------";
input int TP_1 = 50 ;
input int TP_2 = 150;
input int SL = 100 ;
input double lots = 0.1 ;
input int  Magic = 11111 ;
 
double t ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if ( ticksize == 0.00001 || 0.001 )
   t = ticksize * 10; 
else 
   t = ticksize ;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  
  
 
   
//---
   if(Close[1]>High[2]){
   if(orderscnt()==0)
   bool Buy1 = OrderSend(NULL,OP_BUY,lots,Ask,3,Ask-(SL*t),Ask+(TP_1*t),"",Magic,0,Blue);
  if(orderscnt()<=1)
  bool Buy2 = OrderSend(NULL,OP_BUY,lots,Ask,3,Ask-(SL*t),Ask+(TP_2*t),"",Magic,0,Blue);
   }
   if(Close[1]<Low[2]){
   if(orderscnt()==0)
  bool Sell1 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP_1*t),"",Magic,0,Red);
  if(orderscnt()<=1)
  bool Sell2 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP_2*t),"",Magic,0,Red);
   }
   
  }
//+------------------------------------------------------------------+
 int orderscnt(){
 int cnt=0;
   for(int i =0;i<=OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic){
         cnt++;
       }
     }
   }
    return(cnt);
  }




رد مع اقتباس

قديم 22-11-2015, 05:05 PM   المشاركة رقم: 2
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

البيانات
تاريخ التسجيل: Apr 2012
رقم العضوية: 9148
الدولة: alexandria - egypt
المشاركات: 5,888
بمعدل : 1.28 يوميا

الإتصالات
الحالة:
اسلام العوامى غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : babouche007 المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: مشكلة في برمجة (دخول بعقدين) :(

المشاركة الأصلية كتبت بواسطة babouche007 نقره لعرض الصورة في صفحة مستقلة
السلام عليكم إخواني

قمت ببرمجة اكسبيرت إغلاق الشمعة 1 > هاي الشمعة 2 ===> شراء
و دخول يكون بعقدين الأول 50 و التاني 150 نقطة
لكن المشكلة هي أن بعد ما يضرب الهدف الأول يدخل مرة أخرى بهدف ثاني

وأنا أريده أن يدخل بهدفين و إدا ضرب الهدف الأول لا يدخل مرة أخرى حتى يضرب الهذف الثاني

و شكرا

كود:
//+------------------------------------------------------------------+
//|                                                       boujie.mq4 |
//|                                      Copyright 2015, Hamza Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Hamza Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input string s1 = "--------------Trend--------------";
extern int TMperiod = 200;
extern int TMshift = 0;
extern int TMmethod = 0;
extern int TMapplied = 0;
input string s2 = "---------Money Management--------------";
input int TP_1 = 50 ;
input int TP_2 = 150;
input int SL = 100 ;
input double lots = 0.1 ;
input int  Magic = 11111 ;
 
double t ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if ( ticksize == 0.00001 || 0.001 )
   t = ticksize * 10; 
else 
   t = ticksize ;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  
  
 
   
//---
   if(Close[1]>High[2]){
   if(orderscnt()==0)
   bool Buy1 = OrderSend(NULL,OP_BUY,lots,Ask,3,Ask-(SL*t),Ask+(TP_1*t),"",Magic,0,Blue);
  if(orderscnt()<=1)
  bool Buy2 = OrderSend(NULL,OP_BUY,lots,Ask,3,Ask-(SL*t),Ask+(TP_2*t),"",Magic,0,Blue);
   }
   if(Close[1]<Low[2]){
   if(orderscnt()==0)
  bool Sell1 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP_1*t),"",Magic,0,Red);
  if(orderscnt()<=1)
  bool Sell2 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP_2*t),"",Magic,0,Red);
   }
   
  }
//+------------------------------------------------------------------+
 int orderscnt(){
 int cnt=0;
   for(int i =0;i<=OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic){
         cnt++;
       }
     }
   }
    return(cnt);
  }
،،،اهلا بك اخى الفاضل ، فقط قم بإزالة الاسطر المعلمة بالاحمر فى الاقتباس،،،

،،،تحياتى،،،



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #2  
قديم 22-11-2015, 05:05 PM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: مشكلة في برمجة (دخول بعقدين) :(

المشاركة الأصلية كتبت بواسطة babouche007 نقره لعرض الصورة في صفحة مستقلة
السلام عليكم إخواني

قمت ببرمجة اكسبيرت إغلاق الشمعة 1 > هاي الشمعة 2 ===> شراء
و دخول يكون بعقدين الأول 50 و التاني 150 نقطة
لكن المشكلة هي أن بعد ما يضرب الهدف الأول يدخل مرة أخرى بهدف ثاني

وأنا أريده أن يدخل بهدفين و إدا ضرب الهدف الأول لا يدخل مرة أخرى حتى يضرب الهذف الثاني

و شكرا

كود:
//+------------------------------------------------------------------+
//|                                                       boujie.mq4 |
//|                                      Copyright 2015, Hamza Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Hamza Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input string s1 = "--------------Trend--------------";
extern int TMperiod = 200;
extern int TMshift = 0;
extern int TMmethod = 0;
extern int TMapplied = 0;
input string s2 = "---------Money Management--------------";
input int TP_1 = 50 ;
input int TP_2 = 150;
input int SL = 100 ;
input double lots = 0.1 ;
input int  Magic = 11111 ;
 
double t ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if ( ticksize == 0.00001 || 0.001 )
   t = ticksize * 10; 
else 
   t = ticksize ;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  
  
 
   
//---
   if(Close[1]>High[2]){
   if(orderscnt()==0)
   bool Buy1 = OrderSend(NULL,OP_BUY,lots,Ask,3,Ask-(SL*t),Ask+(TP_1*t),"",Magic,0,Blue);
  if(orderscnt()<=1)
  bool Buy2 = OrderSend(NULL,OP_BUY,lots,Ask,3,Ask-(SL*t),Ask+(TP_2*t),"",Magic,0,Blue);
   }
   if(Close[1]<Low[2]){
   if(orderscnt()==0)
  bool Sell1 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP_1*t),"",Magic,0,Red);
  if(orderscnt()<=1)
  bool Sell2 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP_2*t),"",Magic,0,Red);
   }
   
  }
//+------------------------------------------------------------------+
 int orderscnt(){
 int cnt=0;
   for(int i =0;i<=OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic){
         cnt++;
       }
     }
   }
    return(cnt);
  }
،،،اهلا بك اخى الفاضل ، فقط قم بإزالة الاسطر المعلمة بالاحمر فى الاقتباس،،،

،،،تحياتى،،،




رد مع اقتباس
قديم 22-11-2015, 09:25 PM   المشاركة رقم: 3
الكاتب
babouche007
عضو جديد

البيانات
تاريخ التسجيل: Jun 2015
رقم العضوية: 25643
المشاركات: 19
بمعدل : 0.01 يوميا

الإتصالات
الحالة:
babouche007 غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : babouche007 المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: مشكلة في برمجة (دخول بعقدين) :(

لقد قمت بإزالة الاسطر المعلمة بالاحمر فأصبح لدي مشكل آخر (أصبح يفتح معي الكتير من الصفقات )
لقد وجدت الحل

كود:
if(Close[1]>High[2]&&orderscnt()==0){
لكن ماهو الفرق بين الكود أعلاه و هذا الكود
كود:
 if(Close[1]>High[2]){
   if(orderscnt()==0)



عرض البوم صور babouche007  
رد مع اقتباس
  #3  
قديم 22-11-2015, 09:25 PM
babouche007 babouche007 غير متواجد حالياً
عضو جديد
افتراضي رد: مشكلة في برمجة (دخول بعقدين) :(

لقد قمت بإزالة الاسطر المعلمة بالاحمر فأصبح لدي مشكل آخر (أصبح يفتح معي الكتير من الصفقات )
لقد وجدت الحل
كود:
if(Close[1]>High[2]&&orderscnt()==0){
لكن ماهو الفرق بين الكود أعلاه و هذا الكود
كود:
 if(Close[1]>High[2]){
   if(orderscnt()==0)




رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
(دخول, مشكلة, برمجة, بعقدين)


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 04:23 AM



جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com

تحذير المخاطرة

التجارة بالعملات الأجنبية تتضمن علي قدر كبير من المخاطر ومن الممكن ألا تكون مناسبة لجميع المضاربين, إستعمال الرافعة المالية في التجاره يزيد من إحتمالات الخطورة و التعرض للخساره, عليك التأكد من قدرتك العلمية و الشخصية على التداول.

تنبيه هام

موقع اف اكس ارابيا هو موقع تعليمي خالص يهدف الي توعية المستثمر العربي مبادئ الاستثمار و التداول الناجح ولا يتحصل علي اي اموال مقابل ذلك ولا يقوم بادارة محافظ مالية وان ادارة الموقع غير مسؤولة عن اي استغلال من قبل اي شخص لاسمها وتحذر من ذلك.

اتصل بنا

البريد الإلكتروني للدعم الفنى : support@fx-arabia.com
جميع الحقوق محفوظة اف اكس ارابيا – احدى مواقع Inwestopedia Sp. Z O.O. للاستشارات و التدريب – جمهورية بولندا الإتحادية.
Powered by vBulletin® Copyright ©2000 - 2024 , Designed by Fx-Arabia Team