1 مرفق
ياريت مستر دولار يكمل جميله معايا
اولا السلام عليكم ورحمة الله وبركاته
ثنايا انا احب اشكر المنتدى العظيم ده على جهوده مع الاعضاء خصوصا المشرفين والمبرمجين
انا دى اول مشاركه ليا هنا
انا جديد فى الفوركس بس مش جديد اوى يعنى عارف اساسيات وشويه حاجات كده
المهم وانا ماشى فى طريقى وجدت استراتيجيه اعجبتنى وهى بسيطه جدا فحاولت تحويلها لاكسبيرت
وهنا جاء دور مستر دولار
لانى وجدت هنا موضوع ليه تعليمى بسيط جدا عن كيفيه صناعة الاكسبيرت لكنه للأسف لم يكمله
المهم انا طبقت الخطوات اللى هو كان حاططها بحذافيرها
وكمان روحت موضوع تانى وكمات منه باقى الخطوات
المهم بقى ان الاكسبيرت شغال تمام بس مش بيفتح اى صفقات مع ان الشروط اللى انا حاططهاله بتتحقق
فيايرت حد يقولى ايه السبب
الاكسبيرت فى المرفقات
وعلى فكره انصح الناس هنا تجربه بس بعد ما يشتغل طبعا ويجربوه على فريم الدقيقه
وربنا معانا كلنا
وياريت يا مستر دولار تكمل موضوعك وشكرا مقدما
رد: ياريت مستر دولار يكمل جميله معايا
الاكسبيرت مبني على المتوسظات لذلك
ابسط طريقه علشان تعرف ان الشروط تحققت او لا
ضع هذه المتوسطات على الشارت
وشوف تتحقق او لا
هذا شرط فتح صفقه الشراء
غيره وخليه مثل هذا الكود
وشوف الاكسبيرت يفتح صفقات او لا
وفي انتظار الاخ اسامه للتعليق
تقبل تقديري
رد: ياريت مستر دولار يكمل جميله معايا
لا انا لو عملت كده هيبقى كده بقول لما الموفنج يفضل ثابت افتح صفقه
انما لازم اغير الاشارات علشان يفهم ان فيه تقاطع حصل
فاهمنى يا اخى
1 مرفق
رد: ياريت مستر دولار يكمل جميله معايا
اقتباس:
المشاركة الأصلية كتبت بواسطة lompo
لا انا لو عملت كده هيبقى كده بقول لما الموفنج يفضل ثابت افتح صفقه
انما لازم اغير الاشارات علشان يفهم ان فيه تقاطع حصل
فاهمنى يا اخى
تفضل هذا المؤشر فيه كود ممتاز لتحديد التقاطع الفعلي لا يغير اشارته
اتمنى ان يفيدك
تقبل تقديري
رد: ياريت مستر دولار يكمل جميله معايا
كل الشكر للأخ الفاضل 101 على مساعدته الدائمه ومجهوده المبذول
الإكسبرت سيفتح صفقات بدون مشاكل لكن ربما سبب المشكلة أنك قمت بتجربة الإكسبرت على بروكر 5 أرقام وجعلت الهدف 10 نقاط والأستوب 7 نقاط بالتالي على بروكر خمس ارقام فسوف تصبح الهدف 1 نقطة والأستوب 0.7 نقطة
وبالتأكيد البروكر لم يسمح بفتح صفقة الأستوب والهدف لها نقطة واحده لذلك لم تفتح الصفقه
لذلك إجعل الهدف 100 نقطة حتى تصبح كأنها 10 نقاط على بروكر 5 أرقام وأيضا الأستوب 70
لكن ستواجهك مشكلة أخرى أنه عند تحقق الشروط سيظل يفتح الإكسبرت صفقات في نفس الوقت إلى مالا نهاية أو حتى لا يكون هناك مارجن كافي لفتح صفقه أخرى لذلك قم بوضع شرط أخرى بحيث أن تكون عدد الصفقات الحاليه أقل من 1
كود PHP:
if(orderstotal()<1)
رد: ياريت مستر دولار يكمل جميله معايا
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
كل الشكر للأخ الفاضل 101 على مساعدته الدائمه ومجهوده المبذول
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
الإكسبرت سيفتح صفقات بدون مشاكل لكن ربما سبب المشكلة أنك قمت بتجربة الإكسبرت على بروكر 5 أرقام وجعلت الهدف 10 نقاط والأستوب 7 نقاط بالتالي على بروكر خمس ارقام فسوف تصبح الهدف 1 نقطة والأستوب 0.7 نقطة وبالتأكيد البروكر لم يسمح بفتح صفقة الأستوب والهدف لها نقطة واحده لذلك لم تفتح الصفقه لذلك إجعل الهدف 100 نقطة حتى تصبح كأنها 10 نقاط على بروكر 5 أرقام وأيضا الأستوب 70 لكن ستواجهك مشكلة أخرى أنه عند تحقق الشروط سيظل يفتح الإكسبرت صفقات في نفس الوقت إلى مالا نهاية أو حتى لا يكون هناك مارجن كافي لفتح صفقه أخرى لذلك قم بوضع شرط أخرى بحيث أن تكون عدد الصفقات الحاليه أقل من 1 كود PHP:
if(orderstotal()<1)
الف شكر اخوي اسامه على التصحيح
دايماً اقول الاكسبيرتات مالي فيها
طيب ممكن نستخدم هذا الكود لجعل الاكسبيرت يعمل على الخمس ارقام او الاربعه ارقام
كود:
if (Digits == 5 || Digits == 3) {
StopLoss=StopLoss*10;
TakeProfit=TakeProfit*10;
}
رد: ياريت مستر دولار يكمل جميله معايا
اقتباس:
المشاركة الأصلية كتبت بواسطة 101
الف شكر اخوي اسامه على التصحيح دايماً اقول الاكسبيرتات مالي فيها طيب ممكن نستخدم هذا الكود لجعل الاكسبيرت يعمل على الخمس ارقام او الاربعه ارقام كود:
if (Digits == 5 || Digits == 3) {
StopLoss=StopLoss*10;
TakeProfit=TakeProfit*10;
}
نعم بالظبط بارك الله فيك على الإضافه
رد: ياريت مستر دولار يكمل جميله معايا
طيب انا حاطط كود يخليه ميفتحش صفقات كتير وواخد الكود ده من اكسبيرت لحضرتك قبل كده
ومعلش لانى ماليش فى البرمجه اوى انا لسه بتعلم بس للأسف حضرتك مكملتش موضوعك
المهم اخى ياريت تحطلى كود كامل للأكسبيرت هنا ويكون فيه كود عدد الصفقات دى
وياريت تحط كود يخلينى احدد عدد الصفقات من اعدادات الاكسبيرت
اسف لو كنت طولت عليك بس انا داخل تحدى مع نفسى بصراحه انى اتعلم برمجه الاكسبيرتات فهتلاقينى بسأل كتير وياريت حضرتك متزهقش منى
رد: ياريت مستر دولار يكمل جميله معايا
هو مش المفروض الكود ده بيخلى الاكسبيرت ميفتحش اكتر من صفقه ولا هو ايه لزمته بالظبط؟؟؟
كود PHP:
void deinit() {
Comment("");
}
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
رد: ياريت مستر دولار يكمل جميله معايا
انا حاولت افكر ازاى ممكن احط عدد الصفقات المتاحه كمتغير خارجى ووصلت للحل ده
ياريت حضرتك تراجعلى بقى الاكسبيرت كله
ويارب يكون مافيش عك كتير
كود PHP:
//+------------------------------------------------------------------+
//| |
//| Copyright, created 16 Apr 2010 |
//| Desinged by lompo |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "lompo"
extern string MM_Parameters = "---------- Money Management";
extern double Lots = 1;
extern int max orders=1;
extern string S5="---------------- Order Management";
extern int StopLoss=7;
extern int TakeProfit=10;
extern int MagicNumber=12341234;
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{
Comment("Programmed by lompo");
//////////////////////////////////////////////////
double ma1,ma2,ma11,ma22,rsi1,rsi2,ma3,ma33,ma4,ma44;
ma1=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);
ma11=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1);
ma2=iMA(NULL,0,55,0,MODE_EMA,PRICE_CLOSE,0);
ma22=iMA(NULL,0,55,0,MODE_EMA,PRICE_CLOSE,1);
////////////////////////////////////////////////////
double SL,TP;
////////////////////////////////
if(orderstotal()<max orders) {
if (ma11<ma22&&ma1>ma2 ){
if (Digits == 5 || Digits == 3) {
StopLoss=StopLoss*10;
TakeProfit=TakeProfit*10;}
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"LOMPO",MagicNumber,0,Blue);
PlaySound("Alert.wav");
}
}
/////////////////////
if(orderstotal()<max orders) {
if (ma11>ma22&&ma1<ma2 ){
if (Digits == 5 || Digits == 3) {
StopLoss=StopLoss*10;
TakeProfit=TakeProfit*10;}
if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;}
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"lompo",MagicNumber,0,Red);
}
}
1 مرفق
رد: ياريت مستر دولار يكمل جميله معايا
اقتباس:
المشاركة الأصلية كتبت بواسطة lompo
انا حاولت افكر ازاى ممكن احط عدد الصفقات المتاحه كمتغير خارجى ووصلت للحل ده
ياريت حضرتك تراجعلى بقى الاكسبيرت كله
ويارب يكون مافيش عك كتير
كود PHP:
//+------------------------------------------------------------------+
//| |
//| Copyright, created 16 Apr 2010 |
//| Desinged by lompo |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "lompo"
extern string MM_Parameters = "---------- Money Management";
extern double Lots = 1;
extern int max orders=1;
extern string S5="---------------- Order Management";
extern int StopLoss=7;
extern int TakeProfit=10;
extern int MagicNumber=12341234;
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
Comment("");
}
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
//+------------------------------------------------------------------+
//| FUNCTION DEFINITIONS Start function |
//+------------------------------------------------------------------+
int start()
{
Comment("Programmed by lompo");
//////////////////////////////////////////////////
double ma1,ma2,ma11,ma22,rsi1,rsi2,ma3,ma33,ma4,ma44;
ma1=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);
ma11=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1);
ma2=iMA(NULL,0,55,0,MODE_EMA,PRICE_CLOSE,0);
ma22=iMA(NULL,0,55,0,MODE_EMA,PRICE_CLOSE,1);
////////////////////////////////////////////////////
double SL,TP;
////////////////////////////////
if(orderstotal()<max orders) {
if (ma11<ma22&&ma1>ma2 ){
if (Digits == 5 || Digits == 3) {
StopLoss=StopLoss*10;
TakeProfit=TakeProfit*10;}
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"LOMPO",MagicNumber,0,Blue);
PlaySound("Alert.wav");
}
}
/////////////////////
if(orderstotal()<max orders) {
if (ma11>ma22&&ma1<ma2 ){
if (Digits == 5 || Digits == 3) {
StopLoss=StopLoss*10;
TakeProfit=TakeProfit*10;}
if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;}
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;}
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"lompo",MagicNumber,0,Red);
}
}
أنت قمت فعلا بتعريف داله لحساب عدد الصفقات المفتوحه
كود PHP:
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
لكنك لم تستخدم الداله بداخل الإكسبرت بمعنى يجب الآن أن تضع الشرط بداخل الإكسبرت بحيث تقول إذا كان عدد الصفقات المفتوحه أقل من 1 وهو هذا الشرط
كود PHP:
if(orderstotal()<1){
كما وضحت لك في المشاركه السابقه
وطبعا فكرتك صحيحه يمكنك إستبدال الرقم 1 بمتغير خارجي في خصائص الإكسبرت maxorders حتى يمكنك تحديد أقصى عدد للصفقات حسب ما تريد
الإكسبرت في المرفقات
1 مرفق
رد: ياريت مستر دولار يكمل جميله معايا
والله يا مستر دولار انا مش عارف اقولك ايه على تعاونك
بس الاكسبيرت برضه مش بيفتح صفقات خلاص هتشل والله مش عارف فين المشكله
ياريت تساعدنى لانى عمال افكر ومش لاقى الحل
خصوصا انى مستنى بقالى كذا يوم لحد ما السوق يفتح تانى علشان اجربه وطلع مش بيفتح صفقات عند تحقق الشرط ياترى ايه السبب
بص يا مستر دولار على الاكسبيرت المرفق ده وقولى مش راضى يشتغل ليييييييييييه لانى فعلا خلاص زهقت والله ومحبط تماما
رد: ياريت مستر دولار يكمل جميله معايا
اقتباس:
المشاركة الأصلية كتبت بواسطة lompo
والله يا مستر دولار انا مش عارف اقولك ايه على تعاونك
بس الاكسبيرت برضه مش بيفتح صفقات خلاص هتشل والله مش عارف فين المشكله
ياريت تساعدنى لانى عمال افكر ومش لاقى الحل
خصوصا انى مستنى بقالى كذا يوم لحد ما السوق يفتح تانى علشان اجربه وطلع مش بيفتح صفقات عند تحقق الشرط ياترى ايه السبب
بص يا مستر دولار على الاكسبيرت المرفق ده وقولى مش راضى يشتغل ليييييييييييه لانى فعلا خلاص زهقت والله ومحبط تماما
الإكسبرت يعمل بدون مشاكل ويفتح صفقات إذا لم يفتح صفقات معك تأكد من عدم وجود أخطاء في خانة Journal و Experts
هناك خطأ تقني بسيط في الإكسبرت لكنه لن يؤثر على عمل الإكسبرت لكن سيؤثر على الهدف والأستوب لوز
بالنسبه لهذا الكود
كود PHP:
if (Digits == 5 || Digits == 3) {
StopLoss=StopLoss*10;
TakeProfit=TakeProfit*10;
}
أنت قمت بوضعه بداخل الداله start وهذا خطأ لأنه عند كل مرة يقوم الإكسبرت بفتح صفقه فيها سوف يضرب الأستوب لوز في 10 في حال كان البروكر به رقم عشري زائد فلاحظ على سبيل المثال
إذا كان الأستوب 30 نقطة
في أول مرة سيضرب الأستوب لوز في 10 فستصبح 30 نقطة صحيحه لأن البروكر خمس أرقام وسيتم حفظ هذا الرقم
في المره التاليه سيضرب الرقم مره أخرى في 10 بالتالي سيصبح 300 نقطة الأستوب وليس 30 نقطة
لذلك عند وضع هذا الكود قم بوضعه في الداله init حتى يتم حسابه مره واحده فقط عند بداية عمل الإكسبرت ويتم حفظ قيمته
رد: ياريت مستر دولار يكمل جميله معايا
هى ايه اصلا خانة Journal و Experts
انا لسه جديد فى الفوركس فياريت شرح حضرتك يبقى على قد مستوايا
مع العلم ان الاكسبيرتات التانيه بتشتغل عندى
وانا بروكر FXDD
فياريت تقولى هل استخدم معاه الداله بتاعة ضرب الستوب فى 10 ولا لا
رد: ياريت مستر دولار يكمل جميله معايا
اقتباس:
المشاركة الأصلية كتبت بواسطة lompo
هى ايه اصلا خانة Journal و Experts
انا لسه جديد فى الفوركس فياريت شرح حضرتك يبقى على قد مستوايا
مع العلم ان الاكسبيرتات التانيه بتشتغل عندى
وانا بروكر FXDD
فياريت تقولى هل استخدم معاه الداله بتاعة ضرب الستوب فى 10 ولا لا
راجع هذا الموضوع سوف تجد شرح عن كيفية عمل باك تست وخانة Journal
https://forum.arabictrader.com/t106518.html
بالنسبه للكود فيمكنك إستخدامه سواء كان البروكر به فاصله زياده أو لا لأنك وضعت هنا شرط إذا كان الأرقام العشريه 3 أو 5 أرقام وهي خاصية ببروكر الذي به فاصله زياده سنضرب الهدف والأستوب في 10
لذلك لن تضر عند وضعها وسواء إستخدمت الإكسبرت على البروكر العادي أو البروكر الذي به فاصله زياده