النتائج 31 إلى 41 من 41
الموضوع: الاستفادة من CHATGPT ف سوق الفوركس
- 23-06-2023, 12:04 AM #31
- 23-06-2023, 11:04 AM #32
- 23-06-2023, 07:22 PM #33
- 23-06-2023, 07:39 PM #34
فعلا الشات جي بي تي عالم اخر
انا قمت بعمل اكثر من مؤشر باستخدامه بعضها يكون به اخطاء واصلحها والبعض منها يكون مكتمل وصحيح
معلومة
اذا اردت كتابة مؤشر وظهر لك خطً بعد تركيبه في ميتااديتور ممكن تنسخ الخطا وترجع للموقع علشان يصحح لك الخطا
صيغة بسيطة لكتابة مؤشر من خلال شات جي بي تي
" اكتب لي مؤشر كامل بصيغة MT4 يقوم يرسم خطوط على الاعلى والادنى لليوم السابق "
هذا مثال بسيط
- 24-06-2023, 12:31 AM #35
- 24-06-2023, 07:40 AM #36
- 25-06-2023, 12:09 AM #37كود:
//+------------------------------------------------------------------+//| TradeReboot.mq4 | //| Copyright 2023, MetaQuotes Software Corp. | //| https://www.metaquotes.net | //+------------------------------------------------------------------+ #property strict // إعدادات الدخول input double lotSize = 0.01; input double takeProfit = 0; // هدف الأرباح (0 = غير مفعّل) input double stopLoss = 0; // وقف الخسارة (0 = غير مفعّل) // إعدادات المؤشرات input int zigsDepth1 = 12; input int zigsDepth2 = 5; input double sarStep = 0.02; input double sarMaximum = 0.2; input int rsiPeriod = 14; input int rsiLevel1 = 20; input int rsiLevel2 = 30; input int rsiLevel3 = 80; input int rsiLevel4 = 90; //+------------------------------------------------------------------+ //| المبادئ التوجيهية للمستشار الخبير | //+------------------------------------------------------------------+ void OnTick() { if (ConditionsForBuy()) { int ticket = OrderSend(Symbol(),OP_BUY,lotSize,Ask,100,0,0,"",0,0,clrNONE); } else if (ConditionsForSell()) { int ticket = OrderSend(Symbol(),OP_SELL,lotSize,Bid,100,0,0,"",0,0,clrNONE); } } //+------------------------------------------------------------------+ //| الشروط للشراء | //+------------------------------------------------------------------+ bool ConditionsForBuy() { double currentZigzag1 = iCustom(_Symbol, 0, "ZigZag", zigsDepth1, 0, 3, 0, 0); double previousZigzag1 = iCustom(_Symbol, 0, "ZigZag", zigsDepth1, 0, 3, 1, 0); double currentZigzag2 = iCustom(_Symbol, 0, "ZigZag", zigsDepth2, 0, 3, 0, 0); double previousZigzag2 = iCustom(_Symbol, 0, "ZigZag", zigsDepth2, 0, 3, 1, 0); double sar = iCustom(_Symbol, 0, "SAR", sarStep, sarMaximum, 0, 0); double rsi = iRSI(_Symbol, 0, rsiPeriod, PRICE_CLOSE, 0); bool zigzagCondition = currentZigzag1 > previousZigzag1 && currentZigzag2 == High[1]; bool sarCondition = sar < High[1] && sar > Low[1]; bool rsiCondition = iRSI(_Symbol, 0, rsiPeriod, PRICE_CLOSE, 1) > rsiLevel1 && iRSI(_Symbol, 0, rsiPeriod, PRICE_CLOSE, 1) < rsiLevel2; return zigzagCondition && sarCondition && rsiCondition; } //+------------------------------------------------------------------+ //| الشروط للبيع | //+------------------------------------------------------------------+ bool ConditionsForSell() { double currentZigzag1 = iCustom(_Symbol, 0, "ZigZag", zigsDepth1, 0, 3, 0, 0); double previousZigzag1 = iCustom(_Symbol, 0, "ZigZag", zigsDepth1, 0, 3, 1, 0); double currentZigzag2 = iCustom(_Symbol, 0, "ZigZag", zigsDepth2, 0, 3, 0, 0); double previousZigzag2 = iCustom(_Symbol, 0, "ZigZag", zigsDepth2, 0, 3, 1, 0); double sar = iCustom(_Symbol, 0, "SAR", sarStep, sarMaximum, 0, 0); double rsi = iRSI(_Symbol, 0, rsiPeriod, PRICE_CLOSE, 0); bool zigzagCondition = currentZigzag1 < previousZigzag1 && currentZigzag2 == Low[1]; bool sarCondition = sar > Low[1] && sar < High[1]; bool rsiCondition = iRSI(_Symbol, 0, rsiPeriod, PRICE_CLOSE, 1) < rsiLevel1 && iRSI(_Symbol, 0, rsiPeriod, PRICE_CLOSE, 1) > rsiLevel2; return zigzagCondition && sarCondition && rsiCondition; }
آخر تعديل بواسطة اميرالمنتدى ، 25-06-2023 الساعة 12:21 AM
- 25-06-2023, 12:16 AM #38
الكود اعلاه شغال
الجزء المفقود هو شرط البيع
طلبت من chatgpt يكمله على اساس انه عكس الشراء ..
التعديل اللي انا عملته طبعا تعديل نصي .. لانه الاستراتيجة او الاكسبرت مش مشروح
لكن من الكود واضح انه بستعمل زقزاق و سار و rsi 3 مؤشرات فنية بمواصفات معينة
على العموم الكود اللي فوق كبرمجة شغال
جرب و شوف اذا انت فاهم شو بعمل الاكسبرت عمليات الشراء على اساس انها الكود الاصلي
لو كان كود الشراء بشتغل 100% صح حسب المتوقع و لكن البيع لا .. هذا يعني الكود الشغال للبيع فيه خطا منطقي في احد الشروط و هذا مش ممكن يتعدل اذا المبرمج مش فاهم الاستراتيجية
تحياتي للنشامى
طبعا : تم حل بعض المشاكل في الكود كان فيها اخطاء
- 25-06-2023, 08:08 AM #39
استخدته لعمل مؤشر ولعدم خبرتي في البرمجة فمن يتكرم بالتشييك على الكود وتعديل الاخطاء ان وجدت وارفاق المؤشر اكون ممنون جدا
#property indicator_chart_window
// input parameters
extern int Period = 20;
extern double Deviation = 2.0;
// arrays for indicator values
double MiddleLine[];
double UpperBand[];
double LowerBand[];
// indicator initialization function
int init() {
IndicatorBuffers(3); // set the number of buffers
SetIndexBuffer(0, MiddleLine); // set the buffer for the middle line
SetIndexBuffer(1, UpperBand); // set the buffer for the upper band
SetIndexBuffer(2, LowerBand); // set the buffer for the lower band
SetIndexStyle(0, DRAW_LINE); // set the drawing style for the middle line
SetIndexStyle(1, DRAW_LINE); // set the drawing style for the upper band
SetIndexStyle(2, DRAW_LINE); // set the drawing style for the lower band
SetIndexShift(0, 0); // set the horizontal shift for the middle line
SetIndexShift(1, 0); // set the horizontal shift for the upper band
SetIndexShift(2, 0); // set the horizontal shift for the lower band
SetIndexDrawBegin(0, Period); // set the starting point for drawing the middle line
SetIndexDrawBegin(1, Period); // set the starting point for drawing the upper band
SetIndexDrawBegin(2, Period); // set the starting point for drawing the lower band
return(INIT_SUCCEEDED); // return initialization success
}
// indicator calculation function
int start() {
int i, limit;
double sum, deviation, middle;
if (Bars <= Period) { // check if there are enough bars
return(0); // exit calculation
}
limit = Bars - Period; // set the calculation limit
for (i = limit; i >= 0; i--) { // loop through the bars
sum = 0;
for (int j = 0; j < Period; j++) { // calculate the sum of prices
sum += Close[i+j];
}
middle = sum / Period; // calculate the middle line
deviation = 0;
for (int j = 0; j < Period; j++) { // calculate the standard deviation
deviation += MathPow(Close[i+j] - middle, 2);
}
deviation = MathSqrt(deviation / Period);
UpperBand[i] = middle - deviation * Deviation; // calculate the upper band
LowerBand[i] = middle + deviation * Deviation; // calculate the lower band
MiddleLine[i] = middle; // store the middle line value
}
return(0); // exit calculation
}
- 26-06-2023, 12:29 AM #40
- 29-06-2023, 10:32 PM #41