اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   سؤال برمجى للاستاذ اسلام والاخوة الخبراء (https://fx-arabia.com/vb/showthread.php?t=52938)

مصطفى 17-03-2016 02:59 PM

سؤال برمجى للاستاذ اسلام والاخوة الخبراء
 
كيف اجعل اللوت فى الاكسبيرت يكون بناءا على نسبة مخاطرة معينة من الحساب لانه احيانا تكون الستوبات متغيرة احيانا 50 نقطة واحيانا 100 نقطة على حسب شروط الاستراتيجية
اريد ان اجعل المخاطرة متساوية دائما

يعنى اذا كانت المخاطرة المطلوبة 50 دولار ورصيد الحساب 1000 دولار

فعندما يكون الستوب 50 نقطة يتم الدخول الصفقة بواحد دولار للنقطة
وعندما يكون الستوب 25 نقطة يتم دخول الصفقة ب2 دولار للنقطة
وعندما يكون الستوب 100 نقطة يتم دخول الصفقة بنصف دولار للنقطة ...وهكذا تكون المخاطرة متساوية فى كل الصفقات وهى 50 دولار فى حالة الخسارة

تحياتى

اسلام العوامى 17-03-2016 05:08 PM

رد: سؤال برمجى للاستاذ اسلام والاخوة الخبراء
 
اقتباس:

المشاركة الأصلية كتبت بواسطة مصطفى (المشاركة 860813)
كيف اجعل اللوت فى الاكسبيرت يكون بناءا على نسبة مخاطرة معينة من الحساب لانه احيانا تكون الستوبات متغيرة احيانا 50 نقطة واحيانا 100 نقطة على حسب شروط الاستراتيجية
اريد ان اجعل المخاطرة متساوية دائما

يعنى اذا كانت المخاطرة المطلوبة 50 دولار ورصيد الحساب 1000 دولار

فعندما يكون الستوب 50 نقطة يتم الدخول الصفقة بواحد دولار للنقطة
وعندما يكون الستوب 25 نقطة يتم دخول الصفقة ب2 دولار للنقطة
وعندما يكون الستوب 100 نقطة يتم دخول الصفقة بنصف دولار للنقطة ...وهكذا تكون المخاطرة متساوية فى كل الصفقات وهى 50 دولار فى حالة الخسارة

تحياتى

،،،اهلا بك اخي الفاضل ، يمكن عمل ذلك عن طريق عمل متغير خارجي يتم فيه كتابة مبلغ المخاطرة وليكن في مثالك 50 دولار ثم داخل الاكسبيرت يتم كتابة سطر لقسمة هذا المبلغ علي عدد نقاط الاستوب وليكن 50 وسينتج لديك قيمة الدخول للنقطة الواحدة وفي هذا المثال هو 1 دولار ثم نقوم بالقسمة علي 10 لنحصل علي لوت الدخول 0.1 ،،،

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



مصطفى 17-03-2016 06:19 PM

رد: سؤال برمجى للاستاذ اسلام والاخوة الخبراء
 
اقتباس:

المشاركة الأصلية كتبت بواسطة اسلام العوامى (المشاركة 860830)

،،،اهلا بك اخي الفاضل ، يمكن عمل ذلك عن طريق عمل متغير خارجي يتم فيه كتابة مبلغ المخاطرة وليكن في مثالك 50 دولار ثم داخل الاكسبيرت يتم كتابة سطر لقسمة هذا المبلغ علي عدد نقاط الاستوب وليكن 50 وسينتج لديك قيمة الدخول للنقطة الواحدة وفي هذا المثال هو 1 دولار ثم نقوم بالقسمة علي 10 لنحصل علي لوت الدخول 0.1 ،،،

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



شكرا استاذ اسلام
انا حاولت كتابة الكود لكن فى كل مرة تكون الخسارة مختلفة
ممكن القاء نظرة على هذا الكود لاكسبيرت تقاطع السعر للموفينج انا كتبت متغير المخاطرة risk بالاعلى وسطر القسمة هو
double speed5=risk/SL;
Comment(speed5);
double Lot=speed5/10;
//+------------------------------------------------------------------+
//| ppp.mq4 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| MQL5: automated forex trading, strategy tester and custom indicators with MetaTrader |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict



extern double MagicNumber ;


extern double risk;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---

//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
double ma1,ma2,ma3;

ma1=iMA(NULL,0,15,0,MODE_SMA,PRICE_CLOSE,1);
ma2=iMA(NULL,0,15,0,MODE_SMA,PRICE_CLOSE,2);
ma3=iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,1);

double Speed=MathAbs(ma3-Close[1])/Point;
Comment(Speed);

double Speed2=Speed+400;

double SL,TP;

if ( ma1>ma3&&Close[2]<ma2&&Close[1]>ma1 ){

SL=Ask-Speed2*Point;
TP=Ask+Speed2*Point;

/////////////
double speed5=risk/SL;
Comment(speed5);
double Lot=speed5/10;
//////////////

OrderSend(Symbol(),OP_BUY,Lot,Ask,3,SL,TP,"klk",Ma gicNumber,0,Blue);
PlaySound("Alert.wav");}}



//+------------------------------------------------------------------+

مصطفى 17-03-2016 06:29 PM

رد: سؤال برمجى للاستاذ اسلام والاخوة الخبراء
 
1 مرفق
هذا هو الاكسبيرت

اسلام العوامى 17-03-2016 06:56 PM

رد: سؤال برمجى للاستاذ اسلام والاخوة الخبراء
 
1 مرفق
،،،جرب بعد اضافة التعديل المرفق،،،

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

مصطفى 17-03-2016 10:02 PM

رد: سؤال برمجى للاستاذ اسلام والاخوة الخبراء
 
شكرا استاذ اسلام لكن للاسف فى الباك تست حجم الصفقات الخاسرة بالدولار متغير يفترض انها تكون متساوية
توجد صفقات خاسرة مثلا 1000 دولار وصفقات اخرى خاسرة 500 وصفقات رابحة 400 او 700 وهكذا
والصفقات التى ستوبها كبير مثلا 170 او 200 نقطة لا يتم تقليل اللوت بما يكفى لتكون الخسارة مثلا 50 او 500 دولار كما فى اعدادت الاكسبيرت


الساعة الآن 01:39 PM

Powered by vBulletin® Copyright ©2000 - 2024

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