شكرا اخي اسامة الله ينور عليك ويحفظك
تحياتي
Printable View
السلام عليكم ورحمة الله وبركاته
مشرفنا العزيز استاذ اسامه استفسار تعليمى
كيف يمكن تنفيذ الاكواد لهذا الاكسبرت
اعجبتنى طريقته لتقليل حجم الاعدادات
الملف المرفق 469289
كما هو موضح فى الصوره
اختيار العملات المطلوب المتاجره عليها
ونوع العمليه لكل زوج B للشراء و S للبيع
وحجم اللوت لكل زوج
حاولت تنفيذه بالمصفوفات ولكنى فشلت
السلام عليكم
انا جديد في برمجة الاكسبرتات وقابلتني مشكلة ف دالة الiMaOnArray مش عارف استخدمها ازاي ف الكود
انا عاوز اقارن بين قيمة مؤشر الفوليوم وقيمة موفنج افريج للمؤشر الفوليوم نفسه مش السعر يعني يبقا الmoving average
applied to previous indicator's data
فعملت الكود دا ومش طالعلي اي Errors بس لما اعمل باك تيست مش بياخد اي صفقة
دا الكود كامل
كود PHP:
datetime Time0 = 0;
void OnTick()
{
//---
if (Time0 != Time[0])
{
double vol[42];
ArraySetAsSeries(vol, true );
for( int i=0;i<42;i++){
vol[i]=iVolume(NULL,0,i);
}
double _iVolc = iMAOnArray(vol,42,21,0,MODE_EMA,1);
double _iVolp = iMAOnArray(vol,42,21,0,MODE_EMA,2);
double volc = iVolume(NULL,0,1);
double volp = iVolume(NULL,0,2);
if(volc > volp && volc > _iVolc && volp > _iVolp && Close[1] > Open[1]){
OrderSend(NULL,OP_BUY,.01,Ask,3,Low[1],Ask+(Ask-Low[1]),NULL);
}
if(volc > volp && volc > _iVolc && volp > _iVolp && Close[1] < Open[1]){
OrderSend(NULL,OP_SELL,.01,Bid,3,Low[1],Bid-(High[1]-Bid),NULL);
}
Time0 = Time[0];
}
}
السلام عليكم
سؤال غريب جدا جدا
هل توجد طريقه لكي اجعل موشر rsi بدل ان يكون خط يكون شموع يابانيه حسب التايم فريم الموضوع عليه
تحديث للسؤال
هل هذا الموشر المرفق صحيح
السلام عليكم
سوال اخر
اذا كان لدي موشر (اسمه aa مثلا ) يرسل تنبيه فقط buy و sell
ماهو الكود الواجب كتابته لتنفيذ ارسال امر فتح صفقه للبيع او الشراء
كود PHP:
iCustom(Symbol(),0,"aa",........);
وعليكم السلام ورحمة الله وبركاته
يعتمد على المؤشر ويختلف الكود من مؤشر لآخر
هذا مثال لمؤشر يرسم أسهم وكيفية تحديد شروط الدخول له
https://forum.arabictrader.com/showt...03#post2392603
السلام عليكم
مستر دولار
لقد دخلت على موضوع حضرتك
((&& ناسخ الصفقات للميتاتريدر ( خاص للمتداول العربي ) &&))
وحاولت استخدام الاكسبيرت ولكن ظهر خطأ وارسلت صورة منه فى الرابط الاتى
https://forum.arabictrader.com/showt...=1#post3099243
ولك جزيل الشكر
السلام عليكم ورحمة الله وبركاتة
أستاذنا الفاضل أسامة لك مؤشر من برمجتك واسمة Momentum Break Level Arrow وكنت أريدة أن يحسب على فريم 4 ساعات فقط وقمت بالتعديل علية كما فى الكود
لكن لاحظت أنة يعمل على كل الفريمات أيضاكود:double Momentum_cur=iMomentum(Symbol(),PERIOD_H4,period,ApplyTo,i);
double Momentum_pr=iMomentum(Symbol(),PERIOD_H4,period,ApplyTo,i+1);
أن تكرمت أن تطلعنى على الطريقة الصحيحة
شكرا لك
تقضل استاذ اسامة
كود:#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
input int period=14;
input ENUM_APPLIED_PRICE ApplyTo=PRICE_CLOSE;
extern bool FirstSignalFilter=true;
extern bool EnableAlert=true;
extern double Level=100;
input bool Enable_Alert=true;
input bool Send_Notifications=false;
input bool Send_Mail=false;
datetime Timee;
double Up_Arrow[];
double Dn_Arrow[];
int LastSignal;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void OnInit()
{
SetIndexBuffer(0,Up_Arrow);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexBuffer(1,Dn_Arrow);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Comment("");
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
Comment("www.ArabicTrader.com","\n منتدى المتداول العربي"+"\n Programmed By MR.dollar");
int bars=Bars-IndicatorCounted();
for(int i=bars;i>=1;i--)
{
int counter=i;
double Range=0;
double AvgRange=0;
for (counter=i ;counter<=i+9;counter++)
{
AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
}
Range=AvgRange/10;
double Momentum_cur=iMomentum(Symbol(),PERIOD_H4,period,ApplyTo,i);
double Momentum_pr=iMomentum(Symbol(),PERIOD_H4,period,ApplyTo,i+1);
if(Momentum_cur>Level&&Momentum_pr<=Level&&(LastSignal!=1||!FirstSignalFilter))
{
Up_Arrow[i] = Low[i] - Range*0.5;
LastSignal=1;
if(Timee!=Time[0]&&i==1)
{
if(Enable_Alert)Alert("Momentum Arrow Up"+Symbol()+" TF: "+TimeFrame(Period()));
if(Send_Mail)SendMail("Momentum Arrow Up","Momentum Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
if(Send_Notifications)SendNotification("Momentum Arrow Up "+Symbol()+" TF: "+TimeFrame(Period()));
Timee=Time[0];
}
}
if(Momentum_cur<Level&&Momentum_pr>=Level&&(LastSignal!=-1||!FirstSignalFilter))
{
Dn_Arrow[i] = High[i] + Range*0.5;
LastSignal=-1;
if(Timee!=Time[0]&&i==1)
{
if(Enable_Alert)Alert("Momentum Arrow Down"+Symbol()+" TF: "+TimeFrame(Period()));
if(Send_Mail)SendMail("Momentum Arrow Down","Momentum Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
if(Send_Notifications)SendNotification("Momentum Arrow Down "+Symbol()+" TF: "+TimeFrame(Period()));
Timee=Time[0];
}
}
}
return(rates_total);
}
string TimeFrame(int TF)
{
if(TF==1)return("M1");
else if(TF==5)return("M5");
else if(TF==15)return("M15");
else if(TF==30)return("M30");
else if(TF==60)return("H1");
else if(TF==240)return("H4");
else if(TF==1440)return("D1");
else if(TF==10080)return("W1");
else if(TF==43200)return("MN");
else return("");
}