النتائج 2,686 إلى 2,700 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 30-08-2012, 11:27 AM #2686
- 31-08-2012, 01:34 AM #2687
نعم في هذه الحالة سيدخل مره أخرى
يمكنك عمل داله لمعرفة رقم الشمعه التي تحقق فيها آخر إشارة وفتحت فيها الصفقه وبالتالي عند البحث لن تبحث إلا في الشمعات الجديده المتكونه فقط سواء كانت ثلاث شمعات أو أقل في حال كانت الصفقه فتحت في الشمعه السابقه
مثال
كود PHP:int LastCandleOrder(int type){
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
datetime time=OrderOpenTime();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
return(iBarShift(Symbol(),0,time,false);
}
}
return(3);
}
كود PHP:for(int i=1;i<=MathMin(LastCandleOrder(OP_SELL),3);i++){
double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,i);
double stoch=iStochastic(Symbol(),0,5,3,3,0,0,MODE_MAIN,i);
if(rsi>70)RSI_sell_Signal=true;
if(stoch>80)Stoch_Sell_Signal=true;
}
- 31-08-2012, 12:34 PM #2688
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، اريد دالة تسمح بإغلاق كل الصفقات المفتوحة على المنصة(عن طريق اكسيبرت او يدوى) ، وهل يمكن ان يحدث تعارض فـ إغلاق الصفقات اذا تم وضع هذه الدالة فـ أكثر من اكسيبرت ووضعهم للعمل معا على المنصة !!
انا استخدمت هذه الدالة للإغلاق
كود PHP:void CloseOrders(){
int _total=orderstotal();
int type;
if (_total==0) {return;}
int ticket;double priceClose;
for (int b=_total;b>=0;b--){
if(OrderSelect(b,SELECT_BY_POS)){
type=OrderType();
ticket=OrderTicket();
switch(type){
case OP_BUY:
priceClose=MarketInfo(OrderSymbol(),MODE_BID);
OrderClose(ticket,OrderLots(),priceClose,slippage*Q);
break;
case OP_SELL:
priceClose=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(ticket,OrderLots(),priceClose,slippage*Q);
break;
default:
break;
}
}
}
}
- 31-08-2012, 01:06 PM #2689
رد:موضوع مخصص للأسئلة البرمجية
بارك الله فيك ، وقد تم عمل موضوع من قبل مشابه لهذه الفكرة ولكن توقف الموضوع ، عسى ان يكون المانع خير .
https://forum.arabictrader.com/t118557.html
- 01-09-2012, 03:36 AM #2690
هلا فيك استاذ اسامه حاولت لكن لم افلح بالنسبه للمضاعفات مع الهدج تلخبط علي الوضع وجدة دالة تحسب المجموع للنقاط لكن لم افلح في عمل دالة للمضاعفات مع الهدج اتمنا كتابتها ولك تحياتي يا بطل
- 01-09-2012, 09:10 AM #2691
رد:موضوع مخصص للأسئلة البرمجية
يعني الآن بعد إضافة داله لمعرفة رقم الشمعه التي تحقق فيها آخر إشارة سيكون شكل الحلقة :
كود PHP:bool RSI_sell_Signal=false,Stoch_Sell_Signal=false;
for(int i=1;i<=MathMin(LastCandleOrder(OP_SELL),3);i++){
double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,i);
double stoch=iStochastic(Symbol(),0,5,3,3,0,0,MODE_MAIN,i);
if(rsi>70)RSI_sell_Signal=true;
if(stoch>80)Stoch_Sell_Signal=true;
}
if(RSI_sell_Signal==true&&Stoch_Sell_Signal==true)//sell
كود PHP:
bool RSI_buy_Signal=false,Stoch_buy_Signal=false;
for(int i=1;i<=MathMin(LastCandleOrder(OP_BUY),3);i++){
double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,i);
double stoch=iStochastic(Symbol(),0,5,3,3,0,0,MODE_MAIN,i);
if(rsi<30)RSI_buy_Signal=true;
if(stoch<20)Stoch_buy_Signal=true;
}
if(RSI_buy_Signal==true&&Stoch_buy_Signal==true)//buy
و إذا أردت أن تكون دالة البحث عن آخر إشارة لخمس شمعات مثلا هل أغير
كود PHP:return(3);
كود PHP:return(5);
___________________
وهل من الممكن أن أستخدم الحلقة الأولى
كود PHP:bool RSI_sell_Signal=false,Stoch_Sell_Signal=false,RSI_Buy_Signal=false,Stoch_Buy_Signal=false;
for(int i=1;i<=3;i++){
double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,i);
double stoch=iStochastic(Symbol(),0,5,3,3,0,0,MODE_MAIN,i);
if(rsi>70)RSI_sell_Signal=true;
if(stoch>80)Stoch_Sell_Signal=true;
if(rsi<30)RSI_Buy_Signal=true;
if(stoch<20)Stoch_Buy_Signal=true;
}
if(RSI_sell_Signal==true&&Stoch_Sell_Signal==true)//sell
كود PHP:int LastCandleOrder(int type){
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
datetime time=OrderOpenTime();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
return(iBarShift(Symbol(),0,time,false);
}
}
return(3);
}
مثلا:
كود PHP:if(RSI_sell_Signal==true&&Stoch_Sell_Signal==true)&&(LastCandleOrder(OP_SELL),3)==1//sell
و جزاك الله كل خير .
- 01-09-2012, 09:28 AM #2692يعني الآن بعد إضافة داله لمعرفة رقم الشمعه التي تحقق فيها آخر إشارة سيكون شكل الحلقة :
كود PHP:bool RSI_sell_Signal=false,Stoch_Sell_Signal=false;
for(int i=1;i<=MathMin(LastCandleOrder(OP_SELL),3);i++){
double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,i);
double stoch=iStochastic(Symbol(),0,5,3,3,0,0,MODE_MAIN,i);
if(rsi>70)RSI_sell_Signal=true;
if(stoch>80)Stoch_Sell_Signal=true;
}
if(RSI_sell_Signal==true&&Stoch_Sell_Signal==true)//sell
كود PHP:
bool RSI_buy_Signal=false,Stoch_buy_Signal=false;
for(int i=1;i<=MathMin(LastCandleOrder(OP_BUY),3);i++){
double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,i);
double stoch=iStochastic(Symbol(),0,5,3,3,0,0,MODE_MAIN,i);
if(rsi<30)RSI_buy_Signal=true;
if(stoch<20)Stoch_buy_Signal=true;
}
if(RSI_buy_Signal==true&&Stoch_buy_Signal==true)//buy
و إذا أردت أن تكون دالة البحث عن آخر إشارة لخمس شمعات مثلا هل أغير
كود PHP:return(3);
كود PHP:return(5);
___________________
وهل من الممكن أن أستخدم الحلقة الأولى
كود PHP:bool RSI_sell_Signal=false,Stoch_Sell_Signal=false,RSI_Buy_Signal=false,Stoch_Buy_Signal=false;
for(int i=1;i<=3;i++){
double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,i);
double stoch=iStochastic(Symbol(),0,5,3,3,0,0,MODE_MAIN,i);
if(rsi>70)RSI_sell_Signal=true;
if(stoch>80)Stoch_Sell_Signal=true;
if(rsi<30)RSI_Buy_Signal=true;
if(stoch<20)Stoch_Buy_Signal=true;
}
if(RSI_sell_Signal==true&&Stoch_Sell_Signal==true)//sell
كود PHP:int LastCandleOrder(int type){
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
datetime time=OrderOpenTime();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
return(iBarShift(Symbol(),0,time,false);
}
}
return(3);
}
مثلا:
كود PHP:if(RSI_sell_Signal==true&&Stoch_Sell_Signal==true)&&(LastCandleOrder(OP_SELL),3)==1//sell
و جزاك الله كل خير .آخر تعديل بواسطة dentist_hussein ، 01-09-2012 الساعة 09:49 AM
- 01-09-2012, 11:19 AM #2693
السلام عليكم
الرجاء المساعده من الخبراء
عندى مؤشر اسهم يعطى قيمتين ولكنه بالصيغه التنفيذيه واردت ان اعمل له اكسبيرت فاستخدمت الداله comment لاستخراج قيمه الاسهم التى تظهر سواء للشراء او للبيع وظهرت لى قيمه سهم الشراء -1 وقيمه سهم البيع 1.3204 واحيانا تزيد القيمه المهم انها بالموجب فكتبت فى الشروط ان لو المتغير s قيمته اكبر من 1 يفتح بيع والمتغير b قيمته اقل من 1 يفتح شراء فاصبح يفتح صفقات الشراء فقط ولا يفتح بيع
فما الحل لهذه المشكله
- 01-09-2012, 12:01 PM #2694
رد:موضوع مخصص للأسئلة البرمجية
أستاذ أسامة والاخوة المبرمجين بارك الله فيكم وفي عملكم
أحاول بناء مربع التسعة برمجيا (مربع جان) ولكن ظهرت لي مشكلة في ان المصفوفة لا تأخذ اي قيمة وتبقى دائما تساوي الصفر فاين هو الخطأ بارك الله فيكم:
وهذا هو الكود المستخدم:
كود PHP://+------------------------------------------------------------------+
//| Square Nine.mq4 |
//| Turkm |
//| |
//+------------------------------------------------------------------+
#property copyright "Turkm"
#property link ""
#property indicator_chart_window
extern int size=23;
int array[23][23];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
int counter=1,class_H,class_V;
class_H=(size-1)/2; class_V=(size+1)/2;
for(int i=1; i<=23; i++)
{
for(int i_1=0; i_1<i; i_1++)
{
counter++;
array[class_V-i_1][class_H+i_1]= counter;
}
for(int i_2=0; i_2<i; i_2++)
{
counter++;
array[class_V-i_2-1][class_H+i_2]= counter;
}
for(int i_3=0; i_3<i; i_3++)
{
counter++;
array[class_V-i_3-1][class_H+i_3+1]= counter;
}
for(int i_4=0; i_4<i; i_4++)
{
counter++;
array[class_V-i_4-1][class_H+i_4+2]= counter;
}
for(int i_5=0; i_5<i; i_5++)
{
counter++;
array[class_V-i_5][class_H+i_5+2]= counter;
}
for(int i_6=0; i_6<i; i_6++)
{
counter++;
array[class_V-i_6+1][class_H+i_6+2]= counter;
}
for(int i_7=0; i_7<i; i_7++)
{
counter++;
array[class_V-i_7+1][class_H+i_7+1]= counter;
}
for(int i_8=0; i_8<i; i_8++)
{
counter++;
array[class_V-i_8+1][class_H+i_8]= counter;
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
Comment( " ",array[0][0]," ",array[1][1]," ",array[2][2]
," ",array[3][3]," ",array[4][4]," ",array[5][5]
," ",array[6][6]," ",array[7][7]," ",array[8][8]
," ",array[9][9]," ",array[10][0]," ",array[11][0]
," ",array[12][0]," ",array[13][0]," ",array[14][0]);
//----
return(0);
}
//+------------------------------------------------------------------+
- 01-09-2012, 12:04 PM #2695
- 01-09-2012, 12:14 PM #2696
- 01-09-2012, 12:18 PM #2697
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم أخي أسامه ...
قمت بإستخدام هذه الأكواد لفتح أوامر معلقة سيل ستوب و باي ستوب و أحدد عدد الأوامر من الخارج و الفرق بين الأوامر :
كود PHP:
//////////// 1- put the buy sop///////////
if(Hour()==HourStarting){
for(i=1;i<=NumberOfOrders;i++)
{
double bs=Ask+(i*Step*point);
if(TakeProfit==0){TP=0;}else{TP=bs+TakeProfit*point;}
if(StopLoss==0){SL=0;}else{SL=bs-StopLoss*point;}
OrderSend(Symbol(),OP_BUYSTOP,Lots,bs,3,SL,TP,"Expert EA",MagicNumber,0,Red);
}
}
///////////////////////////////////////////////////////////////////////////////////////////
///////////////2- put the sell stop//////////////
if(Hour()==HourStarting){
for(i=1;i<=NumberOfOrders;i++)
{
double ss=Bid-(i*Step*point);
if(TakeProfit==0){TP=0;}else{TP=ss-TakeProfit*point;}
if(StopLoss==0){SL=0;}else{SL=ss+StopLoss*point;}
OrderSend(Symbol(),OP_SELLSTOP,Lots,ss,3,SL,TP,"Expert EA",MagicNumber,0,Red);
}
}
- إذا أغلقت الصفقة على ربح يتم إعادة وضع أمر معلق من نفس النقطة و لكنها بالطبع سوف تكون ليميت .
- إذا أغلقت على خسارة يتم فتح مضاعفات حتى الإغلاق على ربح ثم وضع أمر معلق أيضا من نفس النقطة قبل ان تغلق الصفقة على خسارة وتبدأ في المضاعفات وسيكون ليميت أيضا ... ولكن يؤخذ بالحسبان أنه قد يتفعل أحد الأوامر المعلقه أثناء المضاعفات وقد تصل للهدف أو تبدأ بالمضاعفات هي الأخرى .
يالنسبه لوضع أمر معلق بعد الإغلاق على ربح هل من الممكن أن أستدعي سعر إفتتاح آخر صفقه و أجعله سعر الليميت ؟؟
و بالنسبه للمضاعفات هل أجعل الشرط إذا أغلقت آخر صفقة على خسارة وكانت شراء مثلا يتم فتح شراء بلوت تكون قيمته آخر لوت مضروب في قيمة المضاعفة ؟؟
و أستخدم هذه الداله ؟؟ :
كود PHP:string last;
for(int i=OrdersHistoryTotal();i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
double Last_lots,Last_SL,Last_openprice;
//for buy order
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss";
Last_lots=OrderLots();
Last_SL=OrderStopLoss();
Last_openprice=OrderOpenPrice();
//for SELL order
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss";
Last_lots=OrderLots();
Last_SL=OrderStopLoss();
Last_openprice=OrderOpenPrice();
break;
}
}
if( X_Multiplier && last=="loss" )
{newLot=Multiplier*Last_lots;}
- 01-09-2012, 12:19 PM #2698
رد:موضوع مخصص للأسئلة البرمجية
اخى turkm مرفق المؤشر والاكسبيرت
وجزاك الله كل خير
- 01-09-2012, 01:40 PM #2699
- 01-09-2012, 01:40 PM #2700
رد:موضوع مخصص للأسئلة البرمجية
بعد إذن أخي turkm أجيب على أخي العوامى
هذا المؤشر أخي هو المؤشر المعروف و المستخدم في كثير من الإستراتيجيات و الإكسبيرتات المعروف ب Auto Recommendations هو يأخذ قيم سالبه حين لا يظهر و يأخذ قيمة موجبة بداية من 1 و أكبر حين يظهر على الشارت .
و إستدعاءالمؤشر في حالة ظهور سهم الشراء يكون بالكود التالي
كود PHP:double B=iCustom(NULL,0,"M.aly Strategy",2,1);
كود PHP:double S=iCustom(NULL,0,"M.aly Strategy",3,1);
ومن الافضل جعل رتبة الشمعة رقم 1 حتى يثبت السهم ...
و ستجعل شرط الشراء
كود PHP:if (B>1 )
كود PHP:if (S>1 )
آخر تعديل بواسطة dentist_hussein ، 01-09-2012 الساعة 01:45 PM
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM