กำลังส่งสตริงอัลกอริทึมเพื่อซื้อสัญญาณใน mt4
Results 1 to 5 of 5

Thread: กำลังส่งสตริงอัลกอริทึมเพื่อซื้อสัญญาณใน mt4

  1. #1
    ฉันกำลังทดสอบสัญญาณซื้อจำนวนหนึ่งในอีเอและต้องการส่งอัลกอริทึมเป็นสตริงเพื่อดำเนินการ ถ้าฉันคัดลอกและวางสตริงเป็นสัญญาณซื้อทำงาน แต่ถ้าฉันเก็บไว้เป็นตัวแปรมันไม่ทำงานหรือทำงานแตกต่างกัน ควรทำงานเหมือนกัน ในตัวอย่างนี้ถ้าฉันคัดลอกและวาง OpenTradeSignal 1 โดยไม่มีคำพูดซึ่งเป็น (Close [1] gt; Close [X]) ลงในวงเล็บที่ BuySignal ทำงานดี แต่ถ้าฉันต้องการให้อ่านจากโค้ดได้ ไม่ ฉันทำอะไรผิดที่นี่?

    รหัสที่แทรก extern int OpenTradeSignal = 1;/////////สายอักขระ BuySignal; สตริง SellSignal; if (OpenTradeSignal == 1) BuySignal = (ปิด # 91; 1 # 93; gt; Close # 91; X # 93;); SellSignal = (ปิด # 91; 1 # 93; lt; ปิด # 91; X # 93;); if (OpenTradeSignal == 2) BuySignal = (ปิด # 91; 1 # 93; lt; ปิด # 91; X # 93;); SellSignal = (ปิด # 91; 1 # 93; gt; Close # 91; X # 93;); ถ้า (BuySignal) {Comment (TimeToStr (TimeCurrent (), TIME_SECONDS), X gt; Y ซื้อสัญญาณ, ถาม); พิมพ์ (TimeToStr (TimeCurrent (), TIME_SECONDS), X gt; Y ซื้อสัญญาณ, ถาม); {if (countL1 lt; NP) fBuy1 (); }} if (SellSignal) {Comment (TimeToStr (TimeCurrent (), TIME_SECONDS), X Y Y ขายสัญญาณ, การเสนอราคา);/พิมพ์ (TimeToStr (TimeCurrent (), TIME_SECONDS), X Y Y ขายสัญญาณ, การเสนอราคา); {if (countS1 lt; NP) fSell1 ();

  2. #2
    คุณยังไม่ทราบรหัสใน mql นั่นคือปัญหา. รหัสของคุณมีข้อบกพร่องตรรกะไวยากรณ์ 1. คำแถลงครั้งที่ 1 และครั้งที่ 2 ของคุณ (ทั้งสอง) จะถูกยกเลิกหลังจากคำสั่งแรกที่ตามมา 2. คุณใช้สายอักขระ (3/4 outer ถ้างบ) แทนนิพจน์บูลีน (เหตุผล) (คอมไพเลอร์จะไม่ประเมินความหมายของสตริง!)

  3. #3
    เข้าใจแล้ว ขอขอบคุณ. ทำแบบนี้แทนหรือไม่ ขอบคุณอีกครั้ง. ตัวอย่าง (สำหรับคนอื่น ๆ เพื่อดูว่าพวกเขาเจอปัญหานี้): ใส่รหัสถ้า (OpenTradeSignalA == 1) {if ((# 91 เปิด Y # 93; gt; Open # 91; X # 93 BuySignalA = true; if (Open # 91; Y # 93; lt; Open # 91; X # 93 SellSignalA = true;} if (OpenTradeSignalA == 2) {if ((Close # 91; Y # 93; gt; Close # 91) ; X # 93 BuySignalA = true; if ((Close # 91; Y # 93; lt; Close # 91; X # 93 SellSignalA = true;} ฯลฯ จากนั้น BuySignalA แล้วซื้อ

  4. #4
    ฉันจะเขียนเช่นด้านล่างถ้าเป็นฉัน: ใส่รหัส OpenTradeSignalA = TRUE;/- กำหนดค่าจริงหรือเท็จให้กับตัวแปรของคุณ/- จากนั้นใช้ if expressions if (OpenTradeSignalA) {//- ตัวแปรเป็น true หรือ false/- สามตัวเลือกที่เป็นไปได้: มากกว่า, น้อยกว่าหรือเท่ากับ if ( เปิด # 91; y # 93; gt; เปิด # 91; x # 93 {//- ยิ่งใหญ่ BuySignalA = true; } else if (Open # 91; y # 93; lt; Open # 91; x # 93 {//- less SellSignalA = true; } else {//- เท่ากับ/------------------------------ ไม่มีสัญญาณ - ให้จ้องที่ chart}} else {//- OpenTradeSignalA เป็นเท็จ ... if (Close # 91; y # 93; gt; Close # 91; x # 93 {//- ยิ่งใหญ่ BuySignalA = true; } else if (Close # 91; y # 93; lt; Close # 91; x # 93 {//- less SellSignalA = true; } else {//- equal/--------------------------- ไม่มีสัญญาณ - ให้จ้องที่ chart}} ในตัวอย่างของคุณ, คุณมีหลาย parantheses ซ้ายและคุณไม่ได้กระทำอย่างชัดเจนกับราคาที่เท่ากัน จริงหรือเท็จของฉันอาจไม่ถูกต้องในตัวอย่างนี้เนื่องจากฉันไม่แน่ใจว่าคุณใช้ 1 หรือ 2 เป็นจริง .... หวังว่าข้างต้นจะเป็นประโยชน์หรือไม่ OD

  5. #5
    ถูกของคุณ. Parens มากเกินไป ฉันคัดลอกและวางอย่างไม่ถูกต้อง เท่าที่ตรรกะไปรหัส EA จริงมีถ้า (OpenTradeSignalA == 1) เป็น INT และไปจาก 1 ถึง 20 (สำหรับ 20 สัญญาณที่แตกต่างกัน) ฉันมีวิธีการดังกล่าวเพื่อให้ฉันสามารถทดสอบว่ามีสัญญาณใดใน 20 สัญญาณที่มีประสิทธิภาพมากที่สุดเมื่อเร็ว ๆ นี้

การขออนุญาตโพส

  • ห้ามโพสข้อความใหม่
  • ห้ามโพสตอบ
  • ห้ามแนบไฟล์
  • ห้ามแก้ไขโพส
  •  
  • รหัส BB เปิด
  • Smilies ปิด
  • รหัส [IMG] เปิด
  • รหัส [VIDEO] เปิด
  • รหัส HTML ปิด
นโยบาย Cookie
นโยบาย Cookie: เว็บไซต์ thaitradeforex มีการใช้ cookies และสำหรับการดำเนินการเยี่ยมชมเว็บไซต์ ท่านได้ยอมรับในสิ่งนี้ สำหรับข้อมูลเพิ่มเติมโปรดอ่าน 'Cookie Disclosure'.