ياريت اخوي اسامه ان ترفق اللاكسبيرت كامل فقد عجزت عن تجميعه
سؤال ثاني
بعض الاوامر لاحظتها توضع خارج الوظائف الخاصه بلغه mq4
كيف يتم تعامل البرنامج معاها وكيف يقوم بحسابها
فهي خارج init,deinit,start
مع شكري المسبق لشخصك الكريم
Printable View
حسنا أرفق لي الإكسبرت الذي تريد الإضافه عليه وسأضيفه لك
بالنسبة لهذه الوظائف فهي تسمى دوال خارجية وتقوم بتعريفها خارج الداله start ثم تقوم بإستدعائها بداخل أي داله من الدوال الأساسيه لتقوم بعملها
وهذه الدوال سهلت الكثير حتى لا نقوم بتكرار الكود في كل مره نريده فقط ما عليك إلا بكتابة الداله ثم إستدعائها في كل مره تريدها فيه
الف شكر اخوي اسامه
السلام عليكم ورحمه الله
عندى سؤال ياجماعه بخصوص انى عندى اسكربت وعايز اعمل له باص ورد بس متجدد يعنى يكون فى اتصال بين الاسكربت وداتا بيز بحيث انو يشوف اليوزر ده موجود فى الدتا بيز ولا لا ولو مش موجود ميكملش ويقفل فعليه الاسكربت فاياريت لو احد يعرف الكود الخاص بهذا الموضوع
العفو أخي الكريم
وعليكم السلام ورحمة الله وبركاته
تفضل هذا الكود
طبعا المتغير Number هو رقم الحسابكود PHP:if(AccountNumber()!=Number){
Alert("Wrong Account Number Expert Disabled");
return(0);
}
يمكنك وضع هذا الكود في بداية الداله start
السلام عليكم
دى تجربتى الاولى فى تعدي مؤشر بس بصراحه فشلت جامد تقريبا :0016:
المؤشر هيستوجرام بس بيدى لون واحد فوق و تحت
فحاولت اخلى كل واحده لون بس الكود مظبتش بس تقريبا الخط املائى او حاجه كده ارجو المراجعه و الف شكر :asvc:
ده الكود الاصلىاقتباس:
//+------------------------------------------------------------------+
//| DPO hist.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DarkKhaki
#property indicator_color2 Red
extern int x_prd=20;
extern int CountBars=300;
//---- buffers
double dpoPlus[];
double dpoMinus[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexBuffer(0,dpoPlus);
SetIndexBuffer(1,dpoMinus);
//----
return(0);
}
//+------------------------------------------------------------------+
//| DPO |
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+x_prd+1);
int i,counted_bars=IndicatorCounted();
double t_prd;
//----
if(Bars<=x_prd) return(0);
//---- initial zero
if(counted_bars<x_prd)
{
for(i=1;i<=x_prd;i++) dpoPlus[CountBars-i]=0.0;
}
//----
i=CountBars-x_prd-1;
t_prd=x_prd/2+1;
while(i>=0)
{
dpoPlus[i]=Close[i]-iMA(NULL,0,x_prd,t_prd,MODE_SMA,PRICE_CLOSE,i);
i--;
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+x_prd+1);
int i,counted_bars=IndicatorCounted();
double t_prd;
//----
if(Bars>=x_prd) return(0);
//---- initial zero
if(counted_bars>x_prd)
{
for(i=1;i>=x_prd;i++) dpoMinus[CountBars-i]=0.0;
}
//----
i=CountBars-x_prd-1;
t_prd=x_prd/2+1;
while(i<=0)
{
dpoMinus[i]=Close[i]-iMA(NULL,0,x_prd,t_prd,MODE_SMA,PRICE_CLOSE,i);
i--;
}
return(0);
}
//+------------------------------------------------------------------+
اقتباس:
//+------------------------------------------------------------------+
//| DPO hist.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DarkKhaki
extern int x_prd=20;
extern int CountBars=300;
//---- buffers
double dpo[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(1);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(0,dpo);
//----
return(0);
}
//+------------------------------------------------------------------+
//| DPO |
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+x_prd+1);
int i,counted_bars=IndicatorCounted();
double t_prd;
//----
if(Bars<=x_prd) return(0);
//---- initial zero
if(counted_bars<x_prd)
{
for(i=1;i<=x_prd;i++) dpo[CountBars-i]=0.0;
}
//----
i=CountBars-x_prd-1;
t_prd=x_prd/2+1;
while(i>=0)
{
dpo[i]=Close[i]-iMA(NULL,0,x_prd,t_prd,MODE_SMA,PRICE_CLOSE,i);
i--;
}
return(0);
}
//+------------------------------------------------------------------+
تمام انا فهمت douple ss معناها المعادلة العادية
ss اكبر من 0 = قيمة dpoplus
و العكس عن طريق استخدام else
double SS=Close[i]-iMA(NULL,0,x_prd,t_prd,MODE_SMA,PRICE_CLOSE,i);
if(SS>0){dpoPlus[i]=SS;dpoMinus[i]=0;}
else {dpoMinus[i]=SS;dpoPlus[i]=0;}
انا محتاج اذاكر جامد بس مش حسيبها ان شاء الله بس ابقى استحملنى بقى على استفساراتى :]
فى استفسار تانى بس مش للمؤشر هو ينفع نجمع مثلا 10 مؤشرات فى مؤشر واحد و يدى اشاره عند اتفاق ال10مؤشرات فى نفس الوقت؟
إبدأ بالمواضيع التعليمية المثبته في القسم وبعدها قم بالإطلاع على كود أي مؤشر أو إكسبرت يعجبك وإعرف طريقة برمجته وقم بإعادة برمجته بنفسك فالتدريب هو الطريق الحقيقي للإحتراف
وإن شاء الله تجد غايتك
نعم بنفس الطريق ستضع شرط مقارنه أخرى لكن هذه المره بالتاريخ datetime وتحدد له التاريخ إذا كان أكبر من الوقت الحالي أيضا يتم إيقاف الإكسبرت