PDA

View Full Version : TL-Users: Idea Changing Linear MT4 Charts to Logarithmic Charts



ضياء الرحمان بطرس
09-22-2014 08:04, 08:04 AM
مرحباً ،
لدي فكرة خاصة جداً لكل من يلوم MT4MT5 لعدم رسم خطوط الاتجاه الصحيحة والصحيحة مع الرسوم البيانية الخطية التي تستخدمها MT4MT5.
يمكن لأي Coder تغيير محول الفترة هذا من MT4 -Arithmetic -Linear Charts إلى Scars Chart.
أعتقد أن هذه هي الطريقة الوحيدة للحصول على مخططات لوغاريتمية في MT4MT5 لجميع محبي Trendline -Lovers.
هنا هو الهند وكود المصدر:
// ------------------------------------ ----------- -------------------
//| Period_Converter_Opt.mq4 |
//| حقوق النشر (c) 2005، MetaQuotes Software Corp. |
//|
http://www.metaquotes.net|
//| Ver.1.6 تعديلها بواسطة micclly |
//| Ver.1.5 تم التعديل بواسطة fai |
//| تم التعديل بواسطة wfy05 @ talkforex على أساس Period_Converter |
//|
http://www.talkforex.com|
// ------------------------------------ ----------- -------------------
# حقوق الملكية الفكرية
#property link http://www.mql4.com/codebase/indiors/277/
#property indior_chart_window

#include lt؛ WinUser32.mqhgt؛

/*
التمهيدي:

I. الميزات:
هذا هو نسخة محسنة من محول الفترة ل MT4 على أساس
محول الفترة الافتراضية MT4 بواسطة metaquotes.
لا يدعم النص البرمجي الافتراضي لمحول الفترة عمليات التحديث في الوقت الفعلي ،
وتستهلك الكثير من وحدة المعالجة المركزية (50٪ -9x٪) مما يجعل النظام بأكمله بطيئًا.
أيضًا ، الإعداد الافتراضي هو برنامج نصي لا يتم توفيره عند الخروج من MT4 ،
لذلك عليك تطبيق كل محول النصي مرة أخرى بعد إعادة التشغيل ، تماما
مزعج.

هذا واحد ثابت جميع المشاكل المذكورة أعلاه:
1. تحديث مستوى في الوقت الحقيقي أو مخصص الفاصل الزمني ميلي ثانية واحدة.
2. تكلفة وحدة المعالجة المركزية منخفضة ، ومتوسط ​​5 ٪ -10 ٪ أو أقل.
3. يعمل كمؤشر ، لذلك يمكن حفظها وإعادة تحميلها أثناء إعادة التشغيل.
4. لا يوجد أي محول واحد في حدود الرسم البياني لأنه ليس سيناريو
أي أكثر من ذلك ، يمكنك فقط استخدام نافذة واحدة كمصدر لتوليد أكبر عدد ممكن
مخطط زمني جديد ممكن.
5. التحديث التلقائي إذا كان هناك كتلة محفوظات جديدة محملة.

II. كيف تستعمل:
انسخ ملف mq4 إلى مجلد مؤشرات MT4 الخاص بك (الخبراءالمؤشرات)
لتثبيته كمؤشر ، وليس برنامج نصي. ثم في المؤشر المخصص
قم بإرفاق period_converter_opt بالجدول الذي تريده.
يدعم 4 معلمات:
PeriodMultiplier: عامل مضاعف للفترة الجديدة ، الافتراضي هو 2
UpdateInterval: الفاصل الزمني للتحديث بالمللي ثانية ،
صفر يعني التحديث في الوقت الحقيقي. الافتراضي هو صفر.
ممكن: يمكنك تعطيله دون إزالته مع هذا الخيار.

المعلمات الأخرى هي التعليقات أو لتصحيح الأخطاء ، فمن الآمن تجاهلها.

تأكد أيضًا من تحديد الخيار Allow Dll import في علامة التبويب الشائعة أو
لن ينجح

بعد ذلك ، FileOpen دون اتصال لفتح البيانات التي تم إنشاؤها حاليا. ثم
سيتم تحديث البيانات دون اتصال تلقائيا.

طالما تحتفظ بالمخطط المصدر مفتوحًا ومؤشر المحول
تشغيل ، فإن المخطط المولد بما في ذلك المؤشرات في الداخل سوف دائمًا
يتم تحديث. يمكنك أيضًا إغلاق المخطط الذي تم إنشاؤه وفتحه مرة أخرى
لاحقا من FileOpen دون اتصال دون مشكلة.

إذا كنت ترغب في إنهاء MT4 ، فيمكنك ترك تلك المخططات في وضع عدم الاتصال كغيرها
الرسوم البيانية العادية عبر الإنترنت. عندما تبدأ MT4 في المرة القادمة ، فإن هذه الرسوم البيانية سوف
كما يتم تحميلها وتحديثها.


III. ملاحظات:
1. لا تقم بإلغاء تحديد خيار المخطط غير المتصل في الخصائص العامة للمخطط في وضع عدم الاتصال.
أو بعد إعادة تشغيل MT4 ، سيتعامل هذا المخطط مع الرسم البياني على الإنترنت وطلب
البيانات من الخادم ، نافذة الرسم البياني فارغة الناتجة.
2. يمكنك إرفاق أكثر من محول واحد لنفس النافذة مع مختلف
PeriodMultiplier ، على سبيل المثال: يمكنك إرفاق 3 محول بـ
PeriodMultiplier = 2 و 4 و 10 إلى M1 لتوليد M2 و M4 و M10 في نفس الوقت.
لا بأس من استخدام الرسم البياني M1 لتوليد الرسم البياني لكل ساعة مثل H2 ، والذي
بتكلفة قليلة فقط المورد CPU أكثر أثناء التحويل الأولي. لكن عادة
معظم الخادم لا يملك الكثير من البيانات لتلك الفترة القصيرة. مما أدى
البيانات المولدة ليست طويلة بما يكفي لفترة طويلة. لذلك يقترح
استخدام المخططات بالساعةاليومية كمصدر عند الحاجة.
3. يقوم وضع التحديث في الوقت الحقيقي بتحديث عروض الأسعار في أسرع وقت ممكن ، ولكن كما
يتم ذلك عن طريق البرنامج النصي ، وسوف تخطي MT بدء استدعاء () وظيفة عندما
جهاز الكمبيوتر الخاص بك مشغول والكثير من الدخل المقتبس. على أي حال ، هذا نادرا ما يحدث ،
ويمكنك على الأقل الحصول على 10 تحديثات كل ثانية وهو أكثر من ذلك بكثير
من كافي
4. لا يحتوي المخطط في وضع عدم الاتصال على خط عرض عرض في المخطط ، ولكن جميع البيانات
في المخطط بما في ذلك المؤشرات لا تزال قيد التحديث ،
لذلك لا داعي للقلق. يمكنك إظهار خط العطاء عن طريق إلغاء تحديد المخططات غير المتصلة بالإنترنت
الخيار في خصائص المخطط. ولكن ذلك لا يساعد كثيراً وإن نسيت
للتحقق من خيار المخطط دون اتصال قبل الخروج. سوف يسبب أخطاء و
تصبح فارغة في بدء التشغيل المقبل. يجب عليك إغلاق النافذة وفتحها
مرة أخرى من FileOpen حاليا ، والتي لا تستحق العناء.

IV. التاريخ:
2014.03.10 1.6 تم تعديله لدعم الإصدار 600 والإصدارات الأحدث
2009.08.07 1.5 أضيفت 3 خيارات. (ShiftTiming، GMTShift، OmitD igit)
2005.12.24 1.4 أسرع للكشف عن ما إذا تغيرت البيانات عن طريق إزالة نقطة تعويم
العمليات ، إضافة دعم لملف CSV الإخراج في الوقت الحقيقي.
OutputCSVFile = 0 يعني عدم وجود CSV.
OutputCSVFile = 1 يعني CSV HST
OutputCSVFile = 2 CSV فقط ، بدون HST.
(مفيد إذا كنت تريد إنشاء ملف CSV لفترات مدمجة)
سيكون اسم ملف CSV هو نفس ملف HST باستثناء الامتداد.
إضافة التحقق الآمن لفترة المضاعف.
2005.12.04 1.3 بيانات مفقودة ثابتة عندما يكون هناك كمية كبيرة من البيانات
محملة في عدة كتل ، ودعم التحديث التلقائي
عندما يتم تحميل تاريخ جديد.
2005.11.29 1.2 إصلاح إضافي للبيانات المفقودة وتغيير الخادم.
2005.11.29 1.1 بيانات جزئية مفقودة ثابتة بعد إعادة التشغيل.
reinitialize بعد تغيير الخادم أو البيانات التالفة.
2005.11.28 1.0 الإصدار الأولي
*


extern double Version = 1.6؛/نسخة الكود
extern string BuildInfo = 2014.03.10 by micclly؛
ex int int PeriodMultiplier = 1؛/عامل فترة مضاعف جديد
ex خارجي Int OutputCSVFile = 0؛/أيضا إخراج ملف CSV؟
extern int UpdateInterval = 0؛/update interval in milliseconds، zero means update real-time.
extern bool Enabled = true؛
extern bool Debug = false؛

ex int Int ShiftTiming = 0؛/0-3 ، باستخدام H1Chart و PeriodMultiplier = 4؛
//if 1، ServerH4Chart = 00: 00/04: 00/08: 00/12: 00 ...
//= gt؛ OfflineH4Chart = 01: 00/05: 00/09: 00/13: 00 ...
extern int GMTShift = 0؛/if 9، Server Time = GMT 0 Offline Chart Time = GMT 9
ex external int OmitDigit = 0؛/if 1، 5 Digits 4 Digits

int FileHandle = -1؛
int CSVHandle = -1 ،
int NewPeriod = 0؛
string MySymbol =؛
int ShiftBase
#define OUTPUT_HST_ONLY 0
#define OUTPUT_CSV_HST 1
#define OUTPUT_CSV_ONLY 2


#define CHART_CMD_UPDATE_DATA 33324

void DebugMsg (سلسلة الرسائل)
{
if (Debug) Alert (msg)؛
}

int init ()
{
ShiftBase = الفترة () * 60 ؛/ثانية
لاحقة السلسلة =؛
if (ShiftTiming! = 0) suffix = StringConenate (suffix، s، Shift Timing)؛
if (GMTShift! = 0) suffix = StringConenate (suffix، g، GMTSh ift)؛
if (OmitDigit! = 0) suffix = StringConenate (suffix، o*، OmitDigit *)؛
MySymbol = Symbol () _ suffix؛
إذا (StringLen (MySymbol) GT؛ 11)
MySymbol = StringConenate (StringSubstr (MySy mbol ، 0،11-StringLen (لاحقة)) ، لاحقة) ؛
//التحقق الآمن لفترة المضاعف.
if (PeriodMultiplier lt؛ = 1 suffix ==) {
//ملف CSV الناتج فقط
فترة المضاعف = 1 ؛
ملف CSV الناتج = 2 ؛
}
NewPeriod = Period () * PeriodMultiplier؛
if (OpenHistoryFile () lt؛ 0) return (-1)؛
WriteHistoryHeader ()؛
UpdateHistoryFile (Bars-1، true)؛
UpdateChartWindow ()؛
العودة (0) ؛
}

void deinit ()
{
//أغلق مقبض الملف
if (FileHandle gt؛ = 0) {
FileClose (FileHandle)؛
FileHandle = -1؛
}
if (CSVHandle gt؛ = 0) {
FileClose (CSVHandle)؛
CSVHandle = -1؛
}
}


الباحث OpenHistoryFile ()
{
اسم السلسلة
name = MySymbol NewPeriod؛
if (OutputCSVFile! = OUTPUT_CSV_ONLY) {
FileHandle = FileOpenHistory (الاسم .hst ، FILE_BIN | FILE_WRITE | FILE_SHARE_READ)؛
إذا أرجع (FileHandle lt؛ 0) (-1)؛
}
if (OutputCSVFile! = OUTPUT_HST_ONLY) {
CSVHandle = FileOpen (الاسم .csv ، FILE_CSV | FILE_WRITE | FILE_SHARE_READ | FILE_ANSI ، '،')؛
إذا ترجع (CSVHandle lt؛ 0) (-1)؛
}
العودة (0) ؛
}

int WriteHistoryHeader ()
{
سلسلة c_copyright
int i_digits = Digits-OmitDigit؛
int i_unused [13] = {0}؛
إصدار الباحث = 400 ؛

إذا أرجع (FileHandle lt؛ 0) (-1)؛
c_copyright = (C) opyright 2003، MetaQuotes Software Corp .؛
FileWriteInteger (FileHandle، version، LONG_VALUE)؛
FileWriteString (FileHandle، c_copyright، 64)؛
FileWriteString (FileHandle، MySymbol، 12)؛
FileWriteInteger (FileHandle، NewPeriod، LONG_VALUE)؛
FileWriteInteger (FileHandle، i_digits، LONG_VALUE)؛
FileWriteInteger (FileHandle، 0، LONG_VALUE)؛/timesign
FileWriteInteger (FileHandle، 0، LONG_VALUE)؛/last_sync
FileWriteArray (FileHandle، i_unused، 0، ArraySize (i_unused))؛
العودة (0) ؛
}


static double d_open، d_low، d_high، d_close، d_volume؛
ثابت int i_time ؛

باطل WriteHistoryData ()
{
if (FileHandle gt؛ = 0) {
FileWriteInteger (FileHandle، i_time GMTShift * 60 * 60، LONG_VALUE)؛
FileWriteDouble (FileHandle، d_open، DOUBLE_VALUE)؛
FileWriteDouble (FileHandle، d_low، DOUBLE_VALUE)؛
FileWriteDouble (FileHandle، d_high، DOUBLE_VALUE)؛
FileWriteDouble (FileHandle، d_close، DOUBLE_VALUE)؛
FileWriteDouble (FileHandle، d_volume، DOUBLE_VALUE)؛
}
if (CSVHandle gt؛ = 0) {
int i_digits = Digits-OmitDigit؛
FileWrite (CSVHandle،
TimeToStr (i_time ، TIME_DATE) ،
TimeToStr (i_time ، TIME_MINUTES) ،
DoubleToStr (d_open، i_digits) ،
DoubleToStr (d_high، i_digits) ،
DoubleToStr (d_low، i_digits) ،
DoubleToStr (d_close، i_digits) ،
d_volume)؛
}
}

int UpdateHistoryFile (int start_pos، bool init = false)
{
stat int int last_fpos، csv_fpos؛
int i، ps؛
//if (FileHandle lt؛ 0) return (-1)؛
//تطبيع وقت مفتوح
ps = NewPeriod * 60؛
i_time = (الوقت [start_pos] -ShiftBase * ShiftTiming)ps؛
i_time = i_time * ps ShiftBase * ShiftTiming؛
if (init) {
//أول مرة ، بيانات init
d_open = فتح [start_pos]؛
d_low = منخفض [start_pos] ؛
d_high = مرتفع [start_pos]؛
d_close = إغلاق [start_pos]؛
d_volume = الحجم [start_pos] ؛
ط = start_pos - 1؛
if (FileHandle gt؛ = 0) last_fpos = FileTell (FileHandle)؛
if (CSVHandle gt؛ = 0) csv_fpos = FileTell (CSVHandle)؛
} آخر {
ط = start_pos؛
if (FileHandle gt؛ = 0) FileSeek (FileHandle، last_fpos، SEEK_ SET)؛
if (CSVHandle gt؛ = 0) FileSeek (CSVHandle، csv_fpos، SEEK_SET)؛
}
إذا (i lt؛ 0) عودة (-1)؛

int cnt = 0؛
int LastBarTime؛
//قضبان المعالجة
بينما (i ​​gt؛ = 0) {
LastBarTime = وقت [i]؛

//شريط جديد
إذا كان (LastBarTime gt؛ = i_time ps) {
//اكتب بيانات الشريط
WriteHistoryData ()؛
المركز الوطني للاستشعار ؛
i_time = (LastBarTime-ShiftBase * ShiftTiming)ps؛
i_time = i_time * ps ShiftBase * ShiftTiming؛
d_open = فتح [i]؛
d_low = منخفض [i]؛
d_high = مرتفع [i]؛
d_close = إغلاق [i]؛
d_volume = الحجم [i]؛
} آخر {
//لا يوجد شريط جديد
d_volume = الحجم [i]؛
if (Low [i] lt؛ d_low) d_low = Low [i]؛
إذا كان (High [i] get؛ d'high) d'high = High [i]؛
d_close = إغلاق [i]؛
}
أنا--؛
}
//سجل last_fpos قبل كتابة آخر شريط.
if (FileHandle gt؛ = 0) last_fpos = FileTell (FileHandle)؛
if (CSVHandle gt؛ = 0) csv_fpos = FileTell (CSVHandle)؛
WriteHistoryData ()؛
المركز الوطني للاستشعار ؛
d_volume - = الحجم [0]؛
//مسح البيانات المكتوبة
إذا كان (FileHandle gt؛ = 0) FileFlush (FileHandle)؛
if (CSVHandle gt؛ = 0) FileFlush (CSVHandle)؛
return (cnt)؛
}

int UpdateChartWindow ()
{
ثابت int hwnd = 0؛

if (FileHandle lt؛ 0) {
//لم يتم فتح أي ملف HST ، لا حاجة للتحديث.
العودة (-1) ؛
}
إذا (hwnd == 0) {
//تحاول اكتشاف نافذة المخطط للتحديث
hwnd = WindowHandle (MySymbol ، NewPeriod) ؛
}
إذا (hwnd! = 0) {
if (IsDllsAllowed () == false) {
//يجب السماح بمكالمات DLL
DebugMsg (يجب السماح بمكالمات Dll) ؛
العودة (-1) ؛
}
if (PostMessageA (hwnd، WM_COMMAND، CHART _CMD_UPDATE_DATA، 0) == 0) {
//PostMessage فشل ، نافذة المخطط مغلقة
hwnd = 0؛
} آخر {
//PostMessage تنجح
العودة (0) ؛
}
}
//لم يتم العثور على نافذة أو فشل PostMessage
العودة (-1) ؛
}


/*
الباحث عن PerfCheck (bool Start)
{
stat int int StartTime = 0؛
مؤشر int الثابت = 0؛
إذا (ابدأ) {
StartTime = GetTickCount ()؛
الفهرس = 0؛
العودة (StartTime) ؛
}
مؤشر ؛
int diff = GetTickCount () - StartTime ؛
تنبيه (الوقت المستخدم [ فهرس ]: فرق) ؛
StartTime = GetTickCount ()؛
العودة (فرق) ؛
}
*

stat int int LastStartTime = 0؛
stat int int LastEndTime = 0؛
ثابت int LastBarCount = 0؛

void reinit ()
{
deinit ()؛
فيه()؛
LastStartTime = Time [Bars-1]؛
LastEndTime = Time [0]؛
LastBarCount = القضبان
}

bool IsDataChanged ()
{
/*
stat int int LastBars = 0، LastTime = 0، LastVolume = 0؛
static double LastOpen = 0، LastClose = 0، LastHigh = 0، LastLow = 0؛
if (LastVolume! = Volume [0] || LastBars! = Bars || LastTime! = Time [0] ||
LastClose! = Close [0] || LastHigh! = High [0] || LastLow! = Low [0] ||
LastOpen! = فتح [0]) {

LastBars = القضبان.
LastVolume = الحجم [0]؛
آخر مرة = الوقت [0]؛
LastClose = إغلاق [0]؛
LastHigh = مرتفع [0]؛
LastLow = Low [0]؛
LastOpen = فتح [0] ؛
العودة (صحيح) ؛
}
عودة كاذبة)؛
*
/*
نسخة سريعة دون عملية تعويم نقطة
*
stat int int LastBars = 0، LastTime = 0، LastVolume = 0؛
bool ret؛
ret = false
if (LastVolume! = Volume [0]) {
LastVolume = الحجم [0]؛
ret = true
}
إذا (LastTime! = Time [0]) {
آخر مرة = الوقت [0]؛
ret = true
}
if (LastBars! = Bars) {
LastBars = القضبان.
ret = true
}
عودة (تقاعد) ؛
}

int CheckNewData ()
{
سلسلة ثابتة LastServer =؛
if (Bars lt؛ 2) {
//لم يتم تحميل البيانات بعد.
DebugMsg (لم يتم تحميل البيانات ، فقط البارات البارات) ؛
العودة (-1) ؛
}

string serv = ServerAddress ()؛
إذا (serv ==) {
//لا يوجد خادم بعد
DebugMsg (لا يوجد متصل بالخادم) ؛
العودة (-1) ؛
}

//الخادم تغيرت؟ تحقق من هذا والاحتفاظ لمنع البيانات الخاطئة أثناء تغيير الخادم.
إذا (LastServer! = serv) {
DebugMsg (تم التغيير من Server Last Server to server)؛
LastServer = سيرف
reinit ()؛
العودة (-1) ؛
}

if (! IsDataChanged ()) {
//return إذا لم يتم تغيير أي بيانات لحفظ المورد
//DebugMsg (لم يتم تغيير أي بيانات)؛
العودة (-1) ؛
}

إذا (Time [Bars-1]! = LastStartTime) {
DebugMsg (تغيير وقت البدء ، تم تغيير محفوظات جديدة أو تم تغيير الخادم) ؛
reinit ()؛
العودة (-1) ؛
}
int i، cnt؛
//حاول أن تجد شريط LastEndTime ، والذي يجب أن يكون Time [0] أو Time [1] عادة ،
//لذلك فإن العملية سريعة
لـ (i = 0؛ i lt؛ Bars؛ i ) {
إذا (Time [i] lt؛ = LastEndTime) {
استراحة؛
}
}
if (i gt؛ = Bars || Time [i]! = LastEndTime) {
DebugMsg (وقت الانتهاء TimeToStr (LastEndTime) غير موجود)؛
reinit ()؛
العودة (-1) ؛
}
cnt = Bars - i؛
if (cnt! = LastBarCount) {
DebugMsg (بيانات تحميل ، cnt cnt LastBarCount LastBarCount)؛
reinit ()؛
العودة (-1) ؛
}

//لم يتم تحميل أي بيانات جديدة ، مع الرجوع إلى موضع LastEndTime.
LastBarCount = القضبان
LastEndTime = Time [0]؛
return (i)؛
}

// ------------------------------------ ----------- -------------------
//| وظيفة بدء البرنامج |
// ------------------------------------ ----------- -------------------
بداية int ()
{
stat int int last_time = 0؛

إذا (! تمكين) إرجاع (0)؛
//تحديث دائمًا أو تحديثه فقط بعد فاصل زمني معين
إذا (UpdateInterval! = 0) {
int cur_time
cur_time = GetTickCount ()؛
if (MathAbs (cur_time - last_time) lt؛ UpdateInterval) {
العودة (0) ؛
}
last_time = cur_time؛
}

//if (Debug) PerfCheck (true)؛
int n = CheckNewData ()؛
//if (Debug) PerfCheck (false)؛
إذا (n lt؛ 0) return (0)؛

//update history file with new data
UpdateHistoryFile (ن)؛
//تحديث مخطط النافذة
UpdateChartWindow ()؛
//if (Debug) PerfCheck (false)؛
عودة (0)؛
}

مؤشر المرفق:
ملف مرفق

https://www.forexdrop.com/attachments/15283078871110667838.png
https://www.forexdrop.com/attachments/1528307889574793598.mq460 كيلوبايت | 0 التنزيلات

ضياء الرحمان بطرس
08-05-2023 14:13, 02:13 PM
تعديل: على الرغم من أنه لا يمكن للمتداول أن يكون متداولًا في مخطط Offline-Chart مفضل مع مثل هذا المؤشر ، فمن الممكن إدارة الصفقات من مخطط عادي والذي أفعله منذ سنوات عديدة الآن. على أي حال هناك أي شخص مهتم بهذه الفكرة. إذا كان شخص ما ليس نفس رأي لي يرجى إلقاء نظرة على نفسك. قم بإجراء الاختبار بنفسك في مقارنة الخطية العادية المقياسية MT4MT5 -Chart مع خطوط الاتجاه والقيام بنفس الشيء مع الرسم البياني المقياس اللوغاريتمي المتوفر في كل مكان في الشبكة باستخدام بعض البرامج المجانية. سيكون من المدهش. إنه فرق كبير بين الرسم البياني الخطي المعتاد و الرسم البياني المقياس لوغاريتمي رسم خطوط الاتجاه. جثرز زاك

رؤية ذكيّة
08-05-2023 15:33, 03:33 PM
هل يمكنك نشر بعض الصور لإظهار الاختلافات من فضلك؟

ضياء الرحمان بطرس
08-05-2023 16:54, 04:54 PM
أنا مقتصر على الوقت لذا يرجى إلقاء نظرة على نفسك. مخططات لوغاريتمي متاحة في جميع أنحاء الشبكة ل comßpare لنفسك. شكرا. إذا كان بعض المبرمج مهتمًا ، فالرجاء إخباري بذلك. من الواضح أنه من الأفضل العمل على هذا القانون بدلاً من ترميز مؤشر لا قيمة له ولا يساعد أحدًا حقًا. شكرا على انتباهك. جثرز زاك

زاهد عفرا
08-05-2023 18:15, 06:15 PM
أنا مقتصر على الوقت لذا يرجى إلقاء نظرة على نفسك. مخططات لوغاريتمي متاحة في جميع أنحاء الشبكة ل comßpare لنفسك. شكرا. إذا كان بعض المبرمج مهتمًا ، فالرجاء إخباري بذلك. من الواضح أنه من الأفضل العمل على هذا القانون بدلاً من ترميز مؤشر لا قيمة له ولا يساعد أحدًا حقًا. شكرا على انتباهك. جثرز زاك
المؤشر
https://www.forexdrop.com/attachments/1528307892885342069.mq4لم يعمل على منصتي. إذا كان لديه بعض الأخطاء الأخرى في التعليمات البرمجية. من فضلك أصلحه.

ضياء الرحمان بطرس
08-05-2023 19:36, 07:36 PM
لكن .ex4 يجب أن يعمل. إنه يعمل على منصتي بلا حدود. شكرا على أي معلومات. Z.

زاهد عفرا
08-05-2023 20:56, 08:56 PM
لكن .ex4 يجب أن يعمل. إنه يعمل على منصتي بلا حدود. شكرا على أي معلومات. Z.
ثم يمكنك تحميل نسخة ex4 من
https://www.forexdrop.com/trading-discussion/33-locks-cable-corner.htmlتكس

ضياء الرحمان بطرس
08-05-2023 22:17, 10:17 PM
1 مرفق (ق) ومن هنا. Z.
https://www.forexdrop.com/attachments/15283078971289721902.ex4

زاهد عفرا
08-05-2023 23:38, 11:38 PM
ها هو. Z. {الملف}
شكرا جزيلا . هل يمكن أن تفسر تفسير إعداد المعلمة وكيفية استخدام هذا المؤشر (الرسم البياني غير متصل أو ...؟)؟ timehiftadd في فترة hptmmmultiplier .... .... ...

ضياء الرحمان بطرس
08-06-2023 00:59, 12:59 AM
----

زينة رعد
08-06-2023 02:19, 02:19 AM
مرحبا. لطيف جدا. لدي فكرة أخرى بالنسبة لك مشابهة لخطوط اتجاه لوغاريثمي ولكن ربما أفضل من ذلك. تحدث غان عن تربيع الأسعار مع مرور الوقت. وأشار إلى ملك تطبيع العلاقة السعر لوقت العلاقة. تحدث عن ”اهتزاز السعر”. استخدم الهندسة ، لكنه لم يكن يمتلك التكنولوجيا اللازمة ليوم. قصة قصيرة طويلة على سبيل المثال ، إذا قمت بقياس أو على سبيل المثال جي جي ويذهب في المتوسط ​​من 55 نقطة في الساعة ويمكن اعتبار اهتزاز سعر من 55/60. هناك هجين رينكوالوقت الرسم البياني لسعر مربع والوقت ، لكنه يطبع فقط إذا تم استيفاء الشرطين ويستخدم رينكو بدلاً من أشرطة النطاق.
http://backtothefuturetrading.com/flux-store/logik-hybrid-renko/بعبارة أخرى ، يتم رسم شمعة في كل مرة يكون فيها السعر إما واحدًا ، ويبلغ 55 نقطة أو 60 دقيقة. يتم إما شريط النطاق أو يتم إنشاء شريط الوقت. ربما ستكون هناك فائدة من خطوط الاتجاه على هذا الرسم البياني.

زينة رعد
08-06-2023 03:40, 03:40 AM
http://www.dataminingblog.com/standardization-vs-normalization/فكرة التطبيعتوحيد الوحدات المختلفة .. السعر الزائد ، والوقت هو شيء للنظر ربما يفعل ذلك الرسم البياني تفعل ذلك؟

ضياء الرحمان بطرس
08-06-2023 05:01, 05:01 AM
مرحبا. لطيف جدا. لدي فكرة أخرى بالنسبة لك مشابهة لخطوط اتجاه لوغاريثمي ولكن ربما أفضل من ذلك. تحدث غان عن تربيع الأسعار مع مرور الوقت. وأشار إلى ملك تطبيع العلاقة السعر لوقت العلاقة. تحدث عن ”اهتزاز السعر”. استخدم الهندسة ، لكنه لم يكن يمتلك التكنولوجيا اللازمة ليوم. قصة قصيرة طويلة على سبيل المثال ، إذا قمت بقياس أو على سبيل المثال جي جي ويذهب في المتوسط ​​من 55 نقطة في الساعة ويمكن اعتبار اهتزاز سعر من 55/60. هناك جدول زمني رينكوالوقت الهجين لسعر مربع والوقت ، لكنه ...
نعم من المفيد استخدام renkon مع خطوط الاتجاه. لكن هذا ليس له علاقة بالمقياس اللوغاريتمي.

ضياء الرحمان بطرس
08-06-2023 06:22, 06:22 AM
3 مرفق (مرفقات)
https://www.forexdrop.com/attachments/15283078991706365778.1https://www.forexdrop.com/attachments/15283079001604909231.1https://www.forexdrop.com/attachments/1528307906304096010.rar

أنس زكيّ
08-06-2023 07:43, 07:43 AM
يمكنني رسم مخطط 2 قاعدة مع هذا؟