Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: มีวิธีหาค่า price ของ fibo ไหมครับ  (Read 17119 times)

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
มีวิธีหาค่า price ของ fibo ไหมครับ
« on: ธันวาคม 02, 2012, 01:24:38 pm »
ผมลองหาดูเห็นมันมีอยู่คำสั่งเดียว  ObjectGetFiboDescription

ซึ่งมันได้ค่าออกมาเป็นคำอธิบาย  desciption  ไม่สามารถเอาไปสั่งเทรดได้

อยากให้มันได้ค่าออกมาเป็นราคาบนกราฟเหมือนกับพวก trend line  พอจะมีวิธีไหมครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: มีวิธีหาค่า price ของ fibo ไหมครับ
« Reply #1 on: ธันวาคม 02, 2012, 03:36:33 pm »
ทำไมไม่คำนวณเองจากสูตรของ fibo หละครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: มีวิธีหาค่า price ของ fibo ไหมครับ
« Reply #2 on: ธันวาคม 02, 2012, 07:48:40 pm »
คือจะขีดฟีโบเองด้วยมือ  แล้วให้อีเอเทรดตามเส้นนะครับ

จากนี้ครับผลงานเขาสวยมาก  http://forexthaiplus.blogspot.com/p/trading.html

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: มีวิธีหาค่า price ของ fibo ไหมครับ
« Reply #3 on: ธันวาคม 02, 2012, 08:10:27 pm »
ไม่น่าจะเอาออกมาได้ครับเพราะ Fibo มันเป้น Object ตัวเดียวไม่มีคำสั่งที่เรียกค่ามันออกมาได้ แต่ผมก็ยังคิดว่า เราอาจจะขีดเองด้วยมือแต่เรา input จุดที่เริ่มขีด กับ จุดสุดท้ายลงไปให้ EA คำนวณเอง EA จะรู้จากการคำนวณว่าตอนนี้เป้น fibo ระดับที่เท่าไรแล้วครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: มีวิธีหาค่า price ของ fibo ไหมครับ
« Reply #4 on: ธันวาคม 02, 2012, 08:13:57 pm »
ok  ขอบคุณครับ

sAcIw

  • Newbie
  • *
  • Posts: 20
Re: มีวิธีหาค่า price ของ fibo ไหมครับ
« Reply #5 on: มีนาคม 03, 2013, 05:36:00 pm »
คุณ D_Diamond
ระบบนี้คุณเขียนสำเร็จรึยังครับ

พอดีกำลังเริ่มเขียนว่าพอจะทำงานได้ดีรึป่าว

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: มีวิธีหาค่า price ของ fibo ไหมครับ
« Reply #6 on: มีนาคม 03, 2013, 10:05:57 pm »
ไม่สำเร็จครับยากมากๆ  มันไม่ได้ยากที่หาค่าฟีโบ

แต่ผมจะให้อีเอขีดฟีโบเองมันเลยยาก  เพราะไม่รู้จะเอาจุดสูงต่ำจากไหนให้มันครับ

แต่ถ้าขีดเองก้ง่ายขึ้นเยอะ

sAcIw

  • Newbie
  • *
  • Posts: 20
Re: มีวิธีหาค่า price ของ fibo ไหมครับ
« Reply #7 on: มีนาคม 04, 2013, 12:21:01 am »
ขอบคุณ คุณ D_Diamond มากครับ
จะลองหาทางต่อแล้วกันครับ
ได้ผลอย่างไงจะมาบอกกล่าวแล้วกันครับ

veronika

  • Newbie
  • *
  • Posts: 44
Re: มีวิธีหาค่า price ของ fibo ไหมครับ
« Reply #8 on: มีนาคม 15, 2013, 04:30:58 am »
ใช้วิธีเช็คจาก Time frame และนับจากบาร์ย้อนหลัง 250 ได้มั้ยครับ? ผมว่าจะเอา Fibo มาใส่ใน EA อยู่เหมือนกัน

Quote
     int fibHigh = iHighest(Symbol(),Period(),MODE_HIGH,WindowFirstVisibleBar()-1,1);
     int fibLow  = iLowest(Symbol(),Period(),MODE_LOW,WindowFirstVisibleBar()-1,1);
     
     datetime highTime = Time[fibHigh];
     datetime lowTime  = Time[fibLow];
     
         if(fibHigh>fibLow){
         WindowRedraw();
         ObjectCreate("Auto_Fibo",OBJ_FIBO,0,highTime,High[fibHigh],lowTime,Low[fibLow]);
         color levelColor = Red;
         }
         else{
         WindowRedraw();
         ObjectCreate("Auto_Fibo",OBJ_FIBO,0,lowTime,Low[fibLow],highTime,High[fibHigh]);
         levelColor = Green;
         }
      double fiboPrice1=ObjectGet("Auto_Fibo",OBJPROP_PRICE1);
      double fiboPrice2=ObjectGet("Auto_Fibo",OBJPROP_PRICE2);
     
      double fiboPriceDiff = fiboPrice2-fiboPrice1;
      double fiboValue0 = NormalizeDouble(fiboPrice2-fiboPriceDiff*0.0,Digits);
      double fiboValue23 = NormalizeDouble(fiboPrice2-fiboPriceDiff*0.236,Digits);
      double fiboValue38 = NormalizeDouble(fiboPrice2-fiboPriceDiff*0.382,Digits);
      double fiboValue50 = NormalizeDouble(fiboPrice2-fiboPriceDiff*0.50,Digits);
      double fiboValue61 = NormalizeDouble(fiboPrice2-fiboPriceDiff*0.618,Digits);
      double fiboValue100 = NormalizeDouble(fiboPrice2-fiboPriceDiff*1.0,Digits);
   
     ObjectSet("Auto_Fibo",OBJPROP_FIBOLEVELS,6);
     ObjectSet("Auto_Fibo",OBJPROP_FIRSTLEVEL+0,0.0);
     ObjectSet("Auto_Fibo",OBJPROP_FIRSTLEVEL+1,0.236);
     ObjectSet("Auto_Fibo",OBJPROP_FIRSTLEVEL+2,0.382);
     ObjectSet("Auto_Fibo",OBJPROP_FIRSTLEVEL+3,0.50);
     ObjectSet("Auto_Fibo",OBJPROP_FIRSTLEVEL+4,0.618);
     ObjectSet("Auto_Fibo",OBJPROP_FIRSTLEVEL+5,1.0);
     
     ObjectSet("Auto_Fibo",OBJPROP_LEVELCOLOR,levelColor);
     ObjectSet("Auto_Fibo",OBJPROP_LEVELWIDTH,1);
     ObjectSet("Auto_Fibo",OBJPROP_LEVELSTYLE,STYLE_DASHDOTDOT);
     ObjectSetFiboDescription( "Auto_Fibo", 0,fiboValue0+" --> 0.0%");
     ObjectSetFiboDescription( "Auto_Fibo", 1,fiboValue23+" --> 23.6%");
     ObjectSetFiboDescription( "Auto_Fibo", 2,fiboValue38+" --> 38.2%");
     ObjectSetFiboDescription( "Auto_Fibo", 3,fiboValue50+" --> 50.0%");
     ObjectSetFiboDescription( "Auto_Fibo", 4,fiboValue61+" --> 61.8%");
     ObjectSetFiboDescription( "Auto_Fibo", 5,fiboValue100+" --> 100.0%");

ข้างบนนี้เป็น Auto Fibo ที่ผมได้มา ไม่ได้เขียนเองนะครับ คืออยากได้ค่าโดยที่ไม่อยากให้มันขีดเองเนี่ย ผมจะเอาไปใช้ยังไงดี -..-
ที่คิดไว้คือ ตั้ง bool ที่ WindowRedraw(); ไว้เช็คก่อน
แต่ตอนที่ทำ ดันมีเส้นที่ขีดเอาไว้มาแสดงแทน -..-