<?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/"
	>

<channel>
	<title>外匯 &#8211; 冏掉的Alan羅</title>
	<atom:link href="https://orzalanluo.com/archives/category/%e5%a4%96%e5%8c%af/feed" rel="self" type="application/rss+xml" />
	<link>https://orzalanluo.com</link>
	<description>我什麼都不會，所以我在學習。</description>
	<lastBuildDate>Fri, 02 Jan 2026 07:24:35 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>MT5</title>
		<link>https://orzalanluo.com/archives/1821</link>
					<comments>https://orzalanluo.com/archives/1821#respond</comments>
		
		<dc:creator><![CDATA[alanluo]]></dc:creator>
		<pubDate>Fri, 02 Jan 2026 07:04:15 +0000</pubDate>
				<category><![CDATA[外匯]]></category>
		<guid isPermaLink="false">https://orzalanluo.com/?p=1821</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-prismatic-blocks"><code class="language-cpp">//+------------------------------------------------------------------+
//|                                              HelloWorld_EA.mq5   |
//|                                                       您的名字    |
//+------------------------------------------------------------------+
#property copyright &quot;您的名字&quot;
#property link      &quot;https://orzalanluo.com&quot;
#property version   &quot;1.00&quot;
#property description &quot;第一個 MT5 Expert Advisor - Hello World 範例&quot;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
    // EA 初始化時執行
    Print(&quot;========================================&quot;);
    Print(&quot;Hello World! EA 初始化成功&quot;);
    Print(&quot;歡迎來到 MT5 自動交易開發&quot;);
    Print(&quot;========================================&quot;);

    return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
    // EA 被移除時執行
    Print(&quot;EA 已停止運行，原因代碼：&quot;, reason);
}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
    // 每次價格變動時執行
    static int tick_count = 0;
    tick_count++;

    // 每 1000 個 tick 印出一次訊息
    if(tick_count % 1000 == 0)
    {
        Print(&quot;EA 正在運行，Tick 計數：&quot;, tick_count);
        Print(&quot;當前時間：&quot;, TimeToString(TimeCurrent(), TIME_DATE|TIME_SECONDS));
        Print(&quot;當前價格 Ask/Bid：&quot;, SymbolInfoDouble(_Symbol, SYMBOL_ASK),
              &quot; / &quot;, SymbolInfoDouble(_Symbol, SYMBOL_BID));
    }
}</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://orzalanluo.com/archives/1821/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>陣列</title>
		<link>https://orzalanluo.com/archives/1739</link>
					<comments>https://orzalanluo.com/archives/1739#comments</comments>
		
		<dc:creator><![CDATA[alanluo]]></dc:creator>
		<pubDate>Thu, 23 Feb 2023 13:30:02 +0000</pubDate>
				<category><![CDATA[外匯]]></category>
		<category><![CDATA[MT4]]></category>
		<guid isPermaLink="false">https://orzalanluo.com/?p=1739</guid>

					<description><![CDATA[陣列有很多內建函式可以使用，打上Arr就會跳出很多關於陣列可以使用的函數。 不同的資料型態都可以定義成陣列，一 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>陣列有很多內建函式可以使用，打上Arr就會跳出很多關於陣列可以使用的函數。</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="320" height="260" src="https://orzalanluo.com/wp-content/uploads/2023-02-20_214138.png" alt="" class="wp-image-1758" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-20_214138.png 320w, https://orzalanluo.com/wp-content/uploads/2023-02-20_214138-300x244.png 300w" sizes="(max-width: 320px) 100vw, 320px" /></figure>



<p>不同的資料型態都可以定義成陣列，一連串的資料，變數名稱後加上中括號[]，看資料大小是多少填在中括號裡面，如果中括號沒有數值，但是有設定初始值這樣也可以，看你有幾個數值，陣列就是多大。</p>



<p>以下範例定義整數陣列，存取陣列都是從0開始，大小5的話，只能索引0到4。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="493" height="261" src="https://orzalanluo.com/wp-content/uploads/2023-02-23_211227.png" alt="" class="wp-image-1757" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-23_211227.png 493w, https://orzalanluo.com/wp-content/uploads/2023-02-23_211227-300x159.png 300w" sizes="(max-width: 493px) 100vw, 493px" /></figure>



<p>如果<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">存取超過陣列大小，會發生嚴重的錯誤</mark>，之後的程式碼就不會在執行，要非常小心，<br />ArraySize()可以知道陣列大小，最多存取 ArraySize() &#8211; 1的資料。</p>



<p><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">array out of range</mark> in &#8230;&#8230;</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-02-23_211241.png" alt="" class="wp-image-1756" width="601" height="181" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-23_211241.png 531w, https://orzalanluo.com/wp-content/uploads/2023-02-23_211241-300x90.png 300w" sizes="(max-width: 601px) 100vw, 601px" /></figure>



<h2 class="wp-block-heading"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">動態陣列</mark></h2>



<p>一開始陣列大小為0，直到設定陣列大小ArrayResize()之後，陣列才有大小，只有動態陣列才可以使用ArrayResize()。<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">SetIndexBuffer()指標陣列不能使用ArrayResize()</mark>，系統會自行控制陣列大小。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="447" height="346" src="https://orzalanluo.com/wp-content/uploads/2023-02-23_220339.png" alt="" class="wp-image-1762" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-23_220339.png 447w, https://orzalanluo.com/wp-content/uploads/2023-02-23_220339-300x232.png 300w" sizes="(max-width: 447px) 100vw, 447px" /></figure>



<p>設定陣列資料為 i + 5，並且印出數值。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-02-23_220401.png" alt="" class="wp-image-1761" width="488" height="213" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-23_220401.png 413w, https://orzalanluo.com/wp-content/uploads/2023-02-23_220401-300x131.png 300w" sizes="(max-width: 488px) 100vw, 488px" /></figure>



<p>也可以再次呼叫ArraySize() 改變陣列大小。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="453" height="177" src="https://orzalanluo.com/wp-content/uploads/2023-02-25_222524.png" alt="" class="wp-image-1768" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-25_222524.png 453w, https://orzalanluo.com/wp-content/uploads/2023-02-25_222524-300x117.png 300w" sizes="(max-width: 453px) 100vw, 453px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-02-25_222549.png" alt="" class="wp-image-1767" width="506" height="257" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-25_222549.png 435w, https://orzalanluo.com/wp-content/uploads/2023-02-25_222549-300x152.png 300w" sizes="(max-width: 506px) 100vw, 506px" /></figure>



<p>不使用動態陣列時記得釋放記憶體</p>



<figure class="wp-block-image size-full"><img decoding="async" width="607" height="88" src="https://orzalanluo.com/wp-content/uploads/2023-02-25_224446.png" alt="" class="wp-image-1771" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-25_224446.png 607w, https://orzalanluo.com/wp-content/uploads/2023-02-25_224446-300x43.png 300w" sizes="(max-width: 607px) 100vw, 607px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-02-25_224458.png" alt="" class="wp-image-1770" width="594" height="25" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-25_224458.png 495w, https://orzalanluo.com/wp-content/uploads/2023-02-25_224458-300x13.png 300w" sizes="(max-width: 594px) 100vw, 594px" /></figure>



<h2 class="wp-block-heading"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">時間序列</mark></h2>
]]></content:encoded>
					
					<wfw:commentRss>https://orzalanluo.com/archives/1739/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>預定義變數</title>
		<link>https://orzalanluo.com/archives/1742</link>
					<comments>https://orzalanluo.com/archives/1742#respond</comments>
		
		<dc:creator><![CDATA[alanluo]]></dc:creator>
		<pubDate>Wed, 08 Feb 2023 15:11:50 +0000</pubDate>
				<category><![CDATA[外匯]]></category>
		<category><![CDATA[MT4]]></category>
		<guid isPermaLink="false">https://orzalanluo.com/?p=1742</guid>

					<description><![CDATA[MT4程式交易支援一組預先定義的變數，反映當前價格的狀態，這些變數都是常量無法被修改。 輸入Ask然後在變數上 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>MT4程式交易支援一組預先定義的變數，反映當前價格的狀態，這些變數都是常量無法被修改。</p>



<p>輸入Ask然後<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">在變數上面按F1說明</mark></strong>，可以很快的跳到說明 <em>The predefined Variables</em>，裡面有所有的預定義變數。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-02-08_223940-644x506.png" alt="" class="wp-image-1746" width="673" height="529" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-08_223940-644x506.png 644w, https://orzalanluo.com/wp-content/uploads/2023-02-08_223940-300x236.png 300w, https://orzalanluo.com/wp-content/uploads/2023-02-08_223940.png 1095w" sizes="(max-width: 673px) 100vw, 673px" /></figure>



<p>比較常用到的一些變數，最新的收盤價＝現價，每次收到的數值都不一樣喔。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="613" height="365" src="https://orzalanluo.com/wp-content/uploads/2023-02-08_222939.png" alt="" class="wp-image-1744" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-08_222939.png 613w, https://orzalanluo.com/wp-content/uploads/2023-02-08_222939-300x179.png 300w" sizes="(max-width: 613px) 100vw, 613px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-02-08_222955.png" alt="" class="wp-image-1743" width="573" height="269" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-08_222955.png 559w, https://orzalanluo.com/wp-content/uploads/2023-02-08_222955-300x141.png 300w" sizes="(max-width: 573px) 100vw, 573px" /></figure>



<p>買賣價跟最小跳動點的搭配，在程式下單的時候非常重要。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="644" height="244" src="https://orzalanluo.com/wp-content/uploads/2023-02-08_230510-644x244.png" alt="" class="wp-image-1748" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-08_230510-644x244.png 644w, https://orzalanluo.com/wp-content/uploads/2023-02-08_230510-300x114.png 300w, https://orzalanluo.com/wp-content/uploads/2023-02-08_230510.png 756w" sizes="(max-width: 644px) 100vw, 644px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-02-08_230522.png" alt="" class="wp-image-1747" width="530" height="112" srcset="https://orzalanluo.com/wp-content/uploads/2023-02-08_230522.png 484w, https://orzalanluo.com/wp-content/uploads/2023-02-08_230522-300x63.png 300w" sizes="(max-width: 530px) 100vw, 530px" /></figure>



<p>提供程式讓大家研究，需放在Scripts資料夾。<br /><a href="https://orzalanluo.com/file/預定義變數.mq4" data-type="URL" data-id="https://orzalanluo.com/file/第一個指標.mq4">預定義變數.mq4</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://orzalanluo.com/archives/1742/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>迴圈</title>
		<link>https://orzalanluo.com/archives/1703</link>
					<comments>https://orzalanluo.com/archives/1703#respond</comments>
		
		<dc:creator><![CDATA[alanluo]]></dc:creator>
		<pubDate>Tue, 17 Jan 2023 15:37:59 +0000</pubDate>
				<category><![CDATA[外匯]]></category>
		<category><![CDATA[MT4]]></category>
		<guid isPermaLink="false">https://orzalanluo.com/?p=1703</guid>

					<description><![CDATA[一個簡單的for迴圈範例，for 裡面可以放三個表達式，通常會這樣放for (初始化 ; 條件 ; 遞增)，當 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list">
<li><strong>for</strong> 通常叫做計數迴圈</li>



<li><strong>while</strong></li>
</ul>



<p>一個簡單的for迴圈範例，for 裡面可以放三個表達式，通常會這樣放<br /><strong>for (初始化 ; 條件 ; 遞增)</strong>，當然也可以不用照這個邏輯放。</p>



<p>只要中間的表達式為true，程式就會執行下去，執行順序為：<br /><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">1   只會執行<em>一次<br />2  條件成立才會往下執行<br />3<br />4</em><br /><em>回到 2 然後往下順序</em> 3, 4</mark></p>



<figure class="wp-block-image size-full"><img decoding="async" width="368" height="223" src="https://orzalanluo.com/wp-content/uploads/2023-01-17_225358.png" alt="" class="wp-image-1728" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-17_225358.png 368w, https://orzalanluo.com/wp-content/uploads/2023-01-17_225358-300x182.png 300w" sizes="(max-width: 368px) 100vw, 368px" /></figure>



<p>輸出 0 到 9</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-17_225427.png" alt="" class="wp-image-1705" width="402" height="274" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-17_225427.png 382w, https://orzalanluo.com/wp-content/uploads/2023-01-17_225427-300x204.png 300w" sizes="(max-width: 402px) 100vw, 402px" /></figure>



<p>for表達式裡定義的變數有效範圍就只有在for迴圈裡面，不然會出現錯誤訊息 <strong>undeclared identifier</strong>。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-17_232115-644x422.png" alt="" class="wp-image-1706" width="674" height="442" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-17_232115-644x422.png 644w, https://orzalanluo.com/wp-content/uploads/2023-01-17_232115-300x196.png 300w, https://orzalanluo.com/wp-content/uploads/2023-01-17_232115.png 985w" sizes="(max-width: 674px) 100vw, 674px" /></figure>



<p><strong>while(條件)</strong>，只要條件成立就會一直跑，要小心不要變成無窮迴圈，cpu就會拉高畫面卡住。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="568" height="171" src="https://orzalanluo.com/wp-content/uploads/2023-01-17_233344.png" alt="" class="wp-image-1708" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-17_233344.png 568w, https://orzalanluo.com/wp-content/uploads/2023-01-17_233344-300x90.png 300w" sizes="(max-width: 568px) 100vw, 568px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-17_233358.png" alt="" class="wp-image-1707" width="420" height="251" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-17_233358.png 400w, https://orzalanluo.com/wp-content/uploads/2023-01-17_233358-300x179.png 300w" sizes="(max-width: 420px) 100vw, 420px" /></figure>



<h2 class="wp-block-heading">控制流程</h2>



<ul class="wp-block-list">
<li><strong>continue</strong> 繼續</li>



<li><strong>break</strong> 結束</li>
</ul>



<p>continue 繼續，不是繼續執行下面程式的意思，<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-orange-color">是跳過接下來的程式碼，開始新的循環。</mark><br />迴圈裡的Print(&#8220;continue&#8221;)，一次都沒有印出來。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="613" height="202" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_220231.png" alt="" class="wp-image-1718" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_220231.png 613w, https://orzalanluo.com/wp-content/uploads/2023-01-18_220231-300x99.png 300w" sizes="(max-width: 613px) 100vw, 613px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_220003.png" alt="" class="wp-image-1715" width="444" height="283" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_220003.png 410w, https://orzalanluo.com/wp-content/uploads/2023-01-18_220003-300x191.png 300w" sizes="(max-width: 444px) 100vw, 444px" /></figure>



<p>break 結束迴圈，之後的循環 i=1, i=2, &#8230;.. 都不會執行了。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="519" height="199" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_220431.png" alt="" class="wp-image-1717" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_220431.png 519w, https://orzalanluo.com/wp-content/uploads/2023-01-18_220431-300x115.png 300w" sizes="(max-width: 519px) 100vw, 519px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_220447.png" alt="" class="wp-image-1712" width="396" height="88" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_220447.png 364w, https://orzalanluo.com/wp-content/uploads/2023-01-18_220447-300x67.png 300w" sizes="(max-width: 396px) 100vw, 396px" /></figure>



<h2 class="wp-block-heading">搭配 if </h2>



<figure class="wp-block-image size-full"><img decoding="async" width="388" height="194" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_222729.png" alt="" class="wp-image-1726" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_222729.png 388w, https://orzalanluo.com/wp-content/uploads/2023-01-18_222729-300x150.png 300w" sizes="(max-width: 388px) 100vw, 388px" /></figure>



<p>i == 5 時 continue，之後的程式碼不執行，5就沒有印出來。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_222800.png" alt="" class="wp-image-1723" width="423" height="218" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_222800.png 392w, https://orzalanluo.com/wp-content/uploads/2023-01-18_222800-300x155.png 300w" sizes="(max-width: 423px) 100vw, 423px" /></figure>



<p>i == 5 時 break，跳出for迴圈，5, 6, 7, &#8230;.都不會印出來。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="356" height="186" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_222738.png" alt="" class="wp-image-1725" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_222738.png 356w, https://orzalanluo.com/wp-content/uploads/2023-01-18_222738-300x157.png 300w" sizes="(max-width: 356px) 100vw, 356px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_222810.png" alt="" class="wp-image-1724" width="413" height="135" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_222810.png 374w, https://orzalanluo.com/wp-content/uploads/2023-01-18_222810-300x98.png 300w" sizes="(max-width: 413px) 100vw, 413px" /></figure>



<h2 class="wp-block-heading">無窮迴圈</h2>



<figure class="wp-block-image size-full"><img decoding="async" width="409" height="282" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_224651.png" alt="" class="wp-image-1733" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_224651.png 409w, https://orzalanluo.com/wp-content/uploads/2023-01-18_224651-300x207.png 300w" sizes="(max-width: 409px) 100vw, 409px" /></figure>



<p>只要把迴圈裡面的 break 拿掉，程式就會一直印出Log 永不停止。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-18_224717.png" alt="" class="wp-image-1732" width="443" height="85" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-18_224717.png 411w, https://orzalanluo.com/wp-content/uploads/2023-01-18_224717-300x58.png 300w" sizes="(max-width: 443px) 100vw, 443px" /></figure>



<p>for &amp; while 迴圈都可以互相取代，看使用的場景哪一個比較方便，之後會使用到輪詢訂單就會再討論到 for迴圈。</p>



<p>以下提供程式給大家研究，需要放在scripts資料夾。<br /><a href="https://orzalanluo.com/file/迴圈.mq4" data-type="URL" data-id="https://orzalanluo.com/file/第一個指標.mq4">迴圈.mq4</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://orzalanluo.com/archives/1703/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>條件判斷</title>
		<link>https://orzalanluo.com/archives/1650</link>
					<comments>https://orzalanluo.com/archives/1650#respond</comments>
		
		<dc:creator><![CDATA[alanluo]]></dc:creator>
		<pubDate>Sat, 24 Dec 2022 04:02:39 +0000</pubDate>
				<category><![CDATA[外匯]]></category>
		<category><![CDATA[MT4]]></category>
		<guid isPermaLink="false">https://orzalanluo.com/?p=1650</guid>

					<description><![CDATA[程式交易，就是一連串的判斷。關於程式交易非常重要的部分，但也沒有這麼複雜。 if 條件判斷在非零值，會執行下面 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>程式交易，就是一連串的判斷。<br />關於程式交易非常重要的部分，但也沒有這麼複雜。</p>



<ul class="wp-block-list">
<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-purple-color">達到條件，買進 or 賣出。</mark></li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-purple-color">虧損特定點數，停損 or 凹單。</mark></li>



<li><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-purple-color">獲利特定點數，停利 or 加碼。</mark></li>
</ul>



<p><strong>if 條件判斷</strong>在非零值，會執行下面區段的程式碼。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2022-12-30_221913-644x284.png" alt="" class="wp-image-1663" width="672" height="296" srcset="https://orzalanluo.com/wp-content/uploads/2022-12-30_221913-644x284.png 644w, https://orzalanluo.com/wp-content/uploads/2022-12-30_221913-300x132.png 300w, https://orzalanluo.com/wp-content/uploads/2022-12-30_221913.png 999w" sizes="(max-width: 672px) 100vw, 672px" /></figure>



<p>在輸出的log裏面，<strong>false</strong> 跟 <strong>0</strong> 就沒有執行。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2022-12-30_221555.png" alt="" class="wp-image-1673" width="428" height="136" srcset="https://orzalanluo.com/wp-content/uploads/2022-12-30_221555.png 452w, https://orzalanluo.com/wp-content/uploads/2022-12-30_221555-300x96.png 300w" sizes="(max-width: 428px) 100vw, 428px" /></figure>



<p>字元 Ａ 也是非零值，以下程式就會被執行，當有<strong>多行程式碼</strong>需要執行時，需要用<strong>{ }包成區段</strong>，在這裡面的程式碼就都會執行。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2022-12-30_224230.png" alt="" class="wp-image-1670" width="309" height="167"/></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2022-12-30_224303.png" alt="" class="wp-image-1669" width="442" height="72" srcset="https://orzalanluo.com/wp-content/uploads/2022-12-30_224303.png 378w, https://orzalanluo.com/wp-content/uploads/2022-12-30_224303-300x49.png 300w" sizes="(max-width: 442px) 100vw, 442px" /></figure>



<h1 class="wp-block-heading">關係運算 ＋ if-else</h1>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%">
<ul class="wp-block-list">
<li>&gt;    大於 </li>



<li>&lt;    小於 </li>



<li>== 等於</li>



<li>!=   不等於</li>
</ul>
</div>
</div>



<p>以下示範透過兩個變數條件判斷</p>



<p>Ａ大於Ｂ的情況，Ａ也不等於Ｂ。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-09_220117-644x330.png" alt="" class="wp-image-1681" width="673" height="345" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-09_220117-644x330.png 644w, https://orzalanluo.com/wp-content/uploads/2023-01-09_220117-300x154.png 300w, https://orzalanluo.com/wp-content/uploads/2023-01-09_220117.png 646w" sizes="(max-width: 673px) 100vw, 673px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-09_220134.png" alt="" class="wp-image-1684" width="463" height="87" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-09_220134.png 425w, https://orzalanluo.com/wp-content/uploads/2023-01-09_220134-300x56.png 300w" sizes="(max-width: 463px) 100vw, 463px" /></figure>



<p>改變Ａ變數，Ａ小於Ｂ，Ａ也不等於Ｂ。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-09_220153-644x323.png" alt="" class="wp-image-1680" width="674" height="338" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-09_220153-644x323.png 644w, https://orzalanluo.com/wp-content/uploads/2023-01-09_220153-300x151.png 300w, https://orzalanluo.com/wp-content/uploads/2023-01-09_220153.png 655w" sizes="(max-width: 674px) 100vw, 674px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-09_220212.png" alt="" class="wp-image-1683" width="464" height="84" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-09_220212.png 436w, https://orzalanluo.com/wp-content/uploads/2023-01-09_220212-300x54.png 300w" sizes="(max-width: 464px) 100vw, 464px" /></figure>



<p>改變Ａ變數讓兩者相等<br />if-else 條件判斷會依序執行，if (A &gt; B) 不成立，換下一個 else if ( A &lt; B )不成立，最後就執行else。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-09_220243.png" alt="" class="wp-image-1679" width="673" height="350" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-09_220243.png 627w, https://orzalanluo.com/wp-content/uploads/2023-01-09_220243-300x156.png 300w" sizes="(max-width: 673px) 100vw, 673px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-09_220255.png" alt="" class="wp-image-1682" width="463" height="90" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-09_220255.png 417w, https://orzalanluo.com/wp-content/uploads/2023-01-09_220255-300x58.png 300w" sizes="(max-width: 463px) 100vw, 463px" /></figure>



<p>等於跟不等於是相反的，可以用if-else改寫，等於判斷如果為false那就是不等於會走else區段。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="377" height="250" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_213918.png" alt="" class="wp-image-1689" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_213918.png 377w, https://orzalanluo.com/wp-content/uploads/2023-01-11_213918-300x199.png 300w" sizes="(max-width: 377px) 100vw, 377px" /></figure>



<h1 class="wp-block-heading">變成賦值操作</h1>



<p>如果只有一個 <strong>＝</strong> 會變成賦值操作，放在<strong>if</strong>判斷裡面也是可以，但是會跟預期結果不一樣，可能會花很多時間找這個小小的錯誤。</p>



<p>編譯結果雖然沒有error，但是有<strong>warnings</strong>警告 <strong>expression not boolean</strong> 表達式非布林值，<strong>正視並修正</strong>每一個<strong>warnings</strong>，程式可以執行不代表沒有邏輯上的錯誤。</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-09_223422-644x483.png" alt="" class="wp-image-1685" width="672" height="504" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-09_223422-644x483.png 644w, https://orzalanluo.com/wp-content/uploads/2023-01-09_223422-300x225.png 300w, https://orzalanluo.com/wp-content/uploads/2023-01-09_223422.png 818w" sizes="(max-width: 672px) 100vw, 672px" /></figure>



<p>原本 X=3, Y=5 在做<strong>等於判斷</strong>的時候不會成立，因為少打一個<strong>＝</strong>變成<strong>賦值操作</strong>，跟預期結果不一樣，然後X變數也被賦值成5。</p>



<p>在if判斷式賦值之後會變成判斷 <strong>if ( X )</strong>，因為X為非零值所以會執行以下的程式碼。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-09_223456.png" alt="" class="wp-image-1686" width="489" height="111" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-09_223456.png 436w, https://orzalanluo.com/wp-content/uploads/2023-01-09_223456-300x68.png 300w" sizes="(max-width: 489px) 100vw, 489px" /></figure>



<h2 class="wp-block-heading">邏輯運算</h2>



<ul class="wp-block-list">
<li>｜｜ OR       （其中一個成立為True）</li>



<li>＆＆ AND      (兩個都成立才為True)</li>
</ul>



<figure class="wp-block-image size-full"><img decoding="async" width="413" height="426" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_215713.png" alt="" class="wp-image-1692" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_215713.png 413w, https://orzalanluo.com/wp-content/uploads/2023-01-11_215713-291x300.png 291w" sizes="(max-width: 413px) 100vw, 413px" /></figure>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_215728.png" alt="" class="wp-image-1693" width="470" height="138" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_215728.png 413w, https://orzalanluo.com/wp-content/uploads/2023-01-11_215728-300x88.png 300w" sizes="(max-width: 470px) 100vw, 470px" /></figure>



<h2 class="wp-block-heading">OR 最小化計算</h2>



<figure class="wp-block-image size-full"><img decoding="async" width="622" height="247" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_221259.png" alt="" class="wp-image-1694" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_221259.png 622w, https://orzalanluo.com/wp-content/uploads/2023-01-11_221259-300x119.png 300w" sizes="(max-width: 622px) 100vw, 622px" /></figure>



<p>ＯＲ前後在做真假值判斷時，如果前面為True，此時最終結果就是True，後面的部分也就沒有必要求值。<br /><strong>＝賦值</strong>優先權比較低，用( )可以讓他優先執行避免語法錯誤，為了驗證OR的最小化計算才在If裡面使用，這是錯誤的示範，<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">請一定不能在if判斷裡面做賦值</mark></strong>。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_221136.png" alt="" class="wp-image-1695" width="472" height="88" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_221136.png 428w, https://orzalanluo.com/wp-content/uploads/2023-01-11_221136-300x56.png 300w" sizes="(max-width: 472px) 100vw, 472px" /></figure>



<ul class="wp-block-list">
<li>&gt;= 大於或是等於</li>



<li>&lt;= 小於或是等於</li>
</ul>



<figure class="wp-block-image size-full"><img decoding="async" width="530" height="310" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_224123.png" alt="" class="wp-image-1699" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_224123.png 530w, https://orzalanluo.com/wp-content/uploads/2023-01-11_224123-300x175.png 300w" sizes="(max-width: 530px) 100vw, 530px" /></figure>



<p>A=3, B=5 的情況</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_224136.png" alt="" class="wp-image-1698" width="496" height="120" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_224136.png 418w, https://orzalanluo.com/wp-content/uploads/2023-01-11_224136-300x72.png 300w" sizes="(max-width: 496px) 100vw, 496px" /></figure>



<p>A=5, B=5 的情況</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_224204.png" alt="" class="wp-image-1697" width="497" height="109" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_224204.png 462w, https://orzalanluo.com/wp-content/uploads/2023-01-11_224204-300x66.png 300w" sizes="(max-width: 497px) 100vw, 497px" /></figure>



<p>A=9, B=5 的情況</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://orzalanluo.com/wp-content/uploads/2023-01-11_224225.png" alt="" class="wp-image-1696" width="497" height="116" srcset="https://orzalanluo.com/wp-content/uploads/2023-01-11_224225.png 430w, https://orzalanluo.com/wp-content/uploads/2023-01-11_224225-300x70.png 300w" sizes="(max-width: 497px) 100vw, 497px" /></figure>



<p>提供程式讓大家研究，需放在Scripts資料夾。<br /><a href="https://orzalanluo.com/file/條件判斷.mq4" data-type="URL" data-id="https://orzalanluo.com/file/條件判斷.mq4">條件判斷.mq4</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://orzalanluo.com/archives/1650/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
