<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>EA &#8211; SUMOFX.CO</title>
	<atom:link href="https://www.sumofx.co/category/ea/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.sumofx.co</link>
	<description>Forex Programming ที่มีมากกว่าคำว่า EA</description>
	<lastBuildDate>Wed, 07 Apr 2021 02:59:20 +0000</lastBuildDate>
	<language>th</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.5</generator>

<image>
	<url>https://www.sumofx.co/wp-content/uploads/2020/08/cropped-logo-final-01-2-32x32.png</url>
	<title>EA &#8211; SUMOFX.CO</title>
	<link>https://www.sumofx.co</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>การ Import Data ลง MT4 เพื่อทำ BackTest</title>
		<link>https://www.sumofx.co/import-data-to-mt4-backtest/</link>
					<comments>https://www.sumofx.co/import-data-to-mt4-backtest/#respond</comments>
		
		<dc:creator><![CDATA[Tanapon Sriwan]]></dc:creator>
		<pubDate>Fri, 15 Jan 2021 16:29:59 +0000</pubDate>
				<category><![CDATA[บทความ]]></category>
		<category><![CDATA[EA]]></category>
		<category><![CDATA[MT4]]></category>
		<guid isPermaLink="false">https://www.sumofx.co/?p=750</guid>

					<description><![CDATA[ในบทความนี้เราจะมาแนะนำการ import data ลงในโปรแกรม MT4  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<center><a href="https://bit.ly/3kWEWJX" target="_blank" rel="noopener"><img decoding="async" src="https://imp.accesstrade.in.th/img.php?rk=0006eh00101a" border="0"></a></center>



<p>ในบทความนี้เราจะมาแนะนำการ <strong>import data</strong> ลงในโปรแกรม <a href="https://www.sumofx.co/%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2-mql4-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/" class="rank-math-link">MT4</a> เพื่อที่จะดูข้อมูลกราฟย้อนหลังหรือเพื่อใช้ทำ <strong>Backtest</strong> ซึ่งเราจำเป็นต้อง Download ข้อมูล history มาเก็บไว้ที่เครื่องของเรา เพราะข้อมูล history ที่โบรกเกอร์มีให้นั้นไม่มากพอที่จะทำ Backtest หลาย ๆ เดือน หรือหลาย ๆ ปีได้ โดยจะมีขั้นตอนยังไงบ้างนั้นมาดูกันเลยครับ</p>



<h2 class="wp-block-heading">การ Import Data ลง MT4 สำหรับการทำ Backtest</h2>



<ol><li>ขั้นตอนแรกให้ไปที่เว็บไซต์ <a aria-label="https://www.histdata.com/download-free-forex-data/ (opens in a new tab)" href="https://www.histdata.com/download-free-forex-data/" target="_blank" rel="noreferrer noopener nofollow" class="rank-math-link">https://www.histdata.com/download-free-forex-data/</a> จากนั้นเลือกที่ M1 (1 Minute Bar) Data </li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://www.histdata.com/download-free-forex-data/" target="_blank" rel="noopener noreferrer"><img fetchpriority="high" decoding="async" width="1024" height="526" src="https://www.sumofx.co/wp-content/uploads/2021/01/1-1024x526.png" alt="histdata forex" class="wp-image-751" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/1-1024x526.png 1024w, https://www.sumofx.co/wp-content/uploads/2021/01/1-300x154.png 300w, https://www.sumofx.co/wp-content/uploads/2021/01/1-768x395.png 768w, https://www.sumofx.co/wp-content/uploads/2021/01/1-1536x790.png 1536w, https://www.sumofx.co/wp-content/uploads/2021/01/1.png 1568w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure></div>



<p>2. เลือกคู่เงินที่ต้องการจะ download ในที่นี้เราจะเลือกที่ EUR/USD</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="778" height="1024" src="https://www.sumofx.co/wp-content/uploads/2021/01/2-778x1024.png" alt="Backtest" class="wp-image-752" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/2-778x1024.png 778w, https://www.sumofx.co/wp-content/uploads/2021/01/2-228x300.png 228w, https://www.sumofx.co/wp-content/uploads/2021/01/2-768x1011.png 768w, https://www.sumofx.co/wp-content/uploads/2021/01/2.png 883w" sizes="(max-width: 778px) 100vw, 778px" /></figure></div>



<p>3. เลือกเดือน/ปี ที่ต้องการจะ download ในที่นี้เราจะเลือกแค่ 5 เดือนล่าสุดนะครับ</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="943" height="1024" src="https://www.sumofx.co/wp-content/uploads/2021/01/3-943x1024.png" alt="Download Free Forex Historical Data" class="wp-image-753" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/3-943x1024.png 943w, https://www.sumofx.co/wp-content/uploads/2021/01/3-276x300.png 276w, https://www.sumofx.co/wp-content/uploads/2021/01/3-768x834.png 768w, https://www.sumofx.co/wp-content/uploads/2021/01/3.png 1015w" sizes="(max-width: 943px) 100vw, 943px" /></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><a href="https://bit.ly/3wwlQj3" target="_blank" rel="noopener"><img decoding="async" src="//i0.wp.com/sumofx.co/wp-content/uploads/2021/01/binance-1.jpg" alt="Binance" class="wp-image-843" width="497" height="279" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/binance-1.jpg 1410w, https://www.sumofx.co/wp-content/uploads/2021/01/binance-1-300x169.jpg 300w, https://www.sumofx.co/wp-content/uploads/2021/01/binance-1-1024x575.jpg 1024w, https://www.sumofx.co/wp-content/uploads/2021/01/binance-1-768x431.jpg 768w" sizes="(max-width: 497px) 100vw, 497px" /></a></figure></div>



<p>4. เมื่อได้ download ข้อมูลที่ต้องการแล้วให้แตกไฟล์ออกมาดังรูป</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1024" height="575" src="https://www.sumofx.co/wp-content/uploads/2021/01/4-1024x575.png" alt="import data to mt4" class="wp-image-754" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/4-1024x575.png 1024w, https://www.sumofx.co/wp-content/uploads/2021/01/4-300x168.png 300w, https://www.sumofx.co/wp-content/uploads/2021/01/4-768x431.png 768w, https://www.sumofx.co/wp-content/uploads/2021/01/4.png 1269w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p>5. ไปที่โปรแกรม MT4 แล้วเลือกที่เมนู Tools &gt; History Center แล้วเลือกที่คู่เงินที่เราต้องการจะ import เมื่อเลือกคู่เงินแล้วให้เลือกที่เมนู 1 Minute(M1) แล้วกดปุ่ม Import</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1024" height="610" src="https://www.sumofx.co/wp-content/uploads/2021/01/5-1024x610.png" alt="History Center" class="wp-image-755" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/5-1024x610.png 1024w, https://www.sumofx.co/wp-content/uploads/2021/01/5-300x179.png 300w, https://www.sumofx.co/wp-content/uploads/2021/01/5-768x458.png 768w, https://www.sumofx.co/wp-content/uploads/2021/01/5.png 1227w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p>6. เมื่อกดปุ่ม import แล้วให้กดที่ Browse เพื่อที่จะเลือกไฟล์ data ที่เราโหลดมา (import ได้ทีละไฟล์)</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="857" height="528" src="https://www.sumofx.co/wp-content/uploads/2021/01/6.png" alt="Browse Data" class="wp-image-756" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/6.png 857w, https://www.sumofx.co/wp-content/uploads/2021/01/6-300x185.png 300w, https://www.sumofx.co/wp-content/uploads/2021/01/6-768x473.png 768w" sizes="(max-width: 857px) 100vw, 857px" /></figure></div>



<p>7. จากนั้นให้เปิดกราฟคู่เงินที่ตรงกับ data ที่โหลดมาเลือก Time Frame 1M แล้วไปที่ Script เลือก PeriodConverter แล้วลากลงไปที่กราฟ</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="353" height="704" src="https://www.sumofx.co/wp-content/uploads/2021/01/7.png" alt="Time Frame" class="wp-image-757" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/7.png 353w, https://www.sumofx.co/wp-content/uploads/2021/01/7-150x300.png 150w" sizes="(max-width: 353px) 100vw, 353px" /></figure></div>



<p>8. ในการ Converter Data ให้เราใส่ตัวเลข Time Frame ลงไปเช่น Time Frame 5 นาที ให้ใส่เลข 5 ลงไป</p>



<ul><li>15 (Time Frame 15 นาที)</li><li>30 (Time Frame 30 นาที)</li><li>60 (Time Frame 1 ชั่วโมง)</li><li>240 (Time Frame 4 ชั่วโมง)</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="940" height="488" src="https://www.sumofx.co/wp-content/uploads/2021/01/8.png" alt="Converter Data " class="wp-image-759" srcset="https://www.sumofx.co/wp-content/uploads/2021/01/8.png 940w, https://www.sumofx.co/wp-content/uploads/2021/01/8-300x156.png 300w, https://www.sumofx.co/wp-content/uploads/2021/01/8-768x399.png 768w" sizes="(max-width: 940px) 100vw, 940px" /></figure></div>



<p>จากนั้นรอมัน Conveter เสร็จซึ่งมันไม่ได้บอกเวลาเอาไว้แนะนำให้ทิ้งไปสักพักนึงครับ และในบทความต่อไปเราจะมาแนะนำวิธีการทำ Backtest กันด้วย EA ที่เรามีอยู่กันครับ</p>



]]></content:encoded>
					
					<wfw:commentRss>https://www.sumofx.co/import-data-to-mt4-backtest/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Basic of MQL4&#8217;s data type &#124; ชนิดของข้อมูลในภาษา MQL4 เบื้องต้น</title>
		<link>https://www.sumofx.co/mql4-data-type/</link>
					<comments>https://www.sumofx.co/mql4-data-type/#respond</comments>
		
		<dc:creator><![CDATA[Chayaphat Na Phatthalung]]></dc:creator>
		<pubDate>Sun, 20 Sep 2020 15:25:32 +0000</pubDate>
				<category><![CDATA[EA]]></category>
		<category><![CDATA[บทความ]]></category>
		<guid isPermaLink="false">https://www.sumofx.co/?p=499</guid>

					<description><![CDATA[ประเภทของข้อมูล (Data Type) หรือที่เรียกกันภาษาโปรแกรมม [&#8230;]]]></description>
										<content:encoded><![CDATA[



<p><a aria-label="ประเภทของข้อมูล (Data Type) (opens in a new tab)" rel="noreferrer noopener" class="ek-link ek-link" href="https://book.mql4.com/basics/types" target="_blank">ประเภทของข้อมูล (Data Type)</a> หรือที่เรียกกันภาษาโปรแกรมมิ่งว่า ประเภทของตัวแปร (Type of Variable) ใน<a class="ek-link ek-link" href="https://www.sumofx.co/%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2-mql4-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/">ภาษา MQL4</a></p>



<p>หมายถึงการจัดการประเภทของข้อมูลออกเป็นกลุ่ม ๆ ตามลักษณะจำเพาะของมัน เช่น ตัวเลข, ข้อความ, จริงเท็จ ฯลฯ ซึ่งหลัก ๆ แล้วในแต่ละภาษาคอมพิวเตอร์ก็จะแบ่งออกได้ง่าย ๆ ดังนี้</p>



<p><strong>int</strong> (integers) ตัวเลขจำนวนเต็ม</p>



<p><strong>double</strong> (real numbers) ตัวเลขจำนวนจริง หรือตัวเลขรวมทศนิยม</p>



<p><strong>bool</strong> (Boolean values, that is logical values) สถานะจริงหรือเท็จ</p>



<p><strong>string</strong> (values of string type) ข้อความ</p>



<p><strong>color</strong> (values of color type) สี</p>



<p><strong>datetime</strong> (values of date and time) วันที่่และเวลา</p>



<p>เรามาทำความเข้าใจเจ้าประเภทของข้อมูลในภาษา MQL4 แต่ละตัวที่กล่าวมาข้างต้นให้มากขึ้นกันดีกว่า</p>



<h2 class="wp-block-heading"><strong>int</strong> (ตัวเลขจำนวนเต็ม)</h2>



<p>อะไรก็ตามที่นับได้ เช่น 1, 2, 3, 4, &#8230; แอปเปิ้ล 1 ลูก, หนังสือ 3 เล่ม หรือแม้กระทั่งอายุ 30 ปี แบบนี้ก็ถือว่าเป็นตัวเลขจำนวนเต็มทั้งหมด คำว่าจำนวนเต็มคือไม่มีเศษ ไม่มีทศนิยม ไม่แบ่งครึ่งใด ๆ</p>



<p>ในภาษา <strong>MQL4</strong> เรามีจำนวนเต็มอยู่ด้วยกัน 2 แบบ คือ</p>



<p><strong>เลขฐานสิบ (Decimal)</strong>&nbsp;โดยตัวเลขจะเริ่มต้นจาก 0 จนถึง 9 และจะเป็นบวกหรือลบก็ได้ เช่น 10, 11, 12, 1, 5, -379, 25, -12345, -1, 2.</p>



<p><strong>เลขฐานสิบหก (Hexadecimal)</strong>&nbsp;โดยจะประกอบไปด้วยตัวอักษร Latin จาก A ถึง F (หรือ a ถึง f) และตัวเลขจาก 0 ถึง 9. โดยปกติเลขจะขึ้นต้นด้วย 0x หรือ 0X เป็นได้ทั้งค่าบวกและลบ เช่น 0x1a7b, 0xff340, 0xAC3 0X2DF23, 0X13AAB, 0X1.</p>



<p>ในตัวแปร 1 ตัวที่ใช้ประเภทข้อมูล int จะมีการจองหน่วยความจำเท่ากับ 4 bytes<br>ค่าน้อยสุดที่เก็บได้คือ -2,147,483,648<br>ค่ามากสุดที่เก็บได้คือ 2,147,483,647</p>



<p>เรามาดูตัวอย่างในการประกาศตัวแปรประเภท int ในภาษา MQL4 กันดีกว่า</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
int Art  = 10;
int B_27 = -1;
int Num  = 21;
int Max  = 2147483647;
int Min  = -2147483648;
</pre></div>


<h2 class="wp-block-heading"><strong>double </strong>(ตัวเลขจำนวนจริง, ทศนิยม)</h2>



<p>หากต้องการเก็บตัวเลขที่มีทศนิยม เราก็ใช้ประเภทของข้อมูล double เก็บ เช่น ตัวเลขผลลัพธ์จากการหาร, เศษส่วน, ค่าเฉลี่ยที่ได้จากราคาในตลาด Forex, จำนวนเงินที่มีเศษทศนิยม</p>



<p>ในบางครั้งเราอาจจะยังสับสนว่า สถานการณ์แบบไหนเราจะใช้ double แบบไหนจะใช้ int ในเมื่อมันเก็บตัวเลขเหมือนกัน เรามาดูตัวอย่างสถาการณ์นี้กันครับ</p>



<p>ต้องการเขียน EA คำนวณค่าเฉลี่ยจำนวนออเดอร์ที่ถูกเปิดใน 1 วันตลอดทั้งสัปดาห์ สมมติว่าเปิดมา 12 ออเดอร์ ถ้านำมาเขียนตามสูตรก็คือ 12/5 = 2.4 ออเดอร์ต่อวัน เมื่อสร้างตัวแปรชื่อว่า order_mean มาเพื่อรับค่าดังกล่าว จะต้องใช้ตัวแปรประเภท double นั่นเอง แต่ถ้าเกิดเป็นกรณีหารแล้วไม่ได้เศษส่วน เช่น 10/5 = 2 แบบนี้ก็ไม่ควรเก็บเป็นประเภท int นะครับ ยังคงต้องเก็บแบบ double อยู่ เนื่องจากสามารถเก็บตัวเลขได้ครบทุกรณีนั่นเอง</p>



<p>ประเภทข้อมูล double นั่นสามารถใช้ตัวเลขได้ตั้งแต่ 0 ถีง 9 จะบวกหรือลบก็ได้ และรองรับทศนิยมได้ถึง 15 หลัก เช่น 27.12, -1.0 2.5001, -765456.0, 198732.07 และ 0.123456789012345ง</p>



<p>ในตัวแปร 1 ตัวที่ใช้ประเภทข้อมูล double จะมีการจองหน่วยความจำเท่ากับ 8 bytes<br>ค่าน้อยสุดที่เก็บได้คือ -1.7 * e-308<br>ค่ามากสุดที่เก็บได้คือ 1.7 * e308</p>



<p>เรามาดูตัวอย่างในการประกาศตัวแปรประเภท double ในภาษา MQL4 กันดีกว่า</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
double Art     = 10.123;
double B_27    = -1.0;
double Num     = 0.5;
double MMM     = -12.07;
double Price_1 = 1.2756;
</pre></div>


<h2 class="wp-block-heading"><strong>bool </strong>(สถานะจริงหรือเท็จ)</h2>



<p>ประเภทข้อมูลที่เก็บได้แค่ 2 สถานะทางตรรกะศาสตร์เท่านั้น คือ จริง (True) และ เท็จ (False) ไม่สามารถเก็บได้มากกว่าสองค่านี้ได้ เช่น สอบผ่านหรือไม่ผ่าน, มีแฟนหรือไม่มีแฟน, ไฟเปิดหรือปิด</p>



<p>ในตัวแปร 1 ตัวที่ใช้ประเภทข้อมูล bool จะมีการจองหน่วยความจำเท่ากับ 4 bytes เก็บค่าได้แค่อย่างใดอย่างหนึ่งเท่านั้น คือ <br>true (True, TRUE, 1)<br>false (False, FALSE, 0)</p>



<p>เรามาดูตัวอย่างในการประกาศตัวแปรประเภท bool ในภาษา MQL4 กันดีกว่า</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
bool aa    = True;
bool B17   = TRUE;
bool Hamma = 1;
bool Asd   = False;
bool Nol   = FALSE;
bool Prim  = 0;
</pre></div>


<h2 class="wp-block-heading"><strong>string</strong> (ข้อความ)</h2>



<p>เป็นการเก็บข้อมูลที่เป็นข้อความ เช่น ประโยค, วลี, ชื่อคน สัตว์ สิ่งของ ฯลฯ โดยเก็บในรูปของรหัสทางคอมพิวเตอร์ ASCII</p>



<p>การเก็บข้อความจำเป็นต้องอยู่ภายใต้เครื่องหมาย Double Quotes เปิดและปิด (&#8221; &#8220;) ภายใน string จะประกอบไปด้วยเป็นตัวอักษรหรือตัวเลขก็ได้ที่มีอยู่ในรหัส ASCII (<a aria-label="ตาราง ASCII (opens in a new tab)" href="https://en.wikipedia.org/wiki/ASCII" target="_blank" rel="noreferrer noopener" class="ek-link">ตาราง ASCII</a>) โดยถ้าต้องการจะใช้เครื่องหมาย Double Quotes (&#8220;) ร่วมด้วย จะต้องใช้เครื่องหมายทับกลับหลัง \ (Back Slash) ก่อนการใช้เครื่องหมาย Double Quotes (&#8220;) เช่น &#8220;This is a <span style="background-color:#fcb900" class="has-inline-background">\&#8221;</span>book<span style="background-color:#fcb900" class="has-inline-background">\&#8221;</span>. &#8220;</p>



<p>และหากต้องการขึ้นบรรทัดใหม่ภายในข้อความ สามารถที่จะใส่สัญลักษณ์พิเศษ <span style="background-color:#fcb900" class="has-inline-background">\n</span> ได้ เช่น &#8220;Hello<span style="background-color:#fcb900" class="has-inline-background">\n</span>I&#8217;m SumoFx&#8221;</p>



<p>ในตัวแปร 1 ตัวที่ใช้ประเภทข้อมูล string จะมีการจองหน่วยความจำเท่ากับ 8 bytes เก็บค่าได้ตั้งแต่ 0 ถึง 255 ตัวอักษร โดยหากมีความยาวเกินกว่านี้ ตัวอักษรตัวที่ 266 ขึ้นไปจะถูกตัดทิ้งออก เช่น &#8220;MetaTrader 4&#8243;, &#8221; Stop Loss&#8221;, &#8220;Ssssstop_Loss&#8221;, &#8220;stoploss&#8221;, และ &#8220;10 pips&#8221;</p>



<p>เรามาดูตัวอย่างในการประกาศตัวแปรประเภท string ในภาษา MQL4 กันดีกว่า</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
 string Prefix    = &quot;MetaTrader 4&quot;;
 string Postfix   = &quot;_of_my_progr. OK&quot;;
 string Name_Mass = &quot;History&quot;;
 string text      = &quot;Upper Line\nLower Line&quot;;
</pre></div>


<h2 class="wp-block-heading"><strong>color </strong>(สี)</h2>



<p>การเก็บค่าของสีแต่ละสี ให้อยู่ในรูปรหัสทางคอมพิวเตอร์ แดงเขียวและน้ำเงิน (<span style="background-color:#cf2e2e" class="has-inline-background">R</span><span style="background-color:#00d084" class="has-inline-background">G</span><span style="background-color:#0693e3" class="has-inline-background">B</span>) โดยเป็นการประสมกันของ 3 สีดังกล่าว จากมืดสุดไปสว่างสุด ถูกแทนที่ด้วยตัวเลข 0 ถึง 255 โดย 0 หมายถึงมืดที่สุด และ 255 หมายถึงสว่างที่สุด จะเป็นเลขฐาน 10 หรือเลขฐาน 16 ก็ได้</p>



<p>ยกตัวอย่างเช่น หากต้องการให้แสดง<span style="background-color:#cf2e2e" class="has-inline-background">สีแดงบริสุทธิ์</span> สามารถแทนด้วยตัวเลข <span style="background-color:#cf2e2e" class="has-inline-background">R=255</span>, <span style="background-color:#00d084" class="has-inline-background">G=0</span>, <span style="background-color:#0693e3" class="has-inline-background">B=0</span> หรือต้องการให้ได้สีขาว ซึ่งก็คือทุกสีสว่างทั้งหมด สามารถแทนด้วยตัวเลข <span style="background-color:#cf2e2e" class="has-inline-background">R=255</span>, <span style="background-color:#00d084" class="has-inline-background">G=255</span>, <span style="background-color:#0693e3" class="has-inline-background">B=255</span></p>



<p>การประกาศรูปแบบของสีในภาษา MQL4 จะต้องขึ้นต้นด้วยตัวอักษรซี (C) และสัญลักษณ์ Single Quote (&#8216;) ดังต่อไปนี้<br>C&#8217;<span style="background-color:#cf2e2e" class="has-inline-background">128</span>,<span style="background-color:#00d084" class="has-inline-background">128</span>,<span style="background-color:#0693e3" class="has-inline-background">128</span>&#8216; (gray)<br>C&#8217;<span style="background-color:#cf2e2e" class="has-inline-background">0x00</span>,<span style="background-color:#00d084" class="has-inline-background">0x00</span>,<span style="background-color:#0693e3" class="has-inline-background">0xFF</span>&#8216; (blue)<br>C&#8217;<span style="background-color:#cf2e2e" class="has-inline-background">0xFF</span>,<span style="background-color:#00d084" class="has-inline-background">0x33</span>,<span style="background-color:#0693e3" class="has-inline-background">0x00</span>&#8216; (red)</p>



<p>หรือจะประกาศรูปแบบของสีในภาษา MQL4 ให้อยู่ในรูปของเลขฐาน 16 เรียงติดกันแยกเป็น <span style="background-color:#cf2e2e" class="has-inline-background">RR</span><span style="background-color:#00d084" class="has-inline-background">GG</span><span style="background-color:#0693e3" class="has-inline-background">BB</span> ได้ดังนี้<br>0x<span style="background-color:#cf2e2e" class="has-inline-background">FF</span><span style="background-color:#00d084" class="has-inline-background">FF</span><span style="background-color:#0693e3" class="has-inline-background">FF</span> (white)<br>0x<span style="background-color:#cf2e2e" class="has-inline-background">00</span><span style="background-color:#00d084" class="has-inline-background">80</span><span style="background-color:#0693e3" class="has-inline-background">00</span> (green)<br>0x<span style="background-color:#cf2e2e" class="has-inline-background">00</span><span style="background-color:#00d084" class="has-inline-background">00</span><span style="background-color:#0693e3" class="has-inline-background">00</span> (black)</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="986" height="559" src="//i0.wp.com/sumofx.co/wp-content/uploads/2020/09/image-5.png" alt="mql4 colors hex" class="wp-image-519" srcset="https://www.sumofx.co/wp-content/uploads/2020/09/image-5.png 986w, https://www.sumofx.co/wp-content/uploads/2020/09/image-5-300x170.png 300w, https://www.sumofx.co/wp-content/uploads/2020/09/image-5-768x435.png 768w" sizes="(max-width: 986px) 100vw, 986px" /><figcaption>การอ้างอิงรหัสสีด้วยเลขฐาน 16</figcaption></figure></div>



<p>หรือง่ายที่สุดในภาษา MQL4 สามารถที่จะอ้างชื่อสีได้เลย ดังนี้</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="527" src="//i0.wp.com/sumofx.co/wp-content/uploads/2020/09/image-4-1024x527.png" alt="mql4 colors" class="wp-image-518" srcset="https://www.sumofx.co/wp-content/uploads/2020/09/image-4-1024x527.png 1024w, https://www.sumofx.co/wp-content/uploads/2020/09/image-4-300x154.png 300w, https://www.sumofx.co/wp-content/uploads/2020/09/image-4-768x395.png 768w, https://www.sumofx.co/wp-content/uploads/2020/09/image-4-1536x790.png 1536w, https://www.sumofx.co/wp-content/uploads/2020/09/image-4.png 1756w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>ชื่อสีต่าง ๆ ของประเภทข้อมูล color ในภาษา MQL4</figcaption></figure>



<p>เรามาดูตัวอย่างในการประกาศตัวแปรประเภท color ในภาษา MQL4 กันดีกว่า</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
color Paint_1 = C&#039;128,128,128&#039;;       // The value of gray
color Colo    = C&#039;0x00,0x00,0xFF&#039;;    // The value of blue
color BMP_4   = C&#039;0xFF,0x33,0x00&#039;     // The value of red
color K_12  = 0xFF3300;               // The value of red
color N_3   = 0x008000;               // The value of green
color Color = 16777215;               // The value of white
color Alfa  = 32768;                  // The value of green
color A       = Red;                  // The value of red
color B       = Yellow;               // The value of yellow
color Colorit = Black;                // The value of black
color B_21    = White;                // The value of white
</pre></div>


<h2 class="wp-block-heading"><strong>datetime </strong>(วันที่และเวลา)</h2>



<p>เป็นการเก็บข้อมูลประเภทวันที่และเวลา อย่างเช่น วันเดือนปีและเวลาเกิด, เวลาประกาศข่าวสำคัญ, เวลาเปิดและเวลาปิดตลาด ฯลฯ โดยสามารถเก็บได้ 6 ส่วนย่อยแบ่งเป็น<br>ปี (year)<br>เดือน (month)<br>วัน (day)<br>ชั่วโมง (hour)<br>นาที (minute)<br>วินาที (second)</p>



<p>เขียนอ้างอิงได้ดังนี้ <span style="background-color:#fcb900" class="has-inline-background">D&#8217;</span>YYYY.MM.DD HH:mm:ss โดยสังเกตุได้ว่าในภาษา MQL4 จะต้องเริ่มต้นด้วยตัวอักษรดี (D) และสัญลักษณ์ Single Quote (&#8216;) ก่อนที่จะอ้างอิงวันที่และเวลา</p>



<p>ในตัวแปร 1 ตัวที่ใช้ประเภทข้อมูล datetime จะมีการจองหน่วยความจำเท่ากับ 4 bytes โดยจะเก็บเป็นหน่วยวินาที นับตั้งแต่วันที่ January 1, 1970 เวลา 00:00:00 ไปจนถึง December 31, 2037</p>



<p>เรามาดูตัวอย่างในการประกาศตัวแปรประเภท color ในภาษา MQL4 กันดีกว่า</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
datetime Alfa    = D&#039;2004.01.01 00:00&#039;;       // New Year
datetime Tim     = D&#039;01.01.2004&#039;;             // New Year
datetime Tims    = D&#039;2005.05.12 16:30:45&#039;;    // May 12, 2005 4:30:45 p.m.
datetime N_3     = D&#039;12.05.2005 16:30:45&#039;;    // May 12, 2005 4:30:45 p.m.
</pre></div>


]]></content:encoded>
					
					<wfw:commentRss>https://www.sumofx.co/mql4-data-type/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MQL4 ข้อแตกต่างระหว่าง EA, Script และ Indicator</title>
		<link>https://www.sumofx.co/ea-script-indicator-comparation/</link>
					<comments>https://www.sumofx.co/ea-script-indicator-comparation/#respond</comments>
		
		<dc:creator><![CDATA[Chayaphat Na Phatthalung]]></dc:creator>
		<pubDate>Sun, 06 Sep 2020 08:30:08 +0000</pubDate>
				<category><![CDATA[บทความ]]></category>
		<category><![CDATA[EA]]></category>
		<guid isPermaLink="false">https://www.sumofx.co/?p=338</guid>

					<description><![CDATA[ในบทความนี้จะมาเปรียบเทียบให้เห็นกันว่า EA, Script และ  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ในบทความนี้จะมาเปรียบเทียบให้เห็นกันว่า <a href="https://www.sumofx.co/%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2-mql4-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/" class="ek-link">EA</a>, Script และ Indicator นั้นแตกต่างกันอย่างไร และเราจะเลือกใช้ให้เหมาะสมกับการเทรด Forex ได้อย่างไร มาดูกันครับ</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="//i0.wp.com/sumofx.co/wp-content/uploads/2020/09/image-1024x577.png" alt="Expert Advisor" class="wp-image-341" width="559" height="315" srcset="https://www.sumofx.co/wp-content/uploads/2020/09/image-1024x577.png 1024w, https://www.sumofx.co/wp-content/uploads/2020/09/image-300x169.png 300w, https://www.sumofx.co/wp-content/uploads/2020/09/image-768x433.png 768w, https://www.sumofx.co/wp-content/uploads/2020/09/image.png 1059w" sizes="(max-width: 559px) 100vw, 559px" /><figcaption>เปรียบเทียบภาพรวมของ EA, Script และ Indicator</figcaption></figure>



<h2 class="wp-block-heading">Expert Advisor (EA)</h2>



<p><strong><span style="background-color:#8ed1fc" class="has-inline-background"><strong>Expert Advisor</strong> (EA)</span> </strong>คือ โปรแกรมคอมพิวเตอร์อัตโนมัติทำงานแบบขึ้นกับเหตุการณ์ (Event Trigger) เปรียบเสมือนมีผู้ช่วยส่วนตัวในการเทรด สร้างขึ้นมาจากการนำกลยุทธ์ที่ใช้ในการเทรดมาแจกแจงเงื่อนไข การเข้าซื้อ, การขายออก, แนวโน้ม ฯลฯ และเขียนออกมาเป็นคำสั่งอัตโนมัติทำงานแทนมนุษย์ ผลลัพธ์ที่ออกมาคือหากเข้าเงื่อนไข EA จะรู้ได้เองว่าจะเข้าซื้อเมื่อไหร่ จะขายเมื่อไหร่ ดูสัญญาณให้พร้อม คำนวณเงินให้พร้อม<br>เช่น<br>&#8211; EA ที่มีเงื่อนไขการซื้อขายเมื่อเส้น MA ตัดกัน 2 เส้น<br>&#8211; EA ที่มีเงื่อนไขการซื้อขายด้วย Price Action</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img decoding="async" src="//i0.wp.com/sumofx.co/wp-content/uploads/2020/09/image-1.png" alt="EA" class="wp-image-344" width="386" height="407" srcset="https://www.sumofx.co/wp-content/uploads/2020/09/image-1.png 570w, https://www.sumofx.co/wp-content/uploads/2020/09/image-1-285x300.png 285w" sizes="(max-width: 386px) 100vw, 386px" /><figcaption>Expert Advisor (EA) หรือ Forex Robot </figcaption></figure></div>



<h2 class="wp-block-heading">Script</h2>



<p><span style="background-color:#8ed1fc" class="has-inline-background"><strong><a aria-label="MQL4 (opens in a new tab)" href="https://www.mql5.com/" target="_blank" rel="noreferrer noopener" class="rank-math-link">MQL4</a></strong></span><span style="font-weight: bold; background-color: rgb(142, 209, 252);" class="has-inline-background">Script</span> คือ โปรแกรมคอมพิวเตอร์ที่ทำงานแบบบนลงล่างตามลำดับ (Sequence) ครั้งเดียวจบ ทำงานได้เมื่อถูกเรียกใช้และจะปิดตัวลงไป หากจะใช้งานอีกครั้ง ผู้ใช้จำเป็นต้องเรียก Script ขึ้นมาใหม่<br>เช่น<br>&#8211; Script สำหรับ Close Order<br>&#8211; Script สำหรับรวบรวมข้อมูล Order ทั้งหมดในพอร์ต</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img decoding="async" src="//i0.wp.com/sumofx.co/wp-content/uploads/2020/09/image-2.png" alt="Script" class="wp-image-346" width="387" height="298" srcset="https://www.sumofx.co/wp-content/uploads/2020/09/image-2.png 467w, https://www.sumofx.co/wp-content/uploads/2020/09/image-2-300x231.png 300w" sizes="(max-width: 387px) 100vw, 387px" /><figcaption>MQL4 Script</figcaption></figure></div>



<h2 class="wp-block-heading">Indicator</h2>



<p><strong><span style="background-color:#8ed1fc" class="has-inline-background">Indicator</span> </strong>คือ โปรแกรมคอมพิวเตอร์ที่มีการใช้ข้อมูลราคาคำนวณทางคณิตศาสตร์สถิติ (Statistic) ให้ผลลัพธ์ออกมาเป็นชุดอนุกรม (Series) เพื่อนำมาพล็อตออกมาเป็นกราฟ (Chart) หรือตัวเลข (Number) หรือมองว่าเป็นดัชนีใหม่ขึ้นมาตัวหนึ่ง โดยสามารถนำไปใช้ประกอบการตัดสินใจในการเทรดได้<br>เช่น<br>&#8211; Moving Average (MA)<br>&#8211; MACD (Moving Average Convergence Divergence)</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img decoding="async" src="//i0.wp.com/sumofx.co/wp-content/uploads/2020/09/image-3.png" alt="Indicator" class="wp-image-357" width="374" height="285" srcset="https://www.sumofx.co/wp-content/uploads/2020/09/image-3.png 912w, https://www.sumofx.co/wp-content/uploads/2020/09/image-3-300x230.png 300w, https://www.sumofx.co/wp-content/uploads/2020/09/image-3-768x588.png 768w" sizes="(max-width: 374px) 100vw, 374px" /><figcaption>Indicator</figcaption></figure></div>



<p><strong>สรุปคือ</strong></p>



<p>&#8211; หากต้องการ<span style="text-decoration: underline;"><span style="text-decoration: underline;" class="ek-underline">โปรแกรมอัตโนมัติที่ต้องการให้ซื้อขาย (Open-Close Order)</span></span> ทำงานครบวงจร และ<span style="text-decoration: underline;"><span style="text-decoration: underline;" class="ek-underline">ต้องการให้ทำงานตลอดเวลา </span></span>ให้เลือกใช้ <strong><span style="background-color:#cf2e2e" class="has-inline-background">Expert Advisor (EA)</span></strong></p>



<p>&#8211; หากต้องการ<span style="text-decoration: underline;"><span style="text-decoration: underline;" class="ek-underline">โปรแกรมทำงานสั้น ๆ ตอบโจทย์งานเฉพาะจุด</span></span> เช่น อยากให้ปิดออเดอร์เฉพาะที่เป็นกำไร, อยากให้กาง Pending Order เป็นตาราง (Grid) ให้เลือกใช้เป็น <strong><span style="background-color:#cf2e2e" class="has-inline-background">Script</span></strong> ก็จะสะดวกกว่าใช้ EA</p>



<p>&#8211; หากต้องการแค่<span style="text-decoration: underline;"><span style="text-decoration: underline;" class="ek-underline">สัญญาณเพื่อเป็นตัวตัดสินใจ</span></span> และ<span style="text-decoration: underline;"><span style="text-decoration: underline;" class="ek-underline">ไม่ต้องการการซื้อขายอัตโนมัติ</span></span> ให้เลือกใช้ <strong><span style="background-color:#cf2e2e" class="has-inline-background">Indicator</span></strong></p>



]]></content:encoded>
					
					<wfw:commentRss>https://www.sumofx.co/ea-script-indicator-comparation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MQL4 Basic Syntax</title>
		<link>https://www.sumofx.co/mql4-basic-syntax/</link>
					<comments>https://www.sumofx.co/mql4-basic-syntax/#respond</comments>
		
		<dc:creator><![CDATA[Chayaphat Na Phatthalung]]></dc:creator>
		<pubDate>Wed, 25 Dec 2019 03:53:14 +0000</pubDate>
				<category><![CDATA[บทความ]]></category>
		<category><![CDATA[EA]]></category>
		<guid isPermaLink="false">http://209.250.225.177/?p=210</guid>

					<description><![CDATA[ภาษา MQL4 นั้นถูกออกแบบมาจากพื้นฐานของภาษา C++ ดังนั้นจ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ภาษา MQL4 นั้นถูกออกแบบมาจากพื้นฐานของภาษา C++ ดังนั้นจึงสามารถใช้รูปแบบการเขียนโปรแกรมเช่นเดียวกันกับภาษา C++ ยกเว้น</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="850" height="340" src="https://www.sumofx.co/wp-content/uploads/2019/12/book-tutorial-kovalev-1.png" alt="mql4" class="wp-image-445" srcset="https://www.sumofx.co/wp-content/uploads/2019/12/book-tutorial-kovalev-1.png 850w, https://www.sumofx.co/wp-content/uploads/2019/12/book-tutorial-kovalev-1-300x120.png 300w, https://www.sumofx.co/wp-content/uploads/2019/12/book-tutorial-kovalev-1-768x307.png 768w" sizes="(max-width: 850px) 100vw, 850px" /></figure></div>



<ul><li>no address arithmetic;</li><li>no goto operator;</li><li>an anonymous enumeration can&#8217;t be declared;</li><li>no multiple inheritance.</li></ul>



<h2 class="wp-block-heading"><a href="https://www.sumofx.co/%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2-mql4-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/" class="rank-math-link">MQL4 คืออะไร</a></h2>



<p>ก่อนที่จะมาเริ่มเขียน The First MQL4 เรามาลองดูส่วนหนึ่งของโค้ด EA กันก่อนครับ โดยดูตัวอย่างจากโค้ดด้านล่างนี้</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
int OnInit() {

   return(INIT_SUCCEEDED);
}
</pre></div>


<p>มันคือการประกาศฟังก์ชั่น (Function) ครับ โดยในตัวอย่างเป็นการ Overwrite ฟังก์ชั่นที่ชื่อว่า OnInit ซึ่งมันคือเหตุการณ์ตอนเริ่มต้นของโปรแกรม หรือชื่อเต็มคือ Initialize Event (เหตุการณ์ หรือ Event คือสิ่งที่จะเกิดขึ้นในระหว่างที่โปรแกรมทำงาน โดยสังเกตุคีย์เวิร์ดคำว่า On&#8230; และตามด้วยชื่อเหตุการณ์ที่จะเข้ามาทำงาน ในตัวอย่างข้างต้นคือ <mark>On&#8230;Init</mark>)</p>



<blockquote class="wp-block-quote">ภาษาบ้าน ๆ คือ เมื่อโปรแกรมเริ่มทำงาน (หรือเมื่อ EA เริ่มทำงาน) จะเข้ามาทำงานในฟังก์ชั่น OnInit นั่นเอง</blockquote>



<p>ใน MQL4 นั้นมี Event Function ในเรา Overwrite หลายตัวด้วยกันครับ อาทิเช่น</p>



<ul><li>OnStart</li><li>OnInit</li><li>OnDeinit</li><li>OnTick</li><li>OnTimer</li><li>OnTester</li><li>OnChartEvent</li><li>OnCalculate</li><li>&#8230;</li></ul>



<p>โดยแต่ละฟังก์ชั่นนั้นจะเรียกใช้ในช่วงเหตุการณ์ที่ต่างกันออกไป <span class="tadv-background-color" style="background-color: #f78da7;">ซึ่งในบทความนี้จะยังไม่ได้เจาะลึกอธิบาย แต่จะเป็นการปูพื้นให้กับผู้อ่านถึงการเขียนโปรแกรมกันก่อนครับ หากผู้อ่านเป็นโปรแกรมเมอร์อยู่แล้ว ก็สามารถข้ามบทความนี้ไปอ่านบทความอื่นได้เลยครับ</span></p>



<p>หากไม่ใช่โปรแกรมเมอร์อาจจะงง ว่าคำแต่ละคำในโค้ดที่เขียนไปข้างต้นหมายถึงอะไร เราลองมาดูโครงสร้างของฟังก์ชั่นในภาษา MQL4 กันก่อนครับ</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; highlight: [1]; title: ; notranslate">
void CloseOrder() {

}
</pre></div>


<p>มาเริ่มที่ตัวแรก
ตรงตำแหน่งคำว่า <strong>void</strong> คือชนิดของตัวแปรในภาษา MQL4 ที่จะคืนค่ากลับออกมา หรือในภาษาโปรแกรมมิ่งจะเรียกว่า return data type ครับ</p>



<p>โดยถ้าเราไม่อยากให้มีอะไรคืนกลับออกมาจากการเรียกใช้งานฟังก์ชั่น CloseOrder ข้างต้นนี้ จะพิมพ์คำว่า <mark>void</mark> (แปลว่าว่างเปล่า) ลงไปครับ ตามตัวอย่าง</p>



<p>แต่ถ้าหากต้องการคืนตัวเลขจำนวนเต็มหล่ะ เช่นจะคืนค่าหมายเลขรายการทำธุรกรรม 134524 ก็จะต้องใส่เป็นชนิดตัวแปรจำนวนเต็ม <mark>int</mark> (Integer)</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; highlight: [1]; title: ; notranslate">
int CloseOrder() {
      return 134524;
}
</pre></div>


<p>และถ้าหากต้องการคืนค่าจำนวนเงินที่เป็นทศนิยมหล่ะ 99.02 อะไรแบบนี้ ก็ใช้เป็น <mark>float</mark> หรือ <mark>double</mark> แทนครับ</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; highlight: [1]; title: ; notranslate">
double CloseOrder() {
      return 99.02;
}
</pre></div>


<p>เรามาดูชนิดของตัวแปรในภาษา MQL4 จากทางเว็บไซต์ของผู้พัฒนากันครับ <a href="https://docs.mql4.com/basis/types" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">https://docs.mql4.com/basis/types</a></p>



<p>The basic data types are:</p>



<ul><li>integers (<a href="https://docs.mql4.com/basis/types/integer/integertypes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">char</a>,&nbsp;<a href="https://docs.mql4.com/basis/types/integer/integertypes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">short</a>,&nbsp;<a href="https://docs.mql4.com/basis/types/integer/integertypes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">int</a>,&nbsp;<a href="https://docs.mql4.com/basis/types/integer/integertypes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">long</a>,&nbsp;<a href="https://docs.mql4.com/basis/types/integer/integertypes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">uchar</a>,&nbsp;<a href="https://docs.mql4.com/basis/types/integer/integertypes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">ushort</a>,&nbsp;<a href="https://docs.mql4.com/basis/types/integer/integertypes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">uint</a>,&nbsp;<a href="https://docs.mql4.com/basis/types/integer/integertypes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">ulong</a>);</li><li>logical (<a href="https://docs.mql4.com/basis/types/integer/boolconst" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">bool</a>);</li><li><a href="https://docs.mql4.com/basis/types/integer/symbolconstants" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">literals</a>&nbsp;(ushort);</li><li>strings (<a href="https://docs.mql4.com/basis/types/stringconst" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">string</a>);</li><li>floating-point numbers (<a href="https://docs.mql4.com/basis/types/double" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">double</a>,&nbsp;<a href="https://docs.mql4.com/basis/types/double" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">float</a>);</li><li>color (<a href="https://docs.mql4.com/basis/types/integer/color" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">color</a>);</li><li>date and time (<a href="https://docs.mql4.com/basis/types/integer/datetime" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">datetime</a>);</li><li>enumerations (<a href="https://docs.mql4.com/basis/types/integer/enumeration" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">enum</a>).</li></ul>



<p>Complex data types are:</p>



<ul><li><a href="https://docs.mql4.com/basis/types/classes" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">structures</a>;</li><li><a href="https://docs.mql4.com/basis/types/classes#class" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">classes</a>.</li></ul>



<hr class="wp-block-separator"/>



<p>ต่อไปคือส่วนของชื่อฟังก์ชั่นครับ จากตัวอย่างชื่อฟังก์ชั่นคือ CloseOrder โดยหลักการตั้งชื่อตามมาตรฐานแล้วเค้าก็มีข้อห้ามกันนะครับ เช่น ห้ามขึ้นต้นด้วยตัวเลข, ห้ามใช้อักขระพิเศษ, หรือห้ามใช้คำสงวน ซึ่งข้อมูลตรงนี้คงต้องลองไปหาอ่านกันดูในบทความการเขียนโปรแกรมพื้นฐานทั่วไปนะครับ น่าจะคล้าย ๆ กัน</p>



<p>และส่วนต่อไปคือวงเล็ก () หลังชื่อฟังก์ชั่น จะเป็นพื้นที่ในส่วนของตัวแปรรับค่าจากภายนอกฟังก์ชั่น หรือที่เรียกว่าพารามิเตอร์ Parameter (ต่อจากนี้ไปขอย่อว่า param) ในตัวอย่างข้างบนนี้คือเป็นวงเล็บเปล่า แสดงว่าไม่รับค่าจากภายนอก แต่ถ้าหากรับค่าจากภายนอกมา เช่น รับค่าจำนวน Lot ที่จะปิดออเดอร์ และชนิดของสัญญา สามารถเขียนได้ดังนี้</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; highlight: [1]; title: ; notranslate">
void CloseOrder(double lots, int orderType) {
      
}
</pre></div>


<p>จากตัวอย่างภายในวงเล็บได้เพิ่ม params 2 ตัวชื่อว่า lots ชนิดข้อมูลเป็น double เพื่อเก็บจำนวนล็อตที่เป็นทศนิยม และ orderType ชนิดข้อมูลเป็น int เพื่อเก็บชนิดของสัญญาเป็นตัวเลขจำนวนเต็ม 0, 1, 2, 3, 4, 5 และ params ทั้งสองถูกแยกด้วยเครื่องหมายลูกน้ำ (,) หากมีแค่ param ตัวเดียวก็ไม่ต้องขั้น (,) แต่ถ้ามีมากกว่า 1 ก็ขั้น (,) ไปเรื่อย ๆ</p>



<hr class="wp-block-separator"/>



<p>จุดต่อมาคือเครื่องหมายปีกกาเปิดและปิด { และ } ซึ่งเป็นเสมือนขอบเขตพื้นที่ของฟังก์ชั่น โค้ดทั้งหมดภายในปีกกาจะถือว่าเป็นของฟังก์ชั่นทั้งหมด</p>



<hr class="wp-block-separator"/>



<p>และจุดสุดท้ายของพื้นฐานฟังก์ชั่นก็คือ return value โดยจะสัมพันธ์กับเนื้อหา return data type ที่ได้บอกไว้ด้านบน ลองมาดูตัวอย่างเพื่อความเข้าใจครับ</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; highlight: [2]; title: ; notranslate">
double CloseOrder() {
      return 99.02;
}
</pre></div>


<p>สังเหตุตรงคำว่า return 99.02; นะครับ บรรทัดนี้จำเป็นต้องเขียนเนื่องจากฟังก์ชั่นถูกประกาศขึ้นมาว่าต้องคืนค่ากลับเป็น double ดังนั้นฟังก์ชั่นนี้ไม่ว่าจะทำงานอะไรข้างใน แต่สุดท้ายต้องคืนค่าตัวเลขทศนิยมกลับไปด้วยครับ แต่ถ้าเป็นการคืนค่าว่างเปล่าหล่ะ</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: cpp; title: ; notranslate">
void CloseOrder() {

}
</pre></div>


<p>ถ้าแบบนี้ก็ไม่ต้องใส่บรรทัด return ไปครับ เพราะฟังก์ชั่นถูกประกาศให้ไม่ต้องส่งค่ากลับออกไป</p>



<hr class="wp-block-separator"/>



<p>สำหรับบทความนี้ก็เป็นการพูดถึงเรื่อง Basic Syntax นะครับ หากใครอ่านแล้วยังงงอยู่ แสดงว่าไม่ได้มีพื้นฐานการเขียนโปรแกรม ลองไปเปิดหาอ่านบทความสอนเขียนโปรแกรมเบื้องต้นดูครับ ภาษาคอมพิวเตอร์อะไรก็ได้ เช่น C, C++, Java, PHP, Javascript ในบทความต่อไปจะเป็นการพูดถึงการเขียน EA พร้อมยกตัวอย่างประกอบ อาจจะไม่ได้อธิบายแบบ Basic ขนาดนี้นะครับ ลองเน้นดูตัวอย่างไปเรื่อย ๆ ก็น่าจะพอเดาบริบทได้ สำหรับมือใหม่เลยที่สนใจลองฝึกฝนตามบทความไป ก็อาจเขียนโปรแกรมได้เองโดยอัตโนมัติครับ</p>



]]></content:encoded>
					
					<wfw:commentRss>https://www.sumofx.co/mql4-basic-syntax/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ภาษา MQL4 คืออะไร</title>
		<link>https://www.sumofx.co/%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2-mql4-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/</link>
					<comments>https://www.sumofx.co/%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2-mql4-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/#respond</comments>
		
		<dc:creator><![CDATA[Chayaphat Na Phatthalung]]></dc:creator>
		<pubDate>Wed, 25 Dec 2019 03:52:38 +0000</pubDate>
				<category><![CDATA[บทความ]]></category>
		<category><![CDATA[EA]]></category>
		<guid isPermaLink="false">http://209.250.225.177/?p=208</guid>

					<description><![CDATA[ภาษา MQL4 หรือ ภาษาเมตาโควต 4 (The MetaQuotes Language  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ภาษา MQL4 หรือ ภาษาเมตาโควต 4 (The MetaQuotes Language 4) เป็นภาษาคอมพิวเตอร์ระดับสูงที่มนุษย์สามารถเข้าใจได้ง่าย เป็นภาษาเชิงวัตถุ (Object Oriented) มีโครงสร้างมาจากภาษา C++ ดังนั้นจึงสามารถใช้งานร่วมกับ Dynamic Link Library (DLL) ภายใต้ระบบปฏิบัติการ Windows ได้อย่างง่ายดาย ตัวภาษาถูกออกแบบโดยบริษัท MQL5 Ltd. มี Build-in functions อำนวยความสะดวกในการใช้งาน และมีเอกสารที่อธิบายเข้าใจง่าย</p>



<p><strong>Official Download:</strong> <a href="https://www.metatrader4.com/en/download" rel="noopener">https://www.metatrader4.com/en/download</a>
<strong>IDE &amp; Compiler:</strong> MetaEditor (Only PC)
<strong>Platform Runtime:</strong> MetaTrader 4</p>



<p><mark>โปรแกรม MetaTrader 4 (MT4) สามารถดาวน์โหลดได้จากทางเว็บไซต์ผู้พัฒนาโดยตรง แต่จะไม่ได้ถูกเพิ่ม Broker Server มาให้ใช้งาน ดังนั้นเพื่อความสะดวกแนะนำให้ดาวน์โหลดจากทาง Broker ที่ได้เปิดบัญชีไว้ จะมี List ของ Server แนบมาให้พร้อมใช้งาน</mark></p>



<p>MQL4 ถูกออกแบบมาให้ทำงานเฉพาะด้าน ใช้สำหรับออกแบบกลยุทธ์การเทรดอัตโนมัติ ที่ทำงานภายใต้โปรแกรมเทรดของ MetaTrader 4 (MT4) ไม่สามารถเป็น Standalone ทำงานได้โดยปราศจาก MetaTrader Platform ไม่ว่าจะเป็นการเขียน Indicator, Expert Advisor (EA), Script คำสั่ง หรือแม้แต่การทำกราฟิกแสดงผลบนกราฟแสดงราคาต่าง ๆ ใช้ได้กับสินค้าทุกประเภทที่มีอยู่ใน MT4 เช่น Forex, CFD รวมถึงโลหะมีค่า</p>



<p><span class="tadv-color" style="color: #cf2e2e;"><em>***ในปัจจุบันการเขียนโปรแกรม MQL4 เพื่อทำงานบน MetaTrader 4 นั้นได้รับการรองรับเฉพาะบน PC เท่านั้น ไม่สามารถใช้งานบน on mobile (iOS, Android) หรือ on web ได้</em></span></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">The MetaQuotes Language 4 (MQL4) is an object-oriented high-level programming language intended for writing automated trading strategies, custom technical indicators for the analysis of various financial markets. It allows not only to write a variety of expert systems, designed to operate in real time, but also create their own graphical tools to help you make trade decisions.

<cite> <a href="https://docs.mql4.com/basis" target="_blank" rel="noreferrer noopener">https://docs.mql4.com/basis</a> </cite></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">MQL4 is based on the concept of the popular programming language C++. The language has enumerations, structures, classes and event handling. By increasing the number of embedded main types, the interaction of executable programs in MQL4 with other applications through dll is now as easy as possible. MQL4 syntax is similar to the syntax of C++, and this makes it easy to translate into it programs from modern programming languages.

<cite> <a href="https://docs.mql4.com/basis" target="_blank" rel="noreferrer noopener">https://docs.mql4.com/basis</a> </cite></blockquote>





]]></content:encoded>
					
					<wfw:commentRss>https://www.sumofx.co/%e0%b8%a0%e0%b8%b2%e0%b8%a9%e0%b8%b2-mql4-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>วิเคราะห์ ข้อดี-ข้อเสีย ของการใช้งาน EA (Expert Advisor)</title>
		<link>https://www.sumofx.co/%e0%b8%a7%e0%b8%b4%e0%b9%80%e0%b8%84%e0%b8%a3%e0%b8%b2%e0%b8%b0%e0%b8%ab%e0%b9%8c-%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%94%e0%b8%b5-%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b9%80%e0%b8%aa%e0%b8%b5%e0%b8%a2/</link>
					<comments>https://www.sumofx.co/%e0%b8%a7%e0%b8%b4%e0%b9%80%e0%b8%84%e0%b8%a3%e0%b8%b2%e0%b8%b0%e0%b8%ab%e0%b9%8c-%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%94%e0%b8%b5-%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b9%80%e0%b8%aa%e0%b8%b5%e0%b8%a2/#respond</comments>
		
		<dc:creator><![CDATA[Chayaphat Na Phatthalung]]></dc:creator>
		<pubDate>Wed, 25 Dec 2019 03:47:00 +0000</pubDate>
				<category><![CDATA[บทความ]]></category>
		<category><![CDATA[EA]]></category>
		<guid isPermaLink="false">http://209.250.225.177/?p=202</guid>

					<description><![CDATA[ระบบคอมพิวเตอร์ช่วยซื้อขายอัตโนมัติ หรือเรียกภาษาชาวบ้า [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>ระบบคอมพิวเตอร์ช่วยซื้อขายอัตโนมัติ หรือเรียกภาษาชาวบ้านว่า &#8220;บอท&#8221; (Robot) เป็นชุดคำสั่งหนึ่งที่จะทำงานตามที่ได้กำหนดเงื่อนไขต่าง ๆ ไว้ล่วงหน้า โดยจะมีความเที่ยงตรงสูงมาก (กรณีไม่มี Bug) โดยคำว่าเที่ยงตรงสูงมากในที่นี้มันไม่ได้หมายถึงสามารถทำกำไรได้สูงมากนะครับ แต่หมายถึงมีระบบระเบียบในการทำงาน สั่งซ้ายหันซ้าย สั่งขวาหันขวา</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><strong>แล้วมันดีหรือไม่ดีหล่ะ? ถ้าจะนำมาใช้</strong></blockquote>



<p>คำถามนี้เป็นคำถามโลกแตกครับ ซึ่งก็มีทั้งดีและไม่ดี งั้นจะขอวิเคราะห์แบ่งออกเป็นข้อดีและข้อเสีย ดังนี้</p>



<p><strong>ข้อดี</strong></p>



<ol><li>มันเป็นระบบอัตโนมัติที่ทำแทนเราได้ค่อนข้างเยอะ ทำให้เรามีเวลาไปทำอย่างอื่นได้มากขึ้น</li><li>มันเป็นระบบที่มีความเที่ยงตรง เป็นระเบียบ ไม่หลุดจากแผนที่วางไว้แน่นอน</li><li>มันเป็นระบบที่สามารถใช้เครื่องมือทางสถิติวัดค่าได้ สะท้อนให้เห็นความเป็นไปได้ที่เกิดขึ้นในอดีต</li><li>มันเป็นระบบที่สามารถแบ่งปันให้คนอื่นใช้ได้ไม่ยากเย็นนัก</li></ol>



<p><strong>ข้อเสีย</strong></p>



<ol><li>ตลาด Forex หรือตลาดหุ้น ตามสถาพความเป็นจริงจะใช้อารมณ์ของมนุษย์เพื่อขับเคลื่อนราคามากกว่าใช้ตรรกะ ดังนั้นเงื่อนไขที่ถูกป้อนเข้ามาอาจใช้ไม่ได้กับสภาพอารมณ์ของมนุษย์</li><li>ในเมื่อมันเป็นระบบอัตโนมัติ ดังนั้นมันอาจเป็นผลเสียต่อผู้ใช้งานที่จะไม่ได้พัฒนาตัวเอง</li><li>อันตรายมากหากผู้ที่ไม่มีความรู้จะเลือกใช้งาน เปรียบเสมือนคนขับรถไม่เป็นแต่ไปขับรถออกถนนจริง</li><li>ข้อมูลเชิงสถิติย้อนหลังในอดีตที่ได้ถูกทดสอบกับระบบอัตโนมัติว่ามีความถูกต้องสูงนั้น ก็ไม่ได้มีความถูกต้องมากเพียงพอให้ระบบอัตโนมัตินั้นอยู่รอดในตลาดได้ในปัจจุบันและอนาคต</li></ol>



<p>นี่ก็เป็นการวิเคราะห์พื้นฐานถึงข้อดีและข้อเสียของระบบซื้อขายอัตโนมัตินะครับ เอามา 4 ข้อเท่ากันจะได้ไม่เอนเอียง ข้อมูลมาจากความรู้สึกล้วน ๆ อาจไม่ถูกต้องก็ขออภัยด้วยครับ แต่สำหรับผมเองนั้นได้นำเอาข้อดีและข้อเสียมาคิดหาทางออก และได้ใช้วิธีกึ่งอัตโนมัติเข้าช่วย โดยวิธีการคือ&nbsp;ให้ระบบอัตโนมัติคอยหารูปแบบของกราฟที่เข้าเงื่อนไขอยู่ตลอด 24 ช.ม. Filter เบื้องต้น แล้วเมื่อพบรูปแบบดังกล่าวให้แจ้งผมได้ทราบผ่านช่องทาง (Line, E-mail, Facebook ฯลฯ) จากนั้นผมก็จะมาวิเคราะห์อีกทีว่าเหมาะสมหรือไม่ที่จะทำการซื้อขาย ณ เวลานั้น&nbsp;จากวิธีดังกล่าวข้างต้นทำให้ผมมีเวลาทำอย่างอื่นได้โดยไม่ต้องเฝ้าหน้าจอตลอดเวลา และยังรู้สึกว่ามีความเที่ยงตรงของข้อมูลค่อนข้างมากจากระบบคอมพิวเตอร์ที่ช่วยตรวจสอบรูปแบบกราฟได้ดีกว่าตาเรามองเห็นซะอีกนะครับ</p>



<p><mark>แล้วถ้าหากเราใช้ระบบอัตโนมัติประยุกต์ให้มากขึ้นกว่าการเขียนแค่ชุดคำสั่ง ไปทำงานร่วมกับการเรียนรู้ของเครื่องจักร (Machine Learning) หรือศาสตร์ของ Artificial Intelligence (AI) จะช่วยเราได้มากขนาดไหน ลองติดตามดูในบทความต่อ ๆ ไปนะครับ</mark></p>



]]></content:encoded>
					
					<wfw:commentRss>https://www.sumofx.co/%e0%b8%a7%e0%b8%b4%e0%b9%80%e0%b8%84%e0%b8%a3%e0%b8%b2%e0%b8%b0%e0%b8%ab%e0%b9%8c-%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%94%e0%b8%b5-%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b9%80%e0%b8%aa%e0%b8%b5%e0%b8%a2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
