حل الواجب اكسبيرت الموفنج افرج ومعه المؤشر الخارجى
حل الواجب اكسبيرت الموفنج افرج ومعه المؤشر الخارجى
سبحان الله
مسحت الكود و كتبته مرة تانية هو نفسه و لقيت ان مفيهوش غلطات!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
شكرا جزيلا لاهتمامك يا حبي
ده الاكسبيرت كله
علي فكرة انا كل شوية امسحها و اكتبها نفسها و مرة يقولي فيه غلط و مرة يقولي مفيش
بجد يبقي كتر خيرك لو طلعتلي فين المشكلة
كود PHP:#property copyright "nimo"
#property link "[email protected]"
extern int MaxTrades=1;
extern double StopLoss ;
extern double TakeProfit ;
extern double Lots ;
extern double MagicNumber ;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double TREND =iCustom(NULL,0,"Elder Impulse Candle Color",1,0);
double TREND_prevoius =iCustom(NULL,0,"Elder Impulse Candle Color",1,1);
double cand_cl= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,0);
double cand_cl_previous= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,1);
double sl,tp;
if (TREND_prevoius>cand_cl_previous && TREND < cand_cl){
if(orderstotal()<MaxTrades){
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," ahmedphen0m MA",MagicNumber,0,Red);
//----
return(0);
}
//+------------------------------------------------------------------+
لاحظ في قوسين إغلاق بعد شروط الشراء والبيع في دالة إستارتكود PHP:
extern int MaxTrades=1;
extern double StopLoss ;
extern double TakeProfit ;
extern double Lots ;
extern double MagicNumber ;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double TREND =iCustom(NULL,0,"Elder Impulse Candle Color",1,0);
double TREND_prevoius =iCustom(NULL,0,"Elder Impulse Candle Color",1,1);
double cand_cl= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,0);
double cand_cl_previous= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,1);
double sl,tp;
if (TREND_prevoius>cand_cl_previous && TREND < cand_cl){
if(orderstotal()<MaxTrades){
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," ahmedphen0m MA",MagicNumber,0,Red);
}
}
//----
return(0);
}
//-------------------------------------------
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);
}
}
}
قبل return
http://www11.0zz0.com/2012/04/30/15/810482256.jpg
أخى أحمد ينقص قوس أغلاق جملتى if الشرطية وكذلك تعريف الدالة orderstotal()
كود PHP:#property copyright "nimo"
#property link "[email protected]"
extern int MaxTrades=1;
extern double StopLoss ;
extern double TakeProfit ;
extern double Lots ;
extern double MagicNumber ;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double TREND =iCustom(NULL,0,"Elder Impulse Candle Color",1,0);
double TREND_prevoius =iCustom(NULL,0,"Elder Impulse Candle Color",1,1);
double cand_cl= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,0);
double cand_cl_previous= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,1);
double sl,tp;
if (TREND_prevoius>cand_cl_previous && TREND < cand_cl){ // اين قوس الأغلاق //
if(orderstotal()<MaxTrades){ // اين قوس الأغلاق //
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," ahmedphen0m MA",MagicNumber,0,Red);
} // قوس اغلاق الجملة الأولى //
}// قوس اغلاق الجملة الثانية //
//----
return(0);
}
//+------------------------------------------------------------------+
// orderstotal() يتبقى تعريف دالة //
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
أخى xcv114
لدى سؤال اذا سمحت لى ,,
الكود التالى صحيح ولايوجد اخطاء ويعمل بلا مشاكل
كود PHP:int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
والكود التالى أيضـا صحيح ويعمل بلا مشاكل
فـ ايهما أصح ومالفرق ؟كود 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);
}
السلام عليكم
انا عملت طريقة دالة معرفة حجم عدد الصفقات
بس فى حاجة غلط عندى ممكن علاج المشكلة
وشكرا لكم
كود PHP:int ordertotal(){
int cnt=0;
for (i=0;i<OrdersTotal();i++){
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol()&&MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
مرفق اكسبيرت الموفينج افريج
+ اكسبيرت اخر مصصمم علي مؤشر غير موجود بالميتاتريدر
احب اشكر بشدة و من كل قلبي كل الشباب اللي ساعدوني في حل الواجب
بالتوفيق للجميع ان شاء الله
أخى احمد الكود السابق الذى ارفقته فـ مشاركتك لم يكن يحتوى على تعريف دالةولذلك ستلاحظ انك حتى بعد اضافة الاقواس للكود سيظهر خطأ وسيطلب منك تعريف للدالة .كود PHP:orderstotal()
كود PHP:
#property copyright "nimo"
#property link "[email protected]"
extern int MaxTrades=1;
extern double StopLoss ;
extern double TakeProfit ;
extern double Lots ;
extern double MagicNumber ;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double TREND =iCustom(NULL,0,"Elder Impulse Candle Color",1,0);
double TREND_prevoius =iCustom(NULL,0,"Elder Impulse Candle Color",1,1);
double cand_cl= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,0);
double cand_cl_previous= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,1);
double sl,tp;
if (TREND_prevoius>cand_cl_previous && TREND < cand_cl){
if(orderstotal()<MaxTrades){
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," ahmedphen0m MA",MagicNumber,0,Red);
//----
return(0);
}
//+------------------------------------------------------------------+
وتعريفهـا سيكون باضافة الكود التالى
كود PHP:int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}
السلام عليكم الاخوة الكرام
يوجد عندى فكرة متاجرة
ممكن نفتح باب المناقشة فيه
وتكون فكرة عمل فى المحاضرة القادمة ان شاء الله
طريقة العمل
الاكسبيرت يفتح صفقة بيع او شراء هذا يتحدد من طريقة فتح الصفقة
نعمل شغل مؤشرات
او شغل فتح صفقة رقمى
تم فتح صفقة ونقول مثلا شراء
عند فتح الصفقة يتم فتح صفق معاكسة للصفقة المفعلة وتكون نفس حجم اللوت
ومسافة فتح الصفقة المعلقة يتم تحديد المسافة فى لوحة اعدادات الاكسبيرت
الان معنا صفقة شراء مفعلة و صفقة بيع معلقة وتكون صفقة بيع استوب نفس حجم اللوت لا يوجد مضاعفات
فى صفقة الشراء نضع الحد من الربح مثلا 30 نقطة
لو الصفقة الشراء وصلت الى الربح يتم هنا اغلاق كل الصفقات ...........
طب السوق لم يصل الى الحد من الربح فى صفقة الشراء
وعكس السوق وفعل صفقة البيع المعلقة
هنا يتم اغلاق الحد من الربح من صفقة الشراء
ويكون صفقة شراء بدون حد من الربح وصفقة البيع بدون حد من الربح طريقة عمل الهيدج
.................................................. ...........................................
تمام كدا
فى طريقتين بعد كدا
الطريقة الاولى
يتم فتح صفقة معلقة شراء فوق صفقة الشراء المفعلة ويتم التحكم فى مسافة فتح الصفقة من لوحة اعدادات الاكسبيرت
ونفس الطريقة تعمل مع صفقة البيع ......................
الان معنا صفقة شراء مفعلة و صفقة بيع مفعلة
وصفقة شراء استوب معلقة
وصفقة بيع استوب معلقة
لو تم تفعيل صفقة من الصفقات المعلقة
يكون عندنا صفقتين من نفس النوع
وصفقة عكس
يوجد فى الاكسبيرت اغلاق الايكويتى على ربح محدد
عند الوصول الى الربح المحدد ويكون باالدولار
يتم اغلاق كل الصفقات والعمل من بداية الامر
.............................................
الطريقة الثانية
الان معنا صفقة شراء وصفقة بيع مفعلة هيدج
نترك السوق يتحرك كما يشاء
حتى يصل الى مسافة 100 نقطة او كما تشاء
يتم اغلاق الصفقة الرابحة
هنا يوجد معنا صفقة خاسرة
يتم فتح صفقة معلقة عكس الصفقة الخاسرة
وتكون تحديد المسافة من اعدادات الاكسبيرت
لو السوق فعل الصفقة المعلقة نفعل نفس الشى المشرح من قبل
وان لم يفعل الصفقة وذهب السوق الى اتجاه الصفقة الخاسرة
يتم تحريك الصفقة المعلقة كل مايتحرك السوق ويقترب من الصفقة الخاسرة
حتى نصل الى صفقة لا يوجد فيه خسارة وصفقة معلقة تتحرك مع اتجاه الصفقة الخاسرة
وعند الوصول الى ربح معين يتم اغلاق كل الصفقات والعمل من الاول
.................................................. .............................................
ارجو المناقشة فى هذه الطريقة
وشكرا لكم جميعا
يا شباب
عايز اعرف ازاى استدعى مؤشر خارجى مش من اللى فى الميتاتريدر
وهل لازم يكون المؤشر دا بضيغة mql4 وله ممكن يكون ex4
واكتب اعدادته بالترتيب ازاى ..
صورة توضح طريقة عمل الطريقة الثانية