النتائج 31 إلى 44 من 44
- 17-04-2013, 08:04 PM #31
نبدا بالخطوه الاولى لايجاد الدوره هذا الخطوه لها ثلاث خيارات
الخيار الاول قياس عدد الشموع ما بين القاع والقاع على اي شارت وكتابتها كل الارقام على ورقه خارجيه تقسيم الارقام التي نكتبها الى مجموعات بحيث تكون كل مجموعه قريبه من بعضها مثلا رقم 10 مع 11 و12 و13 و9 و8 ولانضيف للمجموع من رقم 17 لانه يعتبر مجموعه ثانيه التي تنتمي الى الدوره الاكبر (وكما نعرف ان الدوره ترتبط برقم 2 او ثلاث ) بعد ذلك نشاهد اي مجموعه عدد عناصرها اكثر مثلا مجموعه 1 بها 9 و8 و10 و11 اذن عدد عناصرها 4 اما المجموعه الثانيه عدد عناصرها 17 و18 اذن عدد عناصرها 2 وقد يكون خيار ثاني ان اقوم بمشاهده الدوره التي تتكرر اكثر واقوم باختيار الدوره الاكبر او المتوسط حيث دوره 10 هي نصف دوره عشرين سناتيها لاحقا مع التطبيق
الخيار الثاني هو نفس النظام يقوم بايجاد الدوره المسيطره وهذا غير متوفر في ميتاتريد
الخيار الثالث اقوم بفحص تحقيق المثاليه لموشر ستوكاستك واقوم بضرب الناتج في عدد 2 ويعتبر البطي هو ما اقوم بضربه وبذلك نجد الدوره المسيطره
- 17-04-2013, 08:47 PM #32
اذا اي نقطه غير واضحه ارجو التنبيه لها حتى يتم شرحا مره ثانيه وثالثه ورابع الى حد عشره
- 17-04-2013, 10:06 PM #33
مرفق 3 شارت توضح المقصود بالبحث اليدوي يتم جمع جميع الارقام من نفس المجموعه وايجاد متوسطها
وهنا حاولت ان اجد القيعان التي تقريبا تتشابه في العدد مثلا 22 و20 و19 و17 و16 وتناسيت مثلا الارقام مثل 9 او عشره او حتى 40 او ثلاثين لاننا كما قلنا ان الدورات ترتبط برقم سواء الضعف او الثلث اي 2 او 3
بعد ذلك يظهر معاي المتوسط مثلا 19 يوم هو قريب من الدوره الاسميه 20 اذن انا في المسار الصحيح
- 17-04-2013, 10:23 PM #34
الان ياتي العمل بثلاث طرق بعد ان حدد الدوره قلنا انها 20 مثلا
الطريقه الاولى و هي موشر المغلف المرفق صورته نختار رقم اما نصف الدوره وهو 10 او ثلث الدوره وهو 7
ومتوسط بسيط والسعر نختار مركز السعر (هذه مهمه جدا )وبرمجه كما في الصوره وبعدها سيكون تعب قليل لاختيار الارقام الصحيحه للانحراف او اي متوسط 10 او 7 وساشرح طريقه المفاضله بالاتي
يجب ان لايكون المتوسط حاد يكون سلس
ويجب ان المغلف يكون يلمس السعر كل 20 يوم وهذه اتحكم بها بالانحراف
اي اضع نقاط على قيعان السعر واجرب متوسط 10 هل هو حاد ام سلس اذا هو سلس اوكي اقوم بزياده ونقصان الانحراف حتى اجد انه يلمس السعر كل 20 يوم وبعدها اجرب متوسط 7 وهكذا حتى اجد ان المنظر الافضل او المغلف الذي ينتقل مع السعر كل 20 يوم كما هي الدوره وهنا ملاحظه مهما ان الدورات تسمح بمجال للانحراف مثلا قد تصل الدوره الى قاعها قبل 2 او 3 من نهايتها وقد تصل متاخرها
والملاحظه الثانيه هي تداخل الدورات سوف تجد ان دوره لم تعد تعمل وهذا وارد لذلك يجب اعاده التقيم كل هبوط للسعر وسوف نكتشف طريقه اكتشافات التغير في الطريقه الثانيه والثالثه كيف سوف نحدد هدف السعر وهدف الزمن ان شاء الله اترك الموضوع لطرح اي اسئله واتمنى ان تكن الامور واضحه فانا جاهز لاي سوال
ملاحظه ان الموضوع لم يتم شرحه في اي منتدى من قبل وقليل جدا من الناس ما يعرف التطبيق لذلك ارجو استغلال الوضع ولم اشرح واقدمه الا اكراما لمستر دولار والمنتدى والقائمين عليه
- 17-04-2013, 10:57 PM #35
نرجع الى الاكسبيرت تم اضافه ما قيل سابقا من ان السعر فوق الغيمه اربع ساعات واقصى اليمين يدل على اتجاه تصاعدي واشاره شراء او بيع من شارت الربع ساعه بتقاطع شينمو مع سبان 1 وستم اضافه بعض الميزات لاحقا
كود PHP://+------------------------------------------------------------------+
//| مشروع التخرج .mq4 |
//| |
extern int TakeProfit=0;
extern int StopLoss=0;
extern int MagicNumber = 1;
extern int Trailing_Stop = 0;// الوقف المتح
extern double Lot=0.1;//
int t1,t2;
extern int CHART1 =15;//
extern int CHART2 =240;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{ int PT;
if(Digits==5||Digits==3)PT=10;
else PT=1;
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
double b,s,bsl,ssl,bt,st;
int PT;
b= Ask;
s=Bid;
if (StopLoss>0)
{
bsl=b-StopLoss*Point*PT;
ssl=s+StopLoss*Point*PT;
}
else
{
bsl=0;
ssl=0;
}
if (TakeProfit>0)
{
bt=b+TakeProfit*Point*PT;
st=s-TakeProfit*Point*PT;
}
else
{
bt=0;
st=0;
}
double lTrailingStop = Trailing_Stop;
double sTrailingStop = Trailing_Stop;
if(lTrailingStop>0||sTrailingStop>0){//3
TrailingPositionsBuy(lTrailingStop);
TrailingPositionsSell(sTrailingStop);
}
int cnt, ticket, total;
double a1=iIchimoku(NULL, CHART2, 9, 26, 52,4 , 1);
double a2=iClose(NULL,CHART2,1);
double a3=iIchimoku(NULL, CHART2, 9, 1, 52,3 , 1);
double a4=iIchimoku(NULL, CHART2, 9, 1, 52,4 , 1);
double a5=iIchimoku(NULL, CHART1, 9, 26, 52,3 , 27);
double a6=iIchimoku(NULL, CHART1, 9, 26, 52,3 , 28);
double a7=iClose(NULL,CHART1,1);
double a8=iClose(NULL,CHART1,2);
if(a2>a1&&a3>a4&&a8<a6&&a7>a5&&
MyBuyRealOrdersTotal(MagicNumber)==0)//1
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,b,3*PT,bsl,bt,"",MagicNumber,0,Green );
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
if(a2<a1&&a3<a4&&a8>a6&&a7<a5&&
MySellRealOrdersTotal(MagicNumber)==0)//
{
ticket=OrderSend(Symbol(),OP_SELL,Lot,s,3*PT,ssl,st,"",MagicNumber,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
return(0);
//+---------------
// وظيفة لحساب عدد الصفقات الحالية (للشراء)
int MyBuyRealOrdersTotal(int MagicNumber)
{
int c=0;
int total = OrdersTotal();
t1=-1;
t2=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
{
if (t1==-1)
{
t1=OrderTicket();
}
else
{
if (t2==-1)
{
t2=OrderTicket();
}
}
c++;
}
}
return(c);
}
// وظيفة لحساب عدد الصفقات الحالية للبيع
int MySellRealOrdersTotal(int MagicNumber)
{
int c=0;
int total = OrdersTotal();
t1=-1;
t2=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && (OrderType()==OP_SELL))
{
if (t1==-1)
{
t1=OrderTicket();
}
else
{
if (t2==-1)
{
t2=OrderTicket();
}
}
c++;
}
}
return(c);
}
//+------------------------------------------------------------------+
int PT;
void TrailingPositionsBuy(int trailingStop) {
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) {
if (OrderType()==OP_BUY) {
if (Bid-OrderOpenPrice()>trailingStop*Point*PT) {
if (OrderStopLoss()<Bid-trailingStop*Point*PT)
ModifyStopLoss(Bid-trailingStop*Point*PT);
}
}
}
}
}
}
void TrailingPositionsSell(int trailingStop) {
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) {
if (OrderType()==OP_SELL) {
if (OrderOpenPrice()-Ask>trailingStop*Point*PT) {
if (OrderStopLoss()>Ask+trailingStop*Point*PT || OrderStopLoss()==0)
ModifyStopLoss(Ask+trailingStop*Point*PT);
}
}
}
}
}
}
void ModifyStopLoss(double ldStopLoss) {
bool fm;
fm = OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE);
}
- 18-04-2013, 11:17 PM #36
مرفق الاكسبيرت او تعديل على الفكره انا جاهز
- 19-04-2013, 08:47 AM #37
يعطيك العافيه وموفق ان شاء الله ارجو التاكد من الاكسبيرت وانزال النسخه الصحيحه
- 19-04-2013, 12:33 PM #38
- 20-04-2013, 12:29 AM #39
مرفق الاكسبيرت في انتظار اي اقتراحات لتعديله استراتجيته المختصر الاتجاه من اربع ساعه والاشاره من ربع ساعه وهناك امكانيه تغير الشارت مثلا ساعه وخمس دقائق ولكن للتذكير لابد من تدقيق الاشاره من ناحيه مكان ظهورها دعم في اتجاه تصاعدي او مقاومه في التنازلي ووقت ظهور الاشاره لذلك وجب التنبيه
لذلك هو اكسبيرت يعطي اشارات تحتاج الى تدقيق بسيط يدويا
كود PHP://+------------------------------------------------------------------+
//| مشروع التخرج .mq4 |
//| |
extern int TakeProfit=90;
extern int StopLoss=40;
extern int MagicNumber = 1;
extern int Trailing_Stop = 0;// الوقف المتح
extern double Lot=0.1;//
int t1,t2;
extern int CHART1 =15;//
extern int CHART2 =240;
double point;
int digits,Q;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits==5||Digits==3)Q=10;
else Q=1;
if(Digits<4)
{
point=0.01;
digits=2;
}
else
{
point=0.0001;
digits=4;
}
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
double b,s,bsl,ssl,bt,st;
int PT;
b= Ask;
s=Bid;
if (StopLoss>0)
{
bsl=b-StopLoss*Point*Q;
ssl=s+StopLoss*Point*Q;
}
else
{
bsl=0;
ssl=0;
}
if (TakeProfit>0)
{
bt=b+TakeProfit*Point*Q;
st=s-TakeProfit*Point*Q;
}
else
{
bt=0;
st=0;
}
double lTrailingStop = Trailing_Stop;
double sTrailingStop = Trailing_Stop;
if(lTrailingStop>0||sTrailingStop>0){//3
TrailingPositionsBuy(lTrailingStop);
TrailingPositionsSell(sTrailingStop);
}
int cnt, ticket, total;
double a1=iIchimoku(NULL, CHART2, 9, 26, 52,4 , 1);
double a2=iClose(NULL,CHART2,1);
double a3=iIchimoku(NULL, CHART2, 9, 1, 52,3 , 1);
double a4=iIchimoku(NULL, CHART2, 9, 1, 52,4 , 1);
double a5=iIchimoku(NULL, CHART1, 9, 26, 52,3 , 27);
double a6=iIchimoku(NULL, CHART1, 9, 26, 52,3 , 28);
double a7=iClose(NULL,CHART1,1);
double a8=iClose(NULL,CHART1,2);
if(a2>a1&&a3>a4&&a8<a6&&a7>a5&&
MyBuyRealOrdersTotal(MagicNumber)==0)//1
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,b,3*Q,bsl,bt,"",MagicNumber,0,Green );
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
if(a2<a1&&a3<a4&&a8>a6&&a7<a5&&
MySellRealOrdersTotal(MagicNumber)==0)//
{
ticket=OrderSend(Symbol(),OP_SELL,Lot,s,3*Q,ssl,st,"",MagicNumber,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
return(0);
//+---------------
// وظيفة لحساب عدد الصفقات الحالية (للشراء)
int MyBuyRealOrdersTotal(int MagicNumber)
{
int c=0;
int total = OrdersTotal();
t1=-1;
t2=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && (OrderType()==OP_BUY))
{
if (t1==-1)
{
t1=OrderTicket();
}
else
{
if (t2==-1)
{
t2=OrderTicket();
}
}
c++;
}
}
return(c);
}
// وظيفة لحساب عدد الصفقات الحالية للبيع
int MySellRealOrdersTotal(int MagicNumber)
{
int c=0;
int total = OrdersTotal();
t1=-1;
t2=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && (OrderType()==OP_SELL))
{
if (t1==-1)
{
t1=OrderTicket();
}
else
{
if (t2==-1)
{
t2=OrderTicket();
}
}
c++;
}
}
return(c);
}
//+------------------------------------------------------------------+
void TrailingPositionsBuy(int trailingStop) {
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) {
if (OrderType()==OP_BUY) {
if (Bid-OrderOpenPrice()>trailingStop*Point*Q) {
if (OrderStopLoss()<Bid-trailingStop*Point*Q)
ModifyStopLoss(Bid-trailingStop*Point*Q);
}
}
}
}
}
}
void TrailingPositionsSell(int trailingStop) {
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) {
if (OrderType()==OP_SELL) {
if (OrderOpenPrice()-Ask>trailingStop*Point*Q) {
if (OrderStopLoss()>Ask+trailingStop*Point*Q || OrderStopLoss()==0)
ModifyStopLoss(Ask+trailingStop*Point*Q);
}
}
}
}
}
}
void ModifyStopLoss(double ldStopLoss) {
bool fm;
fm = OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE);
- 20-04-2013, 12:33 AM #40
مرفق الاكسبيرت لكن للتاكيد تحديد الاتجاه بدايه الاسبوع ونقاط الدعم والمقاومه بدايه الاسبوع وتدقيق الاشارات وان شاء الله تجدو به ما هو خير ان شاء الله
- 20-04-2013, 12:49 AM #41
مرفق بعض الشارت عن ما تم شرحه بخصوص تعديل مغلف السعر لتوضيح الدورات ونلاحظ انه عند اضافه المغلف انه من النظره الاولى نعرف اتجاه السعر وتدقيق وقت الاشاره بكل سهوله وهنا ملاحظات منها ان المغلف قد يخترقه السعر اكثر من مره وهذا صحيح الشي الثاني هو انه احيانا تكون الامور مكركبه لذلك ينصح الابتعاد عن المتاجره حتى توضح الدوره الزمنيه بسهوله مرفق الشارتات بانتظار اي تعليق او اضافه او تعديل او اساله
البعض قد يقول ان الدورات سر السوق بصراحه لدى خبرتي واستخدامي لاكثر اساليب الدورات الزمنيه ما وجدته لايوجد سر في السوق بل استخدامات متعدده للوصول الى افضل النتائج ويعتبر الدورات هي نبض السوق الذي لا يعرف قراءته سوى المتخصص
وهنا لابد من التذكير بما قال داو جونز لابد من ان كل الموشرات تشير الى نفس الاتجاه وهذا هو سبب عرضنا الى اكثر من اسلوب للشرح للوصول الى اكثر من مهاره تساعه في تحليل السوق
وهنا مثال بسيط انه تم مشاهده نموذج سعري التاجر المبتدى يقول هذا نموذج وسادخل عند اختراق كذا اما التاجر المتمرس تراه يدرس اكثر من دلاله ليتاكد من اهميه النموذج منها مثلا ان النموذج الصحيح هو جزء من نموذج اكبر وهناك نماذج داخله اصغر منه ودراسه الدورات ودراسه اتجاه الحجم ودراسه نقاط الدعم والمقاومه على شارتات اكبر ووووو الخ
- 20-04-2013, 11:39 AM #42
الان موشر مساعد بعد ايجاد الدوره وتم برمجته من قبل على احدى المبرمجين الافاضل في منتدى الجيران (هذا شرحي له في منتدى الجيران )
اولا طريقه حساب الموشر
قيمه الموشر = متوسط البسيط مثلا 100 يوم (HL/2) ناقص (-) متوسط البسيط مثلا 200 يوم (HL/2)
مرفق شارت يوضح الفكره في الحساب
قيمه متوسط الاول 100 = 1.3069
قيمه متوسط الثاني 200 = 1.2790
قيمه الموشر = 279
مثال ثاني
قيمه متوسط الاول 10 = 1000
قيمه متوسطالثاني 20 = 1000
قيمه الموشر = صفر
مثال 3
قيمه المتوسط الاول = 900
قيمه متوسط الثاني = 1000
قيمه الموشر = 100 - (سالب )
لذلك المتغيرات الخارجيه تكون
1 تحديد نوع المتوسط
2 قيمه الموشرين (مثلا 14 و 28)
3 تحديد السعر مثلا( اغلاق او سعر اعلى +ادنى / 2 ............الخ )
ملاحظات الموشر
1 يكون الموشر بنافذه مستقله ( مثل الماكد او ستوكاستك )
2 يكون للموشر خط مركز صفر (لذلك يكون تحت الصفر او فو ق الصفر)
هذا الموشر هو من الموشرات الزمنيه الذي يعتبر موشر ارشادي لحاله الدوره الزمنيه للسوق
طريقه ايجاد قيمه المتوسطين
1 قيمه المتوسط الاول = يتم النظر الى القيعان على الشارت والشموع بينها (تقريبا وايجاد الرقم تقريبا متكرر (في المثال المرفق تقريبا 18)
اذن المتوسط الاول هو سعر المركز (H L /2) لمده 18 يوم
المتوسط الثاني يساوي سعر المركز (H L /2) لمده 9 يوم (نصف الدوره )
استخدامات الموشر
الاستخدام الاول
يدل اذا كان السوق زمنيا ما زال مستقر ام هو غير مستقر
معنى عدم استقرار السوق ان السوق سوف يدخل في دوره زمنيه جديده او لقاء اكثر من دوره لذلك ينصح الابتعاد عن التجاره
الاستخدام الثاني يتم استخدامه مع المغلف وتاكيد لنماذج السعر حيث ان نموذج السعر الذي يظهر في طرف المغلف على شارتاقل نستطيع معرفه هل هو استمراري او انعكاس
مرفق الموشر
- 20-04-2013, 12:18 PM #43
فس المشكله الاكسبيرت لايعمل[
- 20-04-2013, 04:51 PM #44
[QUOTE=فايز;2635609]فس المشكله الاكسبيرت لايعمل[[/QU
شكرا اخ فايز على التنبيه حيث انني عملت له باك تيست واعطى صفقات ولكن على visual لم يعمل تم اجراء بعض التعديلات مرفق الاكسبيرت الان يعمل مرفق باك تيست visual
الأكثر زيارة
رد مع اقتباس