النتائج 511 إلى 525 من 663
- 04-05-2012, 01:07 AM #511
وكمان فى كود تانى اسهل من الاول
كود PHP:double point;
int init()
{
if(Digits==5||Digits==4)
{
point=0.0001;
}
else{
point=0.01;
}
return(0);
}
- 04-05-2012, 01:52 AM #512
- 04-05-2012, 01:57 AM #513
- 04-05-2012, 02:57 PM #514
شباب
معلش طلب غريب شوية
ياريت اي حد عنده اي مؤشرخ خارجي يكون عبارة عن خط بيظهر علي الشارت و مش مهم يكون بيتحسب ازاي او اي حاجة
- 04-05-2012, 04:12 PM #515
السلام عليكم
انا عملت دالة علشان فتح صفقات شراء
ودالة علشان فتح صفقات بيع
انا عايز اعمل مع كل تقاطع يفتح صفقة شراء او بيع
ويكون عدد صفقات لكل نوع شراء او بيع محدد
مثلا
فى لوحة اعدادات الاكسبيرت
وضعت 2 عدد صفقات الشراء
واوضعت 2 عدد فى صفقات البيع
عايز الاكسبيرت مع كل تقاطع يفتح صفقة واحدة وعند التقاطع الثانى يفتح صفقة الاخرى
ارجو ان وضحت الصورة
المهم انا عملت هذا
ومش عارف صح كدا ولا خطا
ارجو المساعدة
وجزاكم الله خير
كود PHP:int ordestotal1()
{
int buy=0;
for(int a=0;a<OrdersTotal();a++){
OrderSelect(a,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()&&OP_BUY==OrderType()){
buy++;
}
}
return(buy);
}
int ordestotal2()
{
int sell=0;
for(int b=0;b<OrdersTotal();b++){
OrderSelect(b,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()&&OP_SELL==OrderType()){
sell++;
}
}
return(sell);
}
- 04-05-2012, 05:12 PM #516
- 04-05-2012, 05:53 PM #517
- 04-05-2012, 06:28 PM #518
- 05-05-2012, 12:12 AM #519
- 05-05-2012, 12:39 AM #520
طيب انت ممكن تكتب في كود استدعاء المؤشر رقم خط واحد بس يعني مثلا 1 للاحمر 2 للاخضر 0 للذهبي
وعلي العموم خد المؤشر ده
Gann Hi-lo Activator SSL
- 05-05-2012, 12:48 AM #521
- 05-05-2012, 04:51 PM #522
السلام عليكم اخى الكريم اسامة
ارجو المساعدة
عايز الطريقة البرمجية
لفتح صفقة شراء او بيع مع كل تقاطع
ويتم تحديد عدد الصفقات فى لوحة اعدادات الاكسبيرت
وجزاك الله خير
- 05-05-2012, 06:09 PM #523
بص معايا علي الكود ده اولا انت هتحتاج داله تعرفك عدد الصفقات المفتوحة شراء وداله لصفقات البيع
كود PHP:int buyorders(){
int buy=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderType()==OP_BUY && magic==OrderMagicNumber()){
buy++;
}
}
return(buy);
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
int sellorders(){
int sell=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderType()==OP_SELL && magic==OrderMagicNumber()){
sell++;
}
}
return(sell);
}
كود PHP:if ( gann1>gann2&&rsi<50&& buyorders()<5)
طيب في حاجة كمان لو انا سيبت رقم 5 زي ماهو لما الشرط هيتحقق هيفتح 5 صفقات في وقت واحد نعمل ايه؟
هنعرف متغير مثلا اسمه int lastorder;
وقيمته المبدأية طبعا صفر
ونكتب في شروط الشراء ان lastorder لاتساوي 1 بالشكل ده
كود:if ( gann1>gann2&&rsi<50&& lastorder!=1&& buyorders()<5)
نكتب في جسد الشرط مع امر الشراء مثلا ان الشرط لو تحقق وفتح شراء اجعل lastorder تساوي 1مثال
كود PHP:OrderSend (Symbol(),OP_BUY,lot,Ask,0,sl,tp,"rain_man",magic,0,Blue);
lastorder=1;
كود PHP:if (gann1<gann2&&rsi>50&& lastorder!=-1&& sellorders()<5)
كود PHP:OrderSend (Symbol(),OP_SELL,lot,Bid,0,sl,tp,"rain_man",magic,0,Red);
lastorder=-1;
ثانيا دلوقتي لو فتح شراء قيمة lastorder هتتغير وبالتالي مش هايفتح تاني من نفس المكان شراء
لازم ينتظر تقاطع بيع وفتح امر بيع حتي ترجع قيمة lastorder من 1 الي 1-
وبكده يدخل من كل تقاطع مرة واحده ورقم 5 مثلا هيبقي عدد 5 صفقات شراء لـ 5 تقاطعات شراء ولو حصل تقاطع شراء تاني مش هيفتح لانه فتح خلاص 5 شراء
مثال للكود النهائي
طبعا المؤشرات عندي لا تعتمد علي التقاطعات لكن الفكرة واحدة
كود:if ( gann1>gann2&&rsi<50&& lastorder!=1&& buyorders()<maxordersbuy) { if (takeprofit==0){tp=0;}else{tp =Ask+takeprofit*pt;} if (stoplose==0){sl=0;}else{sl =Ask-stoplose*pt;} OrderSend (Symbol(),OP_BUY,lot,Ask,0,sl,tp,"rain_man",magic,0,Blue); lastorder=1; } if (gann1<gann2&&rsi>50&& lastorder!=-1&& sellorders()<maxorderssell) { if(takeprofit==0){tp=0;}else{tp=Bid-takeprofit*pt;} if(stoplose==0){sl=0;}else{sl=Bid+stoplose*pt;} OrderSend (Symbol(),OP_SELL,lot,Bid,0,sl,tp,"rain_man",magic,0,Red); lastorder=-1; }
وmaxordersbuy و maxorderssell دي متغيرات خارجية نتحكم في عددهاآخر تعديل بواسطة rain_man ، 05-05-2012 الساعة 06:28 PM
- 05-05-2012, 09:54 PM #524
- 05-05-2012, 10:37 PM #525
الاكواد في الاكسبرت كانت كده
كود PHP:if(mov1>mov2&&mov3<mov4&&rsi>50&&lastorder!=1&&ordestotal1()<TotalOpenBuy)//نفس المشكلة
{
if(StopLoss==0){st=0;}else{st=Ask-StopLoss*point;}
if(TakeProfit==0){ta=0;}else{ta=Ask+TakeProfit*point;}
OrderSend(Symbol(),OP_BUY,lot,Ask,5,st,ta,"",MagicNumber,0,Blue);
}
if(mov2>mov1&&mov4<mov3&&rsi<50&&lastorder!=-1&&ordestotal2()<TotalOpenSell)//انا عايز يفتح صفقة واحدة مع كل تقاطع وعلى حسب عدد الصفقات
{
if(StopLoss==0){st=0;}else{st=Bid+StopLoss*point;}
if(TakeProfit==0){ta=0;}else{ta=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,lot,Bid,5,st,ta,"",MagicNumber,0,Red);
}
كود PHP:if(mov1>mov2&&mov3<mov4&&rsi>50&&lastorder!=1&&ordestotal1()<TotalOpenBuy)//نفس المشكلة
{
if(StopLoss==0){st=0;}else{st=Ask-StopLoss*point;}
if(TakeProfit==0){ta=0;}else{ta=Ask+TakeProfit*point;}
OrderSend(Symbol(),OP_BUY,lot,Ask,5,st,ta,"",MagicNumber,0,Blue);
lastorder=1;
}
if(mov2>mov1&&mov4<mov3&&rsi<50&&lastorder!=-1&&ordestotal2()<TotalOpenSell)//انا عايز يفتح صفقة واحدة مع كل تقاطع وعلى حسب عدد الصفقات
{
if(StopLoss==0){st=0;}else{st=Bid+StopLoss*point;}
if(TakeProfit==0){ta=0;}else{ta=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,lot,Bid,5,st,ta,"",MagicNumber,0,Red);
lastorder=-1;
}
آخر تعديل بواسطة rain_man ، 05-05-2012 الساعة 10:40 PM