النتائج 1 إلى 15 من 28
الموضوع: الاكسبيرت "الرابح" بإذن الله
- 01-01-2008, 12:52 AM #1
الاكسبيرت "الرابح" بإذن الله
بسم الله الرحمن الرحيم
كل عام وأنتم بخير
وان شاء الله يكون عام 2008 عام خير بإذن الله
لقد اكملت عامي الاول في الفوركس وجربت العديد من الاستراتيجيات على الحساب الحقيقي والتجربيبي - ولأني من غير المتفرغين - كنت ابحث فقط على الاستراتيجيات البسيطة فقط و التي تعتمد على الشارت اليومي او الابع ساعات فقط ، والحمد لله وجدت بعض الاستراتيجيات واخترعت بعض الاستراتيجيات ، ولكن هذه الاستراتيجيات متوسطة (تربح في بعض الاجيان وتخسر في بعض الاحيان)
لذلك وجدت انه لا بد من اتباع طريقة زيادة العقود وفتحت هذا الموضوع
وتوصلت لطريقة حسابية تجعلك لا تخسر بإذن الله
فالطريقة تشترط ان يتحمل حسابك (5000) نقطة بإستوب (20 + اسبريد "5"على الاكثر) وهدف (100 على الاقل) وسأرفق لكم صورة عن ملف الاكسل غداً ان شاء الله
يجب ان اقول لكم ان هذه الطريقة لا تتحمل اكثر من (20 خسارة متتالية فقط)
وسأرفق لكم ايضاً اكسبيرت عادي به بعض الخيارات (ينقصه شرط الشراء والبيع فقط ، وسأقول لكم بعض الاستراتيجيات التي اعتمدت عليها لاحقاً)
والمطلوب من الاخوة المبرمجين وفي مقدمتهم وضاح و نبيل مساعدتي في اضافة شرط زيادة العقود حسب صورة ملف الاكسل الذي سأرفقه
من سيتطوع للتعديل على الاكسبيرت ليصل لشكله النهائي؟
وبإنتظار آرائكمآخر تعديل بواسطة wajdyss ، 01-01-2008 الساعة 12:59 AM
- 01-01-2008, 02:22 AM #2
- 01-01-2008, 05:57 AM #3
رد: الاكسبيرت "الرابح" بإذن الله
نعم أخي اطرح طريقتك التي عندك
وسوف نعمل سوية لعمل اكسبيرت لها لاختبار الطريقة .
- 01-01-2008, 06:02 AM #4
رد: الاكسبيرت "الرابح" بإذن الله
لي شهور في تجربة طرق المضاعفات المختلفة، والحق يقال: لها بريق خاص وجاذبية قوية
لكن خطورتها لا ينكرها أحد
وإلى الآن صادفني مارجن كول في أكثر من 6 حسابات!! وكانت الحسابات تتحمل ما بين 10 آلاف نقطة إلى 30000 نقطة!!
لذلك أرى أن 5000 نقطة صغيرة إلى حد ما، لكن لا أجزم حتى أطّلع على طريقة عملك
فاطرح الطريقة بارك الله فيك، ولن يتأخر الإخوة عن مساعدتك إن شاء الله
وبالتوفيق
- 01-01-2008, 06:07 AM #5
رد: الاكسبيرت "الرابح" بإذن الله
انشاء الله يكون رابح وبارك الله فيك
- 01-01-2008, 10:22 PM #6
رد: الاكسبيرت "الرابح" بإذن الله
شكراً لردودكم
المضاعفات شيء خطير وتوصلك للمارجن كول لا سمح الله
لذلك وضعت حساباتي بحيث يتحمل الحساب 20 خسارة متتالية
وفي الوضع الطبيعي (بدون زيادة عدد اللوتات) يكون الدخول بـ 5% من الحساب، يعني ان الحساب لا يتحمل اكثر من 20 صفقة خاسرة متتالية، ولو فرضنا انه بعد 10 صفقات خاسرة ربحت صفقة بـ 15% تكون النسبة هي خسارة 35% من الحساب
ولكن بهذه الطريقة بعد 10 أو 15 أو 19 صفقة خاسرة ثم اتت صفقة رابحة واحدة فبذلك تكون قد عوضت جميع خسارتك
انا لا أوكد نجاح او خسارة اي طريقة في الفوركس لآنه بحر واسع مليء بالارباح والخسائر
والتجربة هي افضل الطرق للحكم
شاهدوا هذا الجدول اولاً وبإنتظار ارائكمآخر تعديل بواسطة wajdyss ، 01-01-2008 الساعة 10:29 PM
- 02-01-2008, 05:40 PM #7
رد: الاكسبيرت "الرابح" بإذن الله
هذا كود اكسبيرت ينقصه شرط الشراء والبيع (سنضعها لاحقاً)
ارجو التعديل عليه بحيث يفتح صفقات كما في الجدول السابق
بمعنى يبدأ بلوت (1 ثم 1 ثم 1 ثم 1 ثم 1 ثم 2 ثم 2 ثم 3 ثم 3 ثم 4 ثم 5 ثم 6 ثم 8 ثم 10 ثم 12 ثم 15 ثم 19 ثم 24 ثم 30 ثم 37)
طبعاً هذه الزيادة في حالة ضرب الاستوبات المتتالية
(الاستوب 20 نقطة)
وعند تحقيق الهدف يبدأ من جديد
(الهدف 105 نقاط)
ارجو ان تكون الفكرة واضحة
وهذا هو الكودكود PHP:[center]//| This MQL is generated by Expert Advisor Builder |
//| http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/ |
//| |
//| In no event will author be liable for any damages whatsoever. |
//| Use at your own risk. |
//| |
//+------------------- DO NOT REMOVE THIS HEADER --------------------+
#define SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
#property copyright "Expert Advisor Builder"
#property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"
extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = True;
extern double Lots = 1.0;
extern int Slippage = 1;
extern bool UseStopLoss = True;
extern int StopLoss = 20;
extern bool UseTakeProfit = True;
extern int TakeProfit = 100;
extern bool UseTrailingStop = False;
extern int TrailingStop = 0;
extern bool AutoClose=false;
int BarCount;
int Current;
bool TickCheck = False;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() {
BarCount = Bars;
if (EachTickMode) Current = 0; else Current = 1;
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() {
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start() {
int Order = SIGNAL_NONE;
int Total, Ticket;
double StopLossLevel, TakeProfitLevel;
if (AutoClose==true && Hour()==23)
{
CloseOrders(MagicNumber);
}
if (EachTickMode && Bars != BarCount) TickCheck = False;
Total = OrdersTotal();
Order = SIGNAL_NONE;
//+------------------------------------------------------------------+
//| Variable Begin |
//+------------------------------------------------------------------+
double Buy1_1 = iClose(NULL, 0, Current + 0);
double Buy1_2 = iLow(NULL, 0, Current + 1);
double Sell1_1 = iClose(NULL, 0, Current + 0);
double Sell1_2 = iHigh(NULL, 0, Current + 1);
//+------------------------------------------------------------------+
//| Variable End |
//+------------------------------------------------------------------+
//Check position
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
IsTrade = True;
if(OrderType() == OP_BUY) {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Buy) |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Signal End(Exit Buy) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop) {
if(OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
} else {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Sell) |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Signal End(Exit Sell) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Signal Begin(Entry) |
//+------------------------------------------------------------------+
if ( شرط الشراء ) Order = SIGNAL_BUY;
if ( شرط البيع ) Order = SIGNAL_SELL;
//+------------------------------------------------------------------+
//| Signal End |
//+------------------------------------------------------------------+
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
//Sell
if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("SELL order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
} else {
Print("Error opening SELL order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
if (!EachTickMode) BarCount = Bars;
return(0);
}
//+------------------------------------------------------------------+
int CloseOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
if(OrderClose(OrderTicket(),OrderLots(),Bid,3)==false)
{
RefreshRates();
}
else
{
cnt=0;
total=OrdersTotal();
}
}
if (OrderType()==OP_SELL)
{
if(OrderClose(OrderTicket(),OrderLots(),Ask,3)==false)
{
RefreshRates();
}
else
{
cnt=0;
total=OrdersTotal();
}
}
}
}
return(0);
}
[/center]
آخر تعديل بواسطة wajdyss ، 02-01-2008 الساعة 05:54 PM
- 04-01-2008, 01:48 AM #8
- 04-01-2008, 11:41 AM #9
- 04-01-2008, 11:44 AM #10
- 04-01-2008, 11:45 AM #11
- 04-01-2008, 12:07 PM #12
رد: الاكسبيرت "الرابح" بإذن الله
أخي الكريم هل ستكون الصفقات بنفس الاتجاه أم كل صفقة نعكس الاتجاه من بيع الى شراء
- 04-01-2008, 03:32 PM #13
رد: الاكسبيرت "الرابح" بإذن الله
اخي الكريم
عندي 3 استراتيجيات اريد ان اجربها على هذا الاكسبيرت، لذلك وضعت شرطي الشراء والبيع فارغين في الكود السابق
والآن نبدأ بشرح الاستراتيجية الاولى على بركة الله
وهي استراتيجية يومية على زوج (اليورو ين) وقد تعرفت عليها عن طريق الاخ جورج وشكراً جزيلاً له، وقد عملت لها باك تيست من 1\1\2007 وحتى شهر 9\2007 ووجدت انها جيدة وفعلت بدأت تطبيقها على الحقيقي ، ولكن في شهري 11 و 12 \2007 ونظراً للتذبذب لم تنجح ولم تخسر حيث اني لم اخسر سوى 2 أو 3% فقط
لذلك فكرت في زيادة عدد اللوتات عند الوقف المتكرر وهو موضح بالجدول السابق واتوقع نجاح كبير لها ، وأنا وضعت احتمال لـ 20 وقف متتالي مع ان هذه الطريقة لم يضرب بها الوقف معي اكثر من 4 أو 5 مرات متتالية فقط ، لذلك انا متفائل بها كثيراً واتوقع لها ربح لا يقل عن 10% شهرياً ان شاء الله ، وارجو ممن يستفيد من الاكسبيرت الدعاء لكل من ساهم به ولآبائنا وان يتبرع بما تجود به نفسه من الربح لعل الله يرحمنا ويرزقنا بفضله ويدخلنا جناته انا والجميع ان شاء الله .
طريقة عمل الاكسبيرت المطلوب
في بداية كل يوم جديد يضع الاكسبيرت اوردرين (buy stop + sell stop)
شرط الشراء هو وصول السعر لآعلى سعر للأمس + 10 نقاط
وشرط البيع هو وصول السعر لأقل سعر للأمس - 10 نقاط
وطبعاً الوقف 20 نقطة غير الاسبريد
والهدف (100 نقطة غير الاسبريد، أو هدف مفتوح) سنجرب الطريقتين ولكني افضل الهدف المفتوح
ويجب اغلاق جميع الاوردرات والصفقات المفتوحة نهاية اليوم سواءً رابحة او خاسرة
اذا ضرب الوقف هناك احتمالين ويا ريت يكون هناك متغير خارجي منطقي لهذين الاحتمالين
الاول) انتظار تفعيل الصفقة المعاكسة
الثاني) وضع اوردر جديد للصفقة الخاسرة (buy limit or sell limit) بنفس الشرط السابق
وأنا افضل الخيار الثاني
ارجو ان تكون الفكرة قد وضحت
ولكن الرجاء اضافة الاكواد الجديدة على الاكسبيرت الموجود في المشاركة الاولى
وشكراً مقدماًآخر تعديل بواسطة wajdyss ، 04-01-2008 الساعة 03:45 PM
- 04-01-2008, 07:45 PM #14
- 05-01-2008, 09:45 AM #15
رد: الاكسبيرت "الرابح" بإذن الله
أخي الكريم هناك نقاط غير واضحة أرجو توضيحها و هي
لنفرض أن الباي ستوب الواقع فوق هاي اليوم السابق بعشر نقاط قد تفعل بهدف 105 و استوب 20
و لنفرض أنه ضرب الاستوب
هنا بحسب الاحتمالين الذين وضعتهما
الاول يقول انتظار تفعيل الصفقة المعاكسة اذن أين ستكون الصفقة المعاكسة
و الثاني يقول وضع اوردر جديد للصفقة الخاسرة بنفس الشروط أين سيكون الاوردر الجديد
من المعلوم عن المضاعفات أن الاوردر يكون في نقطة الاستوب و لكن من كلامك فهمت غير ذلك
أرجو التوضيح
المواضيع المتشابهه
-
القناة الفضائية العربية الاولى المتخصصة في الفوركس ،،، """"""""
By (عدي) in forum استراحة اعضاء المتداول العربيمشاركات: 22آخر مشاركة: 22-04-2024, 10:59 AM -
قراءات رقمية يومية للأزواج " GBPUSD - EURUSD - AUDUSD " بإذن الله
By عاشقهامدينة in forum توقعات وتوصيات سوق العملاتمشاركات: 959آخر مشاركة: 02-01-2009, 02:43 PM -
قراءات رقمية يومية للأزواج " GBPUSD - EURUSD - AUDUSD " بإذن الله
By عاشقهامدينة in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 10آخر مشاركة: 18-11-2008, 08:29 PM -
كلمات تجعل من لا يصلي " يصلــي "بإذن الله
By تلميذ الايام in forum استراحة اعضاء المتداول العربيمشاركات: 6آخر مشاركة: 18-08-2008, 01:11 PM -
كلمات تجعل من لا يصلي " يصلــي " بإذن الله ...؟ الاتريد ان تصلى
By hadi75m in forum استراحة اعضاء المتداول العربيمشاركات: 8آخر مشاركة: 14-09-2006, 08:55 AM