ما رأي الإخوة في هذا الكود ؟؟
السلام عليكم و رحمة الله وبركاته
إخواني سعيت إلى برمجة كود يمكنن من تحديد ٱخر صفقتين من هستوري الحساب نوعهما بيعا أو شراء و تحديد هل الصفقة الأخيرة أغلقت على ربح أم خسارة و الصفقة قبل الأخيرة أغلقت على ربح أم خسارة...
الكود الذي برمجته :
كود PHP:
/////////////////////////////////////// Checking last order positions ///////////////////////////////////////////////////////////
int cnts = OrdersHistoryTotal();
double profit_1 = 0.0;
int LastOrderType_1 = -1;
double profit_2 = 0.0;
int LastOrderType_2 = -1;
int k = 0;
for (int j=0 ; j < cnts; j++)
{
if (!OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == 1990 )
{
LastOrderType_1 = OrderType();
profit_1 = OrderProfit();
k = j - 1;
while( k < cnts )
{
if (!OrderSelect(k, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == 1990)
{
LastOrderType_2 = OrderType();
profit_2 = OrderProfit();
}}
}
}
bool StopBuyPositions = False;
bool StopSellPositions = False;
if( profit_1 < 0 && profit_2 < 0 && LastOrderType_1 == LastOrderType_2 && LastOrderType_1 == OP_BUY)
{ StopBuyPositions = True;
Print("StopBuyPositions");}
if( profit_1 < 0 && profit_2 < 0 && LastOrderType_1 == LastOrderType_2 && LastOrderType_1 == OP_SELL)
{StopSellPositions = True;
Print("StopSellPositions");}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
أريد طريقة عمل الكود كالتي :
1/ في حالة الصفقة الأخير و قبل الأخيرة الإثنين بيع ( نفس النوع ) و أغلقا الإثنين على خسارة :
StopSellPositions = True
2/ في حالة الصفقة الأخير و قبل الأخيرة الإثنين شراء ( نفس النوع ) و أغلقا الإثنين على خسارة :
StopBuyPositions = True
رد:ما رأي الإخوة في هذا الكود ؟؟
اقتباس:
المشاركة الأصلية كتبت بواسطة Julien145
السلام عليكم و رحمة الله وبركاته
إخواني سعيت إلى برمجة كود يمكنن من تحديد ٱخر صفقتين من هستوري الحساب نوعهما بيعا أو شراء و تحديد هل الصفقة الأخيرة أغلقت على ربح أم خسارة و الصفقة قبل الأخيرة أغلقت على ربح أم خسارة...
الكود الذي برمجته :
كود PHP:
/////////////////////////////////////// Checking last order positions ///////////////////////////////////////////////////////////
int cnts = OrdersHistoryTotal();
double profit_1 = 0.0;
int LastOrderType_1 = -1;
double profit_2 = 0.0;
int LastOrderType_2 = -1;
int k = 0;
for (int j=0 ; j < cnts; j++)
{
if (!OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == 1990 )
{
LastOrderType_1 = OrderType();
profit_1 = OrderProfit();
k = j - 1;
while( k < cnts )
{
if (!OrderSelect(k, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == 1990)
{
LastOrderType_2 = OrderType();
profit_2 = OrderProfit();
}}
}
}
bool StopBuyPositions = False;
bool StopSellPositions = False;
if( profit_1 < 0 && profit_2 < 0 && LastOrderType_1 == LastOrderType_2 && LastOrderType_1 == OP_BUY)
{ StopBuyPositions = True;
Print("StopBuyPositions");}
if( profit_1 < 0 && profit_2 < 0 && LastOrderType_1 == LastOrderType_2 && LastOrderType_1 == OP_SELL)
{StopSellPositions = True;
Print("StopSellPositions");}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
أريد طريقة عمل الكود كالتي :
1/ في حالة
الصفقة الأخير و قبل الأخيرة الإثنين بيع ( نفس النوع ) و أغلقا الإثنين
على خسارة :
StopSellPositions = True
2/ في حالة
الصفقة الأخير و قبل الأخيرة الإثنين شراء ( نفس النوع ) و أغلقا الإثنين
على خسارة :
StopBuyPositions = True
جرب الدالة دي
كود PHP:
void Last2(){
for(int i =0;i<=OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol() && OrderType()==OP_BUY && OrderProfit()<0){
if(OrderSelect(i-1,SELECT_BY_POS,MODE_HISTORY)){
if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol() && OrderType()==OP_BUY && OrderProfit()<0)
StopBuyPositions = True; else StopBuyPositions=false;
}
}
if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderProfit()<0){
if(OrderSelect(i-1,SELECT_BY_POS,MODE_HISTORY)){
if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderProfit()<0)
StopSellPositions = True; else StopSellPositions=false;
}
}
}
}
وقم بتعريف المتغيرات المنطقية خارج الدوال ( يعني ضعها أسفل المتغيرات الخارجية مثلا بحيث تكون خارج أي دالة )
كود PHP:
bool StopBuyPositions=false;
bool StopSellPositions=false;
ولو الدالة ما إشتغلتش معاك يبقى أعذرني لإني بتابع من لاب توب ميني والكتابة والقراءة عليه صعبة جدا وعيني إتحرقت وبعد ما بكتب أي حاجة مبعرفش أرقرأها بعد كده :)
رد:ما رأي الإخوة في هذا الكود ؟؟
اقتباس:
المشاركة الأصلية كتبت بواسطة amazing
بارك الله فيك هل بالامكان اضافة تحديد مقدار تراجع السعر في الصفقات (درادون لكل صفقه) مثلا بلنسبه مأويه 30% من الصفقات تراجع السعر من نقطة الدخول بمقدار 20 نقطه و 50% بمقدار 30 نقطه و..ز هكذا و شكرا
فكرة جيدة أخي الكريم