- กุมภาพันธ์ 14, 2014
- โพสโดย: ทีมงาน Forex Wiki
- หมวดหมู่: ฟรี Forex EA
ชื่อ: |
|
||
ผู้เขียน: | มิคลี่ (2014.02.06 15:31) | ||
คะแนน: | 10 | ||
ดาวน์โหลดแล้ว: | 324 | ||
ดาวน์โหลด: |
|
||
คำอธิบาย:เอ็มทีโฟร์อาร์, สร้างสรรค์โดย Bernd Kreuss และจัดจำหน่าย ที่นี่, ทำงานไม่ถูกต้องกับ MQL4 ใหม่. ฉันแก้ไข dll และไฟล์รวมเพื่อรองรับ MQL4 ใหม่. รุ่นล่าสุด:คุณสามารถรับเวอร์ชันล่าสุดได้จาก GitHub เผยแพร่. (เนื่องจากการอัพเดตไทม์แลคโดยการกลั่นกรอง, ไบนารีที่แนบมาอาจเก่ากว่ารุ่นล่าสุดที่ GitHub) Changelog อยู่ที่ CHANGES.md และ GitHub มุ่งมั่น. อัพเดทประวัติ:กุมภาพันธ์ 10, 2014: v1.4.0-b7: เพิ่มตัวอย่างผู้เชี่ยวชาญ: Arb-O-Mat และ Trend-O-Mat(GitHub#5). กุมภาพันธ์ 9, 2014: v1.4.0-b6: แก้ไขข้อบกพร่องของ RGetBool/RGetInteger(Github#4). กุมภาพันธ์ 9, 2014: v1.4.0-b5: แก้ไขข้อบกพร่องของ RAssignString(Github#3). กุมภาพันธ์ 9, 2014: v1.4.0-b4: แก้ไขข้อบกพร่องของ RAssignStringVector(GitHub#1), และอัปเดตหมายเลขเวอร์ชันรองในฮาร์ดโค้ด DLL. กุมภาพันธ์ 7, 2014: v1.4.0-b1: เปลี่ยนการเข้ารหัสไฟล์ MQL เป็น UTF-16 กุมภาพันธ์ 6, 2014: v1.4.0-b0: ภาพรวมเริ่มต้น แหล่งที่มา:ซอร์สโค้ดถูกแจกจ่ายที่ a สาขาของที่เก็บ GitHub ของฉัน. บันทึก:
|
|||
ขอบคุณสำหรับการทำงานที่ดีของคุณ! อย่างไรก็ตาม, แผนภูมิ R ที่สร้างโดย Arbomat ดูเหมือนจะมาและไปในเสี้ยววินาทีในขณะที่โหลด EA. อะไรเป็นเหตุผล? แผนภูมิ R ที่สร้างโดย Trendomat นั้นดูดี. I'm using the same PC and the same MT4. อีกด้วย, บางครั้งข้อความนี้ปรากฏในแท็บผู้เชี่ยวชาญ: 13.02.2014 23:41 เคล็บ
ที.เจ.แมคโคลวิน:
งานที่ยอดเยี่ยม! ขอบคุณสำหรับการแก้ไขทันที🙂 !!! อีกสองสิ่ง:
อีกครั้ง, ขอบคุณมาก ! Great thank you and I'm sorry about terrible porting quality... I've fixed RGetBoo/RGetInteger bug at v1.4.0-SNAPSHOT-b6.
แก้ไข: คราวหน้าฉันจะเปิดปัญหาที่ repo ของคุณ ถ้าคุณไม่ว่าอะไร. ฉันไม่ต้องการสแปมส่วนความคิดเห็นที่นี่ ;)
I'll welcome for iissue from you if you feel to report something about this! 08.02.2014 21:08 มิคลี่
งานที่ยอดเยี่ยม! ขอบคุณสำหรับการแก้ไขทันที🙂 !!! อีกสองสิ่ง:
อีกครั้ง, ขอบคุณมาก ! แก้ไข: คราวหน้าฉันจะเปิดปัญหาที่ repo ของคุณ ถ้าคุณไม่ว่าอะไร. I don't want to spam the comments section here 😉 08.02.2014 20:46 ที.เจ.แมคโคลวิน
ที.เจ.แมคโคลวิน:
ขอบคุณสำหรับการแก้ไข! ใช้งานได้ดี! จำเป็นต้องมีการเปลี่ยนแปลงเล็กน้อยเพิ่มเติม: // assign string to variable given by name procedure RAssignString(ฮันเดล: ลองอินท์; ตัวแปร: พีไวด์ชาร์; AVมูลค่า: พชร (ควรเป็น PWideChar ด้วย?)); stdcall; begin if isValid(ฮันเดล) then TRConsole(ฮันเดล).กำหนดสตริง(WideStringToString(ตัวแปร, CP_ACP), WideStringToString(AVมูลค่า, CP_ACP)); จบ; ขอบคุณสำหรับรายงานข้อผิดพลาด, I've fixed at v1.4.0-SNAPSHOT-b5. โปรดอัปเดต dll และไฟล์รวม, เนื่องจากหมายเลขเวอร์ชันย่อยเปลี่ยนไปจากก่อนหน้า b3. 08.02.2014 20:09 มิคลี่
ที.เจ.แมคโคลวิน:
มันล้มเหลวเมื่อพยายามดำเนินการ รฟ("ครั้ง",ครั้ง); ขอบคุณสำหรับรายงานข้อบกพร่องของคุณ! จากการสอบสวน, การประมวลผลอาร์เรย์ใน RAssingStringVector ไม่ถูกพอร์ตไปยัง MQL4 ใหม่อย่างถูกต้อง. I've updated the DLL, ดังนั้นโปรดรับเวอร์ชันล่าสุดจาก GitHub. ในเวอร์ชั่นนี้, หมายเลขเวอร์ชันรอง DLL-hardcoded อัปเดตเป็น 4, ดังนั้นโปรดคัดลอก MQL4/Include/mt4R.mqh ด้วย. 08.02.2014 19:54 มิคลี่
ขอบคุณสำหรับการแก้ไข! ใช้งานได้ดี! จำเป็นต้องมีการเปลี่ยนแปลงเล็กน้อยเพิ่มเติม: // assign string to variable given by name procedure RAssignString(ฮันเดล: ลองอินท์; ตัวแปร: พีไวด์ชาร์; AVมูลค่า: พชร (ควรเป็น PWideChar ด้วย?)); stdcall; begin if isValid(ฮันเดล) then TRConsole(ฮันเดล).กำหนดสตริง(WideStringToString(ตัวแปร, CP_ACP), WideStringToString(AVมูลค่า, CP_ACP)); จบ; 08.02.2014 19:51 ที.เจ.แมคโคลวิน
กำปั้นทั้งหมด: ขอบคุณมากสำหรับการพอร์ตไปยังเวอร์ชันใหม่! งานที่ยอดเยี่ยม! อย่างไรก็ตาม, I've encountered a problem. ดูสคริปต์ง่ายๆ นี้: //+------------------------------------------------------------------+
//| TestNewMt4R.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#ลิขสิทธิ์ทรัพย์สิน ""
#ลิงค์คุณสมบัติ ""
#รุ่นคุณสมบัติ "1.00"
#property strict
#include <mt4R.mqh>
#กำหนด RPATH "ง:/ไฟล์โปรแกรม/R/R-3.0.2/bin/i386/Rterm.exe --no-save"
#กำหนด RDEBUG 2
สตริงครั้ง[1000];
//+------------------------------------------------------------------+
//| ฟังก์ชันเริ่มต้นโปรแกรมสคริปต์ |
//+------------------------------------------------------------------+
เป็นโมฆะ OnStart()
{
สตาร์ทอาร์(RPATH,RDEBUG);
สำหรับ(int i = 0; ฉัน<1000; ฉัน ++)
{
ครั้ง[ฉัน]=TimeToString(ไอไทม์(เครื่องหมาย(),ระยะเวลา(),ฉัน),TIME_DATE|TIME_SECONDS);
}
รฟ("ครั้ง",ครั้ง);
อาร์เอ็กซ์("ก()");
สต็อปอาร์();
}
//+------------------------------------------------------------------+
มันล้มเหลวเมื่อพยายามดำเนินการ รฟ("ครั้ง",ครั้ง); And I don't know why. ฉันคิดว่าปัญหาอาจเป็นปัญหาที่คุณพูดถึงเกี่ยวกับสตริง. อย่างไรก็ตาม, ฉันไม่สามารถแก้ไขได้ด้วยตัวเอง ดังนั้นความช่วยเหลือจึงเป็นที่ชื่นชมอย่างมาก. ขอบคุณ! แก้ไข: ฉันตรวจสอบ DebugView และดูเหมือนว่าการจัดการสตริงทั้งหมดจะใช้งานไม่ได้, เช่น., เป็นโมฆะ OnStart() { สตาร์ทอาร์(RPATH,RDEBUG); การทดสอบสตริง = "นี่คือการทดสอบการคัดลอกสตริง"; อาร์เอส("rString", ทดสอบสตริง); อาร์เอ็กซ์("ก()"); สต็อปอาร์(); } ผลลัพธ์ใน: 08.02.2014 16:28 ที.เจ.แมคโคลวิน
ขอบคุณสำหรับคำอธิบาย, และการอัพเดท!
07.02.2014 08:57 FXEZ
FXEZ:
คุณสามารถระบุการเปลี่ยนแปลงที่จำเป็นในการอัปเดต dll? I wasn't aware that dlls need to be changed to fit MQL5's format. คุณมีลิงค์ใด ๆ เกี่ยวกับเรื่องนี้? สตริง ใน MQL4 ใหม่ไม่ใช่อาร์เรย์ของ ถ่าน แต่อาร์เรย์ของ wchar_t. หากอินดิเคเตอร์/สคริปต์/EA ตัวเก่าของคุณทำงานบน MT4 build509 หรือรุ่นก่อนหน้า สตริง และส่งผ่านไปยังฟังก์ชัน DLL, คุณต้องเปลี่ยนฟังก์ชันเป็น wchar_t รุ่น. ตัวอย่างเช่น, ถ้ามันใช้ ShellExecuteก, เปลี่ยนเป็น ShellExecuteW. ขออภัยหาก dll ที่คุณใช้ไม่มีให้ wchar_t ฟังก์ชันเวอร์ชันเช่น mt4R.dll, คุณต้องแก้ไขการใช้งาน DLL, หรือแปลง สตริง ไปยังอาร์เรย์ของ ถ่าน โดย WideCharToMultiByte Win32API. บันทึก: I haven't tried WideCharToMultiByte ยังอยู่ใน MQL4 ใหม่, so I don't know you can use WideCharToMultiByte โดยไม่มีหรือมีปัญหาใดๆ. ที่ สร้าง 600 หัวข้อการเปิดตัว, มีกล่าวไว้ดังนี้: การเปลี่ยนแปลงในภาษา MQL4
07.02.2014 07:07 มิคลี่
อาคุชเนียร์:
ขอบคุณสำหรับการสนับสนุนของคุณ. It's nice to know somebody takes care about useful projects. ขอแสดงความนับถืออย่างสูง คุณสามารถระบุการเปลี่ยนแปลงที่จำเป็นในการอัปเดต dll? I wasn't aware that dlls need to be changed to fit MQL5's format. คุณมีลิงค์ใด ๆ เกี่ยวกับเรื่องนี้? |