النتائج 1 إلى 15 من 129
الموضوع: مبرمج إكسبيرتات برمجة إكسبيرتك هنا
- 16-03-2020, 05:12 PM #1
مبرمج إكسبيرتات برمجة إكسبيرتك هنا
نحاول نساعد الإخوة في برمجة الإكسبيرتات بإحترافية مع The Pro المطلوب شرح الفكرة بالتفصيل شروط الدخول و شروط الخروج والخيارات المطلوبة و سنبرمجها حسب المستطاع إن شاء الله .
- 16-03-2020, 06:28 PM #2
السلام عليكم ورحمة الله
كان عندي فكرة ودورت علي اكسبيرت بس ملقيتش فلو حد ممكن يساعدني
اول معطيات الاكبيرت ان يبقا في خيار اول صفقة buy or sell
عشان اول اما تضعه علي الشارت يفتح الصفقة اللي انت اخترتها سواء بيع او شراء
نفترض انها كانت شراء
يضع استوب لها بعدد نقاط نحدده وليكن 10 نقاط
ويضع امر معلق شراء ستوب اذا تحرك السعر لأعلي يفتح صفقة كمان شراء واستوبها 10 نقاط برضو
ويفضل يفتح صفقات شراء كل اما يتحرك السعر لاعلي بعدد نقاط اللي هو استيب نحدده وليكن 10 نقاط وكل صفقة ليها ستوب خاص بيها اللي هو 10 نقاط
الجزئيه المهمة بقا وهي ان مثلا السعر في الصفقة الاولي تحرك 10 نقاط وفتح صفقة الشراء المعلقة تلقائيا استوب الصفقة الاولي اللي كسبانه 10 نقاط يتحرك مرة واحده مسافة 10 نقاط بحيث ان يكون استوبها هو نفس الصفقة اللي كانت معلقة بحيث يقفلو مع بعض اما السعر ينعكس وهكذا مع كل اوردر معلق يتفتح يحصل كره في كل الاستوبات بتاعت الصفقات اللي قبله
بحيث اما ينعكس السعر 10 نقاط يقفل كل صفقات الشراء
ويدخل صفقة بيع عكسية ويعمل معاها نفس الموضوع
طبعا الصفقات المعلقة من غير مضاعفات
يارب تكون الفكرة وصلت ولو محتاج ايضاح اوضح اكتر
وشكرا
- 16-03-2020, 08:17 PM #3
هل يمكن تنفيذ الفكرة
- 17-03-2020, 01:17 AM #4
احسنت اخي بادرة طيبة
تستحق الشكر عليها
- 17-03-2020, 02:52 AM #5
السلام عليكم ورحمة الله وبركاته
اشكرك مقدماً كنت طلبت من اخ ايمن هنا فى المنتدي الاكسبيرت ده بس شكله انشغل وبعد شوية عن المنتدي
اكسبيرت فيبوناتشي يرسم على الزجزاج اتوماتيك
لو كان اضلاع الزجزاج بتتحسب الضلع الحالى 0 واللي قبله 1 وهكذا مثل الشموع
البيع = اذا كانت الاسعار تحت موفينج 100
هيرسم الفيبو من القمه الزجزاج ( ضلع 2 ) الى قاع الزجزاج ( ضلع 1 )
بيع مباشر من لمس المستوي 61 او 50 او 38 او 23
الشراء = اذا كانت الاسعار فوق موفينج 100
هيرسم الفيبو من قاع الزجزاج ( ضلع 2 ) الى قمة الزجزاج ( ضلع 1 )
شراء مباشر من لمس المستوي 61 او 50 او 38 او 23
شروط الزجزاج اذا كان الاضلاع اللى هيترسم عليها الفيبو (2) و (1) اصغر او اكبر من عدد نقاط لا يعمل عليه يجب ان يكون عدد نقاط الاضلاع فى نطاق محدد اتمنى تكون وصلت
المدخلات
اخذ الربح
ووقف الخساره
ومضاعفات اللوت عند الخساره
مستوي فيبو البيع و الشراء
اصغر ضلع للزجزاج بالنقاط
اكبر ضلع للزجزاج بالنقاط
- 17-03-2020, 02:01 PM #6
- 20-03-2020, 05:23 PM #7
- 20-03-2020, 06:04 PM #8
https://forum.arabictrader.com/showt...24#post3280524
نرجو المرور هنا
- 21-03-2020, 03:40 AM #9
في الكود التالي هناك مشكل
لا أعرف لماذا count يأخذ القيمة -1 ثم ++ يمر للقيمة 1 و في الأخير يأخذ القيمى -2 مع ان الشرط for لا يقبل القيم السلبية
كود:[struct prices { string time; string bid; string ask; }; prices arr[]; int count=-1; void OnTick() { count++; ArrayResize(arr,count+1); arr[count].time=TimeToString(GetTickCount()/1000,TIME_MINUTES|TIME_SECONDS)+"."+formatMilliSecond(MathMod(GetTickCount(),1000)); arr[count].bid=DoubleToString(SymbolInfoDouble(Symbol(),SYMBOL_BID),SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)); arr[count].ask=DoubleToString(SymbolInfoDouble(Symbol(),SYMBOL_ASK),SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)); int filehandle=FileOpen("myTicks.csv",FILE_WRITE|FILE_CSV,";"); Print(count+"-----"+GetTickCount()+" "+filehandle); if(filehandle!=INVALID_HANDLE) { for(int i=count-1;i>=0;i--) FileWrite(filehandle,i,arr[i].time,Symbol(), EnumToString(ENUM_TIMEFRAMES(_Period)),arr[i].bid,arr[i].ask); FileClose(filehandle); } } string formatMilliSecond(int t) { string str=t; if(t<10) str="00"+t; else if(t<100) str="0"+t; return str; } ][/LEFT]
كود:void OnStart() { //--- print the path to the file we are going to use PrintFormat("Working %s\\Files\\ folder",TerminalInfoString(TERMINAL_DATA_PATH)); //--- reset the error value ResetLastError(); //--- open the file for reading (if the file does not exist, the error will occur) int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_TXT|InpEncodingType); if(file_handle!=INVALID_HANDLE) { //--- print the file contents while(!FileIsEnding(file_handle)) FileWrite(filehandle,i,arr[i].time,Symbol(), EnumToString(ENUM_TIMEFRAMES(_Period)),arr[i].bid,arr[i].ask); //--- close the file FileClose(file_handle); } else PrintFormat("Error, code = %d",GetLastError()); }
- 21-03-2020, 05:32 PM #10
السلام عليكم
اخي انا لا احتاج اكسبرت اريد مساعدة في برمجة اكسبرت من فضلك و الفكرة كالاتي :
اريد ان اعمل اكسبرت لاوامر معلقة و وجدت صعوبة في البرمجة حيث اعرف مجموعة من الاوامر المعلقة و لكن لا تتنفد الا بشرط مثال :
اضع امر معلق بلوت 5 و اضع شرط ادا تفعل ينفد لي امر معلق فوق و تحت السعر بلوت 2 و ايضا هته الاوامر الي بلوت 2 اضع لها شرط ادا تنفد يضع لي امر معلق فوق و تحت السعر
بمعنى كلما تفعل امر معلق بلوت 5 اعمل لي امر معلق بلوت 2 و كلما تفعل امر بلوت 2 اعمل لي امر بلوت 7 مثلا
فكيف يمكنني فعل دلك برمجيا من فضلا
- 21-03-2020, 07:01 PM #11
السلام عليكم
مشكور مقدما على وقتك و جهدك..
أتمنى أن تزودني باكسبرت يدخل صفقة معاكسة تلقائيا بعد خسارة عدد معين من النقاط و بنفس الحجم.
أتمنى أن يكون دخول الصفقة الأصلية عبر شاشة تحكم خارجية (أزرار) تظهر على الشارت، ثم يتم دخول صفقة هيدج تلقائيا بعد عدد معين من النقاط أحددها في الاعدادت (أو عبر الشاشة الخارجية ان أمكن).
مثال:
دخلت 1 لوت شراء مثلا، و في الاعدادت حددت 50 بيب، فكل ما على الاكسبرت هو دخول بيع 1 لوت بعد ان وصلت الخسارة 50 بيب.
كل الشكر
- 22-03-2020, 11:27 PM #12
أهلا بأهلنا في الجزائر تحية من تونس
هذا ممكن بعدة طرق مثال هنا عملنا عداد للصفقت المفتوحة و وضعنا قيمته في متغير و إذا تغير محتوي العداد يعني تفعل امر معلق
كود:static int lastcount; int count,i,type,magic; for(int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i,SELECT_BY_POS)==true) { type=OrderType(); if (OrderSymbol()!=Symbol()||type>1 || OrderMagicNumber()!=magic) { continue; } count++; } } if (count>lastcount) { Alert("Oi UBZEN, A pending order is now active :)"); } lastcount=count;
- 23-03-2020, 04:20 PM #13
- 24-03-2020, 10:50 AM #14
- 25-03-2020, 09:51 PM #15