النتائج 5,896 إلى 5,910 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 12-09-2014, 11:50 PM #5896
- 15-09-2014, 10:30 PM #5897
السلام عليكم
اساتذتي الكرام
اريد معرفة ما هو Virtual Trailing Stop
هل هو Trailing Stop الذى نستعملة ام هو شي اخر
واذا امكن ارفاق اكسبيرت مفتوح الكود له
جزاكم الله خيرا
- 15-09-2014, 10:49 PM #5898
وعليكم السلام ، إجابة مختصرة لسؤالك الأمر VTSO يتحرك لحماية السعر بالنسبة المئوية من قيمة العقد المفتوح بينما SLO العادي يتحرك بالنقاط
ستجد في الرابط شرح كامل سيفيدك
http://www.investopedia.com/ask/answ.../vtsoorder.asp
أنا لم يسبق لي أستخدامه ، إن شاء الله يفيدك فيه أستاذي مستر دولار .
- 16-09-2014, 01:57 PM #5899
بارك الله فيك استاذي جميل
- 16-09-2014, 05:56 PM #5900
ممكن مساعده لو سمحتوا في فانكشن يقوم بجمع وتسجيل الارباح بالدولار للأوامر التي اغلقها اكسبيرت معين ويقوم مقارنتها بالخساره للأوامر الحاليه التي لم تقفل بعد او الخسائر العائمه وعندما يصل الي ان ارباح (الارباح بالدولار) الاوامر المغلقه اكبر بعدد محدد بالدولار من الخسائر الحاليه للأوامر التي لم تغلق بعد يقوم باغلاق جميع الصفقات .
ويبداء من جديد في الجمع (وهنا المشكله الكبري) .
المشكله انه عندما يغلق ويبداء من جديد لا اريده ان يقوم بجمع ارباح الاوامر التي اغلقت وحسبت في العمليه الاولي بل يبدا بتسجيل ارباح الاوامر التي ستغلق جديده ومقارنتها بالخسائر الحاليه للأوامر المفعله وهكذا .
هل من افكار في كيفيه برمجتها.
آخر تعديل بواسطة just_be ، 16-09-2014 الساعة 05:59 PM
- 16-09-2014, 09:30 PM #5901
بعد أن يغلق الإكسبرت جميع الصفقات قم بتعريف متغيير يحفظ التوقيت الجديد الذي سيفتح عنده أول صفقه جديده وعرف المتغير من نوع static او عرفه خارج الداله OnTick حتى لا تتغير قيمته إلا عندما تقوم بتغييرها أنت
ثم الموضوع سيكون بسيط سوف تضع من ضمن شروط الداله التي ستحسب أرباح الصفقات التي أغلقت أن يكون توقيت إفتتاحها أكبر من توقيت هذا المتغير
- 16-09-2014, 09:47 PM #5902
وعليكم السلام ورحمة الله وبركاته
هي نفس فكرة الأستوب لوز المخفي وطبعا تختلف كل طريقة حسب الفكره التي تريدها بعض الإكسبرتات تحسب تريلينج ستوب وهمي بناء على الربح الكلي لجميع الصفقات فمثلا كان الربح الحالي 100 دولار يقوم الإكسبرت بوضع التريلينج الوهمي على 10 دولار فإذا وصل لها أغلق الصفقات وكلما زاد الربح مثلا 110 يتم نقل التريلينج الوهمي إلى 20 دولار وهكذا
أو بناء على نسبة مئويه كما قال الأستاذ جميل أو بناء على النقاط أو يكون التريلينج الوهمي لصفقة واحده فقط وليس للحساب الكلي
هذا مثال لكود قمت بعمله سريعها
كود PHP:input double TrailingUSD=50;
static double TS_Profit;
if(TotalProfit()>=TrailingUSD&&TotalProfit()-TrailingUSD>TS_Profit)
{
TS_Profit=TotalProfit()-TrailingUSD;
}
if(TotalProfit()<=TS_Profit)
{
// close all orders
TS_Profit=0;
}
double TotalProfit()
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol())
{
profit+=OrderProfit();
}
}
return(profit);
}
- 16-09-2014, 11:15 PM #5903
السلام عليكم ورحمة الله وبركاته
اخى العزيز مستر دولار
كنت قد طلبت منك تعديل على كود
فى هذه المشاركه
https://forum.arabictrader.com/t37612-389.html
وهذه هو الكود
كود PHP:#property copyright "king_f"
#property link " [email protected]"
#property version "1.00"
#property indicator_chart_window
#property strict
#property indicator_buffers 2 /////// بفرز الاسهم
#property indicator_color1 Lime // لون السهم الصاعد
#property indicator_color2 Red // لون السهم الهابط
static int check=0;
//-------------------------
extern double gap=5 ; // بعد السهم عن الخط
extern int PipsDifference=10;
//--- buffers
double buy[]; // السهم الصاعد
double sell[]; // السهم الهابط
extern int shift =1; // ازاحه الشمعه
extern int period =0; //1440 10080 43200 /// الفريم
double ticksize = MarketInfo(Symbol(),MODE_TICKSIZE); /// حساب قيمه التكه
double t,t1,t2,t3,t4,t5,t6,t7,t8,t9; // متغيرات لقيمه التك
double wp112,wpp112,wp75,wpp75,wp180,wpp180; // متغيرات لقيمه خطوط الدعم والمقاومه
double hiarrow1,lowarrow1,closearrow1,openarrow0; // متغيرات هاى ولو واغلاق الشمعه1 و افتتاح الشمعه صفر لاستخدامهم فى الشروط
double close;
int init()
{
//بما ان المؤشر للمنصه الاربع الارقام
// الكود التالى عباره عن طريقه الحساب اذا كانت المنصه اربع ارقام
//اذا كانت قيمه التك اربع ارقام بعد الفاصله يجعل قيم متغيرات الخطوط باضافه عدد النقاط الموجوده
if (ticksize==0.0001){
t2=0.0030; //
t6=0.0045;
t9=0.0072;
}
if (ticksize ==0000.01){// الذهب رقمين بعد الفاصله
t2=0003.00;
t6=0004.50;
t9=0007.20;
}
if (ticksize ==000.01){// رقمين بعد الفاصله الين اليابانى
t2=000.30;
t6=000.45;
t9=000.72;
}
//--- indicator buffers mapping
// هنا الكود لاعطاء الخطوط التى سنرسمها قيمه
SetIndexStyle(0,DRAW_ARROW,EMPTY,1); /// بفرز الاسهم
SetIndexArrow(0,233);
SetIndexBuffer(0,buy);
SetIndexStyle(1,DRAW_ARROW,EMPTY,1);
SetIndexArrow(1,234);
SetIndexBuffer(1,sell);
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// هنا انشاء الخطوط
return(0);
}
int deinit()
{
ObjectDelete("wp112");
ObjectDelete("wpp112");
ObjectDelete("wp75");
ObjectDelete("wpp75");
ObjectDelete("wp180");
ObjectDelete("wpp180");
return(0);
}
int start()
{
////////////**************
close =NormalizeDouble(iClose(Symbol(),period,shift),Digits); /// اغلاق اليوم السابق
wp75 = close+t2; // wp75 اسم خط المقاومه الاول
// وهو عباره عن او يساوى قيمه اغلاق الامس او الشمعه 1لليومى مضاف اليها تى2 وهى عدد النقاط وهى 30 نقطه
wpp75 = close-t2;
wp112=close+t6; // 112
wpp112=close-t6;
wp180 =close+t9; // 180
wpp180 = close-t9;
for(int i=1;i<iBarShift(Symbol(),0,iTime(Symbol(),1440,1),false);i++)
{
hiarrow1= NormalizeDouble (iHigh (Symbol(),0,i),Digits);// هاى الشمعه السابقه
lowarrow1 = NormalizeDouble(iLow (Symbol(),0,i),Digits);// لو الشمعه السابقه
closearrow1 = NormalizeDouble(iClose (Symbol(),0,i),Digits);// كلوز الشمعه السابقة
openarrow0 = NormalizeDouble(iOpen (Symbol(),0,i-1),Digits);// اوبن الشمعه الحاليه
//wp75 لو كان هاى الشمعه السابقه يساوى خط المقاومه المسمى
//واغلاق نفس الشمعه السابقه اقل من نفس الخط
//وافتتاح الشمعه الحالية اقل من او يساوى الخط
if(hiarrow1>=wp75-PipsDifference*Point&&hiarrow1<=wp75+PipsDifference*Point && closearrow1<=wp75 && openarrow0<=wp75)
{
sell[i]=High[i]+gap*Point;// اذا تخقق الشروط ارسم سهم هابط ومكانه اعلى اهاى الشمعه بمقدار الجاب
}
if (lowarrow1<=wpp75+PipsDifference*Point&&lowarrow1>=wpp75-PipsDifference*Point && closearrow1>=wpp75 && openarrow0>=wpp75)
{
buy[i]=Low[i]-gap*Point;
}
if(hiarrow1>=wp112-PipsDifference*Point&&hiarrow1<=wp112+PipsDifference*Point && closearrow1<=wp112 && openarrow0<=wp112)
{
sell[i]=High[i]+gap*Point;
}
if (lowarrow1<=wpp112+PipsDifference*Point&&lowarrow1>=wpp112-PipsDifference*Point && closearrow1>=wpp112 && openarrow0>=wpp112)
{
buy[i]=Low[i]-gap*Point;
}
if(hiarrow1>=wp180-PipsDifference*Point&&hiarrow1<=wp180+PipsDifference*Point && closearrow1<=wp180 && openarrow0<=wp180)
{
sell[i]=High[i]+gap*Point;
}
if (lowarrow1<=wpp180+PipsDifference*Point&&lowarrow1>=wpp180-PipsDifference*Point && closearrow1>=wpp180 && openarrow0>=wpp180)
{
buy[i]=Low[i]-gap*Point;
}
}
ObjectCreate("wp75",OBJ_HLINE,0,0,wp75); // خط المقاومه الاولى
// وباقى الاعدادت
ObjectSet ("wp75",OBJPROP_COLOR,clrRed);
ObjectSet("wp75",OBJPROP_STYLE,0);
ObjectSet("wp75",OBJPROP_WIDTH,1);
ObjectCreate ("wpp75",OBJ_HLINE,0,0,wpp75); // خط الدعم الاول
ObjectSet ("wpp75",OBJPROP_COLOR,clrRed);
ObjectSet("wpp75",OBJPROP_STYLE,0);
ObjectSet("wpp75",OBJPROP_WIDTH,1);
ObjectCreate ("wp112",OBJ_HLINE,0,0,wp112);// خط المقاومه الثانى
ObjectSet ("wp112",OBJPROP_COLOR,clrOrange);
ObjectSet("wp112",OBJPROP_STYLE,0);
ObjectSet("wp112",OBJPROP_WIDTH,1);
ObjectCreate ("wpp112",OBJ_HLINE,0,0,wpp112);// خط الدعم الثانى
ObjectSet ("wpp112",OBJPROP_COLOR,clrOrange);
ObjectSet("wpp112",OBJPROP_STYLE,0);
ObjectSet("wpp112",OBJPROP_WIDTH,1);
ObjectCreate("wp180",OBJ_HLINE,0,0,wp180);// خط المقاومه الثالث
ObjectSet ("wp180",OBJPROP_COLOR,Blue);
ObjectSet("wp180",OBJPROP_STYLE,0);
ObjectSet("wp180",OBJPROP_WIDTH,2);
ObjectCreate ("wpp180",OBJ_HLINE,0,0,wpp180); // خط الدعم الثالث
ObjectSet ("wpp180",OBJPROP_COLOR,Blue);
ObjectSet("wpp180",OBJPROP_STYLE,0);
ObjectSet("wpp180",OBJPROP_WIDTH,2);
///////////***************
return(0);
}
بمعنى انه يرسم اسهم يوم 11/8 مثلا لكن على اساس اغلاق الامس 15/9
وهذه متعب فى عمليه الباك تست (بالعين) لانى لازم اغير الshift عند كل يوم اريد
ان اختبره
والمطلوب داله تجعل المؤشر يحسب كل يوم على اساس اغلاق اليوم السابق له
بمعنى يرسم اسهم يوم 11/8 على اساس اغلاق اليوم لسابق له 10/8
تحياتى
- 17-09-2014, 06:27 AM #5904
بارك الله فيك مستر دولار مشكور جدا جدا جدا
- 18-09-2014, 08:14 AM #5905السلام عليكم ورحمة الله وبركاته
بعد ترك دراسه MQL 4 رجعت اليوم لها
بتصور حتى لو وجدت استراتيجيه مربحه العمل اليدوي يبعدك عن الاهل وحياتك كلها خلف الشاشه
لهذا شيئ رجعت تعلم لعل وعسى نعمل اكسبيرت نربح منه ...
لانه بجد افتقدت اهلي وحياتي خلف الشاشه وبدون فائده
لدي هذا المؤشر يظهر اشاره دخول شراء واشاره دخول بيع
كما هو واضح اذا اشاره حمراء بيع واذا خضراء شراء
المطلوب هنا كيف مثلا اذا ظهرت اشاره خضراء بدخل شراء واذا ظهرت اشاره ثانيه يدخل شراء واشاره ثالثه ولم يتحقق هدف 1 و 2 ايضا يدخل شراء
بحسب ماحدد له بمتغير خارجي مثلا extern int count = 3
هنا عدد مرات الدخول شراء في حال ظهرت اشاره شراء
اتمنى وضحت الفكره بحيث انه كل ماتظهر فرصه يدخل بها سواء تحقق الهدف او لا بناء على عدد count هل هو 3 او 2 او 4 ... الخ عدد الصفقات مسموح بها
شكرا لكم
- 18-09-2014, 09:02 AM #5906
السلام عليكم
كيف استطيع اخد القيم من الموشر اخضر او احمر
او اكبر من 0 او اصغر من الصفر
انا كتبت هدي المثود
double getSolarWind(int mode)//3
{
return iCustom(Symbol(),TimeFrame,"SolarWind-ACS",10,0,650,mode,1);
}
بس القيم مختلفه جربت كل مود 0,1,2
الرجاء المساعدة ولكم جزبل الشكر
- 18-09-2014, 05:10 PM #5907لأحاول وضع ذلك الكود
كود PHP:if(!ObjectCreate(ChartID(),"text1",OBJ_TEXT,0,Time[1],low1))
{
Print(__FUNCTION__,": failed to create a rectangle! Error code = ",GetLastError());
return(false);
}
ObjectSetString(ChartID(),"text1",OBJPROP_TEXT,"text");
ObjectSetInteger(ChartID(),"text1",OBJPROP_COLOR,clrWhite);
ما الخطا ؟
- 20-09-2014, 05:09 PM #5908
- 22-09-2014, 01:01 AM #5909
هذا الخطأ يعني أن الكائن الذي تحاول تعديل قيمه غير موجود ولم يتم رسمه
لذلك إجعل الشروط
كود PHP:if(!ObjectCreate(ChartID(),"text1",OBJ_TEXT,0,Time[1],low1))
{
Print(__FUNCTION__,": failed to create a rectangle! Error code = ",GetLastError());
return(false);
}
else
{
ObjectSetString(ChartID(),"text1",OBJPROP_TEXT,"text");
ObjectSetInteger(ChartID(),"text1",OBJPROP_COLOR,clrWhite);
}
- 22-09-2014, 01:10 AM #5910
وعليكم السلام ورحمة الله وبركاته
بالنسبه للخط الأحمر فسوف تستخدم الكود
كود PHP:iCustom(Symbol(),TimeFrame,"SolarWind-ACS",10,0,650,0,1);
كود PHP:if(getSolarWind(0)<0)
كود PHP:if(getSolarWind(0)>0)
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM