المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : طلب كيف اكتب كود خاص من الاستاذى اسلام


shivaa
23-08-2016, 01:48 PM
السلام عليكم تحياتى لك استاذى
اريد منك ان ترشدنى على كيف كتابه كود فكرته هى على النحو التالى


1- فتح امرين مركت بيع و شراء بدون ستب ولا تك
2- عند تحرك السوق يوجد واحد خاسر والاخر يتجه الى المكسب
مثلا يكون شراء هو المكسب المطلب عند تحرك10 نقات ((10 نقطه ممكن التعديل عليها ))
يفعل Trailing Stop يكون مخفى
3- عند تفعيل TrailingStop يضع امر معلق buystop اسفل خط الطلب 30 نقطه ((30 نقطه ممكن التعديل عليها ))
شكر استاذى
اريد كود فقط وليس اكسبيرت
ثانى شى ممكن اعرف اذى احدد ان صفقه بعنها كسبانه او خسرانه
بمعنى اخر اى دله تفيد طلبى
اكون شاكر وجزاك الله خيرا

اسلام العوامى
24-08-2016, 01:47 PM
السلام عليكم تحياتى لك استاذى
اريد منك ان ترشدنى على كيف كتابه كود فكرته هى على النحو التالى


1- فتح امرين مركت بيع و شراء بدون ستب ولا تك
2- عند تحرك السوق يوجد واحد خاسر والاخر يتجه الى المكسب
مثلا يكون شراء هو المكسب المطلب عند تحرك10 نقات ((10 نقطه ممكن التعديل عليها ))
يفعل Trailing Stop يكون مخفى
3- عند تفعيل TrailingStop يضع امر معلق buystop اسفل خط الطلب 30 نقطه ((30 نقطه ممكن التعديل عليها ))
شكر استاذى
اريد كود فقط وليس اكسبيرت
ثانى شى ممكن اعرف اذى احدد ان صفقه بعنها كسبانه او خسرانه
بمعنى اخر اى دله تفيد طلبى
اكون شاكر وجزاك الله خيرا





،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،يجب اولا عمل وظيفة لحساب عدد الصفقات المفتوحة،،،

int orderscnt(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()){
cnt++;
}
}
}
return(cnt);
}

،،،بعد ذلك يتم كتابة كود فتح الصفقتين،،،

if(orderscnt()==0){
bool b = OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"",0,0,clrNONE);
bool s = OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"",0,0,clrNONE);
}


،،،بعد ذلك كود التريلينج المخفي ونقوم بعمل وظيفة لمعرفة الصفقات التي تخطت قيمة التريلينج وعمل متغير داخلي لكل صفقة لحفظ القيمة،،،

void HiddenTrailingStop()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&HiddenTrailingStop>0)
{
if(OrderType()==OP_BUY)
{
if(Bid>=OrderOpenPrice()+HiddenTrailingStop*Point&&(GlobalVariableGet("TrailingStop"+OrderTicket())<Bid-HiddenTrailingStop*Point||GlobalVariableGet("TrailingStop"+OrderTicket())==0))
{
GlobalVariableSet("TrailingStop"+OrderTicket(),Bid-HiddenTrailingStop*Point);
}
}
else
{
if(Ask<=OrderOpenPrice()-HiddenTrailingStop*Point&&(GlobalVariableGet("TrailingStop"+OrderTicket())>Ask+HiddenTrailingStop*Point||GlobalVariableGet("TrailingStop"+OrderTicket())==0))
{
GlobalVariableSet("TrailingStop"+OrderTicket(),Ask+HiddenTrailingStop*Point);
}
}

}
}
}


،،،ونقوم بعمل وظيفة لتفعيل الاغلاق عند وصول السعر للتريلينج،،،

void CloseOrders()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY&&GlobalVariableGet("TrailingStop"+OrderTicket())!=0)
{
if(Bid<=GlobalVariableGet("TrailingStop"+OrderTicket()))
{
bool closeB=OrderClose(OrderTicket(),OrderLoTrailingSto p(),Bid,3);
GlobalVariableDel("TrailingStop"+OrderTicket());
}
}
if(OrderType()==OP_SELL&&GlobalVariableGet("TrailingStop"+OrderTicket())!=0)
{
if(Ask>=GlobalVariableGet("TrailingStop"+OrderTicket()))
{
bool closeS=OrderClose(OrderTicket(),OrderLoTrailingSto p(),Ask,3);
GlobalVariableDel("TrailingStop"+OrderTicket());
}
}
}
}
}

،،،بالنسبة لمعرفة اذا كانت صفقة بعينها رابحة ام خاسرة يتم البحث عنها بشئ مميز ممكن برقم ماجيك نمبر او بكومنت،،،

،،،تحياتي،،،

shivaa
25-08-2016, 04:35 PM
جارى تكمله الفكره الاكسبيرت وعرضه عليك
جزاك الله خيرا

shivaa
03-02-2017, 10:25 PM
السلام عليكم
ممكن داله تشتغل TrailingStop على الربح الاجمالى بالدولار
معنى كلامى ان نحدد مبلغ اجمالى بالدولار مثال 10$ والهدف 1 $
اذا وصل اجمالى الى 10$ نضيف 1$ الى 10 الان هدفى هو 11$
اذا وصل اجمالى الى 11$ نضيف 1$ الى 11 الان هدفى هو 12$
حتى يضرب الاجمالى يقفل كل الصفقات يبداء من جديد

shivaa
07-02-2017, 08:25 PM
السلام عليكم
ممكن داله تشتغل TrailingStop على الربح الاجمالى الصفقات المفتوحه بالدولار
معنى كلامى ان نحدد مبلغ اجمالى بالدولار مثال 10$ والهدف 1 $
اذا وصل اجمالى الى 10$ نضيف 1$ الى 10 الان هدفى هو 11$
اذا وصل اجمالى الى 11$ نضيف 1$ الى 11 الان هدفى هو 12$
حتى يضرب الاجمالى يقفل كل الصفقات يبداء من جديد






السلام عليكم
ممكن داله اذا تم اغلاق الصفقه يدوي او بخساره او مكسب فى شمعه الحاليه
لا يدخل الا اذا فتح شمعه جديد
ان شغال على الرينكو
ممكن احسب نسبه من حجم الشمعه للدخول بصفقه الرجاء مثال عن ذالك

اسلام العوامى
08-02-2017, 11:19 AM
السلام عليكم
ممكن داله اذا تم اغلاق الصفقه يدوي او بخساره او مكسب فى شمعه الحاليه
لا يدخل الا اذا فتح شمعه جديد
ان شغال على الرينكو
ممكن احسب نسبه من حجم الشمعه للدخول بصفقه الرجاء مثال عن ذالك

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يجب عمل متغير من النوع datetime وتسميته باي اسم وليكن y علي سبيل المثال،،،

datetime y;

،،،ثم وضع الكود التالي من ضمن شروط فتح الصفقة،،،

if(y!=Time[0])


،،،ثم وضع الكود التالي بعد امر فتح الصفقة،،،

y=Time[0];

،،،تحياتي،،،

shivaa
13-02-2017, 09:37 PM
جزاك الله خير ان شاء الله