• 8:12 مساءاً
logo



أحتاج مساعدة من الإخوان المبرمجين

إضافة رد
Like Tree3Likes
  • 1 Post By mohamed982
  • 2 Post By سمير محمد ارمان

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

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

أرجو المساعدة لأني أضن أن هناك خطئ في العملية الحسابية التي قمت بها
وشكرا

كود:
//+------------------------------------------------------------------+
//|                                           gestion_du_capital.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
#property indicator_chart_window

input double Stop_Loss = 1.0950 ;
input int Gestion_Capital = 5 ;
 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
double sprea = MarketInfo(Symbol(),MODE_SPREAD);

double V_P = MarketInfo(Symbol(),MODE_TICKVALUE);
double Valeur_spread = sprea * V_P ;
double N_P_B = ((Ask - Stop_Loss)* 10000)+Valeur_spread; 
double N_P_S = (Stop_Loss - Bid)* 10000;
double SL_B = V_P * N_P_B ;
double Formule_1_B = SL_B / Gestion_Capital;
double Formule_2_B = (0.1 / Formule_1_B) ;

 //Comment("spread : "+DoubleToStr(sprea/10,1));
 Comment(Formule_2_B);
 
 
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
رد مع اقتباس


عضو نشيط
 
تاريخ التسجيل: Sep 2013
المشاركات: 252
معدل تقييم المستوى: 5
mohamed982 is on a distinguished road
افتراضي رد: أحتاج مساعدة من الإخوان المبرمجين
2#
10 - 03 - 2016, 01:59 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة babouche مشاهدة المشاركة
السلام عليكم إخواني

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

أرجو المساعدة لأني أضن أن هناك خطئ في العملية الحسابية التي قمت بها
وشكرا

كود:
//+------------------------------------------------------------------+
//|                                           gestion_du_capital.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
#property indicator_chart_window

input double Stop_Loss = 1.0950 ;
input int Gestion_Capital = 5 ;
 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
double sprea = MarketInfo(Symbol(),MODE_SPREAD);

double V_P = MarketInfo(Symbol(),MODE_TICKVALUE);
double Valeur_spread = sprea * V_P ;
double N_P_B = ((Ask - Stop_Loss)* 10000)+Valeur_spread; 
double N_P_S = (Stop_Loss - Bid)* 10000;
double SL_B = V_P * N_P_B ;
double Formule_1_B = SL_B / Gestion_Capital;
double Formule_2_B = (0.1 / Formule_1_B) ;

 //Comment("spread : "+DoubleToStr(sprea/10,1));
 Comment(Formule_2_B);
 
 
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
اخي الكريم الطريقة ابسط من كل ده هي سطرين
كود:
//--- input parameters
input double   STOP=1.2;
input double   STOP_VAL=5.0;

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double Tick_Val=MarketInfo(Symbol(),MODE_TICKVALUE);
   int B_L=int(MathAbs((Ask-STOP))/Point);
   int S_L=int(MathAbs((STOP-Bid))/Point);
   double B_Lot=NormalizeDouble(STOP_VAL/(Tick_Val*B_L),2);
   double S_Lot=NormalizeDouble(STOP_VAL/(Tick_Val*S_L),2);
   
   Alert("Max Buy Lot :"+ DoubleToStr(B_Lot,2)+" Max Sell Lot :"+DoubleToStr(S_Lot,2));
   
  }
//+------------------------------------------------------------------+
babouche likes this.
mohamed982 غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف المؤشرات والاكسبرتات
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 28,328
معدل تقييم المستوى: 37
سمير محمد ارمان will become famous soon enough
افتراضي رد: أحتاج مساعدة من الإخوان المبرمجين
3#
10 - 03 - 2016, 07:35 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة mohamed982 مشاهدة المشاركة
اخي الكريم الطريقة ابسط من كل ده هي سطرين
كود:
//--- input parameters
input double   STOP=1.2;
input double   STOP_VAL=5.0;

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double Tick_Val=MarketInfo(Symbol(),MODE_TICKVALUE);
   int B_L=int(MathAbs((Ask-STOP))/Point);
   int S_L=int(MathAbs((STOP-Bid))/Point);
   double B_Lot=NormalizeDouble(STOP_VAL/(Tick_Val*B_L),2);
   double S_Lot=NormalizeDouble(STOP_VAL/(Tick_Val*S_L),2);
   
   Alert("Max Buy Lot :"+ DoubleToStr(B_Lot,2)+" Max Sell Lot :"+DoubleToStr(S_Lot,2));
   
  }
//+------------------------------------------------------------------+
الشكر والتقدير لك اخى الكريم محمد
جزاك الله كل خير
شكرا على المساعده
تحياتى لك
hisham.m.younes and babouche like this.
سمير محمد ارمان متواجد حالياً  
رد مع اقتباس

إضافة رد

أدوات الموضوع


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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
طلب مساعدة من الاخوة المبرمجين mmohy1 منتدى المؤشرات و الاكسبرتات 4 27 - 12 - 2015 09:33 AM
أحتاج مساعدة من الإخوان المبرمجين babouche منتدى المؤشرات و الاكسبرتات 6 28 - 11 - 2015 03:02 PM


08:12 PM