النتائج 1 إلى 5 من 5
- 20-01-2011, 11:17 AM #1
ارجو مساعدة بسيطة لانهاء برمجة اكسبيرت
السلام عليكم, اريد مساعدة بسيطة:-
الاكسبيرت ينظر للشمة المغلقة, و عليها يقوم بفتح اوردر شراء/بيع/او لا يفتح.
الاكسبيرت يفتح صفقة واحدة كل كاندل لان كود &&Time0!=Time[0] موجود في شروط الشراء والبيع ويعمل جيدا.
المشكلة كالتالي:-
الاكسبيرت لا يقوم بعمل Double, ضفت هذا الكود على اعتقاد انه المسؤول عن هذه العملية, اذا لم يكن هو فممكن اعرف ازاي اعمل Double?
هذا الكود لصفقات الشراء ويوجد مثله للبيع. منتظر ردكم و شكرا مقدما.كود PHP://----------------------------- Using Double For Buy Orders ----------------------------------------
int ant;
for(ant = OrdersTotal() - 1; ant >= 0; ant--)
{
if(OrderSelect(ant, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberBuy)
{
if(OrderType()==OP_BUY)
{
if(OrderProfit() < 0.00)
{
Lots=Lots*2 ;
}
}
}
}
}
//------------------------------ End of Using Double For Buy Orders ---------------------------------
آخر تعديل بواسطة abdull1996 ، 20-01-2011 الساعة 11:25 AM
- 20-01-2011, 09:58 PM #2
رد: ارجو مساعدة بسيطة لانهاء برمجة اكسبيرت
للرفع
- 21-01-2011, 10:01 AM #3
رد: ارجو مساعدة بسيطة لانهاء برمجة اكسبيرت
غيرت كل شيء و جعلت الDouble يتحقق عند اغلاق الاوردر لوجود اشارة عكسية:
ولكن ما زال لا يعمل, ارجو المساعدة و في انتظاركم.كود PHP://----------------------------- Closing Sell Orders--------------------------------------
int snt;
for(snt = OrdersTotal() - 1; snt >= 0; snt--)
{
if(OrderSelect(snt, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberSell)
{
if(OrderType()==OP_SELL) // long position is opened
{
OrderClose(OrderTicket(),Lots,OrderClosePrice(),SlipPageClose,Red); // To be closed
if(OrderProfit() < 0.00 &&BuyTime0!=Time[0]) // To Calculate The Profit
{
NewLots=NewLots*Multiplier ;
OrderSend(Symbol(),OP_BUY,NewLots,Ask,SlipPage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Abdu EA",MagicNumberBuy,0,Blue); //int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
BuyTime0=Time[0];
}
}
}
}
}
//------------------------------ End of Closing Sell Orders---------------------------------
- 21-01-2011, 01:42 PM #4
رد: ارجو مساعدة بسيطة لانهاء برمجة اكسبيرت
نظرا تاخير المساعدة, اضطررت للمحاولة الى ان توصلت الى هذا:-
اريد ان اعرف لماذا يعود باول تريد شراء مغلق ثم يثبت على ذلك ولا يقوم بالتحديث الى اخر تيرد مغلق. منتظر ردك و شكراكود PHP:int FindBuyProfit;
for(FindBuyProfit = OrdersHistoryTotal(); FindBuyProfit >= 0; FindBuyProfit--)
{
if(OrderSelect(FindBuyProfit, SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumberBuy)
{
if(OrderType()==OP_BUY)
{
double BuyProfit= OrderProfit();
}
}
}
}
- 21-01-2011, 04:42 PM #5
رد: ارجو مساعدة بسيطة لانهاء برمجة اكسبيرت
السلام عليكم, لقد حلت المشكلة السابقة, المشكلة الحالية تعود الى الDouble فالاكسبيرت يفعل Double بطريقة غريبة, يفتح صفقات باحجام عالية
وانا متاكد من BuyProfit و LastLot و الياقي, فلماذا يعمل الDouble بطريقة خاطئة؟ منتظر ردككود PHP:if (BuyProfit>=0) {LastLot=LotsNormal;}
if (SellProfit>=0) {LastLot=LotsNormal;}
double DoubleLots=LastLot;
if (B1>0.2){
if(BuyProfit<0 &&Time0!=Time[0])
{
DoubleLots=DoubleLots*Multiplier ;
OrderSend(Symbol(),OP_SELL,DoubleLots,Bid,SlipPage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"Abdu EA",MagicNumberSell,0,Red);
Time0=Time[0];
GetLastError( );
}
}
الأكثر زيارة
رد مع اقتباس