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

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

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

طريقة للحصول على معلومات من مؤشر :(

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

إضافة رد
 
أدوات الموضوع
قديم 01 - 01 - 2016, 04:56 AM   #1
عضو جديد
 

Question طريقة للحصول على معلومات من مؤشر :(

طريقة للحصول على معلومات من مؤشر :(
السلام عليكم إخواني
هل توجد طريقة للحصول على معلومات من جدول v1[] و v2[] للمؤشر خاص بي و إستخدامها في إكسبرت
لقد قمت بتصميم مؤشر يعتمذ على fractal و يخزن كل المعلومات داخل الجداول

v2[] ===> support
v1[] ===> Resistance

و إكسبيرت : إذا تم إختراق support ==> بيع
إذا تم إختراق resistance ==> شراء

لكن أريد إستخراج قيمة من الجدول v2[] تكون أصغر من آخر قيمة و لكن بترتيب (آخر قيمة تم لقبلها حتى الوصول لقيمة أصغر من القيمة الحالية) هذا في حالة البيع

مثال : الصورة السهم هي شمعة الدخول الخطوط الحمراء هي الأهذاف التي أريذ إستخراجها


المؤشر
كود:
//+------------------------------------------------------------------+
//|                                                hamza-fractal.mq4 |
//|                                      Copyright 2015, hamza Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, hamza Corp."
#property link      "https://www.mql5.com"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
//---- buffers
double v1[];
double v2[];
double val1;
double val2;
int i;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+  
int init()
  {
//---- drawing settings
   SetIndexArrow(0, 119);
   SetIndexArrow(1, 119);
//----  
   SetIndexStyle(0, DRAW_ARROW, STYLE_DOT, 1);
   SetIndexDrawBegin(0, i-1);
   SetIndexBuffer(0, v1);
   SetIndexLabel(0,"Resistance");
//----    
   SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1);
   SetIndexDrawBegin(1,i-1);
   SetIndexBuffer(1, v2);
   SetIndexLabel(1,"Support");
//---- 
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  { 
   i = Bars;
   while(i >= 0)
     {   
       val1 = iFractals(NULL, 0, MODE_UPPER, i);
       //----
       if(val1 > 0) 
           v1[i] = High[i];
       
       val2 = iFractals(NULL, 0, MODE_LOWER, i);
       //----
       if(val2 > 0) 
           v2[i] = Low[i];
     
       i--;
     }   
   return(0);
  }
//+------------------------------------------------------------------+
الإكسبيرت
كود:
//+------------------------------------------------------------------+
//|                                                hamza-fractal.mq4 |
//|                                      Copyright 2015, hamza Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, hamza Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input string s1 = "---------Money Management--------------";
input int TP = 10 ;
input int SL = 10 ;
input double lots = 0.1 ;
input int  Magic = 532457 ;

bool bSupp_Resis = true;

double t ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);
if ( ticksize == 0.00001 || 0.001 )
   t = ticksize * 10; 
else 
   t = ticksize ;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  double SL_buy = Low[0]-0.0010;
  double SL_Sell  = High[0]+0.0010;
  
//---
  if ( fSupp_Resis(bSupp_Resis,"Achat") && orderscnt()<=0 )
  bool Buy1 = OrderSend(NULL,OP_BUY,lots,Ask,30,SL_buy,Ask+(TP*t),"",Magic,0,Blue);
 
  if ( fSupp_Resis(bSupp_Resis,"Vente") && orderscnt()<=0 )
  bool Sell1 = OrderSend(Symbol(),OP_SELL,lots,Bid,30,SL_Sell,Bid-(TP*t),"",Magic,0,Red); 
  }
//+------------------------------------------------------------------+

bool  fSupp_Resis (bool bSupp_Resis , string sOperation )
 {
 double dSupport_1H = iCustom(Symbol(),PERIOD_H1,"teste_trend",0,Blue,1,0);
 bool bFiltreAutorise = false;

 
 if ( bSupp_Resis == false )
     bFiltreAutorise = True;
 //------------------------------------------------
 if ( sOperation == "Vente" && bSupp_Resis == true )
    {
     if (dSupport_1H > Bid && dSupport_1H < Low[1] )
        bFiltreAutorise = True;
     if (dSupport_1H < Bid)
        bFiltreAutorise = False;
    }    
 //------------------------------------------------   
 double dResistance_1H = iCustom(Symbol(),PERIOD_H1,"teste_trend",Red,0,1);
 
 if ( sOperation == "Achat" && bSupp_Resis == true )
    {
     if (dResistance_1H < Ask && dResistance_1H > High[1] )
        bFiltreAutorise = True;
     if (dResistance_1H > Ask)
        bFiltreAutorise = False;
    }    
 //------------------------------------------------ 
 return(bFiltreAutorise);
 }   
//=====================================================================
int orderscnt(){
 int cnt=0;
   for(int i =0;i<=OrdersTotal();i++){
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
       if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic){
         cnt++;
       }
     }
   }
    return(cnt);
  }
إن كان ممكن أريد حل أيضا هذه المشكلة في الإكسبيرت
declaration of 'bSupp_Resis' hides global declaration at line 17

و شكرا

اذا اعجبك الموضوع و اردت نشره في المنتديات الاخرى فاستخدم هذا الرابط:
طريقة للحصول على معلومات من مؤشر :(
http://www.borsaat.com/vb/t894781.html



babouche غير متواجد حالياً   رد مع اقتباس

إضافة رد

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


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

كل عام وانتم بكل خير عام جديد 2016
هل ممكن تصحيح خطا فى الاكسبيرت المرفق
أستاذ سمير برجاء أضافة خصائص للاكسبيرت المرفق

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

علم إحتمالية اكسبيرت
علم إحتمالية اكسبيرت
طلب تصميم اكسبيرت موفنج افرج 200

طريقة للحصول على معلومات من مؤشر :(

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

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

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



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


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

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