EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: TvT on กรกฎาคม 01, 2010, 09:24:08 pm
-
พอดีผมจะเขียน indicator AMA ตามวิธีนี้น่ะครับ (cmo นี่ผมโพสต์ไว้ข้างล่างนะ)
for( i = 1; i < BarCount; i++ )
double abscmo , cmo , factor
/// cmo มีโพสต์ไว้แล้วนะครับเป็น indicator เหมือน RSI (oscillator) ///
cmo = icustom(cmo,close,11)
if cmo > 0
abscmo =cmo
else abscmo = (cmo*-1)
factor = (abscmo/300)
AMA = ( close, factor )
{
AMA [ i ] = (factor[ i ] * close[ i ]) + (( 1 - factor[ i ] ) * AMA [ i - 1 ])
}
ผมเขียนคร่าวๆ เพราะเอามาจากโปรแกรมอื่นน่ะครับ แต่สูตรเป็นราวๆนี้ ส่วนตอนที่ยังไม่มี previous ใช้ EMA 11 วันแทน(สำหรับคำนวนหาค่าเริ่มต้น)
จะรบกวนให้ช่วยแปลงเป็น indicator .mq4 ครับ(ถ้าเป็นได้ copy สูตรของ cmo มาแทนส่วน factor เลยก็ดี) และอยากรู้ว่าถ้าต้องการเอาไปใส่ใน expert advisor จะต้องดึงไปใช้อย่างไร (เช่น icustom(AMA,close,11))แบบนี้หรือไม่
ขอบคุณทุกความช่วยเหลือครับ
-
อ่า admin ไม่อยู่เหรอครับ ?? หรือว่าคุณ linconz พอจะเขียนได้มั้ยหรือแนะนำมาก็ยังดีคือคิดว่าไม่ยากมากน่าจะติดที่จุดเริ่มที่ไม่มี previous นี่แหละ อื่นๆไม่น่ายากนิ ??
ไงๆก็ตอบบ้างนะครับไม่รู้ว่า มีคนอ่านบ้างไหม หุหุ
ปล. ทุกทีเห็นคนโพสต์แล้วไม่นานก็ตอบไมคราวนี้นานจัง
-
ช่วยดูสูตรนี้ก่อนครับ AMA [ i ] = (factor[ i ] * close[ i ]) + (( 1 - factor[ i ] ) * AMA [ i - 1 ])
ตรงสีแดง นะครับจากสูตร ถ้า AMA[0] ตรงสีแดงจะทำยังไงครับ เพราะเป็นตำแหน่งที่ไม่มีค่าแน่นอนครับ
-
ช่วยดูสูตรนี้ก่อนครับ AMA [ i ] = (factor[ i ] * close[ i ]) + (( 1 - factor[ i ] ) * AMA [ i - 1 ])
ตรงสีแดง นะครับจากสูตร ถ้า AMA[0] ตรงสีแดงจะทำยังไงครับ เพราะเป็นตำแหน่งที่ไม่มีค่าแน่นอนครับ
ขอโทษทีครับ แก้เป็น i + 1 ครับพอดีเอามาจากแหล่งอื่นน่ะครัย
-
ช่วยดูสูตรนี้ก่อนครับ AMA [ i ] = (factor[ i ] * close[ i ]) + (( 1 - factor[ i ] ) * AMA [ i - 1 ])
ตรงสีแดง นะครับจากสูตร ถ้า AMA[0] ตรงสีแดงจะทำยังไงครับ เพราะเป็นตำแหน่งที่ไม่มีค่าแน่นอนครับ
ขอโทษทีครับ แก้เป็น i + 1 ครับพอดีเอามาจากแหล่งอื่นน่ะครัย
ผมลองดูแล้วก็หาค่าไม่ได้อยู่ดีครับเพราะว่า AMA [ i ] คือการหาค่าตัวปัจจุบัน แต่ AMA [ i +1] คือการที่เราเรียกใช้ค่าอนาคตนะครับ สมการปัจจุบันยังหาค่า AMA ค่าปัจจุบันม่ได้เลยแล้วเราจะเรียกใช้ค่า AMA อนาคตได้ไงครับ
-
ช่วยดูสูตรนี้ก่อนครับ AMA [ i ] = (factor[ i ] * close[ i ]) + (( 1 - factor[ i ] ) * AMA [ i - 1 ])
ตรงสีแดง นะครับจากสูตร ถ้า AMA[0] ตรงสีแดงจะทำยังไงครับ เพราะเป็นตำแหน่งที่ไม่มีค่าแน่นอนครับ
ขอโทษทีครับ แก้เป็น i + 1 ครับพอดีเอามาจากแหล่งอื่นน่ะครัย
ผมลองดูแล้วก็หาค่าไม่ได้อยู่ดีครับเพราะว่า AMA [ i ] คือการหาค่าตัวปัจจุบัน แต่ AMA [ i +1] คือการที่เราเรียกใช้ค่าอนาคตนะครับ สมการปัจจุบันยังหาค่า AMA ค่าปัจจุบันม่ได้เลยแล้วเราจะเรียกใช้ค่า AMA อนาคตได้ไงครับ
คือค่าที่หมายถึง AMA ของช่องก่อนหน้าครับ แปลง่ายๆก็ถ้าตอนนี้เป็น shift=0 เราก็เอาของ shift = 1 (ย้อนหลังไป 1 ช่องมาใช้ครับ , ไม่ใช่ i + 1 เหรอ ?)
ขอโทษทีครับอธิบายไม่เคลียร์ แต่ค่อนข้างมั่นใจสูตรพอควรน่ะ
-
ลองเอาไปดูครับผมเอา cmo ไปแปลงตามที่คุณโพสไว
-
ขอบคุณมากครับ
เผื่อมีคนอยากรู้อินดี้ตัวนี้เป็นแบบเคลื่นตาม bigmove นะครับ เวลา side way จะขยับน้อยมาก
และขอถามอีกอย่างนะครับ เวลาเอาไปใช้ใน EA จะต้องลงยังไงครับ
icustom(xxx,xxx,xxx)
คือสงสัยอยู่ว่าเวลาเจออินดี้ที่โหลดมาเนี่ยจะเอาเซต EA ยังไง
เพราะมีเยอะเกิน (คือเข้าใจว่าดูจากตอนเซต input >> เช่นของ admin มี 2 ตัว : last bar only และ range ก็ต้องเพิ่มสองช่องรึเปล่าครับ)
ขอบคุณ admin มากครับ
ปล. ไม่เก่งเรื่องโปรแกรม แต่จะช่วตอบ technical นะครับ , ที่คนขอ winwinwin เนี่ย ไม่ใช่ระบบ martingale เหรอครับ
-
และขอถามอีกอย่างนะครับ เวลาเอาไปใช้ใน EA จะต้องลงยังไงครับ set ในทีนี้คือการนำค่าของอินดิเคเตอร์ไปใช้ใน EA หรือว่าเอาไปทำอะไรหรอครับ
-
และขอถามอีกอย่างนะครับ เวลาเอาไปใช้ใน EA จะต้องลงยังไงครับ set ในทีนี้คือการนำค่าของอินดิเคเตอร์ไปใช้ใน EA หรือว่าเอาไปทำอะไรหรอครับ
ใช่ครับ หมายถึงการใช้ function icustom(xxx,xxx,xxx) น่ะครับเวลาเอามาสงสัยว่าตัวนี้จะต้องตั้งยังไง (XXX ทั้งหลายเนี่ยใช้ไรมั่ง) และสงสัยว่า icustom ตัวอื่นๆจะต้องใส่กี่ช่องแ่ละช่องแทนด้วยอะไรบ้างครับ (วิธีสังเกตน่ะครับ)
อ้อ ขอถามเพิ่มหน่อยครับ อันที่เขียนมาเนี่ยตรงกับที่จะเอาแต่ มันไม่อัพเดตอัตโนมัตินะ เหมือนเวลาปิดโปรแกรมแล้วเปิดเส้นมันจะไม่รันต่อ ต้องลบแล้วใส่ indicator ใหม่ครับ
ขออีกคำถามครับพอดีไม่อยากตั้งเพิ่มอีกกระทู้พอด๊วันก่อนโหลด FX smooth มาป็น indicator ที่ส่งเตือน แต่ลองแก้เป็น EA ปรากฎว่าแก้ไม่ได้เลยขอให้ช่วยดูด้วยครับ
(ปัญหาคือไม่ซื้อ-ขาย) โพสต์ indicator ไว้ด้านล่างครับ
-
double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift) รูแบบของ icustom
แต่ถ้าเป็นตัวที่ผมแก้ให้ไปให้ใช้แบบนี้ครับ
double ama= iCustom(NULL, 0, "AMA",14,3,0);
ก็สามารถนำค่า ama ไปใช้ได้เลยครับ
-
และขอถามอีกอย่างนะครับ เวลาเอาไปใช้ใน EA จะต้องลงยังไงครับ set ในทีนี้คือการนำค่าของอินดิเคเตอร์ไปใช้ใน EA หรือว่าเอาไปทำอะไรหรอครับ
ใช่ครับ หมายถึงการใช้ function icustom(xxx,xxx,xxx) น่ะครับเวลาเอามาสงสัยว่าตัวนี้จะต้องตั้งยังไง (XXX ทั้งหลายเนี่ยใช้ไรมั่ง) และสงสัยว่า icustom ตัวอื่นๆจะต้องใส่กี่ช่องแ่ละช่องแทนด้วยอะไรบ้างครับ (วิธีสังเกตน่ะครับ)
อ้อ ขอถามเพิ่มหน่อยครับ อันที่เขียนมาเนี่ยตรงกับที่จะเอาแต่ มันไม่อัพเดตอัตโนมัตินะ เหมือนเวลาปิดโปรแกรมแล้วเปิดเส้นมันจะไม่รันต่อ ต้องลบแล้วใส่ indicator ใหม่ครับ
ขออีกคำถามครับพอดีไม่อยากตั้งเพิ่มอีกกระทู้พอด๊วันก่อนโหลด FX smooth มาป็น indicator ที่ส่งเตือน แต่ลองแก้เป็น EA ปรากฎว่าแก้ไม่ได้เลยขอให้ช่วยดูด้วยครับ
(ปัญหาคือไม่ซื้อ-ขาย) โพสต์ indicator ไว้ด้านล่างครับ
ถามหน่อยครับ ใช้ได้แค่ usdchf เหรอครับ ดูในโค๊ดแล้วไม่เห็นมีส่วนไหนบอกว่าเป็น usdchf เลย หรือว่าค่า atr50 เค้าได้วิเคราะห์แล้วว่ามันพอดีกับ usdchf
-
และขอถามอีกอย่างนะครับ เวลาเอาไปใช้ใน EA จะต้องลงยังไงครับ set ในทีนี้คือการนำค่าของอินดิเคเตอร์ไปใช้ใน EA หรือว่าเอาไปทำอะไรหรอครับ
ใช่ครับ หมายถึงการใช้ function icustom(xxx,xxx,xxx) น่ะครับเวลาเอามาสงสัยว่าตัวนี้จะต้องตั้งยังไง (XXX ทั้งหลายเนี่ยใช้ไรมั่ง) และสงสัยว่า icustom ตัวอื่นๆจะต้องใส่กี่ช่องแ่ละช่องแทนด้วยอะไรบ้างครับ (วิธีสังเกตน่ะครับ)
อ้อ ขอถามเพิ่มหน่อยครับ อันที่เขียนมาเนี่ยตรงกับที่จะเอาแต่ มันไม่อัพเดตอัตโนมัตินะ เหมือนเวลาปิดโปรแกรมแล้วเปิดเส้นมันจะไม่รันต่อ ต้องลบแล้วใส่ indicator ใหม่ครับ
ขออีกคำถามครับพอดีไม่อยากตั้งเพิ่มอีกกระทู้พอด๊วันก่อนโหลด FX smooth มาป็น indicator ที่ส่งเตือน แต่ลองแก้เป็น EA ปรากฎว่าแก้ไม่ได้เลยขอให้ช่วยดูด้วยครับ
(ปัญหาคือไม่ซื้อ-ขาย) โพสต์ indicator ไว้ด้านล่างครับ
[/quote]
ถูกครับ เขาคำนวนมาให้พอดี พอดีมีอันนี้เลยอย่างลองทำเป็น Ea ซะหน่อย
-
สรุปว่าพอจะแปลงสูตรได้ไหมครับ Fxsmooth ที่ให้ไป ??
-
FX smooth เป็นอินเคเตอร์จะแก้ให้เป้น EA เลยไม่ได้ครับต้องสร้าง EA แล้วใช้ ฟังก์ชั่นเรียกค่าจาก icustom ขึ้นมาใช้ครับ ลองดูกระทู้นี้ครับเพื่อจะได้ศึกษาแนวทางต่อได้ครับ http://www.thaiforexea.com/index.php/topic,549.0.html (http://www.thaiforexea.com/index.php/topic,549.0.html)