Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: รบกวน ผู้รู้ครับเรื่องการ เปรียบเทียบ มากกว่า น้อยกว่า  (Read 6250 times)

iampick

  • Newbie
  • *
  • Posts: 20
ผมเขียน Code เพื่อ Check Trade ลักษณะนี้

   if(MathAbs(iMA30[6])<MathAbs(iMA30[5]) && HaBarDiff[1]<-0.0001)
   {
      if(MathAbs(iMA30[1])<MathAbs(iMA30[3])<MathAbs(iMA30[5]))
      {
         if(MathAbs(iMA120[1])<MathAbs(iMA120[4])<MathAbs(iMA120[7]))
         {
            if(MathAbs(iMA240[1])<MathAbs(iMA240[5])<MathAbs(iMA240[7]))
            {
               TrdDn=true;
            }
         }
      }
   }

ซึ่งมีการ Check 3 state สำหระบ MA ปัญหาคือ มันดันเข้าเป็น True ทั้งๆที่ MathAbs(iMA240[7]) < MathAbs(iMA240[1]) ผม test ที่ Back Test ครับ
งงมาก และนี่คือ log ที่ผม Print เวลามัน Begin Trade

2010.08.25 00:45:37   2010.07.16 08:20  hello_world100824 EURUSD,M5: Begin Trade Down ! -0.0001 -> 1.2881 > 1.2882

2 ค่าหลังครับ 1.2881 > 1.2882 คิอ  MathAbs(iMA240[7]),MathAbs(iMA240[1]) ทั้งๆที่ MathAbs(iMA240[7]) น้อยกว่า MathAbs(iMA240[1]) แต่มันดันเข้าไปถึง TrdDn=true;

ผู้รู้ท่านใด เคยเจอปัญหานี้บ้างครับ รบกวนชี้แนะด้วยครับผม

sola48

  • Newbie
  • *
  • Posts: 22
ลองเชื่อมๆด้วย && ดูสิครับ ไม่รุ้นะเกี่ยวแป่าว
เคยลองบาง compiler มันก็ได้อะเชื่อมแบบนี้แต่บางอันก็ไม่ได้(เคยลองนะ  ;D)

linconz

  • VIP
  • Sr. Member
  • *
  • Posts: 357
ผมเคยตอบไว้ในกระทู้ไหนก็ไม่รู้

คือ เปรียบเทียบได้ทีละคู่ครับ   เช่น   a < b  ผ่านฉลุย
แต่มากกว่า 1 คู่ไม่ได้เช่น   a < b < c   แบบนี้ไม่ได้ครับ  ต้องเป็น   a < b  && b < c   แบบนี้ได้   ในวงเล็บของ if ใส่ && กี่ตัวก็ได้(ถ้าคุณไม่งงเองน๊ะ)

iampick

  • Newbie
  • *
  • Posts: 20
อ่อครับผม ขอบคุณทั้งสองท่านมากๆนะครับ ^_______^