มาศึกษาวิธีการตรวจสอบ EA ที่สร้างขึ้น
บทนำ
เราเป็นบริษัท โกโกジャン จำกัด (มหาชน) ที่ดำเนินการ GogoJungle / Skijan
คราวนี้ สำหรับผู้ที่เข้าใจการใช้งานพื้นฐานของ EAつくーるแล้ว เราจะมาแนะนำวิธีตรวจสอบว่า EA ที่สร้างขึ้นทำการซื้อขายถูกต้องหรือไม่ และหากไม่ทำงานอย่างถูกต้อง จะสอนวิธีแก้ไขเงื่อนไข
ผู้ที่เริ่มใช้งาน EAつくーるเป็นครั้งแรก กรุณาดูบทความที่ผ่านมาได้จากลิงก์ด้านล่าง
・การใช้งานพื้นฐานและวิธีใช้งาน EAつくーる
・คำอธิบายเงื่อนไขการซื้อขายอย่างละเอียด
・มาทำความรู้จักกับออปชัน
・มาสร้าง EA ง่ายๆ โดยใช้ Golden Cross
・ลองใช้ MACD
・ลองใช้ Nanpin และ Pyramid
・สร้าง EA โดยใช้ อินดิเคเตอร์ที่กำหนดเอง
・สร้าง EA กึ่งอิสระเพื่อการตัดสินใจ/ปิดออเดอร์
・สร้าง EA โดยใช้ Ichimoku
สารบัญ
・ทดสอบย้อนหลัง EA ที่สร้างขึ้น
・หากการเทรดไม่เป็นไปตามที่คาดไว้
・การตรวจสอบสัญลักษณ์เปรียบเทียบ
・การตรวจสอบราคาที่นำไปใช้
・การตรวจสอบตำแหน่ง
・ตรวจสอบการชนกันของ Stop Loss และ Take Profit
・ตรวจสอบบันทึกข้อผิดพลาด
・ตรวจสอบอักขระครึ่ง-width/เต็ม-width
・แยกตรรกะให้เรียบง่ายเพื่อการตรวจสอบ
・คำถามเพิ่มเติม
・สรุป
ทดสอบย้อนหลัง EA ที่สร้างขึ้น
วิธีทดสอบย้อนหลัง EA ที่สร้างด้วย EAつくーる จะเริ่มจากตรงนี้
โปรแกรมที่สร้างด้วย EAつくーるจะถูกส่งออกในรูปแบบ mq4,mq5
โปรแกรมที่ดาวน์โหลดมาให้คลิกสองครั้ง หรือเลือกจากเมนู "Tools" ใน MetaTrader → "MetaEditor"(คีย์ลัด: F4)เพื่อเปิดหน้าจอ MetaEditor ตามด้านล่างนี้
โดยการกดปุ่ม "Compile" ในกรอบสีแดง จะสามารถแปลง mq4/mq5 เป็นข้อมูล ex4/ex5 แล้วเก็บไว้ในโฟลเดอร์ "Expert" ของ MetaTrader โดยอัตโนมัติ
จากนั้น เปิด MetaTrader แล้วไปที่ Strategy Tester(คีย์ลัด Ctrl+R)หากต้องการแสดงจากเมนู ให้คลิก "表示" → "ストラテジーテスター" ตามหน้าจอด้านล่างเพื่อแสดงหน้าจอ Strategy Tester (ภาพด้านล่างเป็น MT4)
อาจมีหน้าต่างถูกย่อไว้ ดังนั้นปรับกรอบหน้าต่างให้เหมาะสม
สำหรับรายละเอียดการใช้งาน Strategy Tester กรุณาดูบทความ「MT4 EAのバックテスト方法」
ในกรณีที่ไม่ใช่การตรวจสอบประสิทธิภาพ แต่เป็นการยืนยันว่าโลจิกของ EA ที่สร้างทำงานถูกต้อง ข้อมูลการทดสอบย้อนหลังก็ไม่จำเป็นต้องยาว
หากข้อมูลระยะสั้นพอ ก็ให้แสดงกราฟคู่สกุลเงินที่ต้องการ แล้วรีสตาร์ท MetaTrader เพื่อให้ข้อมูลเรียบร้อย
คลิกปุ่ม Start แล้วเมื่อการทดสอบเสร็จสิ้น จะสามารถดูผลลัพธ์การทดสอบดังด้านล่างนี้ (ถ้าไม่เปิด Visual mode จะเห็นเฉพาะกราฟยอดเงิน)
การตรวจสอบผลการซื้อขายและกราฟยอดเงินจะช่วยให้คุณยืนยันว่า EA ที่คุณสร้างทำงานตามที่คาดไว้หรือไม่
หากไม่มีการเทรดเลย หรือมีการเข้าออเดอร์/ปิดออเดอร์ในรูปแบบที่ไม่คาดคิด ให้ทบทวนการตั้งค่าตามวิธีด้านล่าง
想定通りの取引しない場合には
เมื่อทดสอบ EA ที่สร้างด้วย EAつくーる บางครั้ง EA ไม่ทำการเทรดตามที่คุณคาดหวัง
อาจมีกรณีที่จำนวนการเข้าออเดอร์มากเกินไป หรือไม่เข้าออเดอร์ตามที่ตั้งใจ หรือเข้าออเดอร์ในสถานการณ์ที่ไม่ต้องการ
ข้อผิดพลาดเหล่านี้ส่วนใหญ่เกิดจากการตั้งค่าเงื่อนไขด้วยตนเองผิดพลาด หรือความเข้าใจผิดเกี่ยวกับฟังก์ชัน
เพื่อแก้ปัญหาดังกล่าว ลองใช้วิธีต่อไปนี้
不等号の確認
ก่อนอื่น ให้ตรวจสอบว่าเงื่อนไขที่คุณตั้งค่าในเงื่อนไขการซื้อขายมีรายการที่ถูกต้องเหมาะสมหรือไม่
รายการที่มักทำผิดคือ เครื่องหมายเปรียบเทียบในเงื่อนไข
ถ้าสัญลักษณ์เปรียบเทียบในเส้นสีแดงด้านล่างถูกกลับด้าน อาจทำให้เงื่อนไขเข้าเงื่อนไม ไม่ทำการเทรด
不等号について以下に説明します。
「=」: 等号
二つの値が等しいことを示します。
例えば、(a = b)は「aとbは等しい」という意味です。
「≠」: 不等号
二つの値が等しくないことを示します。
例えば、(a ≠ b)は「aとbは等しくない」という意味です。
「>」: 大なり記号
左側の値が右側の値より大きいことを示します。
例えば、(a > b)は「aはbより大きい」という意味です。
「<」: 小なり記号
左側の値が右側の値より小さいことを示します。
例えば、(a < b)は「aはbより小さい」という意味です。
「≧」: 大なりイコール記号
左側の値が右側の値以上であることを示します。
例えば、(a ≧ b)は「aはb以上」という意味です。
「≦」: 小なりイコール記号
左側の値が右側の値以下であることを示します。
例えば、(a ≦ b)は「aはb以下」という意味です。
適用価格の確認
「適用価格」についても条件の設定ミスが発生することがありますので、確認してみましょう。
例えば、以下の条件は「0本前」の「終値」となり、現在価格(確定していないローソク足の最新のティック)が条件項目として用いられます。
現在価格(確定していないローソク足)を条件に用いると、何度もエントリー条件が満たされることになってしまい、決済の条件にもよりますが何度も取引が発生する場合があります。
また、ローソク足確定時には条件が成立していないこともあり、バックテストの最終結果だけを確認した場合は、条件通りに成立していないと誤認していまう事例もありましたので、現在価格(確定していないローソク足)を条件とする場合は、ビジュアルモードでティック単位に確認しましょう。
確定していないローソク足を条件に用いた上での頻繁なトレードを制限したい場合、オプション機能から「一本あたりのエントリー回数制限」などを用いることによって、一つのローソク足の中にてエントリーする回数を1回に制限することができます。
ポジションの確認
取引条件によっては、ポジションを指定する項目が存在します。
このポジションが正しく設定されていない場合は、条件が成立しないため確認しましょう。
※「ポジション」はマジックナンバーのことではなく、「ポジション1」や「ポジション2」などのEAつくーる上でのポジションの扱いになりますので注意しましょう。
損切り、利食いの競合を確認
EAつくーる内には、同時に使用すると競合する機能がいくつか存在します。
もし、意図しない場面でポジションが閉じられていたり、また逆にポジションが想定通りに閉じていない場合は、「決済逆指値(S/L)」「決済指値(T/P)」をまず確認しましょう。
ナンピン・ピラミッディングはロジックの特性上、複数のポジションを保有するため、変更注文があるオプション「トレーリングストップ」「建値ストップ」は組み合わせができないので注意しましょう。
また、基本項目の「損切り」「利食い」についても、初回エントリーのみ適用となるため注意が必要です。
その他、「ドテン」オプションと基本項目の「損切り」「利食い」の競合など、様々なケースが考えられますので、疑いがある場合はそれぞれのオプションの注意事項などを確認してみましょう。
エラーログの確認
取引を行わない、もしくはストラテジーテスターがすぐに停止してしまう場合は、プログラムの挙動そのものに対してエラーが発生している可能性があります。
「ストラテジーテスター」→「操作履歴」を閲覧することによって、テストのエラーログを確認することができます。
エラー内容をLABOや各サイトで調査して解決可能な場合があります。
半角/全角の確認
また、EAつくーるでは全角の数字を認識しません。เงื่อนไข設定内で全角の数字を用いている場合、以下のようにArray out of rangeといったエラーが発生することがあります。
半角と全角は見分けが困難のため、該当する場所が判明した場合は半角数字に書き換えるか、またはプログラムを初期化して作り直すことによって対応しましょう。
シンプルなロジックに分解して検証する
上記の方法を試した上でも原因が分からない場合、そのロジック(条件設定)をシンプルなものに分解していきながら検証すると良いでしょう。AND条件やOR条件を最小限の数に変更後、それで動かなければより条件を削り、動けば条件を追加していくという形で検証していくことによって、概ね全ての不具合を解決することができます。
条件設定の詳細についても、極力シンプルなものに変更して一つずつ検証していくことによって、不具合がどこにあるのかを発見しやすくなります。
その他Q&A
LABOでは、以下の記事も掲載されています。
ปัญหายังไม่หมด ให้ตรวจสอบบทความเหล่านี้ด้วย
・การตั้งค่ามาร์จิคนัมเบอร์ของ EA・วิธีตรวจสอบเมื่อ EA ไม่ทำการซื้อขายในบัญชีจริง
・กรุณาบอกที่ตั้งไฟล์ Include (Tkool.mqh)
สรุป
นั่นคือวิธีการตรวจสอบ EA ที่สร้างขึ้นและการแก้ไขปัญหา
หาก EA ที่เคยทำงานได้ก่อนหน้าไม่ทำงาน ตรวจสอบข้อมูล backtest ไม่ถูกต้อง สายขัดข้อง บัญชีที่ใช้งานไม่ได้ และเหตุการณ์อื่นๆ ที่ไม่เกี่ยวกับ EAつくーる กรุณาติดต่อบริษัทที่ดูแล MetaTrader
EAつくーる ที่สร้างด้วย EAつくーる อาจไม่ทำงานตามที่คาดไว้ด้วยเหตุผลหลายประการ เช่น การผสมเงื่อนไข ความผิดพลาดในการระบุเงื่อนไข เป็นต้น โปรดตรวจสอบการทดสอบย้อนหลังและเริ่มใช้งานจริงเมื่อพร้อม
ขอถวายความนับถือต่อ EAつくーる ไปด้วย
ご質問はLABOへ!
![]() | GogoJungle LABO บริการ Q&A เกี่ยวกับการเขียนโปรแกรมที่เชี่ยวชาญด้านการลงทุน เช่น การซื้อขายอัตโนมัติ และอินดิเคเตอร์ ในหมวด EAつくーる เรารับคำถาม/ปรึกษาเกี่ยวกับ EAつくーる |
