• 11:36 صباحاً
logo



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

إضافة رد
Like Tree2Likes
  • 1 Post By abo_samar
  • 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);
  }
  ////////////////////////////////////////////////////////////////////////////////////////////////
رد مع اقتباس


الصورة الرمزية abo_samar
عضو فـعّـال
الصورة الرمزية abo_samar
 
تاريخ التسجيل: Jun 2012
المشاركات: 1,125
خبرة السوق: أكثر من 5 سنوات
معدل تقييم المستوى: 7
abo_samar 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.
abo_samar غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف المؤشرات والاكسبرتات
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 28,297
معدل تقييم المستوى: 37
سمير محمد ارمان 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


11:36 AM