النتائج 1 إلى 15 من 45
- 20-07-2012, 11:01 PM #1
ورشة البحث عن أستراتيجية سكالبنج بأسبريد أكبر من نقطة
بسم الله الرحمن الرحيمهذا الموضوع نجاحه مبني على تعاون الأعضاء حتى نصل لهدفنا.
والهدف منه الوصول لاكسبرت شبيه بأكسبرت وضاح ولكن السبريد والهدف ووقف الخسارة يصلحوا مع الشركات الموثوقة.
ولو وجد تعاون سيكون هدفنا الاتي:
1- تجميع بيانات عن حركة السعر لكل ثانية لساعات.
2-عمل أختبارات على البيانات المجمعة بواسطة برنامج.
3- أختبار دقة البرنامج وتعديله حتي يصبح مطابق للحقيقة.
4- البحث عن أستراتيجيات ناجحة.
5- تحويلها لأكسبرت.
وسنستعمل مبدئياً هذا البرنامج بالمرفقات والاسكربت كي نجمع البيانات ونختبرها.
وقبل كل شئ لابد من تثبيت برنامج NetFramework 3.5
وهذا السورس كود للأسكربت والبرنامج لمن يريد التطوير.
سأعود غدا لأشرح فكرة البرنامج والأسكربت
كود:#property show_confirm int handle; int deinit() { FileClose(handle); } int init() { handle=FileOpen("prices.dat", FILE_BIN|FILE_WRITE); if(handle<1) { Print("cant open file error",GetLastError()); return(0); } } int start() { double a1,a2,a3,a4,a5; while(true){ a1=Bid; Sleep(1000); RefreshRates(); a2=Bid; Sleep(1000); RefreshRates(); a3=Bid; Sleep(1000); RefreshRates(); a4=Bid; Sleep(1000); RefreshRates(); a5=Bid; Sleep(1000); RefreshRates(); FileWrite(handle, DoubleToStr(a1,4)+","+DoubleToStr(a2,4)+","+DoubleToStr(a3,4)+","+DoubleToStr(a4,4)+","+DoubleToStr(a5,4)+"\r\n");}كود:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Threading; using ZedGraph; namespace TickEA { public partial class Form1 : Form { public Form1() { InitializeComponent(); zg1.GraphPane.Title.Text = "نتيجة الباك تست"; zg1.GraphPane.XAxis.Title.Text = "الصفقات"; zg1.GraphPane.YAxis.Title.Text = "الربح بالنقاط"; zg1.GraphPane.Title.FontSpec.FontColor = Color.Purple; zg1.GraphPane.XAxis.Title.FontSpec.FontColor= Color.Purple; zg1.GraphPane.YAxis.Title.FontSpec.FontColor = Color.Purple; MessageBox.Show("Ram22 arabictrader.com"); } private long step; private void Done() { zg1.GraphPane.CurveList.Clear(); listBox1.Items.Clear(); StreamReader R = new StreamReader("C:\\prices.dat"); string[] Lines = new string[10000000]; int num = 0; while (true) { if ((Lines[num] = R.ReadLine()) == null) break; if (Lines[num] != "") num++; } R.Close(); long z = 0; double[,] Tick = new double[2,10000000]; for (int j = 0; j < num; j++) { string[] words = Lines[j].Split(','); foreach (string word in words) { Tick[0,z] = Convert.ToDouble(word); z++; } } step =Convert.ToInt64( num3.Value); int movment = Convert.ToInt16(num4.Value); double target, stop; int dalta; for (long j = step; j < z; j++) { dalta = Convert.ToInt16((Tick[0, j] - Tick[0, j-step])/Convert.ToDouble(textBox1.Text)); if (dalta >= movment) { if (Convert.ToInt16(num6.Value) == 1) { target = Tick[0, j] + Convert.ToDouble(num5.Value) * Convert.ToDouble(textBox1.Text) + Convert.ToDouble(num1.Value) * Convert.ToDouble(textBox1.Text); stop = Tick[0, j] + Convert.ToDouble(num5.Value) * Convert.ToDouble(textBox1.Text) - Convert.ToDouble(num2.Value) * Convert.ToDouble(textBox1.Text); } else { target = Tick[0, j] + Convert.ToDouble(num5.Value) * Convert.ToDouble(textBox1.Text) - Convert.ToDouble(num1.Value) * Convert.ToDouble(textBox1.Text); stop = Tick[0, j] + Convert.ToDouble(num5.Value) * Convert.ToDouble(textBox1.Text) + Convert.ToDouble(num2.Value) * Convert.ToDouble(textBox1.Text); } for (long r = j; r < z; r++) { if (Convert.ToInt16(num6.Value) == 1 && Tick[0, r] >= target) { Tick[1, j] = 50; break; } if (Convert.ToInt16(num6.Value) == 1 && Tick[0, r] <= stop) { Tick[1, j] = 5; break; } if (Convert.ToInt16(num6.Value) == 2&& Tick[0, r] <= target) { Tick[1, j] = 50; break; } if (Convert.ToInt16(num6.Value) == 2 && Tick[0, r] >= stop) { Tick[1, j] = 5; break; } } } } int points = 0, single = 0, single2 = 0; int[] sn = new int[z]; int c = 0; for (int v = 0; v < z; v++) { if (Tick[1, v] == 50) { c++; listBox1.Items.Add(v.ToString("0000000") + " " + Tick[0, v].ToString() + " " + "Win"); single++; sn[c] = sn[c-1] + 1; } if (Tick[1, v] == 5) { c++; listBox1.Items.Add(v.ToString("0000000") + " " + Tick[0, v].ToString() + " " + "Lose"); single2++; sn[c] = sn[c-1] - 1; } if (Tick[1, v] != 50 && Tick[1, v] != 5) listBox1.Items.Add(v.ToString("0000000") + " " + Tick[0, v].ToString() + " " + "No Trade"); } points = (single * (Convert.ToInt16(num1.Value) - Convert.ToInt16(num5.Value))) - (single2 * (Convert.ToInt16(num2.Value) + Convert.ToInt16(num5.Value))); textBox2.Text = points.ToString(); textBox3.Text = single.ToString(); textBox4.Text = single2.ToString(); GraphPane Rpane=zg1.GraphPane; PointPairList list1 = new PointPairList(); for (int n = 0; n <= c; n++) { list1.Add(n, sn[n]); } LineItem mycurve = Rpane.AddCurve("porsche",list1,Color.Red,SymbolType.Diamond); zg1.AxisChange(); } private void button1_Click(object sender, EventArgs e) { try { Done(); } catch { MessageBox.Show("c" + "تأكد من تشغيلك للأسكربت ووضع الملف بالقرص "); } } private void Form1_Load(object sender, EventArgs e) { } private void num6_ValueChanged(object sender, EventArgs e) { } private void label11_Click(object sender, EventArgs e) { } } }كود:namespace TickEA { partial class Form1 { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.button1 = new System.Windows.Forms.Button(); this.listBox1 = new System.Windows.Forms.ListBox(); this.label1 = new System.Windows.Forms.Label(); this.panel1 = new System.Windows.Forms.Panel(); this.label2 = new System.Windows.Forms.Label(); this.num1 = new System.Windows.Forms.NumericUpDown(); this.label3 = new System.Windows.Forms.Label(); this.num2 = new System.Windows.Forms.NumericUpDown(); this.label4 = new System.Windows.Forms.Label(); this.num3 = new System.Windows.Forms.NumericUpDown(); this.label5 = new System.Windows.Forms.Label(); this.num4 = new System.Windows.Forms.NumericUpDown(); this.label6 = new System.Windows.Forms.Label(); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.num5 = new System.Windows.Forms.NumericUpDown(); this.label7 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.label8 = new System.Windows.Forms.Label(); this.num6 = new System.Windows.Forms.NumericUpDown(); this.label9 = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); this.label10 = new System.Windows.Forms.Label(); this.textBox2 = new System.Windows.Forms.TextBox(); this.label11 = new System.Windows.Forms.Label(); this.textBox3 = new System.Windows.Forms.TextBox(); this.textBox4 = new System.Windows.Forms.TextBox(); this.label12 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); this.panel3 = new System.Windows.Forms.Panel(); this.panel4 = new System.Windows.Forms.Panel(); this.zg1 = new ZedGraph.ZedGraphControl(); ((System.ComponentModel.ISupportInitialize)(this.num1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.num2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.num3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.num4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.num5)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.num6)).BeginInit(); this.SuspendLayout(); // // button1 // this.button1.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.button1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); this.button1.Location = new System.Drawing.Point(37, 337); this.button1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(72, 32); this.button1.TabIndex = 0; this.button1.Text = "Start"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // listBox1 // this.listBox1.FormattingEnabled = true; this.listBox1.ItemHeight = 16; this.listBox1.Location = new System.Drawing.Point(14, 64); this.listBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(229, 116); this.listBox1.TabIndex = 1; // // label1 // this.label1.AutoSize = true; this.label1.ForeColor = System.Drawing.Color.Maroon; this.label1.Location = new System.Drawing.Point(14, 44); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(50, 16); this.label1.TabIndex = 2; this.label1.Text = "Second"; // // panel1 // this.panel1.BackColor = System.Drawing.Color.LightGray; this.panel1.Location = new System.Drawing.Point(71, 64); this.panel1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(14, 116); this.panel1.TabIndex = 3; // // label2 // this.label2.AutoSize = true; this.label2.ForeColor = System.Drawing.Color.Maroon; this.label2.Location = new System.Drawing.Point(99, 44); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(36, 16); this.label2.TabIndex = 4; this.label2.Text = "Price"; // // num1 // this.num1.Location = new System.Drawing.Point(269, 64); this.num1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.num1.Name = "num1"; this.num1.Size = new System.Drawing.Size(42, 23); this.num1.TabIndex = 5; this.num1.Value = new decimal(new int[] { 5, 0, 0, 0}); // // label3 // this.label3.AutoSize = true; this.label3.ForeColor = System.Drawing.Color.Maroon; this.label3.Location = new System.Drawing.Point(279, 44); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(23, 16); this.label3.TabIndex = 6; this.label3.Text = "TP"; // // num2 // this.num2.Location = new System.Drawing.Point(269, 151); this.num2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.num2.Name = "num2"; this.num2.Size = new System.Drawing.Size(42, 23); this.num2.TabIndex = 7; this.num2.Value = new decimal(new int[] { 20, 0, 0, 0}); // // label4 // this.label4.AutoSize = true; this.label4.ForeColor = System.Drawing.Color.Maroon; this.label4.Location = new System.Drawing.Point(279, 132); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(22, 16); this.label4.TabIndex = 8; this.label4.Text = "SL"; // // num3 // this.num3.Location = new System.Drawing.Point(344, 64); this.num3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.num3.Maximum = new decimal(new int[] { 10000, 0, 0, 0}); this.num3.Name = "num3"; this.num3.Size = new System.Drawing.Size(54, 23); this.num3.TabIndex = 9; this.num3.Value = new decimal(new int[] { 5, 0, 0, 0}); // // label5 // this.label5.AutoSize = true; this.label5.ForeColor = System.Drawing.Color.Maroon; this.label5.Location = new System.Drawing.Point(329, 44); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(86, 16); this.label5.TabIndex = 10; this.label5.Text = "Step Seconds"; // // num4 // this.num4.Location = new System.Drawing.Point(344, 151); this.num4.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.num4.Maximum = new decimal(new int[] { 1000, 0, 0, 0}); this.num4.Minimum = new decimal(new int[] { 1000, 0, 0, -2147483648}); this.num4.Name = "num4"; this.num4.Size = new System.Drawing.Size(54, 23); this.num4.TabIndex = 11; this.num4.Value = new decimal(new int[] { 1, 0, 0, 0}); // // label6 // this.label6.AutoSize = true; this.label6.ForeColor = System.Drawing.Color.Maroon; this.label6.Location = new System.Drawing.Point(341, 132); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(60, 16); this.label6.TabIndex = 12; this.label6.Text = "Movment"; // // toolStrip1 // this.toolStrip1.BackColor = System.Drawing.SystemColors.ControlDarkDark; this.toolStrip1.Location = new System.Drawing.Point(0, 0); this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.Size = new System.Drawing.Size(562, 25); this.toolStrip1.TabIndex = 13; this.toolStrip1.Text = "toolStrip1"; // // statusStrip1 // this.statusStrip1.BackColor = System.Drawing.SystemColors.ControlDarkDark; this.statusStrip1.Location = new System.Drawing.Point(0, 403); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 16, 0); this.statusStrip1.Size = new System.Drawing.Size(562, 22); this.statusStrip1.TabIndex = 14; this.statusStrip1.Text = "statusStrip1"; // // num5 // this.num5.Location = new System.Drawing.Point(433, 64); this.num5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.num5.Maximum = new decimal(new int[] { 15, 0, 0, 0}); this.num5.Name = "num5"; this.num5.Size = new System.Drawing.Size(42, 23); this.num5.TabIndex = 15; this.num5.Value = new decimal(new int[] { 1, 0, 0, 0}); // // label7 // this.label7.AutoSize = true; this.label7.ForeColor = System.Drawing.Color.Maroon; this.label7.Location = new System.Drawing.Point(429, 44); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(49, 16); this.label7.TabIndex = 16; this.label7.Text = "Spread"; // // textBox1 // this.textBox1.Location = new System.Drawing.Point(430, 151); this.textBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(53, 23); this.textBox1.TabIndex = 17; this.textBox1.Text = "0.0001"; // // label8 // this.label8.AutoSize = true; this.label8.ForeColor = System.Drawing.Color.Maroon; this.label8.Location = new System.Drawing.Point(439, 132); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(36, 16); this.label8.TabIndex = 18; this.label8.Text = "Point"; // // num6 // this.num6.Location = new System.Drawing.Point(492, 113); this.num6.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.num6.Maximum = new decimal(new int[] { 2, 0, 0, 0}); this.num6.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.num6.Name = "num6"; this.num6.Size = new System.Drawing.Size(69, 23); this.num6.TabIndex = 19; this.num6.Value = new decimal(new int[] { 1, 0, 0, 0}); this.num6.ValueChanged += new System.EventHandler(this.num6_ValueChanged); // // label9 // this.label9.AutoSize = true; this.label9.ForeColor = System.Drawing.Color.Maroon; this.label9.Location = new System.Drawing.Point(489, 94); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(73, 16); this.label9.TabIndex = 20; this.label9.Text = "Order Type"; // // panel2 // this.panel2.BackColor = System.Drawing.Color.LightGray; this.panel2.Location = new System.Drawing.Point(140, 64); this.panel2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(12, 116); this.panel2.TabIndex = 21; // // label10 // this.label10.AutoSize = true; this.label10.ForeColor = System.Drawing.Color.Maroon; this.label10.Location = new System.Drawing.Point(170, 44); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(43, 16); this.label10.TabIndex = 22; this.label10.Text = "Action"; // // textBox2 // this.textBox2.Location = new System.Drawing.Point(91, 193); this.textBox2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.textBox2.Name = "textBox2"; this.textBox2.ReadOnly = true; this.textBox2.Size = new System.Drawing.Size(60, 23); this.textBox2.TabIndex = 23; this.textBox2.Text = "0"; // // label11 // this.label11.AutoSize = true; this.label11.ForeColor = System.Drawing.Color.Maroon; this.label11.Location = new System.Drawing.Point(10, 197); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(75, 16); this.label11.TabIndex = 24; this.label11.Text = "Total Points"; this.label11.Click += new System.EventHandler(this.label11_Click); // // textBox3 // this.textBox3.Location = new System.Drawing.Point(91, 235); this.textBox3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.textBox3.Name = "textBox3"; this.textBox3.ReadOnly = true; this.textBox3.Size = new System.Drawing.Size(60, 23); this.textBox3.TabIndex = 25; this.textBox3.Text = "0"; // // textBox4 // this.textBox4.Location = new System.Drawing.Point(91, 276); this.textBox4.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.textBox4.Name = "textBox4"; this.textBox4.ReadOnly = true; this.textBox4.Size = new System.Drawing.Size(60, 23); this.textBox4.TabIndex = 26; this.textBox4.Text = "0"; // // label12 // this.label12.AutoSize = true; this.label12.ForeColor = System.Drawing.Color.Maroon; this.label12.Location = new System.Drawing.Point(15, 235); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(72, 16); this.label12.TabIndex = 27; this.label12.Text = "Trades win"; // // label13 // this.label13.AutoSize = true; this.label13.ForeColor = System.Drawing.Color.Maroon; this.label13.Location = new System.Drawing.Point(7, 279); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(78, 16); this.label13.TabIndex = 28; this.label13.Text = "Trades Lose"; // // panel3 // this.panel3.BackColor = System.Drawing.Color.LightGray; this.panel3.Location = new System.Drawing.Point(159, 182); this.panel3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.panel3.Name = "panel3"; this.panel3.Size = new System.Drawing.Size(12, 220); this.panel3.TabIndex = 29; // // panel4 // this.panel4.BackColor = System.Drawing.Color.LightGray; this.panel4.Location = new System.Drawing.Point(159, 182); this.panel4.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.panel4.Name = "panel4"; this.panel4.Size = new System.Drawing.Size(402, 17); this.panel4.TabIndex = 30; // // zg1 // this.zg1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); this.zg1.EditButtons = System.Windows.Forms.MouseButtons.Left; this.zg1.Font = new System.Drawing.Font("Tahoma", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.zg1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); this.zg1.Location = new System.Drawing.Point(173, 197); this.zg1.Margin = new System.Windows.Forms.Padding(21, 22, 21, 22); this.zg1.Name = "zg1"; this.zg1.PanModifierKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.None))); this.zg1.ScrollGrace = 0; this.zg1.ScrollMaxX = 0; this.zg1.ScrollMaxY = 0; this.zg1.ScrollMaxY2 = 0; this.zg1.ScrollMinX = 0; this.zg1.ScrollMinY = 0; this.zg1.ScrollMinY2 = 0; this.zg1.Size = new System.Drawing.Size(387, 206); this.zg1.TabIndex = 31; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.ClientSize = new System.Drawing.Size(562, 425); this.Controls.Add(this.zg1); this.Controls.Add(this.panel4); this.Controls.Add(this.panel3); this.Controls.Add(this.label13); this.Controls.Add(this.label12); this.Controls.Add(this.textBox4); this.Controls.Add(this.textBox3); this.Controls.Add(this.label11); this.Controls.Add(this.textBox2); this.Controls.Add(this.label10); this.Controls.Add(this.panel2); this.Controls.Add(this.label9); this.Controls.Add(this.num6); this.Controls.Add(this.label8); this.Controls.Add(this.textBox1); this.Controls.Add(this.label7); this.Controls.Add(this.num5); this.Controls.Add(this.statusStrip1); this.Controls.Add(this.toolStrip1); this.Controls.Add(this.label6); this.Controls.Add(this.num4); this.Controls.Add(this.label5); this.Controls.Add(this.num3); this.Controls.Add(this.label4); this.Controls.Add(this.num2); this.Controls.Add(this.label3); this.Controls.Add(this.num1); this.Controls.Add(this.label2); this.Controls.Add(this.panel1); this.Controls.Add(this.label1); this.Controls.Add(this.listBox1); this.Controls.Add(this.button1); this.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); this.MaximizeBox = false; this.Name = "Form1"; this.Text = "الباحث عن أستراتيجية سكالبنج"; this.Load += new System.EventHandler(this.Form1_Load); ((System.ComponentModel.ISupportInitialize)(this.num1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.num2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.num3)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.num4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.num5)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.num6)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.Button button1; private System.Windows.Forms.ListBox listBox1; private System.Windows.Forms.Label label1; private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Label label2; private System.Windows.Forms.NumericUpDown num1; private System.Windows.Forms.Label label3; private System.Windows.Forms.NumericUpDown num2; private System.Windows.Forms.Label label4; private System.Windows.Forms.NumericUpDown num3; private System.Windows.Forms.Label label5; private System.Windows.Forms.NumericUpDown num4; private System.Windows.Forms.Label label6; private System.Windows.Forms.ToolStrip toolStrip1; private System.Windows.Forms.StatusStrip statusStrip1; private System.Windows.Forms.NumericUpDown num5; private System.Windows.Forms.Label label7; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Label label8; private System.Windows.Forms.NumericUpDown num6; private System.Windows.Forms.Label label9; private System.Windows.Forms.Panel panel2; private System.Windows.Forms.Label label10; private System.Windows.Forms.TextBox textBox2; private System.Windows.Forms.Label label11; private System.Windows.Forms.TextBox textBox3; private System.Windows.Forms.TextBox textBox4; private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label13; private System.Windows.Forms.Panel panel3; private System.Windows.Forms.Panel panel4; private ZedGraph.ZedGraphControl zg1; } }
- 21-07-2012, 03:46 AM #2
منتظرين يا استاذ الاكسبيرتات
- 21-07-2012, 04:06 AM #3
لا اعتقد يمكنك الوصول لاكسبريت وضاح
لانه يعتمد علي سبريد 0 لليورو دولار كما فهمت
وسهلة تبرمج الشراء وتاخذ نقطة 100ب100 لما تكون المنصة 4 ارقام وتقرب 0.6 الي 1 نقطة
فانت تشتري مثلا لما يصل السعر 0.4 وتنتضر فقط تحرك السعر 0.2 جزء من النقطة للبيع
وتحتاج هذه الطريقة سرعة رهيبة في التنفيذآخر تعديل بواسطة ساهر الفوركس ، 21-07-2012 الساعة 04:10 AM
- 21-07-2012, 10:47 AM #4
- 21-07-2012, 03:39 PM #5
رد:ورشة البحث عن أستراتيجية سكالبنج بأسبريد أكبر من نقطة
أول خطوة سنضع الأسكربت على التشارت عندما يفتتح السوق ونتركه ساعات فسيقوم بتجميع الأسعار ووضعها بالملف file الموجود ببرنامج الميتاتريدر ونأخذ هذا الملف ونضعه على القرص C ثم نشغل البرنامج
مثال
الأن أريد ان أختبر شراء لو نزل السعر نقطة بزمن 1 ثانية بهدف نقطة ووقف 5 نقاط فسيكون
ordertype يساوي 1 للشراء و 2 للبيع
movment تساوي 1 وبالسالب لان السعر نزل
step seconds تساوي 1 لان الزمن الذي نريد من السعر أن يتحرك نقطة من خلاله هو 1
والباقي معروف
أول شئ نريد أن نجمع جميع الأخطاء حتى يتطابق الأختبار مع الحقيقة
أن جمعت بعض الأخطاء وعدلتها ونريد أن نكمل بعد أفتتاح السوق كي نعد النسخة التي سنبدأ بها البحث.آخر تعديل بواسطة Ram22 ، 21-07-2012 الساعة 03:50 PM
- 21-07-2012, 03:41 PM #6
رد:ورشة البحث عن أستراتيجية سكالبنج بأسبريد أكبر من نقطة
ولو أستعملنا نفس البيانات ولكن السبريد 0 نقطة فسيكون
- 25-07-2012, 04:04 AM #7
up
- 25-07-2012, 04:39 AM #8
أخ ram22 هل أنت من قام ببرمجة البرنامج ده ؟
لو إنت إللي برمجته فأنا عندي إستراتيجية وعامل لها إكسبيرت .. بس المشكلة أن الإكسبيرت مستحيل تطويره للوصول لأفضل النتائج بدون برنامج خارجي ( ذي البرنامج إللي في موضوع هنا )
( الإكسبيرت ده أنا عامله في المنتدى هنا من فترة وهو يقوم بالمقارنة بين أزواج العملات كلها معا ويشتري العملة الأقوى مقابل الأضعف - ويبيع الأضعف مقابل الأقوى )
لكن للأسف توقفت عن تطويره بسبب إني لو غيرت حرف في كود الإكسبيرت لازم كل مرة أعمل لايف تست لمدة يوم أو إتنين فإضطرت للتوقف بسبب إستحالة تطويره بهذه الطريقة
-------------------
طبعا الكلام هيكون محدد أكتر وبالشرح حسب ردك
بس الموضوع إني عايز برنامج خارجي يقوم مثلا بحفظ بيانات حركة الأسعار لـ 15 زوج عملة ( ومثلا أشغله لمدة يوم لحفظ البيانات )
ثم بعد ذلك يقوم بعمل باك تست للإكسبيرت على الـ 15 زوج معا
-------------
- 25-07-2012, 11:29 AM #9
رد:ورشة البحث عن أستراتيجية سكالبنج بأسبريد أكبر من نقطة
لاتوجد مشكلة طبعاً
لو جاهز للتعاون والاكسبرت ممكن يكون مربح سأعمل أسكربت يقوم بتجميع حركة السعر لعدة أزواج (كل ثانية مثلاً أو زمن معين)ويخزنها بملف.
وطبعاً لكي يكون البرنامج دقيق لا بد من ان نختبره بالجزء.
ولابد من أن تحدد ماهي المقارنات التي سيعملها وماهي التعديلات التي ستعملها بداخل الاكسبرت عندما تعمل هذه المقارنات وسأحاول عمل برنامج يعمل المقارنات ويعدل الأكسبرت بنفس الوقت .
وايضا اريد أن أعرف النقطة التي يفتح ويغلق عندها الأكسبرت الصفقات بدقة كي أدخلها بالبرنامج عندما يعمل الباك تست( يعني مثلا سعر الأفتتاح أو سعر الأفتتاح + الأسبريد أو..........)آخر تعديل بواسطة Ram22 ، 25-07-2012 الساعة 11:31 AM
- 25-07-2012, 01:32 PM #10
رغم أنني لا أفهم بالبرمجة ولكني معكم
- 25-07-2012, 02:40 PM #11
انا لسة قايل من يومين يا جدعان رامي ده راجل مش طبيعي دا راجل سوبر ههههههههههههههه ماشاء الله اللهم لا حسد
ربنا يوفقك في ما تسعي اليه ,,,,,,,,,,,,,,,,,بس اوعي تنسانا هههههههه
- 25-07-2012, 08:11 PM #12
رد:ورشة البحث عن أستراتيجية سكالبنج بأسبريد أكبر من نقطة
هذا مثلا أسكربت(نضعه بالمجلدscript) يقوم بتجميع الأسعار لكل ثانية لعشرة أزواج ويخزنهم بملف أسمه prices بالمجلد experts/file.
بعد أن نضعه على اليورو دولار مع ترك التشارت مفتوح لهذه الأزواج ونتركه شغال يوم مثلا
كود:EURUSD GBPUSD USDJPY USDCAD NZDUSD AUDUSD AUDNZD AUDCAD EURGBP EURCHFكود:1.21376,1.54909,78.21600,1.01669,0.78737,1.02936,1.30701,1.04648,0.78345,1.20088 1.21377,1.54908,78.21600,1.01664,0.78737,1.02936,1.30703,1.04650,0.78347,1.20088 1.21375,1.54908,78.21600,1.01665,0.78737,1.02937,1.30703,1.04651,0.78347,1.20088 1.21374,1.54908,78.21600,1.01667,0.78738,1.02937,1.30703,1.04651,0.78347,1.20088 1.21376,1.54905,78.21600,1.01667,0.78740,1.02936,1.30705,1.04652,0.78347,1.20088 1.21376,1.54903,78.21600,1.01667,0.78740,1.02937,1.30704,1.04652,0.78347,1.20088 1.21376,1.54903,78.21600,1.01668,0.78741,1.02939,1.30704,1.04652,0.78347,1.20088 1.21376,1.54903,78.21600,1.01661,0.78741,1.02939,1.30704,1.04654,0.78347,1.20088 1.21376,1.54904,78.21600,1.01664,0.78742,1.02939,1.30704,1.04654,0.78347,1.20088 1.21376,1.54904,78.21600,1.01665,0.78742,1.02939,1.30704,1.04654,0.78347,1.20088 1.21376,1.54904,78.21600,1.01665,0.78742,1.02943,1.30706,1.04654,0.78347,1.20088 1.21377,1.54904,78.21600,1.01665,0.78741,1.02944,1.30709,1.04660,0.78347,1.20088 1.21383,1.54905,78.21600,1.01661,0.78748,1.02945,1.30709,1.04660,0.78348,1.20088 1.21383,1.54907,78.21600,1.01663,0.78747,1.02945,1.30706,1.04660,0.78349,1.20088 1.21383,1.54908,78.21600,1.01658,0.78748,1.02945,1.30703,1.04660,0.78349,1.20088 1.21382,1.54908,78.21600,1.01658,0.78749,1.02945,1.30700,1.04660,0.78349,1.20088 1.21384,1.54911,78.21800,1.01658,0.78750,1.02945,1.30700,1.04659,0.78350,1.20088 1.21387,1.54912,78.21800,1.01660,0.78750,1.02945,1.30700,1.04659,0.78350,1.20088 1.21390,1.54914,78.21800,1.01665,0.78752,1.02945,1.30699,1.04660,0.78351,1.20089 1.21390,1.54915,78.21800,1.01663,0.78751,1.02945,1.30697,1.04661,0.78351,1.20089 1.21390,1.54915,78.21800,1.01666,0.78752,1.02946,1.30695,1.04661,0.78351,1.20091 1.21390,1.54915,78.21800,1.01667,0.78752,1.02946,1.30695,1.04661,0.78351,1.20091 1.21389,1.54918,78.22500,1.01667,0.78753,1.02948,1.30695,1.04661,0.78351,1.20092 1.21389,1.54917,78.22300,1.01661,0.78754,1.02948,1.30696,1.04660,0.78351,1.20092 1.21394,1.54920,78.22300,1.01663,0.78748,1.02948,1.30696,1.04661,0.78351,1.20092 1.21401,1.54924,78.22300,1.01665,0.78751,1.02949,1.30696,1.04662,0.78354,1.20092 1.21404,1.54928,78.22300,1.01665,0.78753,1.02949,1.30698,1.04662,0.78354,1.20092 1.21404,1.54928,78.22300,1.01665,0.78753,1.02950,1.30698,1.04663,0.78354,1.20092 1.21404,1.54929,78.22600,1.01665,0.78752,1.02951,1.30699,1.04663,0.78353,1.20090 1.21404,1.54930,78.22600,1.01659,0.78752,1.02951,1.30699,1.04663,0.78353,1.20090 1.21405,1.54929,78.22600,1.01662,0.78755,1.02950,1.30699,1.04663,0.78351,1.20091 1.21406,1.54932,78.22600,1.01664,0.78755,1.02950,1.30698,1.04663,0.78351,1.20091 1.21406,1.54933,78.22600,1.01664,0.78755,1.02950,1.30698,1.04663,0.78351,1.20091 1.21406,1.54933,78.22600,1.01664,0.78758,1.02950,1.30698,1.04663,0.78351,1.20092 1.21407,1.54934,78.22900,1.01665,0.78760,1.02949,1.30696,1.04664,0.78351,1.20092 1.21407,1.54934,78.22900,1.01665,0.78762,1.02949,1.30696,1.04664,0.78351,1.20092 1.21408,1.54934,78.23300,1.01665,0.78762,1.02949,1.30696,1.04664,0.78351,1.20092 1.21408,1.54934,78.23500,1.01663,0.78762,1.02949,1.30696,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30696,1.04665,0.78351,1.20092 1.21409,1.54934,78.23400,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23400,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23400,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01663,0.78762,1.02949,1.30695,1.04665,0.78351,1.20092 1.21409,1.54934,78.23500,1.01665,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01665,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01665,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21409,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21408,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21408,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21408,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21408,1.54934,78.23500,1.01664,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21407,1.54932,78.23500,1.01667,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21407,1.54932,78.23500,1.01667,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21407,1.54932,78.23500,1.01667,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21407,1.54932,78.23500,1.01667,0.78762,1.02949,1.30695,1.04666,0.78351,1.20092 1.21406,1.54932,78.23500,1.01667,0.78762,1.02949,1.30695,1.04668,0.78348,1.20092 1.21406,1.54932,78.23500,1.01667,0.78762,1.02949,1.30695,1.04668,0.78348,1.20092 1.21406,1.54932,78.23500,1.01667,0.78762,1.02949,1.30695,1.04668,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092 1.21406,1.54932,78.23700,1.01667,0.78762,1.02949,1.30695,1.04669,0.78348,1.20092آخر تعديل بواسطة Ram22 ، 25-07-2012 الساعة 08:20 PM
- 25-07-2012, 08:14 PM #13
- 25-07-2012, 10:57 PM #14
واضح ما شاء الله مختص فى مثل هذه البرامج
عندى استفسار وهي فكره لو اعتمدنا التجاره على السبرد المتحرك بمعنى لو كان الطلب عند 100 والعرض 98 اذا تحرك السعر العرض مثلا الى 99 والطلب نفس ما هو عند 100 ندخل بيع هل ممكن تجيب نتيجه هذا مثال فقط ولا يشترط السعر يكون عند 100
- 26-07-2012, 12:40 AM #15
السلام عليكم
اخى ram 22
تحيه طيبه وبعد
بعد قرات اول مشاركه لك فى هذا الموضوع
تذكرت موضوع كنت احد حلقات الوصل فيه لكن فى منتدى اخر وقام احد الاخوه مشكورا بنقله هنا
الموضوع لا يقل اهميه عن اكسبرت وضاح عطار
لانه كما فى عنوان الموضوع
ورشه اكسبرت حول 100$ الى 6000000$ خلال 3 اشهر
المشكله ان الاكسبرت بيعتمد على مؤشر اسكالبنج وهو مرفق فى الموضوع الاصلى فى الرابط السفلى
ولكن العميد مصمم المؤشر
ذكر فى اكثر من مره انه يجب علينا تجميع بينات او اسعار التداول لمده ثلاث اشهر ماضيه على الاقل
وذالك لنحاكى عمل المؤشر بحيث انه اذا تكررت فى الماضى الشروط المطلوبه توفرها لتكون الصفقه رابحه
يقوم الاكسبرت بفتح نفس الصفقه على الحقيقى
برجاء الاطلاع على الموضوع
واعتقد اهم مشاركات فيه رقم 40/35/28/23
عندما قرات فى موضوعك هذا عن البرنامج الذى قمت انت بارفاقه عن تجميع البيانات تذكرت موضوع العميد
لن اطيل عليك
وهذا رابط الموضوع.......................
https://forum.arabictrader.com/t139733.html
واسال الله ان ينفع به