النتائج 151 إلى 165 من 261
- 31-07-2010, 10:05 PM #151
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
الشبكة العصبية Neural Network :
إن هذا الدرس مهم جدا ...حيث سنتعرف فيه كيف ننشئ شبكة عصبية بإستعمال برنامج الكورتيكس وبأستعمال لغة البرمجة S-LANG أي عن طريق السكربتات
لذلك فإن هذا الدرس سينقسم إلى مرحلتين :
*أولا : إنشاء الشبكة العصبية عن طريق برنامج كورتيكس :
نفتح برنامج كورتيكس ثم نضغط على File ثم New NN File.
مع هذا البرنامج نجد 3 ملفات من البيانات--genz.*و msft.* و eurusd.*
أول اثنين تحتوي على أسعار أسهم Genzyme و Microsoft
والثالثة تحتوي على أسعار زوج الدولار واليورو.
ليس هناك فرق بين سوق الأسهم والفوركس من ناحية التنبؤ عن طريق الشبكة العصبية
انقر فوق الزر "..." لفتح ملف genz.txt
عن طريق هذا المسار : data/stocks/genz.txt ....
كما نلاحظ أنه بإمكاننا تحديد سطر البداية وسطر نهاية البيانات التي ستتعلم عليها الشبكة
كما أن هذا الملف ،يحتوي على البيانات الجديدة أولا ،وبما أن الشبكة العصبية
تبدء بتحليل البيانات من الماضي والقديمة منها إلى الحاضر
لذلك يجب أن نعكس ترتيب البيانات وذلك بالضغط على Reverse
نضعط الأن على "Select fields" وستظهر لنا أسماء أعمدة البيانات في قائمة المدخلات والمخرجات واللتي بدورها سنقوم بإختيار ماهو مناسب
سنضغط الأن على "Adj. Close*" في قائمة المخرجات والمدخلات
سنقوم بإستعمال أسعار الإغلاق السابقة للتنبؤ بسعر المستقبل
فلا يمكن أن نستعمل مثلا سعر اليوم فقط لتنبؤ بسعر الغد ولكن يجب
أن نستعمل مثلا سعر اليوم والأمس .و..و..إلخ يجب أن نعرف ماذا حصل مع السعر
وتكون المدخلات هي اسعار الإغلاقات السابقة واحدة بجانب الأخرى وهذا ما يسمى lag File
لذلك نضغط على الزر Generete Lag FIle وسيضهر لنا جدول به أسعار الإغلاقات بجانب بعضها كل 10 أيام .
وكما تلاحظون كل سطر به أسعار اليوم الحالي وأسعار 9 أيام ماضية
لنقوم الأن بإختيار المدخلات الجديدة :
نضغط من جديد على "Select fields"
ونقوم باختيار
"Adj. Close*-1", "Adj. Close*-2"...... "Adj. Close*-9"
من قائمة المدخلات
ثم "Adj. Close" من قائمة المخرجات
سنقوم الأن بتحضير وتعليم الشبكة من خلال 9 أسعار سابقة لتنبؤ بالسعر الجديد
نضغط الأن على Network
وكما نلاحظ أنه بإمكاننا تحديد عدد الطبقات ، وعدد الخلايا العصبية في الطبقات المخفية
واختيار شروط التوقف التلقائي .
ننتقل الأن إلى "Processing"
وهنا يمكننا تحديد عدد أو نسبة البيانات التي يتوقف عندها تعليم الشبكة وينتقل إلى إختبار تعلمها على باقي البيانات
في مثالنا هذا سنختار 1000 سعر للتعلم والباقي للإختبار
لتعرف على عدد البيانات الموجودة في الملف فقط نضغط على السهم الموجود على اليمين .
نمر الأن إلى "Learning" ،نحدد كافة خانات الاختيار ثم نضغط على "Run"
وستبدء الشبكة العصبية بالتعلم :
Epoch Number و هو عدد مرات مرور السعر على الشبكة العصبية
وسنلاحظ نسبة الخطأ الأصغر التي شهدتها الشبكة في التعلم وفي الإختبار
كلما زاد تعلم الشبكة انخفضت نسبة الخطأ (الفرق بين تنبؤ الشبكة والسعر الحقيقي )
وعندما تصبح نسبة الخطأ مقنعة ومطمنة نضغط على stop ثم نتجه إلى Apply
وهي تشبه قائمة ال-IMPORT بزيادة زر CHART وزر ال-APPLY
نضعط بعدها على "..." ثم نختار ملف ال-LGG (مساره مبين في الصورة )ثم نختار نفس المدخلات والمخرجات التي استعملناها من قبل بعد الضغط على Select Fields
نضعط بعدها على APPLY وسيولد ملف بصيغة .apl يحتوي على جميع البيانات التي تمثل المدخلات وبيانات المخرجات التي انشأتها الشبكة بعد تعلمها .
نتجه الأن إلى قائمة OUTPUT ثم "..." ثم "genz.apl"
نختار No كمدخلات (رقم البيانات ) وسعر الإغلاق وسعر المتوقع من خلال الشبكة العصبية كمخرجات
نضغط الأن على الزر Chart، لرسم الإخراج المطلوب (إغلاق) مقابل الإخراج ، التي تنتجها الشبكة العصبية.
ويتم إنتاج الصورة التالية عن طريق التدريب الكافي لشبكة العصبية . والرسم ليس سيئ للغاية (للاطلاع على التنبؤ في يوم واحد). لكن إذا واصلنا التدريب ، سوف نحصل على نتائج أفضل.
ثانيا : إنشاء الشبكة العصبية عن طريق البرمجة :
العمل مع الشبكات العصبية من خلال البرمجة يشبه العمل مع الملفات. كما هو الحال مع الملفات ، نحتاج إلى فتح الشبكة العصبية لكي تحصل على معالج لتعامل معها. وذلك من خلال تمرير المعالج إلى غير ذلك من الوظائف ذات الصلة بالشبكة العصبية .
كود PHP:
void main()
{
array arrNN = CREATE_ARRAY(0);
double dMA_1 = 14;
string strStockPath =
"c:\\S_Projects\\CortexPro\\data\\samples\\stocks\\genz.txt";
double bIsPathRelative = 0;
array arrLags = CREATE_ARRAY(0);
array arrDate = CREATE_ARRAY(0);
array arrClose = CREATE_ARRAY(0);
TABLE_LOADER(strStockPath, bIsPathRelative, 0, "", 1,
"<!-- chart1", 0, arrDate, 6, arrClose);
TABLE_LOADER : وهي وظيفة تستخدم لتحميل البيانات من قرص الملف إلى مجموعة من المصفوفات ، صفيف واحد لكل عمود.
كود PHP:nNumOfRecords = TABLE_LOADER(strFullPath,
bIsRelative, bReverse, strStartPattern, strSkipAfterStartPattern,
strEndPattern, nCol_1, arr_1, ...);
الإعدادات :
strFullPath -- مسار الملف الذي سيتم تحميله
bIsRelative :
0 إذا كان المسار كامل
و 1 إذا كان المسار هو نسبة من مسار البرنامج . على سبيل المثال :
كود PHP:"c:\\s_projects\\CortexPro\\data\\samples\\stocks\\msft.txt
..\\CortexPro\\data\\samples\\stocks\\msft.txt"
strStartPattern -- خط ، بعد ذلك تبدأ البيانات التي سيتم استخدامها بالتحميل ، واذا كنا بحاجة لتخطي رأس الملف و " " (سلسلة فارغة) إذا كان لا شيء
strSkipAfterStartPattern : عدد الأسطر التي سنتجاوزها عند بداية معالجة البيانات
strEndPattern :شرط التوقف عن تحميل البيانات (يعني جملة أو كلمة تقف عندها العملية )
nCol_1 -- العمود الأول لتحميل
arr_1 -- سلسلة أحرف ( متغير ، أعلن سابقا) الذي سيحصل على البيانات من العمود الأول.
... يمكن أن يكون هناك مزيد من nCol_i ، arr_i ، إذا كنا نريد تحميل أكثر من عمود واحد.
كود PHP:double hNN = OPEN_NN(
"c:\\S_Projects\\CortexPro\\data\\samples\\nn\\genz.nn",
0);
for(double i = 0; i < 9; i = i + 1)
{
arrLags[i] = i + 1;
}
APPLY_NN(hNN, 1000, 1.0, 1, arrClose, arrLags, 1, arrNN);
CLOSE_NN(hNN);
....
}
....
وهناك عدد قليل من الوظائف التي تسمح لك أن تفعل كل شيء من خلال البرمجة واللتي يمكنك القيام بها من جهة واجهة المستخدم كورتيكس . على سبيل المثال ، يمكنك إنشاء شبكة عصبية فارغة ، تعيين عدد من طبقات ، الخلايا العصبية ، والمدخلات والمخرجات إلخ .
يمكنا أن نبدء بتعليم الشبكة وتحديد شروط توقف التعليم
كود PHP:...
CREATE_NN(strNnFileName, bIsPathRelative,
strLagFileName, bIsPathRelative, nSkipBefore,
nSkipAfter, strStartLine, strEndLine, bReverseArrays,
arrInputColumns, arrInputColumnNames, arrOutputColumns,
arrOutputColumnNames, nExtractRecords, dStopError,
nStopEpoch, nNeuronsLayer1, nNeuronsLayer2,
nNeuronsLayer3, nNeuronsLayer4, nLayers, nActivation,
nAdjustRange, arrOutTabInputColumns,
arrOutTabInputColumnNames, arrOutTabOutputColumns,
arrOutTabOutputColumnNames);
string strSeparator = ",;";
CREATE_LAG_FILE(strStockFileName, bIsPathRelative,
strLagFileName, bIsPathRelative, nSkipBefore,
nSkipAfter, strStartLine, strEndLine, strSeparator,
bReverseArrays, arrColumns, arrColumnNames,
arrLags, nNumOfInputColumns);
OPEN_NN_FILE(strNnFileName, 0, 1, 1, 1);
}
كود PHP:....
double hNN = OPEN_NN(
"c:\\S_Projects\\CortexPro\\data\\samples\\nn\\genz.nn",
0);
for(i = 9; i < ARRAY_SIZE(arrClose); i = i + 1)
{
for(double j = 0; j < 9; j = j + 1)
{
arrPattern[j] = arrCloseNorm[i - j - 1];
}
PATTERN_NN(hNN, arrPattern, dExtendRange);
arrNN[i] = arrPattern[9];
}
CLOSE_NN(hNN);
....
هناك وظيفة مهمة وهي GET_NN_WEIGHTS
وتقوم بإرجاع الأوزان لطبقة محددة :
كود PHP:array arrWeights = GET_NN_WEIGHTS(hNn, nLayer);
كود PHP:
void main()
{
OUT_CLEANUP();
string strImagePath = "F:\\PFE\\Cortex Neural Networks Software\\CORTEX PRO Full Version Cracked By AHMEDFEKI\\CortexPro\\data\\samples\\images\\";
string strForexName = "EURUSD_H1";
string strImageFileName = strImagePath + strForexName + "_05.png";
string strNnPath = "F:\\PFE\\Cortex Neural Networks Software\\CORTEX PRO Full Version Cracked By AHMEDFEKI\\CortexPro\\data\\samples\\nn\\";
string strNnFileName = strNnPath + strForexName + "_05.nn";
// ------------
string strDataFileName = "F:\\PFE\\Cortex Neural Networks Software\\CORTEX PRO Full Version Cracked By AHMEDFEKI\\CortexPro\\data\\samples\\forex\\"
+ strForexName + ".TXT";
string strLagFileName =
"F:\\PFE\\Cortex Neural Networks Software\\CORTEX PRO Full Version Cracked By AHMEDFEKI\\CortexPro\\data\\samples\\nn\\"+strForexName + "_05.lgg";
double bIsPathRelative = 0;
array arrDate = CREATE_ARRAY(0);
array arrTime = CREATE_ARRAY(0);
array arrOpen = CREATE_ARRAY(0);
array arrHigh = CREATE_ARRAY(0);
array arrLow = CREATE_ARRAY(0);
array arrClose = CREATE_ARRAY(0);
TABLE_LOADER(strDataFileName, bIsPathRelative, 0, "", 0, "", 0,
arrDate, 1, arrTime, 2, arrOpen, 3, arrHigh, 4, arrLow, 5, arrClose);
double nInterval = 64;
double nMa = 3;
array arrClv = CreateClv(nInterval);
array arrClvSmooth = EXP_MVAVG(arrClv, nMa);
double nOutLag = 2;
double nRemoveFirst = 200;
array arrLags = CREATE_ARRAY(0);
// ATTN: These lags are based on nWinLag.
// Example: nWinLag = 1, then each number should be increased by 1
string strLagBuf = "9,0,1,2,3,4,8,12,16,20";
CreateLagFile(strLagBuf, nRemoveFirst);
double nExtractRecords = 0.7 * ARRAY_SIZE(arrClose);
double nNeurons = 5;
double dStopError = 0;
double nStopEpoch = 5000;
array arrNn = CREATE_ARRAY(0);
NewNn(arrLags, dStopError, nStopEpoch, nNeurons);
TeachNn();
double hNn = OPEN_NN(strNnFileName, bIsPathRelative);
APPLY_NN(hNn, nExtractRecords, 1.0, 1, arrClvSmooth, arrLags, 1, arrNn);
PRINT("%s\r\n", "Layer 1");
array arrWeights = GET_NN_WEIGHTS(hNn, 0);
// "9" is number of lags, same as number of inputs of the 1st layer
// It is also number of neurons in the 1st layer
for(double nNeuron = 0; nNeuron < 9; nNeuron = nNeuron + 1)
{
PRINT("Neuron %.0f: ", nNeuron);
for(double nInput = 0; nInput < 9; nInput = nInput + 1)
{
PRINT("%f, ", arrWeights[9 * nNeuron + nInput]);
}
PRINT("%s", "\r\n");
}
PRINT("%s\r\n", "Layer 2");
array arrWeights = GET_NN_WEIGHTS(hNn, 1);
// "nNeurons" is number of neurons in the 2nd (hidden) layer
// "9" is number of inputs (same as number of neurons in the
// previous (1st) layer
for(double nNeuron = 0; nNeuron < nNeurons; nNeuron = nNeuron + 1)
{
PRINT("Neuron %.0f: ", nNeuron);
for(double nInput = 0; nInput < 9; nInput = nInput + 1)
{
PRINT("%f, ", arrWeights[nNeurons * nNeuron + nInput]);
}
PRINT("%s", "\r\n");
}
PRINT("%s\r\n", "Layer 3");
array arrWeights = GET_NN_WEIGHTS(hNn, 2);
// 1 neuron
// "nNeurons" is number of inputs (same as number of neurons in the
// previous (2nd) layer
for(double nInput = 0; nInput < nNeurons; nInput = nInput + 1)
{
PRINT("%s: ", "Neuron 1");
PRINT("%f, ", arrWeights[nInput]);
PRINT("%s", "\r\n");
}
CLOSE_NN(hNn);
PRINT("%s\r\n", "Done");
}
// ---------------
array CreateClv(double nInterval)
{
PRINT("%s\r\n", "Creating CLV indicator");
array arrClv = CREATE_ARRAY(0);
array arrPeriodLow = CREATE_ARRAY(0);
array arrPeriodHigh = CREATE_ARRAY(0);
double nArraySize = ARRAY_SIZE(arrClose);
array arrPeriodLow = MV_MIN(arrLow, nInterval);
array arrPeriodHigh = MV_MAX(arrHigh, nInterval);
for(double i = 0; i < nInterval; i = i + 1)
{
arrClv[i] = 0;
}
double dClose;
double dLow;
double dHigh;
for(i = nInterval; i < nArraySize; i = i + 1)
{
dClose = arrClose[i];
dLow = arrPeriodLow[i];
dHigh = arrPeriodHigh[i];
// / 2 + 1 to confine to 0...1 instead of -1...1
arrClv[i] = (((dClose - dLow) - (dHigh - dClose))
/ (dHigh - dLow)) / 2 + 0.5;
}
return arrClv;
}
// ----------------
void CreateLagFile(string strLags, double nRemoveFirst)
{
double hFile = F_OPEN(strLagFileName, "wb");
F_PRINT(hFile, "%s", "No,Clv");
ARRAY_REMOVE(arrLags, -1);
string strToken = GET_TOKEN(strLags, ",");
double nNumOfLags = STR2NUM(strToken);
for(double i = 0; i < nNumOfLags; i = i + 1)
{
strToken = GET_TOKEN(strLags, ",");
arrLags[i] = STR2NUM(strToken) + nOutLag;
}
double nFullLag;
for(i = 0; i < ARRAY_SIZE(arrLags); i = i + 1)
{
nFullLag = arrLags[i];
F_PRINT(hFile, ",ClvMa%.0f", nMa, "-%.0f", nFullLag);
}
F_PRINT(hFile, "%s\r\n", "");
double nNum;
for(i = nRemoveFirst; i < ARRAY_SIZE(arrClose); i = i + 1)
{
nNum = i - nRemoveFirst + 1;
F_PRINT(hFile, "%.0f", nNum, ",%f", arrClvSmooth[i]);
for(double j = 0; j < ARRAY_SIZE(arrLags); j = j + 1)
{
F_PRINT(hFile, ",%f", arrClvSmooth[i - arrLags[j]]);
}
F_PRINT(hFile, "%s\r\n", "");
}
F_CLOSE(hFile);
}
// --------------
void NewNn(array arrLags, double dStopError, double nStopEpoch, double nNeuronsLayer2)
{
double nSkipBefore = 0;
double nSkipAfter = 0;
string strStartLine = "";
string strEndLine = "";
double bReverseArrays = 0;
// Inputs
array arrInputColumns = CREATE_ARRAY(0);
array_s arrInputColumnNames = CREATE_ARRAY_S(0);
// 0 - Number, 1 - Clv, our input begins at column No 2
for(double nInputCol = 0; nInputCol < ARRAY_SIZE(arrLags); nInputCol = nInputCol + 1)
{
arrInputColumns[nInputCol] = nInputCol + 2;
arrInputColumnNames[nInputCol] =
"Clv-" + NUM2STR(arrLags[nInputCol], "%.0f");
}
array arrOutputColumns = CREATE_ARRAY(0);
arrOutputColumns[0] = 1; // Clv
array_s arrOutputColumnNames = CREATE_ARRAY_S(0);
arrOutputColumnNames[0] = "Clv";
// To do: Modify if more than one indicator is used
double nNeuronsLayer1 = ARRAY_SIZE(arrLags);
// double nNeuronsLayer2 = 7;
double nNeuronsLayer3 = 1;
double nNeuronsLayer4 = 0;
double nLayers = 3;
double nActivation = 0;
double nAdjustRange = 1.0;
array arrOutTabInputColumns = CREATE_ARRAY(0);
arrOutTabInputColumns[0] = 0; // Number
array_s arrOutTabInputColumnNames = CREATE_ARRAY_S(0);
arrOutTabInputColumnNames[0] = "No";
array arrOutTabOutputColumns = CREATE_ARRAY(0);
// Desired output and NN output will be added to the
// same list, right after inputs
arrOutTabOutputColumns[0] = ARRAY_SIZE(arrLags) + 2;
arrOutTabOutputColumns[1] = ARRAY_SIZE(arrLags) + 3;
array_s arrOutTabOutputColumnNames = CREATE_ARRAY_S(0);
arrOutTabOutputColumnNames[0] = "Clv";
arrOutTabOutputColumnNames[1] = "NN: Clv" ;
CREATE_NN(strNnFileName, bIsPathRelative, strLagFileName,
bIsPathRelative, nSkipBefore, nSkipAfter, strStartLine, strEndLine,
bReverseArrays, arrInputColumns, arrInputColumnNames,
arrOutputColumns, arrOutputColumnNames, nExtractRecords, dStopError, nStopEpoch,
nNeuronsLayer1, nNeuronsLayer2, nNeuronsLayer3, nNeuronsLayer4, nLayers,
nActivation, nAdjustRange, arrOutTabInputColumns, arrOutTabInputColumnNames,
arrOutTabOutputColumns, arrOutTabOutputColumnNames);
}
// ----------------
void TeachNn()
{
PRINT("%s\r\n", "Opening NN dialog, teaching the NN");
double bStartLearning = 1;
double bResumeScript = 1;
double bReset = 1;
OPEN_NN_FILE(strNnFileName, bIsPathRelative, bStartLearning, bResumeScript, bReset);
}
// -------------
void Chart(string strForexName)
{
string strXML = "<forex>\r\n";
strXML = strXML + "\t<symbol>\r\n\t\t<symbol>\r\n";
strXML = strXML + "\t\t</symbol>\r\n";
strXML = strXML + "\t\t" + SAVE_CHART(400, 300, 0, strImageFileName,
arrDate, arrClvSmooth, arrNn);
strXML = strXML + "\t</symbol>\r\n";
strXML = strXML + "</forex>\r\n";
SAVE_XML(strImagePath, "chart_forex_nn_05", "chart_forex_nn", "root", strXML);
SHOW_XML(strImagePath + "chart_forex_nn.xml");
}
- 31-07-2010, 10:56 PM #152
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
أنا آسف عن التأخير ،إن شاء الله الدرس يسهل عليكم فهمه وتطبيقه
وهنا نكون قد انتهينا من المرحلة النظرية وسننطلق إن شاء الله الأسبوع القادم في المرحلة التطبيقية وفي إنشاء الاكسبيرت الذي يعتمد على الشبكة العصبية
وان شاء الله كل واحد يتدارك ما لم يفهمه جيدا من الدروس الماضية
والله المستعان *
- 01-08-2010, 11:16 AM #153
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
مجهود رائع
جزاك الله خيرا
واسمحلى بسؤال - عندما ادخل على التبويب output واحضر ملفgenz.apl فلا أجد هذا الملف بالرغم من انى اتبع الخطوات بطريقة صحيحة .. فأين يكمن الخطأ ؟؟؟؟
- 01-08-2010, 12:26 PM #154
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
جزاك الله خيرا استاذي العزيز
و انشا الله من خلال متابعة الاخوه نعمل اكسبيرت ناجح بنسبه عاليه جدا و اقتراحي حول كتابة الاكسبيرت هي ثلاثة خطوات :
الاول بحث عن استراتيجيه التي تعطي نقاط دخول قويه جدا مثل استراتيجية التي مبنيه على كسر الدعوم و المقاومه في اتجاه السوق مع نسبة سيوله عاليه في السوق
ثانيا علاج الاخطاء الموجوده في الاستراتيجيه و تطويرها بواسطة شبكه العصبيه
ثالثا استعمال طريقة المضاعفات لزيادة الربح و رفع الاخطاء الموجوده في الشبكه العصبيه يعني بعد ما فرغنا من الخطوتين الاولتين ندمج معها المضاعفات و اذا امكن الهدج و سوف نحصل على اكسبيرت امن 100%
اقتراحي استاذي العزيز افضل استراتيجيه و هي مجربه جدا عند الاخوه و مطابقة للخطوات الوفق و ارجوا ان تعمل لها اكسبيرت هي موجوده على هذا الرابط:
https://forum.arabictrader.com/t99325.html
و شكرا
- 01-08-2010, 01:12 PM #155
- 01-08-2010, 01:45 PM #156
- 02-08-2010, 06:09 AM #157
- 04-08-2010, 05:51 PM #158
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
بداية اشكرك أخي ahmedfeki على هذا الموضوع العملاق وهذا الاسلوب المتقن
في الشرح وجزاك الله خيرا واتمنى الاستمرار في الموضوع حتى النهايه
لك مني كل دعوات الخير
- 05-08-2010, 04:01 PM #159
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
اشكر ahmedfeki وجميع الاعضاء
انمني التوفيق كي نخرج جميعا بخبرة جيدة واكسبيرت ممتاز باذن الله
- 05-08-2010, 08:46 PM #160
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
شكرا لك أخي الكريم على الفكرة الرائعة والموضوع الرائع
أنا منذ زمن بعيد كنت أبحث عن من يتابع موضوع الشبكة العصبية
ولكن هناك سؤالين أرجو منك إجابتي عليهما حتى قبل بداية الدورة لو سمحت
1- هل من الضروري ربط الشبكة العصبية أو تحويلها إلى إكسبرت
2- عند نهاية تشكيل الشبكة العصبية يدويا (غير برمجيا) ووصولها إلى مرحلة مرضية من التدريب
كيف يمكن القيام بعملية التنبؤ من البرنامج نفسه وكيف سندخل المعلومات الجديدة التي ستعتمد عليها الشبكة في التنبؤ للمرحلة القادمة.
وشكرا
- 06-08-2010, 06:51 AM #161
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
بارك الله فيك وفي علمك
من ارقى واجمل المواضيع في هذا القسم ولاتهون بقية المواضيع
ولكن هذا الموضوع شدني واسلوب الاستاذ احمد رائع ونتمنى منه اكماله
- 06-08-2010, 11:14 PM #162
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
- 06-08-2010, 11:32 PM #163
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
أهلا بك أخي الكريم
وشكرا لك على هذه المشاركة الطيبة
بالنسبة للسؤال الأول : ليس من الضروري ربط الشبكة العصبية بالإكسبيرت
فإنها مثل المؤشر ، الذي يمكن أن نستعين به في قرارتنا يدويا وبدون اكسبيرت
كذلك الشبكة العصبية ، ولكنها ومن خلال تعليمها على الماضي ،تتنبأ لنا بالمستقبل
ومن خلال هذا التنبأ تبنى قرارتنا يدويا ، ولكننا الأن نرغب في أن نجعل العمل تلقائي
من خلال برمجة اكسبرت منطقي ومبني على أسس ناجحة .
بالنسبة للسؤال الثاني : إن تعليم الشبكة يجب أن يكون متجدد ومستمر مع المعلومات الجديدة .
وبالنسبة لعملية التنبأ ،وبالرغم من أنها مشروحة في الدرس الأخير ،فمثلا ندخل على الشبكة مجموعة اغلاقات ومن خلالها ستقوم بإخراج تنبؤها حسب مع تعلمته
ثم ندخل لها الإغلاق الحقيقي ،فتقوم هي بدورها بتصحيح خطأها ، ليكون تنبئها في المستقبل أكثر دقة .
إن شاء الله أكون قد أجبتك عن أسئلتك أخي الكريم
و أرجو منك أن تراجع الدروس الماضية ، لمزيد من الفهم خاصة الدرس الأول وفهم أسس الشبكة العصبية ومفهومها .
تقبل ودي أخي العزيز
*
- 07-08-2010, 02:49 AM #164
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
===========================================
اذا سمحتلي اخي الكريم بسؤال هل الشبكه العصبيه تأخذ بياناتها مباشره من الميتاتريدر
او بصوره اخرى لسؤال
هل من الممكن الخروج عن المألوف بالبيانات التي تدخل على الشبكه
من (اغلاقات و افتتاحات و هايات و لوات )
لجعلها بيانات معدله من قبل مؤشر ثم ارسالها الى الشبكه
مثال على ذلك تزويد الشبكه بكم هائل من التكات لعله يكون اكثر دقه في استنباط
التوقع بالمستقبل ربما يكشف الدورات الزمنيه للترند
لك مني كل التقدير والاحترام
- 07-08-2010, 05:31 PM #165
رد: على بركة الله دورة إنشاء اكسبيرت يعتمد على الشبكة العصبية
شكرا لك أخي على المتابعة والرد
ولكنني متأكد من أنني دققت في كل الدروس
ولم أجد الطريقة التي تمكن من معرفة التنبؤ ليوم غد مثلا
أنا صممت شبكة معتمدة عل إغلاق اليومي و ذلك على أساس +1و -1 أي ارتفاع أو انخفاض واتبعت جميع خطوات التصميم اليدوية حتى ظهور الشارت ولكن بعد هذا ماذا يمكن أن أفعل حتى أدخل معلومات إغلاق اليوم الحالى حتى أعرف التنبؤ حول إغلاق يوم غد
أرجو منك أخي أن تساعدني في هذه النقطة بالطريقة اليدوية غير البرمجية ولك جزيل الشكر والامتنان على هذا الموضوع الرائع
خاصة أني أحاول استخدام الشبكات العصبية في بحث علمي في اختصاصي بعيدا عن الفوركس
وموضوعك هذا بين لي نواح عديدة كنت أرغب في الاطلاع عليها
وشكرا
المواضيع المتشابهه
-
๑۩۞۩๑ فكرة مجنونة للمناقشة ۞ لأننى عايز الشارت يكلمنى ههههه ๑۩۞۩๑
By MAMDOH111 in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 11آخر مشاركة: 08-03-2010, 01:46 AM -
๑۩۞۩๑ ( كل عام وحضراتكم بخير بمناسبة المولد النبوى الشريف ) ๑۩۞۩๑
By MAMDOH111 in forum استراحة اعضاء المتداول العربيمشاركات: 14آخر مشاركة: 27-02-2010, 12:32 AM -
๑۩۞۩๑ ( الأقمار الصناعية تشهد بنبوة محمد صلى الله عليه وسلم ) ๑۩۞۩๑
By MAMDOH111 in forum استراحة اعضاء المتداول العربيمشاركات: 0آخر مشاركة: 25-02-2010, 06:14 PM -
๑۩۞۩๑ ترويض المجنون... هل يكفيك 100% شهريا + أدارة ماليه صارمة ๑۩۞۩๑
By LoCuS in forum توقعات وتوصيات سوق العملاتمشاركات: 744آخر مشاركة: 16-12-2008, 05:13 AM