Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: การเขียน Alert ในอินดี้  (Read 19034 times)

Redbull

  • Full Member
  • ***
  • Posts: 138
การเขียน Alert ในอินดี้
« on: กุมภาพันธ์ 08, 2013, 01:46:04 pm »
รบกวนสอบถามเกี่ยวกับการเพิ่ม Alert ให้กับอินดี้หน่อยครับ...
**ต้องการให้มี Alert เตือนกรณีที่ราคาต่ำกว่าหรือสูงกว่า Pivot โดยต้องการ Alert แค่ครั้งเดียวครับ**

ตัวอย่าง 1
   if (Close[0]< P && alertTag!=Time[0]) {
      Alert(" ZONE DOWN ");
      alertTag = Time[0];

ผลลัพธ์ จะมี Alert เตือนเมื่อปิดแท่งทุกครั้ง

ตัวอย่าง 2
   if (Close[0]< P) {
      Alert(" ZONE DOWN ");

ผลลัพธ์ จะมี Alert เตือนทุกๆ ครั้งที่ราคาขยับ

รบกวนด้วยครับ จะเพิ่มเงื่อนไขยังไงให้มี Alert เมื่อราคาตัดผ่านลงมาแค่ครั้งเดียวครับ โดยไม่ต้องรอจบแท่ง
ขอบคุณล่วงหน้าครับ...

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: การเขียน Alert ในอินดี้
« Reply #1 on: กุมภาพันธ์ 08, 2013, 09:37:09 pm »
ต้องการให้มันดังแค่ครั้งเดียว ก็ต้องสร้างตัวนับให้มันสิครับ ใช้ตัวแปรแบบ Gobal 1 ตัว เพื่อเพื่อเป็นตัวนับค่าจำนวนครั้งที่มันดังไปแล้วครับ และทำให้มีการล้างค่าตัวแปรตัวนี้หากหากเข้าเงื่อนไขที่จะต้องไปดังอีกข้างที่ตรงกันข้ามกับการดังครั้งแรกครับ

Redbull

  • Full Member
  • ***
  • Posts: 138
Re: การเขียน Alert ในอินดี้
« Reply #2 on: กุมภาพันธ์ 09, 2013, 08:59:54 am »
ผมเข้าใจเงื่อนไขครับ...แต่ไม่เข้าใจคำสั่ง Gobal ครับ ว่าใช้งานยังไง...รบกวน Admin อีกครั้งครับ มี Code ตัวอย่างให้ศึกษาไหมครับ
ผมลองแก้ไข ตามตัวอย่างด้านล่าง ผลก็ยังออกมา Alert ทุกครั้งที่ราคาขยับครับ...ไม่รู้ว่าเป็นเพราะผมแบคเทสหรือเปล่าครับ..
 

  if (Close[0]> P)
   {
   Trick_1 = 1;
   }
   if (Close[0]< P)
   {
   Trick_1 = 2;
   }

      switch(Trick_1){
      case 1:
               Alert("BUY >>  ",Symbol(),"  <<  @  ",Close[0] ,"  >>  TF : ",Period(),"  <<" );
               break;
      case 2:
               Alert("SELL >>  ",Symbol(),"  <<  @  ",Close[0] ,"  >>  TF : ",Period(),"  <<" );
               break;

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: การเขียน Alert ในอินดี้
« Reply #3 on: กุมภาพันธ์ 09, 2013, 11:05:53 am »
ต้องการให้ alert วันละครั้ง หรือรอบละครั้งครับ

สมมุติ
1. ตอนบ่าย วิ่งไปชน pivot แล้ว alert แต่ราคาถอยกลับ พอตอนเย็น กลับขึ้นไปอีก จะ alert อีกรึเปล่า
2. ตอนบ่าย วิ่งขึ้นผ่าน pivot แล้ว alert ตอนเย็นราคาถอยกลับผ่าน pivot ลงมา จะ alert อีกรึเปล่า

Redbull

  • Full Member
  • ***
  • Posts: 138
Re: การเขียน Alert ในอินดี้
« Reply #4 on: กุมภาพันธ์ 09, 2013, 12:03:18 pm »
ต้องการให้ alert วันละครั้ง หรือรอบละครั้งครับ

สมมุติ
1. ตอนบ่าย วิ่งไปชน pivot แล้ว alert แต่ราคาถอยกลับ พอตอนเย็น กลับขึ้นไปอีก จะ alert อีกรึเปล่า
2. ตอนบ่าย วิ่งขึ้นผ่าน pivot แล้ว alert ตอนเย็นราคาถอยกลับผ่าน pivot ลงมา จะ alert อีกรึเปล่า
ครับคุณครู...
ต้องการให้ Alert ทุกครั้งที่ ราคาชน pivot ครับ...
ชนลงก็ Alert Sell
ชนขึ้นก็ Alert Buy
รบกวนแนะนำด้วยครับ...เผื่อจะเอาไปประยุกต์กับตัวอื่นๆ ได้ด้วยครับ...
ขอตัวอย่าง Code หรืออินดี้ที่มีลักษณะการทำงานแบบนี้ก็ได้ครับ..เดี๋ยวผมลองแกะดู
ขอบคุณล่วงหน้าครับ...

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: การเขียน Alert ในอินดี้
« Reply #5 on: กุมภาพันธ์ 09, 2013, 01:48:14 pm »
ถ้า alert ทุกครั้ง ลองใส่ close[1] เข้าไปด้วยสิครับ
อินดี้จริงๆผมเขียนไม่เป็น แต่ดูจากเงื่อนไขน่าจะใช้ close[1] กับ close[0] เหมือนอีเอได้ครับ 
ถ้าไม่ได้ก็ขออภัย ผมเขียนเป็นแต่อีเออย่างเดียว

Redbull

  • Full Member
  • ***
  • Posts: 138
Re: การเขียน Alert ในอินดี้
« Reply #6 on: กุมภาพันธ์ 09, 2013, 02:58:14 pm »
ถ้า alert ทุกครั้ง ลองใส่ close[1] เข้าไปด้วยสิครับ
อินดี้จริงๆผมเขียนไม่เป็น แต่ดูจากเงื่อนไขน่าจะใช้ close[1] กับ close[0] เหมือนอีเอได้ครับ 
ถ้าไม่ได้ก็ขออภัย ผมเขียนเป็นแต่อีเออย่างเดียว
ครับ...
ลองแล้วครับ...มันรอจบแท่ง แล้วค่อย Alert ครับ...
ไม่เป็นไรครับ..เดี๋ยวลองต่อ อิ อิ...
ขอบคุณครับ...

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: การเขียน Alert ในอินดี้
« Reply #7 on: กุมภาพันธ์ 09, 2013, 03:25:51 pm »
Close[0]< P && Close[1]> P นะครับ ไม่ใช่ Close[0]< P && Close[1]< P

Redbull

  • Full Member
  • ***
  • Posts: 138
Re: การเขียน Alert ในอินดี้
« Reply #8 on: กุมภาพันธ์ 09, 2013, 07:12:34 pm »
Close[0]< P && Close[1]> P นะครับ ไม่ใช่ Close[0]< P && Close[1]< P
ขอบคุณครับ...
ลองแก้ไขตามที่คุณครูบอก มัน Alert ทุกครั้งที่ราคาขยับเช่นกันครับ..พอจบแท่งปัจจุบันมันถึงหยุดครับ..
พอจะอธิบายหรือมีตัวอย่างคำสั่ง Gobal ไหมครับ..เงื่อนไขประมาณนี้ครับ

สมมุติ
ราคาชน Pivot ขึ้นให้ A เก็บค่าเป็น 1
ราคาชน Pivot ลงให้ B เก็บค่าเป็น 2

เงื่อนไข Alert
ถ้า A = 1 ให้โชว์ Alert Buy 1 ครั้ง จนกว่า B = 2
ถ้า B = 2 ให้โชว์ Alert Sell 1 ครั้ง จนกว่า A = 1


ไม่ได้เรียนโปรแกรมมาโดยตรง เลยเข้าใจยากครับ..ไม่มีตัวอย่างไปไม่เป็นเลยครับ
ขอบคุณล่วงหน้าครับ..

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: การเขียน Alert ในอินดี้
« Reply #9 on: กุมภาพันธ์ 09, 2013, 07:37:03 pm »
ลองเอาตัวอย่างนี้ไปประยุกต์ดูครับ ที่ผมเขียนเป้นการเตือเมื่อ MA  ตัดราคาขึ้นไป กับ MA ตัดราคาลงมาให้เตือนได้เที่ยวละ 1 ครั้งเท่านั่น ในแต่ละรอบการตัดขึ้นหรือลง ถ้าเส้น MA สวิงขึ้นลงมาเราอาจจะเห็นการเตือนที่มากแต่มาจากการที่มันตัดขึ้นและลงไม่ใช้ เตือนที่เงื่อนไขเก่าครับ

int temp=0;
int start()
  {
       double MA  = iMA(NULL,0,7,0,MODE_SMMA,PRICE_CLOSE,0);
     
      if( MA > Ask && (temp ==0 || temp==2) )
      {
        Alert("MA > ASK ");
        temp=1;
     
      }
     
       if( MA < Ask && (temp ==0 || temp==1))
      {
        Alert("MA < ASK ");
       temp=2;
      }
     
     
   return(0);
  }

Redbull

  • Full Member
  • ***
  • Posts: 138
Re: การเขียน Alert ในอินดี้
« Reply #10 on: กุมภาพันธ์ 09, 2013, 10:07:34 pm »
โอ้....ขอบคุณ Admin มากเลยครับ...ใช้ได้แล้วครับ...
ขอบคุณมากมายครับ... ;D ;D ;D