StringSbt استخدمها افضل لايوجد فيها تعقيد
وهذه المرة الزوائد عندك sl--ماذا لو وجد غيرها
البرمجة فكر اخي وليس تهرب
Printable View
StringSbt استخدمها افضل لايوجد فيها تعقيد
وهذه المرة الزوائد عندك sl--ماذا لو وجد غيرها
البرمجة فكر اخي وليس تهرب
استاذي فيلسوف
الموضوع ليس تهرب ولكن ايجاد افضل الحلول بابسط الطرق
ان ضبط الكود يعتبر افضل للاكسبيرت
لانه لدي اكثر من استراتيجيه في الكود نفسه وكل استراتيجيه تستخدم الكومنت الرئيسي+ رقم
فان استخدمت StringSbt سيتعرف على الكومنت الرئيسي مع الاضافات ويبدء باحتسابها
لاحض الكود ستفهم ما اقصد
ومثلها اوامر للبيعكود PHP:if (ob1==1&&ordestotal1_2(comment+"1" ,OP_BUYSTOP)==0&&ordestotal1_2(comment+"1" , OP_BUY)==0){
int dddddddd2=OrderSend(Symbol(),OP_BUYSTOP,Lot,gf1,3,gf-StopLoss*pt,gf1+TakeProfit*pt,comment+"1",MagicNumber,TimeCurrent()+9040,clrLawnGreen) ;
}
if (ob2==1&&ordestotal1_2(comment+"2" ,OP_BUYSTOP)==0&&ordestotal1_2(comment+"2" , OP_BUY)==0){
int dddddddd22=OrderSend(Symbol(),OP_BUYSTOP,Lot,gf2,3,gf2-StopLoss*pt,gf2+TakeProfit*pt,comment+"2",MagicNumber,TimeCurrent()+9040,clrLawnGreen) ;
}
if (ob3==1&&ordestotal1_2(comment+"3" ,OP_BUYSTOP)==0&&ordestotal1_2(comment+"3" , OP_BUY)==0){
int dddddddd23=OrderSend(Symbol(),OP_BUYSTOP,Lot,gf3,3,gf3-StopLoss*pt,gf3+TakeProfit*pt,comment+"3",MagicNumber,TimeCurrent()+9040,clrLawnGreen) ;
}
if (ob4==1&&ordestotal1_2(comment+"4" ,OP_BUYSTOP)==0&&ordestotal1_2(comment+"4" , OP_BUY)==0){
int dddddddd24=OrderSend(Symbol(),OP_BUYSTOP,Lot,gf4,3,gf4-StopLoss*pt,gf3+TakeProfit*pt,comment+"4",MagicNumber,TimeCurrent()+9040,clrLawnGreen) ;
}
if (ob5==1&&ordestotal1_2(comment+"5" ,OP_BUYSTOP)==0&&ordestotal1_2(comment+"5" , OP_BUY)==0){
int dddddddd25=OrderSend(Symbol(),OP_BUYSTOP,Lot,gf5,3,gf5-StopLoss*pt,gf5+TakeProfit*pt,comment+"5",MagicNumber,TimeCurrent()+9040,clrLawnGreen) ;
}
if (ob6==1&&ordestotal1_2(comment+"6" ,OP_BUYSTOP)==0&&ordestotal1_2(comment+"6" , OP_BUY)==0){
int dddddddd26=OrderSend(Symbol(),OP_BUYSTOP,Lot,gf6,3,gf6-StopLoss*pt,gf6+TakeProfit*pt,comment+"6",MagicNumber,TimeCurrent()+9040,clrLawnGreen) ;
}
if (ob7==1&&ordestotal1_2(comment+"7" ,OP_BUYSTOP)==0&&ordestotal1_2(comment+"7" , OP_BUY)==0){
int dddddddd27=OrderSend(Symbol(),OP_BUYSTOP,Lot,gf7,3,gf7-StopLoss*pt,gf7+TakeProfit*pt,comment+"7",MagicNumber,TimeCurrent()+9040,clrLawnGreen) ;
}
if (ob8==1&&ordestotal1_2(comment+"8" ,OP_BUYSTOP)==0&&ordestotal1_2(comment+"8" , OP_BUY)==0){
int dddddddd8=OrderSend(Symbol(),OP_BUYSTOP,Lot,gf8,3,gf8-StopLoss*pt,gf8+TakeProfit*pt,comment+"8",MagicNumber,TimeCurrent()+9040,clrLawnGreen) ;
-------------------------------------------------
لم تجاوبني هل يعتبر الحل صحيح لاني لم اجربه بسبب ان السوق مغلق
اهم شي يعبر عما تريد انت
ولكن هناك سر قوي في الكومنت مقارنة بالماجيك نمبر
لديك 31 خانة للكومنت-- وبالتالي قوتها تعادل الماجك نمبر 31 مرة--لان الماجك مجرد رقم يتيم
خانة كومنت افاترض لديك فلسفة معينة--مثلا استراتيجية الماكد واستراتيجية ال rsi الخ
خصص مثلا اول 3 خانات لقلب الاستارتيجية وليكن MAC--ثلاث حروف او RSI--برنامجك سيميز من اول 3 حروف قلب الاستارتيجية
للخانمات من 4 الى 6 -- ممكن تضع شرط احر للبحث فيم ابعد
للخانات من 6 الى 9 . . .
وهكذا
السلام عليكم ورحمة الله تعالى وبركاته
مانوع الأوبجكت المستخدم في رسم الشموع والبارات ؟ أم انه غير متاح للمبرمجين ؟
الملف المرفق 480311
أحاول تصميم مؤشر HLC ولم أنجح وبحثت عنه لم أجد سوى مؤشرين وكلاهما يحتوي على مشاكل
أريد نفس الشارت تماما بدون سعر الإفتتاح فهل هذا ممكن ؟
بارك الله بكم
طرحته سابقا هنا--نفس السؤال--شمعة نوع بارة من غير افتتاح
الحل تلغي الوان التشارت الاصلي وترسم من خلال الهستوغرام
نفس اللي سويناه يوم امس في مؤشر رنكو الصدفة
في الميتا 5 -- هذه الامور متاحة
مشكور أخي أسامة :eh_s(7):
السلام عليكم
عدلت على كود لمبرجنا مستر دولار لمعرفه متوسط السعر للشراء والبيع
ثم عدلت على كود لتغيير السعر لوقف الخساره واخذ الربحكود PHP:double AvTP()
{
double Price;double Lots1;
for(int i=0;i<=OrdersTotal();i++)
{
int tick=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderType()==OP_SELL)
{
Price+=OrderOpenPrice()*OrderLots();
Lots1+=OrderLots();
}
}
if(Lots1!=0)
return(Price/Lots1);
}
double AvTP1()
{
double Price;double Lots1;
for(int i=0;i<=OrdersTotal();i++)
{
int tick=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderType()==OP_BUY)
{
Price+=OrderOpenPrice()*OrderLots();
Lots1+=OrderLots();
}
}
if(Lots1!=0)
return(Price/Lots1);
}
يعمل الكود لكن ياتيني في الجورنال خطأكود PHP:double SL,TP;
for(int cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
bool select=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
double type=OrderType();double orderstop=OrderStopLoss();double openprice=OrderOpenPrice();
int ticket1=OrderTicket();double profit=OrderTakeProfit();string symbol=OrderSymbol();
if(symbol==Symbol())
if((StopLoss!=0||TakeProfit!=0))
{
if(type==OP_BUY)
{
if(StopLoss!=0){SL=AvTP1()-StopLoss*point;}
if(TakeProfit!=0){TP=AvTP1()+TakeProfit*point;}
if(orderstop!=SL||profit!=TP)
{
bool modify=OrderModify(ticket1,openprice,SL,TP,0,Blue);
}
}
if(type==OP_SELL)
{
if(StopLoss!=0){SL=AvTP()+StopLoss*point;}
if(TakeProfit!=0){TP=AvTP()-TakeProfit*point;}
if(orderstop!=SL||profit!=TP)
{
modify=OrderModify(ticket1,openprice,SL,TP,0,Red);
}
}
}
}
في الباك تست
OrderModify error 1
ارجو ايضاح الخطأ وتعديله ان امكن
شاكر لكم مقدما
وعليكم السلام ورحمة الله وبركاته
هذا الخطأ يظهر عندما تحاول تعديل الصفقة بدون تغيير الهدف أو الأستوب السابق
لذلك قبل الداله OrderModify ضع شرط إذا كان الاستوب السابق لا يساوي الأستوب الجديد أو الهدف السابق لا يساوي الهدف الجديد عندها يمكن تنفيذ الداله OrderModify
double type=OrderType();
??????? كيف دبل؟
وكيف اخي تستخدم point وانت تعلم انها خاصة بزوج التشارت وليس زوج الصفقة؟ --- الرجاء عدم الرد بعجلة حتى قراءة هذا السطر 25 مرة.اقتباس:
SL=AvTP1()-StopLoss*point;
لابد تستخدم MarketInfo
فسبب الخطأ عندك هو لو كان زوج اصلفقة ازواج ين ومطبق على زوج يورو
او العكس التشارت يورو والصفقة ين
في هذه الحالة ستسقبل خطأ في التيك بروفت لصفقات البيع وفي الستوب لوس لصفقات الشراء
واذا تبي نحبكها مرة :) ارجع لموضوعي دردشة عامة
فهذا السطر يستحق 8 من 10 وليس 10 من 10
الافضل من باب "الاستحياط" :) السطر التالي:كود PHP:if(StopLoss!=0)
تحدثنا هناك عن مقارنة من نوع دبلكود PHP:if(StopLoss>0.01)
تفصيل مشكلتك:
تخيل اخي انت داخل زوج اليورو ين شراء ومطبق الخبير على زوج الكيبل مثلا
تصبح قيمة بونت تتبع الكيبل يعني 0.0001
ولكن انت لهذه الصفقة تحديدا تريد بوينت قيمتها 0.01 لانه زوج ين!
الذي يحدث معك اخترت نقاط هدف 20 نقطة مثلا
سيضرب 20 في 0.0001 وليس 0.01
وبالتالي بدلا من ان تتوقع 132.20 تجده 132.002 !!!
الان افترض العكس
اخترت وقف 200 نقطة لليورو ومطبق على تشارت اليورو ين:
سيضرب 200 في 0.01 والناتج 2
وبالتلي سعر اليورو ناقص 2 --- ستكون قيمة بالسالب!
فترفضه OederModigy
وهذه هي المرة الخامسة التي اوضح هذه النقطة في المنتدى