• 10:01 صباحاً




مشكل بعد برمجة مفتاح الدخول أعلى من لقبلو

إضافة رد
Like Tree2Likes
  • 1 Post By خالد شحاتة
  • 1 Post By سمير محمد ارمان

أدوات الموضوع
عضو جديد
تاريخ التسجيل: Jun 2015
المشاركات: 27
معدل تقييم المستوى: 0
babouche is on a distinguished road
27 - 11 - 2015, 01:42 PM
  #1
babouche غير متواجد حالياً  
افتراضي مشكل بعد برمجة مفتاح الدخول أعلى من لقبلو
السلام عليكم إخواني

قمت بإضافة الكود LastOpenPrice

الشراء فقط إذا كانت آخر صفقة أصغر من السعر الحالي
و البيع فقط إذا كانت آخر صفقة أكبر من السعر الحالي

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

كود:
//+------------------------------------------------------------------+
//|                                                       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 = 30 ;
input int SL = 15 ;
input double lots = 0.1 ;
input int  Magic = 11111 ;
 double pclose = iClose(Symbol(),PERIOD_D1,1);
double popo = iClose(Symbol(),0,1);
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()
  {
  
  
  double Tnow = iMA(NULL,0,TMperiod,TMshift,TMmethod,TMapplied,1);
   
//---
   if(Close[1]>High[2] && Tnow < Ask && LastOpenPrice () < Ask ){
   if(OrdersTotal()==0)
   bool Buy = OrderSend(NULL,OP_BUY,lots,Ask,30,Ask-(SL*t),Ask+(TP*t),NULL,Magic,0,Blue);
   }
   if(Close[1]<Low[2] && Tnow > Bid  && LastOpenPrice () > Bid ){
   if(OrdersTotal()==0)
  bool n=OrderSend(NULL,OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP*t),NULL,Magic,0,Red);
   }
   
  }
//+------------------------------------------------------------------+
////////////////////////////////////////////////////////////////////////////////////////////////
double LastOpenPrice ()
  {
  for (int i=OrdersTotal()-1;i>=0;i--){
  bool lop=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
  if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic ){
  return(OrderOpenPrice());
  }
  }
  return(0);
  }
  ////////////////////////////////////////////////////////////////////////////////////////////////
رد مع اقتباس

الصورة الرمزية خالد شحاتة
مشرف قسم المؤشرات والاكسبرتات
الصورة الرمزية خالد شحاتة
 
تاريخ التسجيل: Jun 2012
الدولة: مصر
المشاركات: 1,562
خبرة السوق: 5 الى 10 سنوات
معدل تقييم المستوى: 13
خالد شحاتة is on a distinguished road
افتراضي رد: مشكل بعد برمجة مفتاح الدخول أعلى من لقبلو
2#
27 - 11 - 2015, 06:02 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة babouche مشاهدة المشاركة
السلام عليكم إخواني

قمت بإضافة الكود LastOpenPrice

الشراء فقط إذا كانت آخر صفقة أصغر من السعر الحالي
و البيع فقط إذا كانت آخر صفقة أكبر من السعر الحالي

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

كود:
//+------------------------------------------------------------------+
//|                                                       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 = 30 ;
input int SL = 15 ;
input double lots = 0.1 ;
input int  Magic = 11111 ;
 double pclose = iClose(Symbol(),PERIOD_D1,1);
double popo = iClose(Symbol(),0,1);
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()
  {
  
  
  double Tnow = iMA(NULL,0,TMperiod,TMshift,TMmethod,TMapplied,1);
   
//---
   if(Close[1]>High[2] && Tnow < Ask && LastOpenPrice () < Ask ){
   if(OrdersTotal()==0)
   bool Buy = OrderSend(NULL,OP_BUY,lots,Ask,30,Ask-(SL*t),Ask+(TP*t),NULL,Magic,0,Blue);
   }
   if(Close[1]<Low[2] && Tnow > Bid  && LastOpenPrice () > Bid ){
   if(OrdersTotal()==0)
  bool n=OrderSend(NULL,OP_SELL,lots,Bid,30,Bid+(SL*t),Bid-(TP*t),NULL,Magic,0,Red);
   }
   
  }
//+------------------------------------------------------------------+
////////////////////////////////////////////////////////////////////////////////////////////////
double LastOpenPrice ()
  {
  for (int i=OrdersTotal()-1;i>=0;i--){
  bool lop=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
  if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic ){
  return(OrderOpenPrice());
  }
  }
  return(0);
  }
  ////////////////////////////////////////////////////////////////////////////////////////////////
وعليكم السلام ورحمة الله وبركاته
الخطأ عندك فى دالة LastOpenPrice
فالحلقه تبحث فى الصفقات المفتوحه واختيار الصفقات من الصفقات المغلقه
ويجب توحيد اسلوب البحث فتكون كالتالى

البحث فى الصفقات المفتوحه تستخدم
كود:
 double LastOpenPrice ()
  {
  for (int i=OrdersTotal()-1;i>=0;i--){
  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic ){
  return(OrderOpenPrice());
  }
  }
  return(0);
  }
البحث فى الصفقات المغلقه تستخدم
كود:
double LastOpenPrice ()
  {
  for (int i=OrdersHistoryTotal()-1;i>=0;i--){
  if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
  if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic ){
  return(OrderOpenPrice());
  }
  }
  return(0);
  }
babouche likes this.
خالد شحاتة غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 48
سمير محمد ارمان will become famous soon enough
افتراضي رد: مشكل بعد برمجة مفتاح الدخول أعلى من لقبلو
3#
28 - 11 - 2015, 12:00 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة abo_samar مشاهدة المشاركة
وعليكم السلام ورحمة الله وبركاته
الخطأ عندك فى دالة LastOpenPrice
فالحلقه تبحث فى الصفقات المفتوحه واختيار الصفقات من الصفقات المغلقه
ويجب توحيد اسلوب البحث فتكون كالتالى

البحث فى الصفقات المفتوحه تستخدم
كود:
 double LastOpenPrice ()
  {
  for (int i=OrdersTotal()-1;i>=0;i--){
  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic ){
  return(OrderOpenPrice());
  }
  }
  return(0);
  }
البحث فى الصفقات المغلقه تستخدم
كود:
double LastOpenPrice ()
  {
  for (int i=OrdersHistoryTotal()-1;i>=0;i--){
  if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
  if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic ){
  return(OrderOpenPrice());
  }
  }
  return(0);
  }
الشكر والتقدير لك على المساعده
جوهرة المنتدى ابو سمر
تحياتى لك
babouche likes this.
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس


إضافة رد



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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مشكل بعد الإنتهاء من برمجة اكسبيرت babouche منتدى المؤشرات و الاكسبرتات 3 18 - 11 - 2015 10:01 PM
مشكل بعد الإنتهاء من برمجة اكسبيرت بصيط babouche منتدى المؤشرات و الاكسبرتات 3 16 - 11 - 2015 06:15 PM
مشكل عند إنتهاء من برمجة اكسبيرت تقاطع موفنجين babouche منتدى المؤشرات و الاكسبرتات 3 05 - 11 - 2015 04:22 PM
أرجو ممن لديه الخبرة في برمجة المؤشرات الدخول الشهري منتدى المؤشرات و الاكسبرتات 11 14 - 04 - 2011 03:01 AM


10:01 AM