موقع بورصات
  بورصات
تسجيل عضوية جديدة في المنتديات لوحة تحكم العضو البحث في المنتديات تسجيل الخروج الرئيسية الاتصال بنا

منتدى العملات العام لمتابعة كل ما يتعلق بتجارة العملات الاجنبية والذهب والنفط من اخبار وطرق المتاجرة وتحليلات ، قسم التوصيات – توصيات العملات لمتابعة توصيات ونقاط الدخول والخروج على مختلف العملات ، منتدى الدروس التعليمية يحتوي على دروس تعليمية لسوق العملات والتحليل الفني والاساسي وادارة رأس المال ، منتدى المؤشرات والاكسبيرتات يحتوي على اهم المؤشرات مع شرح لها بالاضافة الى بعض الدروس

العودة   بورصات > بورصة العملات الاجنبية > منتدى المؤشرات و الاكسبرتات

أسئلة فى البرمجة

منتدى المؤشرات و الاكسبرتات

Like Tree1Likes

إضافة رد
 
أدوات الموضوع
قديم 13 - 04 - 2013, 03:13 AM   #11
عضو جديد
 
الصورة الرمزية simous
 

افتراضي رد: أسئلة فى البرمجة

رد: أسئلة فى البرمجة
السؤال الثالث:

كيف يمكن أخبار الأكسبرت أن يقوم بأغلاق كل العقود المفتوحة عن طريقه عند الوصول الى أجمالى ايكويتى موجب بالنقاط بحيث يمكن تحديد عدد نقاط معين يغلق عنده.



التوقيع:


simous غير متواجد حالياً   رد مع اقتباس
قديم 13 - 04 - 2013, 12:37 PM   #12
مشرف المؤشرات والاكسبرتات
 
الصورة الرمزية سمير محمد ارمان
 

افتراضي رد: أسئلة فى البرمجة

اقتباس:
المشاركة الأصلية كتبت بواسطة simous مشاهدة المشاركة
السؤال الثالث:

كيف يمكن أخبار الأكسبرت أن يقوم بأغلاق كل العقود المفتوحة عن طريقه عند الوصول الى أجمالى ايكويتى موجب بالنقاط بحيث يمكن تحديد عدد نقاط معين يغلق عنده.
السلام عليكم اخى الكريم
دالة بتحسب الربح
[PHP]double pofet(){

double pr;
for(int p=0;p<OrdersTotal();p++){
OrderSelect(p,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNumber&&OrderType()<=1 ){
pr=pr+OrderProfit();
}

}return(pr);
} [/PHP]


وفى دالة : int start
[PHP]if(pofet()>=win_USD)CloseDeleteAll();[/PHP]
ويتم وضع متغير خارجى
[PHP]extern int win_USD=25;[/PHP]
ويتم وضع دالة CloseDeleteAll خارج دالة int start
[PHP] void CloseDeleteAll()
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
{
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()= =Symbol()){
switch(OrderType())
{
case OP_BUY :
{
if(!OrderClose(OrderTicket(),OrderLots(),MarketInf o(OrderSymbol(),MODE_BID),0,Violet))
return(false);
}break;
case OP_SELL :
{
if(!OrderClose(OrderTicket(),OrderLots(),MarketInf o(OrderSymbol(),MODE_ASK),0,Violet))
return(false);
}break;
}


if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT)
if(!OrderDelete(OrderTicket()))
{
Print("Error deleting " + OrderType() + " order : ",GetLastError());
return (false);
} }
}
}
return (true);
}[/PHP]

بتوفيق



سمير محمد ارمان متواجد حالياً   رد مع اقتباس
قديم 13 - 04 - 2013, 01:31 PM   #13
عضو نشيط جدا
 

افتراضي رد: أسئلة فى البرمجة

الله ينور اخى سمير
ولى سؤالين ازاى اخلى الاكسبريت عند اغلاق الصفقه يدوى
لايفتح صفقات اخرى الا بتحقق شروط الفتح
ثانيا كيف يمكن اضافه المضاعفات لاى اكسبريت
ثالثا كيف يمكن جعل الاكسبريت عند الوصول الى ربح معين
لايفتح صفقات فى نفس اليوم
واسف على الاطاله
خالص تحياتى



Mohamed_Amr غير متواجد حالياً   رد مع اقتباس
قديم 13 - 04 - 2013, 02:45 PM   #14
مشرف المؤشرات والاكسبرتات
 
الصورة الرمزية سمير محمد ارمان
 

افتراضي رد: أسئلة فى البرمجة

اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed_Amr مشاهدة المشاركة
الله ينور اخى سمير
ولى سؤالين ازاى اخلى الاكسبريت عند اغلاق الصفقه يدوى
لايفتح صفقات اخرى الا بتحقق شروط الفتح
ثانيا كيف يمكن اضافه المضاعفات لاى اكسبريت
ثالثا كيف يمكن جعل الاكسبريت عند الوصول الى ربح معين
لايفتح صفقات فى نفس اليوم
واسف على الاطاله
خالص تحياتى
السلام عليكم اخى الكريم
اول سؤال
عند اغلاق الصفقة يدوية
وتوجد اشارة دخول من الاكسبيرت سوف يفتح صفقة اخرى
وان لايوجد اشارة دخول
لن يفتح صفقة
...........................................
السوال الثانى
يوجد اكثر من طريقة فى المضاعفات
هذه طريقة مضاعفات تعزيز
ويتم اضافة هذه السطور فى الدالة استارت
[PHP]for(int m=0;m<OrdersTotal();m++){
OrderSelect(m,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()== MagicNumber&&OrderType()==OP_BUY){
double openprice=OrderOpenPrice();double lot=OrderLots();
}
}



for(int n=0;n<OrdersTotal();n++){
OrderSelect(n,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()== MagicNumber&&OrderType()==OP_SELL){
double openprice_sell=OrderOpenPrice();lot=OrderLots();
}
}







if(Multiplication==true){
if(openprice-Ask>=step*pt&&ordestotal1_2(OP_BUY)>=1){
open(OP_BUY,lot*Multiplication_Mode,Ask,TakeProfit ,StopLoss) ;
}
if(Bid-openprice_sell>=step*pt&&ordestotal1_2(OP_SELL)>=1 ){
open(OP_SELL,lot*Multiplication_Mode,Bid,TakeProfi t,StopLoss) ;
}

}

[/PHP]

وهذه طريقة مضاعفات عكس الاتجاه
[PHP]for(int B=0;B<OrdersHistoryTotal();B++){
OrderSelect(B,SELECT_BY_POS,MODE_HISTORY);
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()= =Symbol()&&OrderType()==OP_BUY){
double OrderStop = OrderStopLoss(); double Lots=OrderLots();
}
}

for(int s=0;s<OrdersHistoryTotal();s++){
OrderSelect(s,SELECT_BY_POS,MODE_HISTORY);
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()= =Symbol()&&OrderType()==OP_SELL){
double OrderStops = OrderStopLoss(); double Lotss=OrderLots();
}
}

if(Multiplication==true){




if(pofetH()<0&&typeopen()==OP_BUY&&ordestotal1_2(O P_SELL)==0){
open(OP_SELL,Lots*Multiplication_Mode,OrderStop,Ta keProfit,StopLoss) ;
}









if(pofetH()<0&&typeopen()==OP_SELL&&ordestotal1_2( OP_BUY)==0){
open(OP_BUY,Lotss*Multiplication_Mode,OrderStops,T akeProfit,StopLoss) ;
}


}
[/PHP]
مع وضع دالة فتح الصفقات
خارج دالة int start
[PHP]int open(int ty,double lot,double prc,int pof,int sll)
{
double sl=0,tp=0;
color clr;
bool modi;
string T;double pr;
if(ty==OP_BUY || ty==OP_BUYSTOP || ty==OP_BUYLIMIT)
{
if(sll>0){sl=prc-(sll*pt);}else{sl=0;}
if(pof>0){tp=prc+(pof*pt);}else{tp=0;}
clr=Green;
T="Ask ";
pr=NormalizeDouble(Ask,Digits);
}
if(ty==OP_SELL || ty==OP_SELLSTOP || ty==OP_SELLLIMIT)
{
if(sll>0){sl=prc+(sll*pt);}else{sl=0;}
if(pof>0){tp=prc-(pof*pt);}else{tp=0;}
clr=Red;
T="Bid";
pr=NormalizeDouble(Bid,Digits);
}
int tik=OrderSend(Symbol()
,ty
,lot
,NormalizeDouble(prc,Digits)
,10
,0
,0
,"samir"
,MagicNumber
,0
,clr);
string t;
if(ty==OP_BUY)t="BUY";if(ty==OP_SELL)t="SELL";if(t y==OP_BUYSTOP)t="BUY STOP";if(ty==OP_SELLSTOP)t="SELL STOP";if(ty==OP_BUYLIMIT)t="BUY LIMIT";if(ty==OP_SELLLIMIT)t="SELL LIMIT";
if(tik>0)
{
if(tp>0 || sl>0)modi=OrderModify(tik,prc,NormalizeDouble(sl,D igits),NormalizeDouble(tp,Digits),0,CLR_NONE); else modi=true;
if(!modi){Print("Modify Err#= ",GetLastError()," ",Symbol()," ",Period()," Open Price= ",DoubleToStr(prc,Digits)," SL= ",DoubleToStr(sl,Digits)," Tp= ",DoubleToStr(tp,Digits));}
Print("Order Opened successfully " ,"Type ",t," LotSize ",lot," Price ",DoubleToStr(prc,Digits)," TP ",DoubleToStr(tp,Digits)," SL ",DoubleToStr(sl,Digits));
}
else
{
Print("OrderSend failed with error #",GetLastError(), " Type ",t," LotSize= ",lot," ",T,"Now= ",DoubleToStr(pr,Digits)," Price= ",DoubleToStr(prc,Digits)," TP= ",DoubleToStr(tp,Digits)," SL= ",DoubleToStr(sl,Digits)," Spread= ",MarketInfo(Symbol(),MODE_SPREAD));
}
//////
return(tik);

} [/PHP]
ويجب وضع هذه المتغيرات الخارجية
[PHP]extern string Multiplication_info = "0=1,2,3,4.... 1=1,2,3,5,8.... 2=1,2,4,8,16.... 3=1,3,9,27....";
extern int Multiplication_Mode = 2;
extern int step=10;
extern int MagicNumber=708;[/PHP]

السؤال الثالث
تستطيع بهذه الدالة تجعل الاكسبيرت يفتح صفقة واحدة فقط كل يوم او كل ساعة او كل اربعة ساعات
وتكون هذه الدالة خارج int start

[PHP]int exit_histo_day()
{
int c;
for (int cnt=0; cnt<OrdersHistoryTotal(); cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY) ;
if( OrderMagicNumber()== MagicNumber && OrderOpenTime()>=iTime(Symbol(),PERIOD_H1,0))
{
c++;
}
}
return(c);
}[/PHP]
ويتم وضع هذا الامر فوق امر فتح الصفقات
[PHP] if(exit_histo_day()+ordestotal1_2(OP_BUY)+ordestot al1_2(OP_SELL)==0){[/PHP]
ومعلومة هامة
كل هذه الدوال
من استاذى محمود عامر
تحياتى لك



سمير محمد ارمان متواجد حالياً   رد مع اقتباس
قديم 13 - 04 - 2013, 02:55 PM   #15
عضو نشيط جدا
 

افتراضي رد: أسئلة فى البرمجة

اقتباس:
المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
السلام عليكم اخى الكريم
اول سؤال
عند اغلاق الصفقة يدوية
وتوجد اشارة دخول من الاكسبيرت سوف يفتح صفقة اخرى
وان لايوجد اشارة دخول
لن يفتح صفقة

كل هذه الدوال
من استاذى محمود عامر
تحياتى لك
تسلم استاذنا الحبيب سمير
بالنسبه للاغلاق اليدوى لايوجد حل بحيث لايفتح
صفقه الى اذا توفرت شروط الدخول مرة اخرى كذلك هل يمكن
جعل الاكسبريت لايفتح عند وضعه على الشارات الا اذا توفرت شروط
الدخول بعد وضعه على الشارت
واسف على الاطاله
تحياتى



Mohamed_Amr غير متواجد حالياً   رد مع اقتباس
قديم 13 - 04 - 2013, 03:01 PM   #16
مشرف المؤشرات والاكسبرتات
 
الصورة الرمزية سمير محمد ارمان
 

افتراضي رد: أسئلة فى البرمجة

اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed_Amr مشاهدة المشاركة
تسلم استاذنا الحبيب سمير
بالنسبه للاغلاق اليدوى لايوجد حل بحيث لايفتح
صفقه الى اذا توفرت شروط الدخول مرة اخرى كذلك هل يمكن
جعل الاكسبريت لايفتح عند وضعه على الشارات الا اذا توفرت شروط
الدخول بعد وضعه على الشارت
واسف على الاطاله
تحياتى
اخى الكريم
تكون هذه هى من بداية عمل الاكسبيرت
فى فتح الصفقة
ونقول مثلا
اكسبيرت يعمل على مؤشر الموفينج
وتعمل على طريقة التقاطع
لوتم اغلاق الصفقة ولايوجد اشارة تقاطع
لن يفتح صفقة حتى ياتى اشارة تقاطع
ونفس الشئ عندما يتم وضع الاكسبيرت على الشارت
لو اشارة الدخول موجوده يدخل الصفقة
وان لايوجد لايدخل صفقة
وكما قلت لك
هى من بداية عمل الاكسبيرت وعلى حسب طريقة العمل
بتوفيق



سمير محمد ارمان متواجد حالياً   رد مع اقتباس
قديم 13 - 04 - 2013, 06:17 PM   #17
عضو جديد
 
الصورة الرمزية simous
 

افتراضي رد: أسئلة فى البرمجة

الله ينور عليك أخــى و شكرا على ردودك السريعة و الوافية..

فى ردك على سؤالى أوضحت طريقة أغلاق العقود بعد ربح معين بالدولار .. و لكن كيف أقوم بالأغلاق بعد ربح معين بالنقاط.



التوقيع:


simous غير متواجد حالياً   رد مع اقتباس
قديم 15 - 04 - 2013, 10:21 PM   #18
عضو نشيط جدا
 

افتراضي رد: أسئلة فى البرمجة

استاذ سمير انا بدأت فى عمل اكسبريت وحتى الان تمام
ولكن فى منصات 5 ارقام مش شغاله عليها
هل فى كود تخليه يشتغل على كل المنصات
وبالتوفيق حبيبى



Mohamed_Amr غير متواجد حالياً   رد مع اقتباس
قديم 16 - 04 - 2013, 10:17 AM   #19
مشرف المؤشرات والاكسبرتات
 
الصورة الرمزية سمير محمد ارمان
 

افتراضي رد: أسئلة فى البرمجة

اقتباس:
المشاركة الأصلية كتبت بواسطة simous مشاهدة المشاركة
الله ينور عليك أخــى و شكرا على ردودك السريعة و الوافية..

فى ردك على سؤالى أوضحت طريقة أغلاق العقود بعد ربح معين بالدولار .. و لكن كيف أقوم بالأغلاق بعد ربح معين بالنقاط.
السلام عليكم اخى الكريم
هذه الدالة تحسب عدد النقاط لصفقة البيع
او عدد نقاط صفقة الشراء
هذه الدالة منقولة
من استاذى مستر دولار
تحياتى لك

[PHP] double ProfitPoints(int type)
{

double Pt;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
double OpenPrice=OrderOpenPrice();double ClosePrice=OrderClosePrice();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber&&OrderType()==type)
{
if(OrderType()==OP_BUY)
{
Pt+=(ClosePrice-OpenPrice)/Point;
}
if(OrderType()==OP_SELL)
{
Pt+=(OpenPrice-ClosePrice)/Point;
}
}
}
return(Pt);
} [/PHP]



سمير محمد ارمان متواجد حالياً   رد مع اقتباس
قديم 16 - 04 - 2013, 10:31 AM   #20
مشرف المؤشرات والاكسبرتات
 
الصورة الرمزية سمير محمد ارمان
 

افتراضي رد: أسئلة فى البرمجة

اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed_Amr مشاهدة المشاركة
استاذ سمير انا بدأت فى عمل اكسبريت وحتى الان تمام
ولكن فى منصات 5 ارقام مش شغاله عليها
هل فى كود تخليه يشتغل على كل المنصات
وبالتوفيق حبيبى
السلام عليكم اخى الكريم
كل مبرمج له طريقته
انا باستخدم طريقة الدوال
انا سوف اقول لك طريقتى لفتح الصفقات
وفى الاساس هى طريقة عمل استاذى محمود عامر
سوف اشرح الطريقة

يتم تعريف متغير خارجى

[PHP] double pt;[/PHP]

فى دالة int init
يتم وضع هذا السطر البرمجى
[PHP] if(Digits==5||Digits==4)
{
pt=0.0001;
}
else{
pt=0.01;
}[/PHP]

يتم وضع دالة فتح الصفقات خارج دالة int start
[PHP]int open(int ty,double lot,double prc,int pof,int sll)
{

double sl=0,tp=0;
color clr;
if(ty==OP_BUY||ty==OP_BUYSTOP||ty==OP_BUYLIMIT)
{
if(sll>0){sl=prc-(sll*pt);}else{sl=0;}
if(pof>0){tp=prc+(pof*pt);}else{tp=0;}
clr=Green;
}
if(ty==OP_SELL||ty==OP_SELLSTOP||ty==OP_SELLLIMIT)
{
if(sll>0){sl=prc+(sll*pt);}else{sl=0;}
if(pof>0){tp=prc-(pof*pt);}else{tp=0;}
clr=Red;
}
int tik=OrderSend(Symbol()
,ty
,lot
,NormalizeDouble(prc,Digits)
,4
,NormalizeDouble(sl,Digits)
,NormalizeDouble(tp,Digits)
,"M.A:"
,MagicNumber
,0
,clr);
string t;
if(ty==OP_BUY)t="BUY";if(ty==OP_SELL)t="SELL";if(t y==OP_BUYSTOP)t="BUY STOP";if(ty==OP_SELLSTOP)t="SELL STOP";if(ty==OP_BUYLIMIT)t="BUY LIMIT";if(ty==OP_SELLLIMIT)t="SELL LIMIT";
if(tik>0)
{

Print("Order Opened successfully " ,"Type ",t," LotSize ",lot," Price ",prc," TP ",tp," SL ",sl);
}
else
{
Print("OrderSend failed with error #",GetLastError(), " Type ",t," LotSize= ",lot," Price= ",prc," TP= ",tp," SL= ",sl);
}
//////
return(tik);

} [/PHP]
ويتم وضع تشغيل هذه الدالة لصفقة الشراء وصفقة البيع فى دالة start

[PHP]if(/*هنا يتم وضع اوامر فتح الصفقة و تستطيع التعديل فى نوع الصفقة*/){
open(OP_BUY,Lots,Ask,TakeProfit,StopLoss) ;
}

if(/*هنا يتم وضع اوامر فتح الصفقة و تستطيع التعديل فى نوع الصفقة*/){
open(OP_SELL,Lots,Bid,TakeProfit,StopLoss) ;
}[/PHP]
مع وضع هذه المتغيرات فى الخارج
[PHP] extern double Lots=0.1;
extern int TakeProfit=20;
extern int StopLoss=30;[/PHP]

بتوفيق



سمير محمد ارمان متواجد حالياً   رد مع اقتباس
إضافة رد

جديد مواضيع منتدى المؤشرات و الاكسبرتات


مواضيع سابقة :

مساعده من الاخوه جزيتم خير يارب
اقوى مكتبة مؤشرات
هام جدا لكل من يريد عمل اكسبيرت او مؤشر او تعديل

مواضيع تالية :

طلب اكسبريت يعمل على وضع الاوامر المعلقة حسب مواقيت الاذان
طلب اكسبيرت لمؤشر tvx
طلب أكسبرت يعمل على عدة شارتات معــا.

أسئلة فى البرمجة

أدوات الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are معطلة
Pingbacks are معطلة
Refbacks are معطلة


المواضيع المتشابهه
الموضوع المنتدى
أسئلة مش عالبال استراحة بورصات
أسئلة مهمة القسم الاسلامي


روابط الموقع الداخلية


07:35 AM
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Privacy Policy
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

الاتصال بنا - بورصات - الأرشيف - تنشيط العضوية - اعلن معنا - الأعلى    تحذير المخاطرة