กองทุน SPDR GOLD SHARES
ถือทองก่อนหน้า
ถือทองล่าสุด
0.00
*หน่วยตัน / ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
สถิติกองทุน SPDR
ราคาทองคำแท่ง 96.5%
ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
ครั้งที่
ราคาก่อนหน้า
ราคาล่าสุด
0
(หน่วย บาท*) / อัปเดตล่าสุดเมื่อวันที่ 13 ก.ค. 2566 เวลา 13:04 น.
สถิติราคาทองคำ ไทย

อ่านค่าจาก Indicator ไม่ได้ครับ

  • 5 replies
  • 2,036 views
*

narubasez

อ่านค่าจาก Indicator ไม่ได้ครับ
« เมื่อ: 10, กุมภาพันธ์ 2019, 03:15:23 PM »
รบกวนทุกคนหน่อยครับ
คือผมจะอ่านค่าจาก indicator ที่ชื่อ GP_Diamond

1" border="0


จากรูปคือผมจะอ่านค่าลูกศร ขึ้น-ลง
ถ้าลูกศรขึ้นจะอยู่ใน mode ที่ 4 (Value 5)
ถ้าลูกศรลงจะอยู่ใน mode ที่ 5 (Value 6)
โค๊ด [Select]


     int MY_PERIOD = PERIOD_M30; // PERIOD_30
     string MY_SYMBOL = Symbol(); // CURRENT CHART
     int MY_SHIFT = 1;

    double GPDM_v5 = iCustom(MY_SYMBOL, MY_PERIOD, "GP_Diamond", 4, MY_SHIFT);//UP
    double GPDM_v6 = iCustom(MY_SYMBOL, MY_PERIOD, "GP_Diamond", 5, MY_SHIFT);//DONW



แต่พอ printf กลับไม่ได้ค่าออกมาครับ
ค่า value 3 และ value 4 ก็ไม่ตรงกับกราฟครับ

2" border="0


นั่งงมมา 3-4 วันแล้วยังหาคำตอบไม่ได้รบกวนด้วยนะครับ

Re: อ่านค่าจาก Indicator ไม่ได้ครับ
« ตอบกลับ #1 เมื่อ: 10, กุมภาพันธ์ 2019, 03:50:21 PM »
รอท่านโปรแกรมเมอร์ของบอร์ดเลยครับ

GP_Diamond ลอง backtest แล้วไม่ repaint เหรอครับ

ิอื่นๆ ถ้ามี code GP_Diamond ลองโมตรงที่มันแสดงผลลูกศรดูได้ใหมครับ ประมาณว่าเพิ่ม code ของเราเข้าไปเลยว่า buy = 1 ให้มีข้อมูล buffer signal ออดมาแล้วใช้ตรงนั้นแทน

*

narubasez

Re: อ่านค่าจาก Indicator ไม่ได้ครับ
« ตอบกลับ #2 เมื่อ: 10, กุมภาพันธ์ 2019, 04:24:46 PM »
อ้างจาก: forcebewithyou ที่ 10, กุมภาพันธ์  2019, 03:50:21 PM
รอท่านโปรแกรมเมอร์ของบอร์ดเลยครับ

GP_Diamond ลอง backtest แล้วไม่ repaint เหรอครับ

ิอื่นๆ ถ้ามี code GP_Diamond ลองโมตรงที่มันแสดงผลลูกศรดูได้ใหมครับ ประมาณว่าเพิ่ม code ของเราเข้าไปเลยว่า buy = 1 ให้มีข้อมูล buffer signal ออดมาแล้วใช้ตรงนั้นแทน

พอดีเพิ่งเริ่มศึกษาครับ
แสดงว่าไม่มันมีค่าเป็น 0 เพราะเกิดการ repaint ใช่ไหมครับ

*

iRuler

  • 1,282
Re: อ่านค่าจาก Indicator ไม่ได้ครับ
« ตอบกลับ #3 เมื่อ: 10, กุมภาพันธ์ 2019, 04:48:11 PM »
อ้างจาก: narubasez ที่ 10, กุมภาพันธ์  2019, 04:24:46 PM
อ้างจาก: forcebewithyou ที่ 10, กุมภาพันธ์  2019, 03:50:21 PM
รอท่านโปรแกรมเมอร์ของบอร์ดเลยครับ

GP_Diamond ลอง backtest แล้วไม่ repaint เหรอครับ

ิอื่นๆ ถ้ามี code GP_Diamond ลองโมตรงที่มันแสดงผลลูกศรดูได้ใหมครับ ประมาณว่าเพิ่ม code ของเราเข้าไปเลยว่า buy = 1 ให้มีข้อมูล buffer signal ออดมาแล้วใช้ตรงนั้นแทน

พอดีเพิ่งเริ่มศึกษาครับ
แสดงว่าไม่มันมีค่าเป็น 0 เพราะเกิดการ repaint ใช่ไหมครับ

น่าจะหมายถึง สร้าง Buffer ของเราเองต่างหากแล้ว ใส่ค่า 1 หรือ 0 แทนลูกศร แล้วใช้ ea อ่าน buffer ตัวนี้แทนนะครับ

แนบ GP_Diamond มาหน่อยครับ

*

iRuler

  • 1,282
Re: อ่านค่าจาก Indicator ไม่ได้ครับ
« ตอบกลับ #4 เมื่อ: 10, กุมภาพันธ์ 2019, 05:39:47 PM »


1.15776 ปัดขึ้นเป็น 1.1578 นะครับ

โค๊ด [Select]

#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

#include <WinUser32.mqh>
#import "user32.dll"
int GetForegroundWindow();
#import
int bar=-1;
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason)
  {
  }

void OnTick()
  {
//---
   if(bar==Bars)
      return;
   bar=Bars;

   int MY_PERIOD=PERIOD_M30; // PERIOD_30
   string MY_SYMBOL=Symbol(); // CURRENT CHART
   int MY_SHIFT=1;

   double GPDM_v5=iCustom(MY_SYMBOL,MY_PERIOD,"GP_Diamond",3,12,20,21,3,false,0,4,MY_SHIFT);//UP
   double GPDM_v6=iCustom(MY_SYMBOL,MY_PERIOD,"GP_Diamond",3,12,20,21,3,false,0,5,MY_SHIFT);//DONW

   if(GPDM_v5>0.0)
     {
      Print("GPDM_v5=:"+DoubleToString(GPDM_v5,Digits));
      PauseTest();
     }
   if(GPDM_v6>0.0)
     {
      Print("GPDM_v6=:"+DoubleToString(GPDM_v6,Digits));
      PauseTest();
     }

  }
//+------------------------------------------------------------------+
void PauseTest()
  {
   datetime now=TimeCurrent();
   static datetime onePerTick;
   if(IsTesting() && IsVisualMode() && IsDllsAllowed() && onePerTick!=now)
     {
      for(int i=0; i<100000; i++)
        {        // Delay required for speed=32 (max)
         int main=GetForegroundWindow();
         onePerTick=now;
         if(i==0)
            PostMessageA(main,WM_COMMAND,0x57a,0); // 1402. Pause
        }
     }
  }


indy ตัวนี้ repaint นะครับ

*

narubasez

Re: อ่านค่าจาก Indicator ไม่ได้ครับ
« ตอบกลับ #5 เมื่อ: 10, กุมภาพันธ์ 2019, 07:59:42 PM »
พอจะเข้าใจแล้วครับ
ขอบคุณทุกคนมากครับ