<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C08NSHs4eSp7ImA9WhRbEUQ.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729</id><updated>2012-02-02T23:11:39.531+09:00</updated><category term="MQL5" /><category term="雑談" /><category term="EA" /><category term="MQL4" /><category term="ATC" /><category term="GSL" /><title>『Expert advisor』は、おもしろい！</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://expertadviser-bighope.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>80</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/expertAdviser" /><feedburner:info uri="expertadviser" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;C08NSHs9eip7ImA9WhRbEUQ.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-6004613667573052096</id><published>2012-02-01T00:34:00.004+09:00</published><updated>2012-02-02T23:11:39.562+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-02T23:11:39.562+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GSL" /><title>GSLで多項式回帰を試してみた■■■</title><content type="html">今回は、前回の続きとして、多項式回帰を試してみました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;まえがき&lt;/h2&gt;今回試してみたのは、Ｙ＝Ｃ０＋Ｃｎ×Ｘ＾Ｃｎの多項式回帰です。&lt;br /&gt;
ｎ値を変えることで以下の様に変化します。&lt;br /&gt;
ｎ＝２の時&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-fiEOYmHTnIc/TygJ0zmPnnI/AAAAAAAAAio/0qI9az4jOVE/s1600-h/1m%25255B2%25255D.png"&gt;&lt;img alt="1m" border="0" height="141" src="http://lh4.ggpht.com/-YI8T3406vhE/TygJ1unVoGI/AAAAAAAAAis/XctnW_fYCg8/1m_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="1m" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
ｎ＝３の時&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-M3-xwgrCnKo/TygJ2WEePjI/AAAAAAAAAi0/sv96FURYlE4/s1600-h/3m%25255B2%25255D.png"&gt;&lt;img alt="3m" border="0" height="141" src="http://lh5.ggpht.com/-9BeJeibCfSQ/TygJ3K4Iz6I/AAAAAAAAAi8/xHL0m3Q-nWI/3m_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="3m" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
ｎ＝４の時&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-QDZv6twf9bk/TygJ3kxFzlI/AAAAAAAAAjE/mgVcrAQTbN0/s1600-h/4m%25255B2%25255D.png"&gt;&lt;img alt="4m" border="0" height="141" src="http://lh6.ggpht.com/-KxNflP-3-B4/TygJ4siTtDI/AAAAAAAAAjQ/WAsBAUsbUGw/4m_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="4m" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
ｎ＝１０の時&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-oFIeVsCsn3A/TygJ5mSeOlI/AAAAAAAAAjY/nQs85fMYCuc/s1600-h/10m%25255B2%25255D.png"&gt;&lt;img alt="10m" border="0" height="141" src="http://lh4.ggpht.com/-b6JdoDSvoE0/TygJ6S8mlFI/AAAAAAAAAjc/0FSef6R0e0w/10m_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="10m" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;サンプル&lt;/h2&gt;サンプルコードは、&lt;a href="https://docs.google.com/open?id=0B42sh1xkCfgtMjM3NjhjMmYtZWJlNC00NWJlLTk5OWEtYjcwYTNkZTBhMmMx"&gt;ここ&lt;/a&gt;です。&lt;br /&gt;
※上記ｎ値は、変数名Ｐｗです。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;ＤＬＬコード&lt;/h2&gt;※前回のコードをそのまま残し、修正しました。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:be2a1c80-4141-47d5-b595-2e252645887d" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;#pragma once
#define WIN32_LEAN_AND_MEAN 
#include &amp;lt;Windows.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;math.h&amp;gt;//数学用
#include ".\include\gsl\gsl_sort.h"//配列並び替え用
#include ".\include\gsl\gsl_wavelet.h"//ウェーブレット用
#include ".\include\gsl\gsl_multifit.h"//重回帰

BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{
//----
switch(ul_reason_for_call)
{
 case DLL_PROCESS_ATTACH:
 case DLL_THREAD_ATTACH:
 case DLL_THREAD_DETACH:
 case DLL_PROCESS_DETACH:
 break;
}
//----
return(TRUE);
}

//+-------------------------------------------------------------------+
//|重回帰（Multifit_liner)Y=c0+c1X+c2X^2+c3X^3...cpwX^pw
//|input[]   入力用バッファ
//|pw        変数量
//|out[pw+1]    出力用バッファ[c0,c1,c2,c3,....cpw.chisq]
//|Ns       対象データ数
//+-------------------------------------------------------------------+
__declspec(dllexport) void __stdcall Multifit_liner(double *input,int pw,double *out,int Ns){
 int i,ipw;
 double    ix,chisq;
 gsl_matrix *X, *cov;
 gsl_vector *y, *w, *c;
 
 //配列（ベクトル配列）の確保
 X = gsl_matrix_alloc(Ns, pw);
 y = gsl_vector_alloc(Ns);
 c = gsl_vector_alloc(pw);
 cov = gsl_matrix_alloc(pw, pw);

 //配列（ベクトル配列）入力
 for(i=0;i&amp;lt;Ns;i++){
  ix = i*0.001;
  gsl_matrix_set (X, i, 0, 1.0);
  for(ipw=1;ipw&amp;lt;pw;ipw++)gsl_matrix_set (X, i, ipw, pow(ix,ipw)); 
  gsl_vector_set (y, i, input[i]);
 }
  
 //処理
 gsl_multifit_linear_workspace *work = gsl_multifit_linear_alloc (Ns, pw);
 gsl_multifit_linear(X,y,c,cov,&amp;amp;chisq,work);
 gsl_multifit_linear_free (work);
 
 //抽出
 for(i=0;i&amp;lt;pw;i++)out[i]=gsl_vector_get(c,(i));
 out[pw]=chisq;

 //メモリ解放
 gsl_matrix_free(X);
 gsl_matrix_free(cov);
 gsl_vector_free(y);
 gsl_vector_free(c);

}


//+-------------------------------------------------------------------+
//|ウェーブレット変換（DWT）
//|input[]  入力用バッファ
//|out[]    出力用バッファ
//|Ns       対象データ数（２のNs乗)
//|D        ウェーブレット係数（2:Harr 4~daubechies
//|fs       フィルタ
//+-------------------------------------------------------------------+
__declspec(dllexport) void __stdcall DWT(double *input,double *out,int Ns,int D,int fs){
 int i;
 int siz = (int)pow(2.0,Ns);
 if(D%2==1)D++;
 if(D&amp;gt;20)D=20;
 
 //配列のコピー
 memcpy(out,input,sizeof(double)*siz); 
 
 //ウェーブレットの初期設定(ウェーブレット名,D値）
 gsl_wavelet *w;
 if(D==2){
  w = gsl_wavelet_alloc(gsl_wavelet_haar,D);
 }else{
  w = gsl_wavelet_alloc(gsl_wavelet_daubechies, D);
   }
  
 //作業領域の確保(数量）
 gsl_wavelet_workspace *work;
 work = gsl_wavelet_workspace_alloc(siz);
 size_t *p = (size_t *)malloc(siz * sizeof(size_t));
 double *abs = (double *)malloc(siz * sizeof (double));
 if (abs == NULL || p== NULL){printf("メモリを確保できません"); exit(0);}
 
 //変換(初期設定,データ,進み幅,作業エリア）
 gsl_wavelet_transform_forward(w, out, 1, siz,work);
    
 //フィルタ作業
 for(i = 0; i &amp;lt; siz; i++) abs[i] = fabs(out[i]);
 gsl_sort_index(p, abs, 1, siz);
 for(i = 0; (i + fs) &amp;lt; siz; i++) out[p[i]] = 0;
    
 //逆変換
 gsl_wavelet_transform_inverse(w, out, 1, siz, work);

    //メモリ解放
 free(abs);
 free(p);
 gsl_wavelet_workspace_free(work);
 gsl_wavelet_free(w);
}
//----------------------------------------------------------------------------
&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;まとめ&lt;/h2&gt;適用範囲を広くとりすぎたり、ｎ値を大きくしすぎるとバグが発生する可能性がありますので注意してください。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-6004613667573052096?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/v6Xq0mjHeJKI-oXwbvOxYKyNJQU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v6Xq0mjHeJKI-oXwbvOxYKyNJQU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/v6Xq0mjHeJKI-oXwbvOxYKyNJQU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v6Xq0mjHeJKI-oXwbvOxYKyNJQU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/dM6U-KPFjks" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/6004613667573052096/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2012/02/gsl.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/6004613667573052096?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/6004613667573052096?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/dM6U-KPFjks/gsl.html" title="GSLで多項式回帰を試してみた■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-YI8T3406vhE/TygJ1unVoGI/AAAAAAAAAis/XctnW_fYCg8/s72-c/1m_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2012/02/gsl.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08DRn87fyp7ImA9WhRbEUQ.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-7826021240481853695</id><published>2012-01-12T23:23:00.005+09:00</published><updated>2012-02-02T23:11:17.107+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-02T23:11:17.107+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GSL" /><title>GSLをMT4で使う■■■</title><content type="html">&lt;span style="color: red;"&gt;再修正しました。2012/1/13 &lt;/span&gt;&lt;br /&gt;
R以外で計算ライブラリーをMT4に導入する方法がないか調べてる内に、GSL(GNU Scientific Library)と言うものを発見しました。と言うことで今回は、GSLをMT4で使うことに挑戦してみました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;何はともあれまずこちらを・・&lt;/h2&gt;まずは、このサイトをご確認ください。 慣れた人ならこれでほぼ完了します。&lt;br /&gt;
１．&lt;a href="http://gonzaburou.cocolog-nifty.com/blog/2006/11/gslvisual_cc_8716.html"&gt;GSLをWindowsのVisual C++で使う（ごんざぶログ）&lt;/a&gt;を熟読&lt;br /&gt;
２．&lt;a href="http://www.cbrc.jp/%7Etominaga/translations/index.php"&gt;産業技術総合研究所 富永氏によるマニュアルの和訳&lt;/a&gt;の&lt;a href="http://www.blogger.com/post-edit.g?blogID=6027720561701794729&amp;amp;postID=7826021240481853695" name="gsl"&gt;GSL リファレンス・マニュアルの日本語訳&lt;/a&gt;を確認&lt;br /&gt;
３．&lt;a href="http://amenbo3rd.blog.fc2.com/blog-entry-1.html"&gt;MQL4（MT4）：DLLの作り方を公開しています&lt;/a&gt;（&lt;a href="http://amenbo3rd.blog.fc2.com/"&gt;アメンボのブログ２&lt;/a&gt;）内の記事および&lt;br /&gt;
記事の置き場所アメンボのWEB―記事：・MT4（MQL4)用DLLの作り方.pdf&lt;br /&gt;
４．&lt;a href="http://d.hatena.ne.jp/fai_fx/20100614/1276443053" name="1276443053"&gt;初めてのDLL(2)/関数作成篇&lt;/a&gt;（ご存じfaiさんの備忘秘録）&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;組込方法&lt;/h2&gt;上記の記事を参考（ほぼそのまま^^;）に中継用のDLLを作成し、GSLをMT4から使用する事にしました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;手順１&lt;/h2&gt;今回は、VC++2010を使用してみたので、まずは、&lt;a href="http://www.microsoft.com/japan/msdn/vstudio/express/"&gt;Visual C++ 2010 Express&lt;/a&gt;（無料）をDL＋インストールします。&lt;br /&gt;
そして、&lt;a href="http://service-spi.web.cern.ch/service-spi/external/distribution/"&gt;VC++向けにコンパイルされたGSL&lt;/a&gt;をDLします。今回は、&lt;a href="http://service-spi.web.cern.ch/service-spi/external/distribution/GSL_1.8__LCG_win32_vc71.tar.gz"&gt;GSL_1.8__LCG_win32_vc71.tar.gz&lt;/a&gt;をDLしました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;手順２&lt;/h2&gt;まずは、&lt;a href="http://www.blogger.com/post-edit.g?blogID=6027720561701794729&amp;amp;postID=7826021240481853695" name="gsl"&gt;GSL リファレンス・マニュアルの日本語訳&lt;/a&gt;を参考に取り込む関数を選択します。&lt;br /&gt;
今回は、第３１章ウェーブレット変換P461～ を選択しました。&lt;br /&gt;
※参考コードも記載されていますので、導入しやすいと思います。&lt;br /&gt;
&lt;span style="color: red;"&gt;※注意：&lt;/span&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=6027720561701794729&amp;amp;postID=7826021240481853695" name="gsl"&gt;&lt;span style="color: red;"&gt;GSL リファレンス・マニュアルの日本語訳&lt;/span&gt;&lt;/a&gt;&lt;span style="color: red;"&gt;に記載されているサンプルコードは、C語で記載されていますが、VC++用のコードではありません。その為、VC++で使用する場合は、一部変更する必要があります。&lt;/span&gt;&lt;br /&gt;
例）&lt;br /&gt;
double *abs = malloc(10* sizeof (double));//というコードは、エラーが出ます。&lt;br /&gt;
double *abs =&lt;span style="color: red;"&gt; (double *)&lt;/span&gt;malloc(10 * sizeof (double));//という型宣言を追加する必要があります。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;手順３&lt;/h2&gt;&amp;nbsp;&lt;span style="color: red;"&gt;※ここに記載してあるのは、あくまでもDLL作成の最低設定です。詳細については、上記参照サイトを確認してください。&lt;/span&gt;&lt;br /&gt;
&lt;h5&gt;新規プロジェクトの作成&lt;/h5&gt;VC++2010を起動し【ファイル(F)】―【新規作成(N)】-【プロジェクト(P)】&lt;br /&gt;
Win32プロジェクトを選択後、名前(N)欄にプロジェクト名を記入-【OK】-【次へ】    &lt;br /&gt;
※必要に応じ保存場所を変更。保存場所を覚えておく。&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-4BGf8-Zov5A/Tw7sZPU3y-I/AAAAAAAAAf0/QD3CT95Llzo/s1600-h/15.png"&gt;&lt;img alt="1" border="0" height="170" src="http://lh5.ggpht.com/-CMGWzvSuN8E/Tw7sZ5x_ryI/AAAAAAAAAf8/y8QTSMiVPj4/1_thumb1.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="1" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-ezyMceA3wz8/Tw7sa4F3EQI/AAAAAAAAAgA/ybBOHqFBVF4/s1600-h/22.png"&gt;&lt;img alt="2" border="0" height="159" src="http://lh5.ggpht.com/-AvIxFZ-P8UA/Tw7sba89c2I/AAAAAAAAAgI/THCNDUvDIPU/2_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="2" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
Win32アプリケーションウィザードにて（DLL）（空のプロジェクト）を選択-【OK】&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-4Ej9DxvtKIY/Tw7scIgiw1I/AAAAAAAAAgU/dCM3QqPWGLA/s1600-h/32.png"&gt;&lt;img alt="3" border="0" height="159" src="http://lh6.ggpht.com/-wmTcdJ_N-Q4/Tw7sc5BMA1I/AAAAAAAAAgY/bGqir6DKfgI/3_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="3" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
プロジェクトが、立上ったらソリューションエクスプロラー内ソースファイルを右クリック-【追加】-【新しい項目】を選択。&lt;br /&gt;
【C++ファイル(.cpp)】-名前欄にファイル名を記入&lt;br /&gt;
※本来は、ヘッダーファイルなどに分割するが、今回はcppファイルのみを使用する。&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-_X4gir9W-hI/Tw7sdi6HY6I/AAAAAAAAAgg/eeYzcooEgCc/s1600-h/42.png"&gt;&lt;img alt="4" border="0" height="170" src="http://lh6.ggpht.com/-ymaMJmlLQZc/Tw7sfmINkWI/AAAAAAAAAgs/B0muSCSrx40/4_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="4" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;GSLのインクルード&lt;/h5&gt;ここで一度VC++2010を終了後、先ほどDLしてきた、GSLファイルに移動し、解凍後最下層にある《includeフォルダ》及び《libフォルダ》をコピーし、VC++2010で作成したプロジェクトフォルダのC++ファイル(.ccp)があるフォルダ内にペーストする。&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-Hxu3tM7qoMg/Tw7smPTB27I/AAAAAAAAAg0/YXINiOd_lr8/s1600-h/132.png"&gt;&lt;img alt="13" border="0" height="137" src="http://lh3.ggpht.com/-4G4CbsOCIxw/Tw7smr8uuvI/AAAAAAAAAg8/SSj_hvLs-Sg/13_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="13" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;DEFファイルの作成&lt;/h5&gt;とりあえず、テキストエディタで空のファイルをプロジェクト名.defとし、C++ファイルがあるフォルダに作成する。&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-Phmg0H0eHTw/Tw7snpxgDjI/AAAAAAAAAhE/Ppn_E4UjEf8/s1600-h/152.png"&gt;&lt;img alt="15" border="0" height="161" src="http://lh4.ggpht.com/-O7nwfrTg3ps/Tw7so9-GHoI/AAAAAAAAAhM/_-wfV6MNuMc/15_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="15" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;プロパティページの設定&lt;/h5&gt;※本来は、Debugモードで作成していくが、今回は説明短縮のため初めからReleaseで設定する。&lt;br /&gt;
ソリューション構成をReleaseに設定し、【プロジェクト(P)】-【プロパティ】を選択する。&lt;br /&gt;
【構成プロパティ】    &lt;br /&gt;
【全般】━【文字セット】━（マルチバイド文字セットを使用する） &lt;br /&gt;
【C/C++】┳【プリプロセッサ】━【プリプロセッサの定義】━【(編集)】（GSL_DLL）を追加    &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ┗【コード生成】━（マルチスレッド（/MT)に設定&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-sX55bP5Hl-U/Tw7sp5GoW-I/AAAAAAAAAhQ/lUNv52RasKU/s1600-h/62.png"&gt;&lt;img alt="6" border="0" height="145" src="http://lh6.ggpht.com/-gdeqML95yAc/Tw7sqjhpqUI/AAAAAAAAAhc/06TinSPm_hM/6_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="6" width="244" /&gt;&lt;/a&gt;&lt;br /&gt;
【リンカー】┳【追加依存ファイル】━【(編集)】（.\lib\gsl.lib:.\lib\gslcblas.lib)を追加    &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ┗【モジュール定義ファイル】━【(編集)】（先ほど作成したdefファイル名）を追加&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-ATk00fiWtWs/Tw7srti_7BI/AAAAAAAAAhk/56uBudgiPIk/s1600-h/7.65.png"&gt;&lt;img alt="7.6" border="0" height="145" src="http://lh4.ggpht.com/-Gbcv2s4fQLk/Tw7ssd9k8dI/AAAAAAAAAho/IhCKUDDeIXQ/7.6_thumb1.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="7.6" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-ItBYPuBB9BQ/Tw7ss5_CG_I/AAAAAAAAAh0/Nw5c60dk25Q/s1600-h/7.32.png"&gt;&lt;img alt="7.3" border="0" height="145" src="http://lh3.ggpht.com/-gQj5nAi1J1E/Tw7st0_5NwI/AAAAAAAAAh8/Q2V2sop-PSo/7.3_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="7.3" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;コード記入&lt;/h5&gt;今回テスト用に記入したコードは、以下のとおりです。&lt;br /&gt;
※サンプルコードを少しいじっています。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:2ab0959d-a82e-44f7-ba40-a1db8c8fd344" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;#pragma once
#define WIN32_LEAN_AND_MEAN 
#include &amp;lt;Windows.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;math.h&amp;gt;
#include ".\include\gsl\gsl_sort.h"
#include ".\include\gsl\gsl_wavelet.h"

BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{
//----
switch(ul_reason_for_call)
{
 case DLL_PROCESS_ATTACH:
 case DLL_THREAD_ATTACH:
 case DLL_THREAD_DETACH:
 case DLL_PROCESS_DETACH:
 break;
}
//----
return(TRUE);
}
//-----------------------------------------------------------------------------
__declspec(dllexport) void __stdcall DWT(double *input,double *out,int Ns,int D,int fs){
 int i;
 int siz = (int)pow(2.0,Ns);
 if(D%2==1)D++;
 if(D&amp;gt;20)D=20;
 
 //配列のコピー
 memcpy(out,input,sizeof(double)*siz); 
 
 //ウェーブレットの初期設定(ウェーブレット名,D値）
 gsl_wavelet *w;
 if(D==2){
  w = gsl_wavelet_alloc(gsl_wavelet_haar,D);
 }else{
  w = gsl_wavelet_alloc(gsl_wavelet_daubechies, D);
   }
  
 //作業領域の確保(数量）
 gsl_wavelet_workspace *work;
 work = gsl_wavelet_workspace_alloc(siz);
 size_t *p = (size_t *)malloc(siz * sizeof(size_t));
 double *abs = (double *)malloc(siz * sizeof (double));
 if (abs == NULL || p== NULL){printf("メモリを確保できません"); exit(0);}
 
 //変換(初期設定,データ,進み幅,作業エリア）
 gsl_wavelet_transform_forward(w, out, 1, siz,work);
    
 //フィルタ作業
 for(i = 0; i &amp;lt; siz; i++) abs[i] = fabs(out[i]);
 gsl_sort_index(p, abs, 1, siz);
 for(i = 0; (i + fs) &amp;lt; siz; i++) out[p[i]] = 0;
    
 //逆変換
 gsl_wavelet_transform_inverse(w, out, 1, siz, work);
}
//----------------------------------------------------------------------------&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h5&gt;DEFファイルの内容を記入&lt;/h5&gt;以下の様に作成しました。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:df2eb4d9-6e7a-4306-bd16-cb9fb29d3390" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;LIBRARY GSLwrapper

EXPORTS
 DWT&lt;/pre&gt;&lt;/div&gt;&lt;h5&gt;&amp;nbsp;&lt;/h5&gt;&lt;h5&gt;ビルドと配置&lt;/h5&gt;ビルドに成功したら、Releaseフォルダ内のプロジェクト名.dllとlibuフォルダ内のgel.dllおよびgslcblas.dllをコピーし、&lt;span style="color: red;"&gt;MT4のlibrariesフォルダにプロジェクト.dllをペースト&lt;/span&gt;し&lt;span style="color: red;"&gt;terminal.exe と同じフォルダ内にgel.dllおよびgslcblas.dllをペースト&lt;/span&gt;します。（&lt;span style="color: red;"&gt;追記&lt;/span&gt;）※教えて頂いた方ありがとうございます。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: red;"&gt;※再追記&lt;/div&gt;&lt;div style="color: red;"&gt;上記コードをそのまま作動させるとメモリリークが発生するそうです。&lt;/div&gt;&lt;div style="color: red;"&gt;修正方法は、コメント欄をご覧ください。&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;&lt;span style="font-family: Terminal; font-size: x-small;"&gt;呼び出し側のMQL4のコードを作成&lt;/span&gt;&lt;/h5&gt;以下の様なサンプルコードを作成しました。&lt;br /&gt;
&lt;pre&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//|                                                      DWT_GSL.mq4 |
//|                                        Copyright ｩ 2012, bighope |
//|                       http://expertadviser-bighope.blogspot.com/ |
//+------------------------------------------------------------------+
&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;copyright&lt;/span&gt; &lt;span style="color: teal;"&gt;"Copyright ｩ 2012, bighope"
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;link&lt;/span&gt;      &lt;span style="color: teal;"&gt;"http://expertadviser-bighope.blogspot.com/"

&lt;/span&gt;&lt;span style="color: blue;"&gt;#import&lt;/span&gt; &lt;span style="color: teal;"&gt;"GSLwrapper.dll"
&lt;/span&gt;   &lt;span style="color: blue;"&gt;void&lt;/span&gt; DWT&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt;&lt;span style="color: navy;"&gt;&amp;amp;&lt;/span&gt; input&lt;span style="color: navy;"&gt;[],&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt;&lt;span style="color: navy;"&gt;&amp;amp;&lt;/span&gt; out&lt;span style="color: navy;"&gt;[],&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; Ns&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; k&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; fs&lt;span style="color: navy;"&gt;);
&lt;/span&gt;&lt;span style="color: blue;"&gt;#import

#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_chart_window
#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_buffers&lt;/span&gt; &lt;span style="color: green;"&gt;1
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color1&lt;/span&gt; &lt;span style="color: #333399;"&gt;Yellow

&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       N &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;10&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//対象データ数（２のＮ乗）
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       D &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;4&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//ウェーブレットD数※2は、Harr
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       max &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;50&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//最大値からどれだけ残すか
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       Shift &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//データのシフト
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; IDWT&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; in&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; out&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;    DWTPeriod &lt;span style="color: navy;"&gt;;
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; init&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;&lt;span style="color: grey;"&gt;//---- indicators
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;IDWT&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  
   DWTPeriod &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;MathPow&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;N&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   
   &lt;span style="color: blueviolet;"&gt;ArrayResize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;in&lt;span style="color: navy;"&gt;,&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;ArrayResize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;out&lt;span style="color: navy;"&gt;,&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;);
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; deinit&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; start&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; counted_bars&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;IndicatorCounted&lt;/span&gt;&lt;span style="color: navy;"&gt;();
&lt;/span&gt;   &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;counted_bars&lt;span style="color: navy;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;ArrayInitialize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;in&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;ArrayInitialize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;out&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; k&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;++)&lt;/span&gt; in&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]=&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;+&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;   
   DWT&lt;span style="color: navy;"&gt;(&lt;/span&gt;in&lt;span style="color: navy;"&gt;,&lt;/span&gt;out&lt;span style="color: navy;"&gt;,&lt;/span&gt;N&lt;span style="color: navy;"&gt;,&lt;/span&gt;D&lt;span style="color: navy;"&gt;,&lt;/span&gt;max&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   
   &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;k&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;++)&lt;/span&gt;IDWT&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; out&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;];

&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+

&lt;/span&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;h2&gt;手順４&lt;/h2&gt;MT4を作動させて、DWT_GSLを作動させてみる。&lt;br /&gt;
※インジケータのパラメータ【全般】の(ALL DLL imports) のチェックをいれること。&lt;br /&gt;
&amp;nbsp;&lt;a href="http://lh3.ggpht.com/-yyBsaIhr_Xc/Tw7suiaKC5I/AAAAAAAAAiA/vSaYvdPWohE/s1600-h/162.png"&gt;&lt;img alt="16" border="0" height="234" src="http://lh4.ggpht.com/-IeaBglMCoZI/Tw7svNIJAjI/AAAAAAAAAiI/4O5jKxrzggs/16_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="16" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;strike&gt;テストの結果、Experts欄に【 DWT_GSL USDJPY,M5: cannot load library 'GSLwrapper.dll' (error 126)】と表示されインジケータが作動しなかった。ちなみに、XP32bit、MT4.00 Build409 を使用しています。&lt;/strike&gt;&lt;br /&gt;
&lt;strike&gt;上記のようにエラーが発生した場合は、librariesフォルダにPathを通すことで対応します。&lt;/strike&gt;&lt;br /&gt;
&lt;strike&gt;【マイコンピュータ】右クリック―【プロパティ（R）】―【詳細設定】―【環境変数（N)】―【システム環境変数（S)】    &lt;br /&gt;
【Pathを選択】―【編集】―一番最後に【;C:\Program Files\MetaTrader 4\experts\libraries】と記入&lt;/strike&gt;&lt;br /&gt;
&lt;strike&gt;※デフォルト設定の場合です。各MT4によって調整が必要です。&lt;/strike&gt;&lt;br /&gt;
&lt;strike&gt;※\は、￥マークの半角です。&lt;/strike&gt;&lt;br /&gt;
&lt;strike&gt;&lt;span style="color: red;"&gt;※Pathを追加するだなので、既存の情報を変更しないように注意してください。&lt;/span&gt;&lt;/strike&gt;&lt;br /&gt;
作業を終了後MT4を立ち上げると、インジケータが表示されます。&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-5tjv4Ka3VPE/Tw7swLMF39I/AAAAAAAAAiU/USXrwiOV9eo/s1600-h/18%25255B2%25255D.png"&gt;&lt;img alt="18" border="0" height="234" src="http://lh5.ggpht.com/-d5TAcNq1i6Y/Tw7swzvPpoI/AAAAAAAAAiY/-xTLpiwY4Yw/18_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="18" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;サンプル&lt;/h2&gt;今回は、VC++2010で説明しましたが、汎用性を考慮してVC++2008で作成した物を添付しておきます。&lt;br /&gt;
ご興味のある方は、&lt;a href="https://docs.google.com/open?id=0B42sh1xkCfgtOTcwOTgyN2EtODgwYy00N2JlLWI2Y2EtMTc3YjRmYmNmNmFk"&gt;こちら&lt;/a&gt; よりDLしてください。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;GSLを取り込むことで、作業の低減とバグの低減が可能になると思います。&lt;br /&gt;
今回、一番手こずった点は、cannot load library でことごとくDLLを読み取ることが出来なかったところです。&lt;br /&gt;
筆者自身、いろいろとOSをいじりすぎているのでもしかしたら、Pathを通す必要がないかもししれません。&lt;br /&gt;
もし、Pathを通すことなくDLLが読み込めたとしたらコメントが頂けると幸いです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-7826021240481853695?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4un6_5rxd5NTWmn_x05Xx9tfnAY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4un6_5rxd5NTWmn_x05Xx9tfnAY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4un6_5rxd5NTWmn_x05Xx9tfnAY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4un6_5rxd5NTWmn_x05Xx9tfnAY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/6Id10_CJRpg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/7826021240481853695/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2012/01/gslmt4.html#comment-form" title="3 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/7826021240481853695?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/7826021240481853695?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/6Id10_CJRpg/gslmt4.html" title="GSLをMT4で使う■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-CMGWzvSuN8E/Tw7sZ5x_ryI/AAAAAAAAAf8/y8QTSMiVPj4/s72-c/1_thumb1.png?imgmax=800" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2012/01/gslmt4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8GR3kyfCp7ImA9WhRXF0k.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-8903558357628470822</id><published>2011-12-25T01:36:00.002+09:00</published><updated>2011-12-25T01:40:26.794+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-25T01:40:26.794+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><title>パターン認識の精度を向上させる。■■■</title><content type="html">今回は、前回の内容を用いて認証精度の向上を図ってみました。&lt;br /&gt;
実は、ウェーブレットの事を調べていて、別階級のウェーブレット係数は、そのままでは比較できない事、もし比較する場合には、変換作業が必要であることがわかりました。その変換作業を用いることで認証制度の向上に取り組んだわけです。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;スケール係数の比較は不要&lt;/h2&gt;スケール係数の数値を変更して確認してみました。以下がその画像です。&lt;br /&gt;
※白線：無加工 ※黄線：スケール係数＋0.05 ※赤線：スケール係数＋0.1 &lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-_V1TDP0i6I8/TvX_hLnHlXI/AAAAAAAAAeU/PQjcDnvQEWw/s1600-h/%2525C2%2525B9%2525C2%2525B1%2525C3%2525BC%2525C3%2525AB%25255B2%25255D.png"&gt;&lt;img alt="スケール" border="0" height="208" src="http://lh5.ggpht.com/-acqe4QXDzWs/TvX_h_UIAGI/AAAAAAAAAeY/NmMW082dg0I/%2525C2%2525B9%2525C2%2525B1%2525C3%2525BC%2525C3%2525AB_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="スケール" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
この画像でわかるとおり、波形の形状には変化がなく、位置が変化したにすぎません。その為、パターン認証では不要な要素であることがわかります。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;ウェーブレット係数の変換作業&lt;/h2&gt;まず、変換作業に使用する重みを作成しました。&lt;br /&gt;
これは、ウェーブレット変換する際に乗算されるsqr（1/√2＝0.70710678）を各階級に応じて除算するものです。&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-m71YWMNTl6U/TvX_ibjmBuI/AAAAAAAAAeg/uMw04DBJgks/s1600-h/Image.png"&gt;&lt;img alt="重み" border="0" height="72" src="http://lh3.ggpht.com/-BJ0Y8sVDQSY/TvX_i0D21XI/AAAAAAAAAes/c6QYsE7qGTY/Image.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="重み" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
変換作業を画像で見てみると、以下の図のとおりとなります。&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-3tILbTzi_q0/TvX_j711AWI/AAAAAAAAAe0/PaKIwaDYWS4/s1600-h/wbr%25255B2%25255D.png"&gt;&lt;img alt="wbr" border="0" height="182" src="http://lh3.ggpht.com/-XCX8eRwaao0/TvX_lPBJdeI/AAAAAAAAAe4/JBIKDpvckx8/wbr_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="wbr" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
実際に使用するのは、黄線のように高周波成分を削除した形の物を使用するわけです。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;認識精度の確認&lt;/h2&gt;前回のコードに上記コードを追加し、以下のコードを修正します。赤線が変更箇所です。&lt;br /&gt;
ちなみに、ｙ＝０から１に変更したのは、g[0]に格納されているスケール係数を排除するためです。&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-56vjQdHI0nA/TvX_loG9wxI/AAAAAAAAAfA/gP9EV3uLej4/s1600-h/%2525C3%2525BD%2525C2%2525A0%25255B2%25255D.png"&gt;&lt;img alt="追加" border="0" height="116" src="http://lh4.ggpht.com/-Sz2uke9zg-A/TvX_mLMeJSI/AAAAAAAAAfI/o5Jz10d-q_c/%2525C3%2525BD%2525C2%2525A0_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="追加" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
結果を見ると、上図が、変更前で下図が、変更後のチャートです。&lt;br /&gt;
※赤線：基本波形 ※黄色：一番近い過去の波形 ※白線：２・３番目に近い過去の線 です。&lt;br /&gt;
【変更前】&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-Klos3XqgDIM/TvX_m-IOSJI/AAAAAAAAAfU/Rrd78XpLPQQ/s1600-h/%2525C3%2525B4M%25255B2%25255D.png"&gt;&lt;img alt="変更前" border="0" height="182" src="http://lh6.ggpht.com/-rSidev6h20E/TvX_ns4mEaI/AAAAAAAAAfY/5GQWtJ1_yK4/%2525C3%2525B4M_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="変更前" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
【変更後】&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-tOIA7qgyRqY/TvX_oajbE-I/AAAAAAAAAfg/ZswK_-uONYo/s1600-h/%2525C3%2525B4%25255B2%25255D.png"&gt;&lt;img alt="変更" border="0" height="182" src="http://lh5.ggpht.com/-61CGXtZOaVc/TvX_pB6zpgI/AAAAAAAAAfo/qa0Kw6sX2n0/%2525C3%2525B4_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="変更" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
使用した結果、1番近い過去の波形及び2番目と同じ波形を導いていますが、３番目の波形が異なることがわかります。（用いるデータが悪く変化がわかりづらい。。。orz）数値的には、悪くなっていますが、パターン認識の精度は、向上した、、、はずです。＾＾；&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;その他&lt;/h2&gt;３か月にわたり開催されたATC2011が修了しました。参加されたみなさん、お疲れ様でした。そして、応援して頂いた皆様、期待に応えられず申し訳ありません。今年は、第1週目にほぼ敗北宣言をするような結果になってしまいました。私の力量不足が招いた結果だと思っています。しかし、ATCへの参加は、面白いですよ＾＾；来年は、みなさんも参加されてはいかがでしょう？世界を相手に勝負できますよ(^o^)丿それでは、良いお年を！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-8903558357628470822?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SAbr9DPw0HT91FnUUVq72hGOxcM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SAbr9DPw0HT91FnUUVq72hGOxcM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SAbr9DPw0HT91FnUUVq72hGOxcM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SAbr9DPw0HT91FnUUVq72hGOxcM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/5ORsHfIhLnw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/8903558357628470822/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/12/blog-post_25.html#comment-form" title="3 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/8903558357628470822?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/8903558357628470822?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/5ORsHfIhLnw/blog-post_25.html" title="パターン認識の精度を向上させる。■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-acqe4QXDzWs/TvX_h_UIAGI/AAAAAAAAAeY/NmMW082dg0I/s72-c/%2525C2%2525B9%2525C2%2525B1%2525C3%2525BC%2525C3%2525AB_thumb.png?imgmax=800" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/12/blog-post_25.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QFSXgzcSp7ImA9WhRXEE4.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-927589633817329736</id><published>2011-12-06T00:54:00.002+09:00</published><updated>2011-12-16T21:41:58.689+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-16T21:41:58.689+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><category scheme="http://www.blogger.com/atom/ns#" term="MQL4" /><title>ウェーブレットを用いたパターン認識■■■</title><content type="html">&lt;span style="color: red;"&gt;※2011/12/9追記（コードのバグ修正） しました。&lt;/span&gt;&lt;br /&gt;
ウェーブレットの勉強をしている際に、ふと思いついたことを形にしてみました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;   パターン認識とは&lt;/h2&gt;今回ここで挙げるパターン認識とは、過去のチャートの形から、現在のチャートの形に近いものを選択し、その後の動きを元に、近未来のチャートの動きを予測しようというものです。&lt;br /&gt;
&lt;br /&gt;
ここで問題になったのが、2点。&lt;br /&gt;
１．どのような形を用いるか。&lt;br /&gt;
※今回は、ウェーブレット変換した形を採用しました。&lt;br /&gt;
２．どのように予測するか。&lt;br /&gt;
※最も近い形３ヶ所をピックアップし、その2時間後までの高値、安値を導く。その線を表示させて、検証する。（実は、まだ検討中。）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;   ウェーブレット&lt;/h2&gt;今回使用したウェーブレットは、&lt;a href="http://expertadviser-bighope.blogspot.com/2009/08/blog-post.html"&gt;前に作ったHarrのウェーブレット&lt;/a&gt;をウェーブレット変換のみ使用しています。&lt;br /&gt;
前作のウェーブレット変換を完了させるとｇ[]配列に以下の様に変換された数値が、格納される。&lt;br /&gt;
（L＝２＾N：N=5の場合）&lt;br /&gt;
ｇ[0]＝レベルNのスケーリング係数&lt;br /&gt;
ｇ[1]=レベルNのウェーブレット係数&lt;br /&gt;
ｇ[2~3]=レベルN-1のウェーブレット係数&lt;br /&gt;
ｇ[4~7]=レベルN-2のウェーブレット係数&lt;br /&gt;
ｇ[8~15]=レベルN-3のウェーブレット係数&lt;br /&gt;
ｇ[16~31]=レベルN-4のウェーブレット係数&lt;br /&gt;
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・&lt;br /&gt;
ここで、最下層レベルN-4（高周波領域）をフィルタリングによりのウェーブレット係数を0にすると、格納されているデータは、半分の量になります。画像で見てみると、上がｇ[]配列のフィルタ前、下がフィルタ後です。さらに、レベルN－2までフィルタリングするとデータ量は、さらに半減します。&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-sZYFsldal6c/TtzpGsBNSXI/AAAAAAAAAdg/XGBgKqpqVFA/s1600-h/N02.png"&gt;&lt;img alt="N0" border="0" height="231" src="http://lh4.ggpht.com/-tZYRDwhGIfw/TtzpHFL_ilI/AAAAAAAAAdo/yg1T_1dtIOk/N0_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="N0" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
このように圧縮(加工）されたデータをパターン認識の形として採用しました。&lt;br /&gt;
ちなみに、レベルN-4でフィルタリングしたデータを再変換をすると、以下の様な画像となります。&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-_DXvWkWA4Yo/TtzpH9O88GI/AAAAAAAAAds/oEWQe6b4RrQ/s1600-h/N22.png"&gt;&lt;img alt="N2" border="0" height="243" src="http://lh4.ggpht.com/-iuIMWFa6Zvk/TtzpI9zYXwI/AAAAAAAAAd0/Mlnaty2hE5M/N2_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="N2" width="244" /&gt;&lt;/a&gt;&lt;br /&gt;
圧縮（加工）したデータを用いることで、パターン認識する測点が減り、ノイズの削除効果もあるためウェーブレット変換を採用しました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;   その他もろもろ&lt;/h2&gt;照合するパターンの抽出間隔を１日（1440分＝&lt;span style="color: red;"&gt;86400秒&lt;/span&gt;）にしてあります。これは、抽出作業の際に特異な期間（短期間）に抽出箇所が集中するのを防ぐ役割と、前回のブログの話で出てきた時間単位の平均値（期待値）の差を低減させるためです。また、夏時間の影響をカバーするために夏時間の変換コードも追加しておきました。&lt;br /&gt;
&lt;span style="color: red;"&gt;※5分足様に作成されています。 &lt;/span&gt;&lt;br /&gt;
採用した値は、すべてOpenを採用しています。これは、演算負荷を低減させるために採用した値です。お好みで調整ください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;   コード&lt;/h2&gt;&lt;pre&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//|                                                         DWTP.mq4 |
//|                                        Copyright ｩ 2011, bighope |
//|                       http://expertadviser-bighope.blogspot.com/ |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;copyright&lt;/span&gt; &lt;span style="color: teal;"&gt;"Copyright ｩ 2011, bighope"
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;link&lt;/span&gt;      &lt;span style="color: teal;"&gt;"http://expertadviser-bighope.blogspot.com/"

&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_chart_window
#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_buffers&lt;/span&gt; &lt;span style="color: green;"&gt;6
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color1&lt;/span&gt; &lt;span style="color: #333399;"&gt;Red
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color2&lt;/span&gt; &lt;span style="color: #333399;"&gt;Red
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color3&lt;/span&gt; &lt;span style="color: #333399;"&gt;Orange
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color4&lt;/span&gt; &lt;span style="color: #333399;"&gt;Orange
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color5&lt;/span&gt; &lt;span style="color: #333399;"&gt;Yellow
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color6&lt;/span&gt; &lt;span style="color: #333399;"&gt;Yellow

&lt;/span&gt;&lt;span style="color: blue;"&gt;#define&lt;/span&gt; sqr &lt;span style="color: green;"&gt;0.70710678

&lt;/span&gt;&lt;span style="color: grey;"&gt;//---- input parameters
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       N      &lt;span style="color: navy;"&gt;=&lt;/span&gt;   &lt;span style="color: green;"&gt;7&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//対象データ数（２のＮ乗）
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       HBs    &lt;span style="color: navy;"&gt;=&lt;/span&gt;   &lt;span style="color: green;"&gt;5&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//高周波カット位置
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       LBs    &lt;span style="color: navy;"&gt;=&lt;/span&gt;   &lt;span style="color: green;"&gt;7&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//低周波カット位置
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       Shift  &lt;span style="color: navy;"&gt;=&lt;/span&gt;   &lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//データのシフト
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;       loop   &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;500&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//検索回数
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;    DWTPeriod &lt;span style="color: navy;"&gt;;
&lt;/span&gt;&lt;span style="color: grey;"&gt;//---- buffers
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; Hi0Band&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; Lw0Band&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; Hi1Band&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; Lw1Band&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; Hi2Band&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; Lw2Band&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; g&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; gs&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; now&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; CusPeriod&lt;span style="color: navy;"&gt;;
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; init&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;&lt;span style="color: grey;"&gt;//---- indicators
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;4&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;5&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexShift&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexShift&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexShift&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexShift&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexShift&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;4&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexShift&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;5&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;Hi0Band&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;Lw0Band&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;Hi1Band&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;Lw1Band&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;4&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;Hi2Band&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;5&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;Lw2Band&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   
   CusPeriod &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;MathPow&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;N&lt;span style="color: navy;"&gt;-&lt;/span&gt;HBs&lt;span style="color: navy;"&gt;+&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   DWTPeriod &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;MathPow&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;N&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;ArrayResize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;g&lt;span style="color: navy;"&gt;,&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;ArrayResize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;gs&lt;span style="color: navy;"&gt;,&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;ArrayResize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;now&lt;span style="color: navy;"&gt;,&lt;/span&gt;CusPeriod&lt;span style="color: navy;"&gt;);
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; deinit&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;Comment&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: teal;"&gt;""&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;  
&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//|  function                                                        |
//+------------------------------------------------------------------+ 
&lt;/span&gt;&lt;span style="color: blue;"&gt;bool&lt;/span&gt; str&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; index&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; B&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; &lt;span style="color: navy;"&gt;&amp;amp;&lt;/span&gt;No&lt;span style="color: navy;"&gt;[],&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; &lt;span style="color: navy;"&gt;&amp;amp;&lt;/span&gt;BL&lt;span style="color: navy;"&gt;[]){
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; Hindex&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   Hindex&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;ArrayMaximum&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;BL&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   
   &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;BL&lt;span style="color: navy;"&gt;[&lt;/span&gt;Hindex&lt;span style="color: navy;"&gt;]&amp;gt;&lt;/span&gt;B&lt;span style="color: navy;"&gt;){
&lt;/span&gt;      BL&lt;span style="color: navy;"&gt;[&lt;/span&gt;Hindex&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; B&lt;span style="color: navy;"&gt;;
&lt;/span&gt;      No&lt;span style="color: navy;"&gt;[&lt;/span&gt;Hindex&lt;span style="color: navy;"&gt;]&lt;/span&gt;  &lt;span style="color: navy;"&gt;=&lt;/span&gt; index&lt;span style="color: navy;"&gt;;
&lt;/span&gt;      &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;true&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: navy;"&gt;}
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;false&lt;/span&gt;&lt;span style="color: navy;"&gt;);
}

&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| ウェーブレット変換                                               |
//+------------------------------------------------------------------+ 
&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; DWT&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; &lt;span style="color: navy;"&gt;&amp;amp;&lt;/span&gt;input&lt;span style="color: navy;"&gt;[],&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; &lt;span style="color: navy;"&gt;&amp;amp;&lt;/span&gt;out&lt;span style="color: navy;"&gt;[],&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; Ns&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; DWTf&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; Hibs&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; Lwbs&lt;span style="color: navy;"&gt;){
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; z&lt;span style="color: navy;"&gt;,&lt;/span&gt;k&lt;span style="color: navy;"&gt;;
&lt;/span&gt;    &lt;span style="color: blue;"&gt;double&lt;/span&gt; difference&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;z&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt; &lt;span style="color: navy;"&gt;;&lt;/span&gt; z&lt;span style="color: navy;"&gt;&amp;lt;=&lt;/span&gt;Ns &lt;span style="color: navy;"&gt;;&lt;/span&gt;z&lt;span style="color: navy;"&gt;++){
&lt;/span&gt;      DWTf &lt;span style="color: navy;"&gt;=&lt;/span&gt;DWTf&lt;span style="color: navy;"&gt;/&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;      &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;k &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt; k &lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt; DWTf&lt;span style="color: navy;"&gt;;&lt;/span&gt; k&lt;span style="color: navy;"&gt;++){
&lt;/span&gt;         out&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt;         &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: navy;"&gt;(&lt;/span&gt;input&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;*&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;input&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;*&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;+&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;])*&lt;/span&gt;sqr&lt;span style="color: navy;"&gt;;
&lt;/span&gt;         difference &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: navy;"&gt;(&lt;/span&gt;input&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;*&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]-&lt;/span&gt;input&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;*&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;+&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;])*&lt;/span&gt;sqr&lt;span style="color: navy;"&gt;;
&lt;/span&gt;         &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;((&lt;/span&gt;Lwbs&lt;span style="color: navy;"&gt;&amp;gt;=&lt;/span&gt;z&lt;span style="color: navy;"&gt;)&amp;amp;&amp;amp;(&lt;/span&gt;z&lt;span style="color: navy;"&gt;&amp;gt;=&lt;/span&gt;Hibs&lt;span style="color: navy;"&gt;)){&lt;/span&gt;out&lt;span style="color: navy;"&gt;[&lt;/span&gt;DWTf&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; difference&lt;span style="color: navy;"&gt;;}&lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;span style="color: navy;"&gt;{&lt;/span&gt;out&lt;span style="color: navy;"&gt;[&lt;/span&gt;DWTf&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;}&lt;/span&gt;&lt;span style="color: grey;"&gt;//フィルタリング作業
&lt;/span&gt;       &lt;span style="color: navy;"&gt;}
&lt;/span&gt;      &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;Ns&lt;span style="color: navy;"&gt;&amp;gt;&lt;/span&gt;z&lt;span style="color: navy;"&gt;)&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;ArrayCopy&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;input&lt;span style="color: navy;"&gt;,&lt;/span&gt;out&lt;span style="color: navy;"&gt;);&lt;/span&gt;  
   &lt;span style="color: navy;"&gt;}
&lt;/span&gt; &lt;span style="color: navy;"&gt;}

&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//|夏時間関数                                                        |
//+------------------------------------------------------------------+ 
&lt;/span&gt;&lt;span style="color: blue;"&gt;bool&lt;/span&gt;  DST&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;datetime&lt;/span&gt; Now&lt;span style="color: navy;"&gt;)&lt;/span&gt;&lt;span style="color: grey;"&gt;//夏時間にtrue
&lt;/span&gt;&lt;span style="color: navy;"&gt;{
&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; Check &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;false&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; Start_Month    &lt;span style="color: navy;"&gt;=&lt;/span&gt;              &lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//開始月
&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; Start_Week     &lt;span style="color: navy;"&gt;=&lt;/span&gt;              &lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//第○週
&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; Start_DayofWeek&lt;span style="color: navy;"&gt;=&lt;/span&gt;              &lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//0:日曜日
&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; End_Month      &lt;span style="color: navy;"&gt;=&lt;/span&gt;             &lt;span style="color: green;"&gt;11&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//終了月
&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; End_Week       &lt;span style="color: navy;"&gt;=&lt;/span&gt;              &lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//第○週
&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; End_DayofWeek  &lt;span style="color: navy;"&gt;=&lt;/span&gt;              &lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;&lt;span style="color: grey;"&gt;//0:日曜日
&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; Year_Now       &lt;span style="color: navy;"&gt;=&lt;/span&gt;  &lt;span style="color: blueviolet;"&gt;TimeYear&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;Now&lt;span style="color: navy;"&gt;);
&lt;/span&gt; &lt;span style="color: blue;"&gt;datetime&lt;/span&gt; DST_Start&lt;span style="color: navy;"&gt;,&lt;/span&gt;DST_End &lt;span style="color: navy;"&gt;;
&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; MakeTime&lt;span style="color: navy;"&gt;;
&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; Day_S&lt;span style="color: navy;"&gt;,&lt;/span&gt;Day_E&lt;span style="color: navy;"&gt;;
&lt;/span&gt; 
 &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;Year_Now &lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color: green;"&gt;2000&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt; &lt;span style="color: blue;"&gt;switch&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;Year_Now&lt;span style="color: navy;"&gt;)
&lt;/span&gt; &lt;span style="color: navy;"&gt;{
&lt;/span&gt;  &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;2000&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'02.04.2000'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_End   &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'29.10.2000'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;  &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;2001&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'01.04.2001'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_End   &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'28.10.2001'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;  &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;2002&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'07.04.2002'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_End   &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'27.10.2002'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;  &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;2003&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'06.04.2003'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_End   &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'26.10.2003'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;  &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;2004&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'04.04.2004'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_End   &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'31.10.2004'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;  &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;2005&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'03.04.2005'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_End   &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'30.10.2005'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;  &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;2006&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'02.04.2006'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_End   &lt;span style="color: navy;"&gt;=&lt;/span&gt; D&lt;span style="color: teal;"&gt;'29.10.2006'&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;  &lt;span style="color: blue;"&gt;default&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;            MakeTime &lt;span style="color: navy;"&gt;=&lt;/span&gt;Year_Now &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: teal;"&gt;"."&lt;/span&gt;&lt;span style="color: navy;"&gt;+&lt;/span&gt;Start_Month &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: teal;"&gt;".01"&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt; 
            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;StrToTime&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;MakeTime&lt;span style="color: navy;"&gt;)&lt;/span&gt; &lt;span style="color: navy;"&gt;-&lt;/span&gt; &lt;span style="color: green;"&gt;86400.0&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            Day_S &lt;span style="color: navy;"&gt;=&lt;/span&gt; Start_Week&lt;span style="color: navy;"&gt;*&lt;/span&gt;&lt;span style="color: green;"&gt;7&lt;/span&gt; &lt;span style="color: navy;"&gt;-&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;TimeDayOfWeek&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;DST_Start&lt;span style="color: navy;"&gt;)&lt;/span&gt; &lt;span style="color: navy;"&gt;+&lt;/span&gt; Start_DayofWeek&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            MakeTime &lt;span style="color: navy;"&gt;=&lt;/span&gt; Year_Now &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: teal;"&gt;"."&lt;/span&gt;&lt;span style="color: navy;"&gt;+&lt;/span&gt; Start_Month  &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: teal;"&gt;"."&lt;/span&gt; &lt;span style="color: navy;"&gt;+&lt;/span&gt; Day_S&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_Start &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;StrToTime&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;MakeTime&lt;span style="color: navy;"&gt;);
&lt;/span&gt;            
            MakeTime &lt;span style="color: navy;"&gt;=&lt;/span&gt;Year_Now &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: teal;"&gt;"."&lt;/span&gt;&lt;span style="color: navy;"&gt;+&lt;/span&gt;End_Month &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: teal;"&gt;".01"&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt; 
            DST_End &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;StrToTime&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;MakeTime&lt;span style="color: navy;"&gt;)&lt;/span&gt; &lt;span style="color: navy;"&gt;-&lt;/span&gt; &lt;span style="color: green;"&gt;86400.0&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            Day_E &lt;span style="color: navy;"&gt;=&lt;/span&gt; End_Week&lt;span style="color: navy;"&gt;*&lt;/span&gt;&lt;span style="color: green;"&gt;7&lt;/span&gt; &lt;span style="color: navy;"&gt;-&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;TimeDayOfWeek&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;DST_End&lt;span style="color: navy;"&gt;)&lt;/span&gt; &lt;span style="color: navy;"&gt;+&lt;/span&gt; End_DayofWeek&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            MakeTime &lt;span style="color: navy;"&gt;=&lt;/span&gt; Year_Now &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: teal;"&gt;"."&lt;/span&gt;&lt;span style="color: navy;"&gt;+&lt;/span&gt; End_Month  &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: teal;"&gt;"."&lt;/span&gt; &lt;span style="color: navy;"&gt;+&lt;/span&gt; Day_E&lt;span style="color: navy;"&gt;;
&lt;/span&gt;            DST_End &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;StrToTime&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;MakeTime&lt;span style="color: navy;"&gt;);
&lt;/span&gt;            &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt; &lt;span style="color: navy;"&gt;}
&lt;/span&gt; 
 &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;DST_Start &lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt; Now &lt;span style="color: navy;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;  Now &lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt; DST_End&lt;span style="color: navy;"&gt;)&lt;/span&gt;Check &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blue;"&gt;true&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt; 
 &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;Check&lt;span style="color: navy;"&gt;);
&lt;/span&gt; &lt;span style="color: navy;"&gt;}
&lt;/span&gt; 
&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+

&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; start&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{

&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; counted_bars&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;IndicatorCounted&lt;/span&gt;&lt;span style="color: navy;"&gt;();
&lt;/span&gt;   &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;counted_bars&lt;span style="color: navy;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: magenta;"&gt;Volume&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;]&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; y&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;k&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;index&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;datetime&lt;/span&gt; day&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt;    BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;]={&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;};
&lt;/span&gt;   &lt;span style="color: blue;"&gt;double&lt;/span&gt;     L&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;]={&lt;/span&gt;&lt;span style="color: green;"&gt;1000.0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;1000.0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;1000.0&lt;/span&gt;&lt;span style="color: navy;"&gt;};
&lt;/span&gt;   &lt;span style="color: blue;"&gt;double&lt;/span&gt;    R&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;1000.0&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;double&lt;/span&gt;    Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;]={&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;};
&lt;/span&gt;   &lt;span style="color: blue;"&gt;double&lt;/span&gt;    Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;]={&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;};
&lt;/span&gt;   
   &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; i&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;i&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;loop&lt;span style="color: navy;"&gt;;&lt;/span&gt;i&lt;span style="color: navy;"&gt;++){
&lt;/span&gt;      &lt;span style="color: blueviolet;"&gt;ArrayInitialize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;g&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;      &lt;span style="color: blueviolet;"&gt;ArrayInitialize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;gs&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: red;"&gt;//※修正箇所&lt;/span&gt;
      &lt;span style="background-color: #cccccc;"&gt;day&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;=&lt;/span&gt;&lt;span style="background-color: #cccccc;"&gt; &lt;/span&gt;&lt;span style="background-color: #cccccc; color: magenta;"&gt;Time&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;[&lt;/span&gt;&lt;span style="background-color: #cccccc;"&gt;Shift&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;]-&lt;/span&gt;&lt;span style="background-color: #cccccc; color: green;"&gt;84400&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;*&lt;/span&gt;&lt;span style="background-color: #cccccc;"&gt;i&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;;&lt;/span&gt;
　　&lt;span style="background-color: white; color: #cccccc;"&gt; &lt;span style="color: #666666;"&gt;//day=Time[Shift]-1440*i;訂正前&lt;/span&gt;
&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;     &lt;span style="background-color: #cccccc;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;(&lt;/span&gt;&lt;span style="background-color: #cccccc;"&gt;DST&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;(&lt;/span&gt;&lt;span style="background-color: #cccccc;"&gt;day&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;))&lt;/span&gt;&lt;span style="background-color: #cccccc;"&gt;day&lt;/span&gt;&lt;span style="background-color: #cccccc; color: navy;"&gt;-=&lt;span style="color: #38761d;"&gt;3600&lt;/span&gt;;&lt;/span&gt;
　　&lt;span style="color: #666666;"&gt;//if(DST(day))day--;訂正前&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;&lt;span style="color: #666666;"&gt;&lt;span style="color: red;"&gt;//※訂正箇所ここまで&lt;/span&gt;&amp;nbsp;&lt;/span&gt;
&lt;/span&gt;      &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;i&lt;span style="color: navy;"&gt;!=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt;index &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;iBarShift&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: #333399;"&gt;NULL&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;day&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: blue;"&gt;true&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;      &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;index&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;){&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Print&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: teal;"&gt;"Orver data"&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;i&lt;span style="color: navy;"&gt;);&lt;/span&gt; &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;}
&lt;/span&gt;      &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;k&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;++)&lt;/span&gt; g&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]=(&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;+&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;index&lt;span style="color: navy;"&gt;]-&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;+&lt;/span&gt;index&lt;span style="color: navy;"&gt;])*&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;MathPow&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;10&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: magenta;"&gt;Digits&lt;/span&gt;&lt;span style="color: navy;"&gt;-&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;      DWT&lt;span style="color: navy;"&gt;(&lt;/span&gt;g&lt;span style="color: navy;"&gt;,&lt;/span&gt;gs&lt;span style="color: navy;"&gt;,&lt;/span&gt;N&lt;span style="color: navy;"&gt;,&lt;/span&gt;DWTPeriod&lt;span style="color: navy;"&gt;,&lt;/span&gt;HBs&lt;span style="color: navy;"&gt;,&lt;/span&gt;LBs&lt;span style="color: navy;"&gt;);
&lt;/span&gt;      
      &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;i&lt;span style="color: navy;"&gt;==&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;){
&lt;/span&gt;         &lt;span style="color: blueviolet;"&gt;ArrayCopy&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;now&lt;span style="color: navy;"&gt;,&lt;/span&gt;gs&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;CusPeriod&lt;span style="color: navy;"&gt;);
&lt;/span&gt;      &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;span style="color: navy;"&gt;{
&lt;/span&gt;             R&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;             &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;y&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;y&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;CusPeriod&lt;span style="color: navy;"&gt;;&lt;/span&gt;y&lt;span style="color: navy;"&gt;++)&lt;/span&gt; R &lt;span style="color: navy;"&gt;+=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;MathPow&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;now&lt;span style="color: navy;"&gt;[&lt;/span&gt;y&lt;span style="color: navy;"&gt;]-&lt;/span&gt;gs&lt;span style="color: navy;"&gt;[&lt;/span&gt;y&lt;span style="color: navy;"&gt;],&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;             str&lt;span style="color: navy;"&gt;(&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;index&lt;span style="color: navy;"&gt;,&lt;/span&gt;R&lt;span style="color: navy;"&gt;,&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;,&lt;/span&gt;L&lt;span style="color: navy;"&gt;);
&lt;/span&gt;           &lt;span style="color: navy;"&gt;}
&lt;/span&gt;   &lt;span style="color: navy;"&gt;}
&lt;/span&gt;    R&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;1000.0&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;    &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;k&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: green;"&gt;3&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;++){
&lt;/span&gt;      Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: magenta;"&gt;High&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;iHighest&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: #333399;"&gt;NULL&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;MODE_HIGH&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]-&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;)]-&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]];
&lt;/span&gt;      Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: magenta;"&gt;Low&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;iLowest&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: #333399;"&gt;NULL&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;MODE_LOW&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]-&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;)]-&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]];
&lt;/span&gt;      &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;R&lt;span style="color: navy;"&gt;&amp;gt;&lt;/span&gt;L&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;]){&lt;/span&gt;R&lt;span style="color: navy;"&gt;=&lt;/span&gt;L&lt;span style="color: navy;"&gt;[&lt;/span&gt;k&lt;span style="color: navy;"&gt;];&lt;/span&gt;index&lt;span style="color: navy;"&gt;=&lt;/span&gt;k&lt;span style="color: navy;"&gt;;}
&lt;/span&gt;    &lt;span style="color: navy;"&gt;}

&lt;/span&gt;    &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;k&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;k&lt;span style="color: navy;"&gt;++){
&lt;/span&gt;      &lt;span style="color: blue;"&gt;switch&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;index&lt;span style="color: navy;"&gt;){
&lt;/span&gt;         &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;               Hi0Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw0Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Hi1Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw1Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Hi2Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw2Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;         &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;               Hi0Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw0Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Hi1Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw1Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Hi2Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw2Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;         &lt;span style="color: blue;"&gt;case&lt;/span&gt; &lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;               Hi0Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw0Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Hi1Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw1Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Hi2Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Hi&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               Lw2Band&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;+&lt;/span&gt;k&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; Lw&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;]+&lt;/span&gt;&lt;span style="color: magenta;"&gt;Open&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;Shift&lt;span style="color: navy;"&gt;];
&lt;/span&gt;               &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;         &lt;span style="color: blue;"&gt;default&lt;/span&gt;&lt;span style="color: navy;"&gt;:
&lt;/span&gt;               &lt;span style="color: blueviolet;"&gt;Print&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: teal;"&gt;"Err Buffer select"&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;               &lt;span style="color: blue;"&gt;break&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;      &lt;span style="color: navy;"&gt;}
&lt;/span&gt; 
    &lt;span style="color: navy;"&gt;}
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;Comment&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: teal;"&gt;" R = "&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;L&lt;span style="color: navy;"&gt;[&lt;/span&gt;index&lt;span style="color: navy;"&gt;],&lt;/span&gt;&lt;span style="color: teal;"&gt;" : "&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;L&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;],&lt;/span&gt;&lt;span style="color: teal;"&gt;" : "&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;L&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;],&lt;/span&gt;&lt;span style="color: teal;"&gt;" : "&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;L&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;],&lt;/span&gt; &lt;span style="color: teal;"&gt;"   No= "&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;index&lt;span style="color: navy;"&gt;],&lt;/span&gt;&lt;span style="color: teal;"&gt;" : "&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;],&lt;/span&gt;&lt;span style="color: teal;"&gt;" : "&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;],&lt;/span&gt;&lt;span style="color: teal;"&gt;" : "&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;BarNo&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;]);
&lt;/span&gt;  
&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+

&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;h2&gt;   使いかた&lt;/h2&gt;パラメータは、ほぼ前回のウェーブレットの時に用いた物と同じですので省略して、追加したパラメータの説明をすると、【loop】は、検索するデータ量を設定するものです。デフォルトの500とは、過去500日分のデータを照合しなさいと言うことになります。（※設定したデータ量がない場合は、Printでお知らせし、そこでbreakします。）&lt;br /&gt;
&lt;br /&gt;
表示内容の説明&lt;br /&gt;
インジケータを表示すると以下の様になると思います。&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-b6-9IN-W1YY/TtzpJlFqOcI/AAAAAAAAAeA/x8HReWkf4Hk/s1600-h/y0%25255B2%25255D.png"&gt;&lt;img alt="y0" border="0" height="213" src="http://lh4.ggpht.com/-7hntT2_f3wo/TtzpKpJ5-6I/AAAAAAAAAeE/Qim5LJ4eDTU/y0_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="y0" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
各水平ランは、色ごとのペア（3種類のペア）で2時間後までの高値と安値を表示しています。ちなみに赤色のラインが最も近い形の予測値となります。&lt;br /&gt;
コメント欄（画像左上）の【R】は、検索された物がどれだけ近い形を示しているかを表す数値です。（小さい方が良い）【R=最も近かった数値：R１：R2：R3（3種類のR値）】を表示しています。【No】は、検索された値の日数を表します。【No=最も近かった数値の日数（●日前）：R1の日数：R2の日数：R3の日数】&lt;br /&gt;
しばらく作動させると履歴が残りますのでどんな動きだったか検証することもできますが、パラメータ【Shift】の数値を変更しても確認できます。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;   まとめ&lt;/h2&gt;いろいろテストしてみましたが、完全に予測するというものではありません。ただし、Rの数値は小さく各3組の線がほぼ同じ状態になった時に、予測できているかな？と言う程度です。では！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-927589633817329736?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Mpr0zHNFnYSh45JYc9mBMuOYpFs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mpr0zHNFnYSh45JYc9mBMuOYpFs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Mpr0zHNFnYSh45JYc9mBMuOYpFs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mpr0zHNFnYSh45JYc9mBMuOYpFs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/z66OInfIkBU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/927589633817329736/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/12/blog-post.html#comment-form" title="2 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/927589633817329736?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/927589633817329736?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/z66OInfIkBU/blog-post.html" title="ウェーブレットを用いたパターン認識■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-tZYRDwhGIfw/TtzpHFL_ilI/AAAAAAAAAdo/yg1T_1dtIOk/s72-c/N0_thumb.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/12/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUADRXY7eip7ImA9WhRSGUU.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-1738723508129876734</id><published>2011-11-23T02:21:00.001+09:00</published><updated>2011-11-23T02:42:54.802+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-23T02:42:54.802+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><category scheme="http://www.blogger.com/atom/ns#" term="MQL4" /><title>ボリンジャーバンドを作ってみました。■■■</title><content type="html">ＡＴＣ参戦用のＥＡを作るのに時間を取られ、後回しにしてきたことをコツコツと行っています。その中の一つがＲの使い方の習得でした。今回は、Ｒの学習の一環としてボリンジャーバンドもどきを作ってみました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;






ヒストグラムの作成&lt;/h2&gt;
今回は、ＭＱＬ４のスクリプトでＵＳＤＪＰＹＨ１をヒストグラム化してみました。Ｒの勉強になってない。。&lt;br /&gt;
以下がコードです。&lt;br /&gt;
&lt;pre&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//|                                                    Copyprice.mq4 |
//|                                        Copyright ｩ 2009, bighope |
//|                       http://expertadviser-bighope.blogspot.com/ |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;copyright&lt;/span&gt; &lt;span style="color: teal;"&gt;"Copyright ｩ 2009, bighope"
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;link&lt;/span&gt;      &lt;span style="color: teal;"&gt;"http://expertadviser-bighope.blogspot.com/"
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;show_inputs
extern&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Filename  &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: teal;"&gt;"USDJPYH1"&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt; 

&lt;span style="color: blue;"&gt;int&lt;/span&gt; bufindex&lt;span style="color: navy;"&gt;(){
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; hiindex&lt;span style="color: navy;"&gt;,&lt;/span&gt;lowindex&lt;span style="color: navy;"&gt;,&lt;/span&gt;sd&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;double&lt;/span&gt; st&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   hiindex  &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;iHighest&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: #333399;"&gt;NULL&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;MODE_HIGH&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   lowindex &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;iLowest&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: #333399;"&gt;NULL&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;MODE_LOW&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   st &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: magenta;"&gt;High&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;hiindex&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;-&lt;/span&gt; &lt;span style="color: magenta;"&gt;Low&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;lowindex&lt;span style="color: navy;"&gt;];
&lt;/span&gt;   sd &lt;span style="color: navy;"&gt;=&lt;/span&gt; st&lt;span style="color: navy;"&gt;/&lt;/span&gt;&lt;span style="color: magenta;"&gt;Point&lt;/span&gt;&lt;span style="color: navy;"&gt;*&lt;/span&gt;&lt;span style="color: green;"&gt;0.1&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;sd&lt;span style="color: navy;"&gt;);
}

&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; start&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; handle&lt;span style="color: navy;"&gt;,&lt;/span&gt;index&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;bool&lt;/span&gt; ret&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; HL&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;double&lt;/span&gt; Ds&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;   index &lt;span style="color: navy;"&gt;=&lt;/span&gt; bufindex&lt;span style="color: navy;"&gt;();
&lt;/span&gt;   
   &lt;span style="color: blueviolet;"&gt;ArrayResize&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;Ds&lt;span style="color: navy;"&gt;,&lt;/span&gt;index&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   handle&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;FileOpen&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;Filename&lt;span style="color: navy;"&gt;+&lt;/span&gt;&lt;span style="color: teal;"&gt;".csv"&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;FILE_CSV&lt;/span&gt;&lt;span style="color: navy;"&gt;|&lt;/span&gt;&lt;span style="color: #333399;"&gt;FILE_WRITE&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: teal;"&gt;','&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;handle&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt; &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;false&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  
   &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; i&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;i&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: magenta;"&gt;Bars&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;i&lt;span style="color: navy;"&gt;++){
&lt;/span&gt;      HL&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;MathRound&lt;/span&gt;&lt;span style="color: navy;"&gt;((&lt;/span&gt;&lt;span style="color: magenta;"&gt;High&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;i&lt;span style="color: navy;"&gt;]-&lt;/span&gt;&lt;span style="color: magenta;"&gt;Low&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;i&lt;span style="color: navy;"&gt;])*&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;MathPow&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;10&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: magenta;"&gt;Digits&lt;/span&gt;&lt;span style="color: navy;"&gt;))&lt;/span&gt; &lt;span style="color: navy;"&gt;;
&lt;/span&gt;      Ds&lt;span style="color: navy;"&gt;[&lt;/span&gt;HL&lt;span style="color: navy;"&gt;]++;
&lt;/span&gt;   &lt;span style="color: navy;"&gt;}

&lt;/span&gt;   &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;i&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt;i&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;index&lt;span style="color: navy;"&gt;;&lt;/span&gt;i&lt;span style="color: navy;"&gt;++){
&lt;/span&gt;      ret &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;FileWrite&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;handle&lt;span style="color: navy;"&gt;,&lt;/span&gt;i&lt;span style="color: navy;"&gt;,&lt;/span&gt;Ds&lt;span style="color: navy;"&gt;[&lt;/span&gt;i&lt;span style="color: navy;"&gt;]/&lt;/span&gt;&lt;span style="color: magenta;"&gt;Bars&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;      &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;ret&lt;span style="color: navy;"&gt;==&lt;/span&gt;&lt;span style="color: blue;"&gt;false&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: navy;"&gt;}
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;FileClose&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;handle&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;Comment&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: teal;"&gt;"Get Data OK"&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
&lt;/span&gt;
&lt;/pre&gt;
スクリプトを作動させると、・・・//experts/filesにCSVファイルが作られます。&lt;br /&gt;
※これをＲに読み取らせる訳ですが、Ｒのアイコンを右クリック→プロパティを選択し、作業フォルダーのアドレスを変更しておくと、ひと手間省けて便利です。&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-LcHxD4gxM7c/TsvZ6IAMBrI/AAAAAAAAAcQ/7BHXuUlB-SI/s1600-h/syo-to%25255B2%25255D.png"&gt;&lt;img alt="syo-to" border="0" height="244" src="http://lh5.ggpht.com/-nHMRVzZDKb4/TsvZ68_us1I/AAAAAAAAAcU/DuEJV4Q_97s/syo-to_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="syo-to" width="220" /&gt;&lt;/a&gt; &lt;br /&gt;
Rを起動し以下のコードでヒストグラムが表示されます。&lt;br /&gt;
#データの読み込み（リスト形式） &lt;br /&gt;
&amp;nbsp;&lt;span style="color: blue;"&gt;d&amp;lt;-read.csv("UJH1.csv") &lt;/span&gt;#データの代入 &lt;br /&gt;
&amp;nbsp;&lt;span style="color: blue;"&gt;x&amp;lt;-d[[1]] &lt;br /&gt;y&amp;lt;-d[[2]] &lt;/span&gt;#表示 &lt;br /&gt;
&lt;span style="color: blue;"&gt;plot(x,y,main="USDJPU1時間足(Hi-Low)",xlab="pips",ylab="頻度%",xlim=c(0,80), ylim=c(0,0.06),col=1)&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-xiYkv9_T2EQ/TsvZ7q8myKI/AAAAAAAAAcc/zmw5BAUsGdI/s1600-h/R%25255B2%25255D.png"&gt;&lt;img alt="ｒ" border="0" height="244" src="http://lh5.ggpht.com/-OLrJc2armIQ/TsvZ8dM8pGI/AAAAAAAAAck/rEADbVA9k9k/R_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="ｒ" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
※Ｒはデータの種類がいろいろあって、はじめは、ここでつまずきました。 &lt;a href="http://cse.naro.affrc.go.jp/takezawa/r-tips/r/23.html"&gt;リストとは&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;






確立密度関数の推定&lt;/h2&gt;
当初は、ガンマ分布を当てはめようと考えていましたが、ある方から、&lt;a href="http://www.is.titech.ac.jp/%7Emase/mase/html.jp/temp/Lognormal.jp.html"&gt;対数正規分布&lt;/a&gt;を教えて頂いたので今回は、&lt;a href="http://www.is.titech.ac.jp/%7Emase/mase/html.jp/temp/Lognormal.jp.html"&gt;対数正規分布&lt;/a&gt;を当てはめてみました。回帰方法は、nls() 関数を使用しましたが、初期値設定を導くために以下のコードを追加しています。&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-v62uNoiNJLM/TsvZ9MeWUMI/AAAAAAAAAcw/G8lUfVDOUSs/s1600-h/rt%25255B3%25255D.png"&gt;&lt;img alt="rt" border="0" height="484" src="http://lh6.ggpht.com/-TvgWTs-gPHw/TsvZ-TWtwSI/AAAAAAAAAc0/lK6FIbpK64k/rt_thumb%25255B1%25255D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="rt" width="637" /&gt;&lt;/a&gt; &lt;br /&gt;
結果をグラフ化したものが以下の通りです。&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-BgG3SJAvUR0/TsvaAMUVgTI/AAAAAAAAAdA/Vn7Xnuw9QSs/s1600-h/R%25255B7%25255D.png"&gt;&lt;img alt="ｒ" border="0" height="484" src="http://lh6.ggpht.com/-YEXUW7PnQGA/TsvaBKleRtI/AAAAAAAAAdE/LheFb1tlOgk/R_thumb%25255B3%25255D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="ｒ" width="484" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://ja.wikipedia.org/wiki/%E5%AF%BE%E6%95%B0%E6%AD%A3%E8%A6%8F%E5%88%86%E5%B8%83"&gt;対数正規分布の性質&lt;/a&gt;から平均と分散（偏差）が求まります。&lt;br /&gt;
平均＝EXP(meanlog+(sdlog^2)/2)＝19.01149(pips)&lt;br /&gt;
分散＝EXP(2×meanlog+sdlog^2)×(EXP(sdlog^2)-1)=148.6416&lt;br /&gt;
偏差＝√分散=12.19187&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;






時間単位での変化&lt;/h2&gt;
時間単位で調べてみると以下の表のようになりました。&lt;br /&gt;
&lt;div align="center"&gt;
&lt;table align="center" border="1" cellpadding="0" cellspacing="0" style="width: 399px;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;時間帯&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;meanlog&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;sdlog&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;平均&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;偏差&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;0&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.875508&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.508818&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;20.18533&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;10.9727&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;1&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.706802&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.567246&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;17.59625&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;10.84084&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;2&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.462878&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.565203&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;13.77155&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;8.448786&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;3&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.356058&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.561678&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;12.35177&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;7.522623&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;4&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.440356&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.562824&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;13.4468&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;8.209028&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;5&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.593056&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.522776&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;15.32834&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;8.593275&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;6&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.947423&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.468463&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;21.2669&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;10.53519&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;7&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;3.016413&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.479638&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;22.90693&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;11.65029&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;8&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.948864&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.466359&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;21.27663&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;10.48733&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;9&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.849121&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.495672&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;19.53029&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;10.30681&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;10&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.80227&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.487687&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;18.56335&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;9.619049&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;11&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.857566&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.47229&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;19.47429&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;9.735056&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;12&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;3.191692&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.516832&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;27.80594&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;15.38629&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;13&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;3.113179&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.503577&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;25.53306&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;13.71777&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;14&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;3.242793&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.51251&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;29.19876&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;16.00329&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;15&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;3.034412&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.475586&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;23.27787&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;11.72715&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;16&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.822379&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.50759&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;19.12895&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;10.36999&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;17&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.655229&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.517096&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;16.2635&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;9.004569&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;18&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.662298&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.519839&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;16.40218&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;9.136312&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;19&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.436341&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.53617&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;13.1982&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;7.616876&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;20&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.371655&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.582975&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;12.69978&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;8.079605&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;21&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.4068&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.499943&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;12.57576&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;6.701269&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;22&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.522685&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.492323&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;14.06762&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;7.367471&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" width="61"&gt;23&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;2.745907&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;0.502226&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;17.67272&lt;/td&gt;
&lt;td style="text-align: center;" width="84"&gt;9.465938&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
※時間は、GMT時間を採用 &lt;/div&gt;
平均値（期待値）が、時間帯によって倍以上の違いがあることがわかります。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;






ボリンジャーバンドもどき&lt;/h2&gt;
平均と偏差と聞いて思い出すのがボリンジャーバンド！と言うことで、上記の内容を踏まえて指標の作成です。&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/-wtx_523p1y4/TsvaB_KKqqI/AAAAAAAAAdQ/HihEz6aoP0A/s1600-h/tty%25255B3%25255D.png"&gt;&lt;img alt="tty" border="0" height="383" src="http://lh5.ggpht.com/-F5NC9BxXlfk/TsvaDMtN2aI/AAAAAAAAAdY/QAQy44lY6t4/tty_thumb%25255B1%25255D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="tty" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;pre&gt;&lt;span style="color: grey;"&gt;//+----------------------------------------------------------------------------+
//|                                                     　　　　     BBands.mq4|
//|                                                  Copyright ｩ 2009, bighope | 
//|                                 http://expertadviser-bighope.blogspot.com/ |
//+----------------------------------------------------------------------------+ &lt;/span&gt;
&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;copyright&lt;/span&gt; &lt;span style="color: teal;"&gt;"Copyright ｩ 2011, bighope"&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;link&lt;/span&gt; &lt;span style="color: teal;"&gt;&lt;a href="http://expertadviser-bighope.blogspot.com/"&gt;http://expertadviser-bighope.blogspot.com/&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_chart_window
#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_buffers&lt;/span&gt; &lt;span style="color: green;"&gt;2
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color1&lt;/span&gt; &lt;span style="color: #333399;"&gt;Yellow
&lt;/span&gt;&lt;span style="color: blue;"&gt;#property&lt;/span&gt; &lt;span style="color: blue;"&gt;indicator_color2&lt;/span&gt; &lt;span style="color: #333399;"&gt;Yellow
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt;    GMT      &lt;span style="color: navy;"&gt;=&lt;/span&gt;   &lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;&lt;span style="color: blue;"&gt;extern&lt;/span&gt; &lt;span style="color: blue;"&gt;double&lt;/span&gt; Multiple &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: green;"&gt;1.0&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; Average&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;]&lt;/span&gt;   &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;span style="color: green;"&gt;0.202&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.176&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.138&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.124&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.134&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.153&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.213&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.229&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.213&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.195&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.186&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.195&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.278&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.255&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.292&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.233&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.191&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.163&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.164&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.132&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.127&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.126&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.141&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.177&lt;/span&gt;&lt;span style="color: navy;"&gt;};
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt; Deviation&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;span style="color: green;"&gt;0.110&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.108&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.084&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.075&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.082&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.086&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.105&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.117&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.105&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.103&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.096&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.097&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.154&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.137&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.160&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.117&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.104&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.090&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.091&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.076&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.081&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.067&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.074&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0.095&lt;/span&gt;&lt;span style="color: navy;"&gt;};&lt;/span&gt; 

&lt;span style="color: blue;"&gt;double&lt;/span&gt;  Hibands&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: blue;"&gt;double&lt;/span&gt;  Lowbands&lt;span style="color: navy;"&gt;[];
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; init&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;&lt;span style="color: grey;"&gt;//---- indicators
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;IndicatorBuffers&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;&lt;span style="color: grey;"&gt;//---- indicator line
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexStyle&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;DRAW_LINE&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;Hibands&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blueviolet;"&gt;SetIndexBuffer&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;1&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;Lowbands&lt;span style="color: navy;"&gt;);
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; deinit&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   
&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt; start&lt;span style="color: navy;"&gt;()
&lt;/span&gt;  &lt;span style="color: navy;"&gt;{
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; i&lt;span style="color: navy;"&gt;,&lt;/span&gt;h&lt;span style="color: navy;"&gt;,&lt;/span&gt;counted_bars&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;IndicatorCounted&lt;/span&gt;&lt;span style="color: navy;"&gt;();
&lt;/span&gt;   &lt;span style="color: blue;"&gt;double&lt;/span&gt; hig&lt;span style="color: navy;"&gt;,&lt;/span&gt;lowg&lt;span style="color: navy;"&gt;,&lt;/span&gt;cg&lt;span style="color: navy;"&gt;;
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;Multiple&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;   &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;counted_bars&lt;span style="color: navy;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt; counted_bars&lt;span style="color: navy;"&gt;--;
&lt;/span&gt;   &lt;span style="color: blue;"&gt;int&lt;/span&gt; limit&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: magenta;"&gt;Bars&lt;/span&gt;&lt;span style="color: navy;"&gt;-&lt;/span&gt;counted_bars&lt;span style="color: navy;"&gt;;
&lt;/span&gt;   
   &lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;i&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;;&lt;/span&gt; i&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;limit&lt;span style="color: navy;"&gt;;&lt;/span&gt; i&lt;span style="color: navy;"&gt;++){
&lt;/span&gt;      h    &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;TimeHour&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: magenta;"&gt;Time&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;i&lt;span style="color: navy;"&gt;]);
&lt;/span&gt;      hig  &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: magenta;"&gt;High&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;iHighest&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: #333399;"&gt;NULL&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;MODE_HIGH&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;12&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;i&lt;span style="color: navy;"&gt;)];
&lt;/span&gt;      lowg &lt;span style="color: navy;"&gt;=&lt;/span&gt; &lt;span style="color: magenta;"&gt;Low&lt;/span&gt;&lt;span style="color: navy;"&gt;[&lt;/span&gt;&lt;span style="color: green;"&gt;iLowest&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: #333399;"&gt;NULL&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: #333399;"&gt;MODE_LOW&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;&lt;span style="color: green;"&gt;12&lt;/span&gt;&lt;span style="color: navy;"&gt;,&lt;/span&gt;i&lt;span style="color: navy;"&gt;)];
&lt;/span&gt;      h &lt;span style="color: navy;"&gt;=&lt;/span&gt; h&lt;span style="color: navy;"&gt;-&lt;/span&gt;GMT&lt;span style="color: navy;"&gt;;
&lt;/span&gt;      &lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;h&lt;span style="color: navy;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt;h&lt;span style="color: navy;"&gt;=&lt;/span&gt;&lt;span style="color: green;"&gt;24&lt;/span&gt;&lt;span style="color: navy;"&gt;+&lt;/span&gt;h&lt;span style="color: navy;"&gt;;
&lt;/span&gt;      cg&lt;span style="color: navy;"&gt;=(&lt;/span&gt;hig&lt;span style="color: navy;"&gt;+&lt;/span&gt;lowg&lt;span style="color: navy;"&gt;)/&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;;
&lt;/span&gt;      Hibands&lt;span style="color: navy;"&gt;[&lt;/span&gt;i&lt;span style="color: navy;"&gt;]&lt;/span&gt;  &lt;span style="color: navy;"&gt;=&lt;/span&gt; cg &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: navy;"&gt;(&lt;/span&gt;Average&lt;span style="color: navy;"&gt;[&lt;/span&gt;h&lt;span style="color: navy;"&gt;]/&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt; &lt;span style="color: navy;"&gt;+&lt;/span&gt; &lt;span style="color: navy;"&gt;(&lt;/span&gt;Deviation&lt;span style="color: navy;"&gt;[&lt;/span&gt;h&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;*&lt;/span&gt; Multiple&lt;span style="color: navy;"&gt;);
&lt;/span&gt;      Lowbands&lt;span style="color: navy;"&gt;[&lt;/span&gt;i&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;=&lt;/span&gt; cg  &lt;span style="color: navy;"&gt;-&lt;/span&gt; &lt;span style="color: navy;"&gt;(&lt;/span&gt;Average&lt;span style="color: navy;"&gt;[&lt;/span&gt;h&lt;span style="color: navy;"&gt;]/&lt;/span&gt;&lt;span style="color: green;"&gt;2&lt;/span&gt;&lt;span style="color: navy;"&gt;)&lt;/span&gt; &lt;span style="color: navy;"&gt;-&lt;/span&gt; &lt;span style="color: navy;"&gt;(&lt;/span&gt;Deviation&lt;span style="color: navy;"&gt;[&lt;/span&gt;h&lt;span style="color: navy;"&gt;]&lt;/span&gt; &lt;span style="color: navy;"&gt;*&lt;/span&gt; Multiple&lt;span style="color: navy;"&gt;);&lt;/span&gt;  
   &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//----
&lt;/span&gt;   &lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="color: navy;"&gt;(&lt;/span&gt;&lt;span style="color: green;"&gt;0&lt;/span&gt;&lt;span style="color: navy;"&gt;);
&lt;/span&gt;  &lt;span style="color: navy;"&gt;}
&lt;/span&gt;&lt;span style="color: grey;"&gt;//+------------------------------------------------------------------+
&lt;/span&gt;

※USDJPY M5用に作成しています。&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;h2&gt;






まとめ&lt;/h2&gt;
&lt;pre&gt;かなり飛ばしてまとめてしまいました。^^;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-1738723508129876734?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W0AnlWSPGmvRAG8z4mv4TpXmOec/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W0AnlWSPGmvRAG8z4mv4TpXmOec/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W0AnlWSPGmvRAG8z4mv4TpXmOec/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W0AnlWSPGmvRAG8z4mv4TpXmOec/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/YmnJTtihCuM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/1738723508129876734/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/11/copyprice.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/1738723508129876734?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/1738723508129876734?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/YmnJTtihCuM/copyprice.html" title="ボリンジャーバンドを作ってみました。■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-nHMRVzZDKb4/TsvZ68_us1I/AAAAAAAAAcU/DuEJV4Q_97s/s72-c/syo-to_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/11/copyprice.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YNR309fyp7ImA9WhdaEU8.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-8779994318633027505</id><published>2011-10-21T00:19:00.001+09:00</published><updated>2011-10-21T00:39:56.367+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-21T00:39:56.367+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ATC" /><title>前回のコメントの内容を確認しました。■■■</title><content type="html">前回の記事で、筆者がATC2011に提出したEAのコードを掲示し、貴重なコメントを頂いたので今回は、そのコメントの精査を行いたいと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;





はじめに&lt;/h2&gt;
今回のEAで考慮した点の一つが、メモリの使用量の削減です。その為に、バッファを固定し再利用する方法を模索しました。以下が仕様です。ちなみにバッファ固定の取り組み方法は、&lt;a href="http://expertadviser-bighope.blogspot.com/2011/07/blog-post_10.html"&gt;こちら&lt;/a&gt; ですが、記載されているバグは、バージョンアップで改善されたみたい？&lt;br /&gt;
&lt;br /&gt;
使用したDATE&lt;br /&gt;
&lt;div align="center"&gt;
&lt;table align="center" border="1" cellpadding="1" cellspacing="0" style="width: 671px;"&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;td style="text-align: center;" valign="top" width="71"&gt;指標名&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="167"&gt;値（time,open,hi,low,close)&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="68"&gt;平均足&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="75"&gt;DeMaker&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="86"&gt;EMA×４本&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="202"&gt;一定期間の値&lt;span style="font-size: xx-small;"&gt;（高値、中値、安値）&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style="text-align: center;" valign="top" width="70"&gt;バッファ数&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="169"&gt;10&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="68"&gt;6&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="75"&gt;50&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="86"&gt;30&lt;/td&gt; &lt;td style="text-align: center;" valign="top" width="202"&gt;80&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
ちなみに、EAを稼働した時のメモリ増加量は、1300kBほどです。（タスクマネージャー調べ）多いのか少ないのかは、不明？ホントに削減されているのかな？CopyBuffer（）と比べてどうなのか確認していません。。orz&lt;br /&gt;
&lt;br /&gt;
今回、iMA（）やiCustom（）などの関数を使用せずにEAを作成した結果、前処理（事前計算）が必要となりました。&lt;br /&gt;
&lt;br /&gt;
※前処理とは、初期状態で空のバッファに過去のデータを入れる事。&lt;br /&gt;
&lt;br /&gt;
今回使用した方法は、現在のbarからバッファ分過去の値（time,open,…)を取得するために、バッファ分過去のbarのtimeを取得し、そこから値を取得する方法を取りました。以下がそのtimeの取得コードです。&lt;br /&gt;
&lt;br /&gt;
+---------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;pre&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Shiftime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;time&lt;span class="operator"&gt;){ 
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;startime&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;rates&lt;span class="operator"&gt;,&lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   startime&lt;span class="operator"&gt;=&lt;/span&gt;time&lt;span class="operator"&gt;-&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;timeframes&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;*(&lt;/span&gt;range&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;getbars&lt;span class="operator"&gt;[];
&lt;/span&gt;   &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;      &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;i&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;Sleep&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;500&lt;/span&gt;&lt;span class="operator"&gt;);//一度以上取得に失敗したら一時停止
&lt;/span&gt;         i&lt;span class="operator"&gt;++;
&lt;/span&gt;         rates &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;CopyTime&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;timeframes&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;startime&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;time&lt;span class="operator"&gt;,&lt;/span&gt;getbars&lt;span class="operator"&gt;);
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;==&lt;/span&gt;range&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;break&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;i&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;!=&lt;/span&gt;range&lt;span class="operator"&gt;){&lt;/span&gt;startime&lt;span class="operator"&gt;-=(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;timeframes&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt;     &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates &lt;span class="operator"&gt;&amp;lt; &lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;startime&lt;span class="operator"&gt;);&lt;/span&gt;&lt;/pre&gt;
+---------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
この関数で留意した点&lt;br /&gt;
１．CopyRates(),CopyTIme()などの関数は、取得に失敗することがあるので対応する。&lt;br /&gt;
（特に、異なるペア、異なるタイムフレームを取得する場合、失敗するとこが多かった。）&lt;br /&gt;
データを呼び出す前に、関数を抜けている感じがする？ので、sleep(500)を含めて５回試みるようにした。&lt;br /&gt;
２．必ず、バッファ数のbarが取得できるtimeを取得する。&lt;br /&gt;
barの抜けがある場合の処理を追加してあります。&lt;br /&gt;
&lt;br /&gt;
この関数を元に以下の関数を実行し、バッファに値を取得させています。&lt;br /&gt;
ちなみに、Rates以外の値は、各関数内で処理させています。&lt;br /&gt;
&lt;br /&gt;
+---------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;pre&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Run&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const datetime &lt;/span&gt;nowtime&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="predefine"&gt;MqlRates &lt;/span&gt;Sprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;zero&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;befo&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;hlzero&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;rates&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;startime&lt;span class="operator"&gt;=&lt;/span&gt;nowtime&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="comment"&gt;//バッファが空の時
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;startime&lt;span class="operator"&gt;=&lt;/span&gt;Shiftime&lt;span class="operator"&gt;(&lt;/span&gt;nowtime&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;      rates &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;CopyRates&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;timeframes&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;startime&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Sprice&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;Sprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;]&lt;/span&gt;.time &lt;span class="operator"&gt;!= &lt;/span&gt;bartimenow&lt;span class="operator"&gt;){
&lt;/span&gt;            bartimenow &lt;span class="operator"&gt;= &lt;/span&gt;Sprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;]&lt;/span&gt;.time&lt;span class="operator"&gt;;
&lt;/span&gt;            bufindex&lt;span class="operator"&gt;++;
&lt;/span&gt;         &lt;span class="operator"&gt;}
&lt;/span&gt;         zero&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;         hlzero &lt;span class="operator"&gt;= &lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;,&lt;/span&gt;HLrange&lt;span class="operator"&gt;);
&lt;/span&gt;         price&lt;span class="operator"&gt;[&lt;/span&gt;zero&lt;span class="operator"&gt;] = &lt;/span&gt;Sprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;         phi&lt;span class="operator"&gt;[&lt;/span&gt;hlzero&lt;span class="operator"&gt;] = &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;zero&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;;
&lt;/span&gt;         plw&lt;span class="operator"&gt;[&lt;/span&gt;hlzero&lt;span class="operator"&gt;] = &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;zero&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;;
&lt;/span&gt;        &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;MLalfa&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;MSalfa&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;ON_MA&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;Run_Ma&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;);
&lt;/span&gt;        &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;ON_Heiken&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;Run_HeikenAshi&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;);
&lt;/span&gt;        &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;ON_DeMark&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;Run_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;);
&lt;/span&gt;         startime&lt;span class="operator"&gt;=&lt;/span&gt;Shiftimeon&lt;span class="operator"&gt;(&lt;/span&gt;startime&lt;span class="operator"&gt;);                    
&lt;/span&gt;         befo &lt;span class="operator"&gt;= &lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;+&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;         &lt;span class="operator"&gt;}
&lt;/span&gt;    &lt;span class="operator"&gt;} &lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;befo&lt;span class="operator"&gt;]&lt;/span&gt;.tick_volume&lt;span class="operator"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;);//バッファが埋まったら脱出
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;);&lt;/span&gt;&lt;/pre&gt;
+---------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;





前回のコメント&lt;/h2&gt;
前回頂いたコメントを確認していきます。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;gt;&amp;gt;datetime Cindibox_h::frametime(ENUM_TIMEFRAMES timef)にPERIOD_M6とかPERIOD_M20とかPERIOD_M12がないような．．。&lt;/b&gt;&lt;b&gt;時間の計算が人間業とは思えないトリッキーさでよくわかりませんでした．．。なぜSleep()が．．。この関数のdatetimeという戻り値の型も変ですよね。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
そうなんです。CATCtradeクラスの各インスタンスのCATCtrade::InputdateでPERIOD_M6、PERIOD_M20、PERIOD_M12を使用しているにも関わらず、datetime Cindibox_h::frametime(ENUM_TIMEFRAMES timef)に対応するコードを記載していませんでした。以下コード&lt;br /&gt;
&lt;br /&gt;
+---------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;pre&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;timef&lt;span class="operator"&gt;){
&lt;/span&gt; &lt;span class="keyword"&gt;switch&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;timef&lt;span class="operator"&gt;){
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M1&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M5&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M10&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M15&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;15&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M30&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_H1&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_H4&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;240&lt;/span&gt;&lt;span class="operator"&gt;);      
&lt;/span&gt;      &lt;span class="keyword"&gt;default &lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;15&lt;/span&gt;&lt;span class="operator"&gt;);  
&lt;/span&gt;   &lt;span class="operator"&gt;}&lt;/span&gt;
&lt;span class="operator"&gt;}&lt;/span&gt;&lt;/pre&gt;
+---------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
うん～！初期計画から変更するのを忘れてました。。orz しかし、defaultがなぜ15なの＠＠？&lt;br /&gt;
後でコードを変更し&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;の値をそのまま使おうと思っていましたが、忘れていました。&lt;br /&gt;
以下が&lt;span class="macro"&gt;ENUM_TIMEFRAMESの値 &lt;/span&gt;一覧です。なぜ、H1から16385＋時間になるんだろう？&lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;
&lt;table align="center" border="1" cellpadding="1" cellspacing="0" style="width: 579px;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" valign="top" width="89"&gt;PERIOD_M1&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="29"&gt;M3&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="36"&gt;M5&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="34"&gt;M6&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="48"&gt;M10&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="46"&gt;M30&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="56"&gt;H1&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="66"&gt;H2&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="50"&gt;H3&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="65"&gt;H12&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="58"&gt;D1&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;
&lt;td style="text-align: center;" valign="top" width="90"&gt;1&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="31"&gt;3&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="36"&gt;5&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="35"&gt;6&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="48"&gt;10&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="45"&gt;30&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="55"&gt;16385&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="65"&gt;16386&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="51"&gt;16387&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="65"&gt;16396&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="58"&gt;16408&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
そして、以下のコードが、修正版&lt;br /&gt;
&lt;br /&gt;
+---------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;pre&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;timef&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;t&lt;span class="operator"&gt;;
&lt;/span&gt;  t&lt;span class="operator"&gt;=&lt;/span&gt;timef&lt;span class="operator"&gt;;
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;t&lt;span class="operator"&gt;&amp;gt;=&lt;/span&gt;&lt;span class="number"&gt;16385&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;t&lt;span class="operator"&gt;=(&lt;/span&gt;t&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;16384&lt;/span&gt;&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;  &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;t&lt;span class="operator"&gt;);
}&lt;/span&gt;&lt;/pre&gt;
+----------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
トリッキーと評されたコードは、上記に記載しました。やっぱりこんなコードは、スタンダードではないんだろうな(・・?&lt;br /&gt;
&lt;br /&gt;
&lt;span class="keyword"&gt;datetime &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;timef&lt;span class="operator"&gt;)&lt;/span&gt;&lt;br /&gt;
の戻り値もおかしいですね。 int型に変更して、&lt;span class="keyword"&gt;datetime &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Shiftime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;time&lt;span class="operator"&gt;)&lt;span style="color: black;"&gt;の以下のコードを変更するようにした方が良いのかな？&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
startime&lt;span class="operator"&gt;=&lt;/span&gt;time &lt;span class="operator"&gt;- &lt;span style="color: red;"&gt;(datetime)&lt;/span&gt;&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;timeframes&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;*(&lt;/span&gt;range&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: navy;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: navy;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color: navy;"&gt;&amp;gt;&amp;gt;&lt;/span&gt;if(--retry_count!=0) continue; &lt;br /&gt;リトライが動作しない。 &lt;br /&gt;partial_closeがfalseだとwhile(partial_close);でループを抜けてしまいます。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
指摘されたコードが以下のコードです。&lt;br /&gt;
標準ライブラリー（bool CTrade::PositionClose(const string symbol,ulong deviation)）より抜粋し、余分？なところを削除したものです。&lt;br /&gt;
&lt;br /&gt;
+----------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;pre&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;PositionClose&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;bool   &lt;/span&gt;partial_close&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int    &lt;/span&gt;retry_count  &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;uint   &lt;/span&gt;retcode      &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;TRADE_RETCODE_REJECT&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//--- check stopped
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="function"&gt;IsStopped&lt;/span&gt;&lt;span class="operator"&gt;()) &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="comment"&gt;//--- variables
&lt;/span&gt;   &lt;span class="keyword"&gt;string &lt;/span&gt;action&lt;span class="operator"&gt;,&lt;/span&gt;result&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//--- clean
&lt;/span&gt;   ClearStructures&lt;span class="operator"&gt;();
&lt;/span&gt;   &lt;span class="keyword"&gt;do
&lt;/span&gt;     &lt;span class="operator"&gt;{
&lt;/span&gt;      &lt;span class="comment"&gt;//--- checking
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="function"&gt;PositionSelect&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;))
&lt;/span&gt;        &lt;span class="operator"&gt;{
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;&lt;span class="macro"&gt;ENUM_POSITION_TYPE&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;PositionGetInteger&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;POSITION_TYPE&lt;/span&gt;&lt;span class="operator"&gt;)==&lt;/span&gt;&lt;span class="macro"&gt;POSITION_TYPE_BUY&lt;/span&gt;&lt;span class="operator"&gt;)
&lt;/span&gt;           &lt;span class="operator"&gt;{
&lt;/span&gt;            &lt;span class="comment"&gt;//--- prepare request for close BUY position
&lt;/span&gt;            m_request.type &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_SELL&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;            m_request.price&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_BID&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;           &lt;span class="operator"&gt;}
&lt;/span&gt;         &lt;span class="keyword"&gt;else
&lt;/span&gt;           &lt;span class="operator"&gt;{
&lt;/span&gt;            &lt;span class="comment"&gt;//--- prepare request for close SELL position
&lt;/span&gt;            m_request.type &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_BUY&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;            m_request.price&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_ASK&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;           &lt;span class="operator"&gt;}
&lt;/span&gt;        &lt;span class="operator"&gt;}
&lt;/span&gt;        &lt;span class="keyword"&gt;else
&lt;/span&gt;        &lt;span class="operator"&gt;{
&lt;/span&gt;         &lt;span class="comment"&gt;//--- position not found
&lt;/span&gt;         m_result.retcode&lt;span class="operator"&gt;=&lt;/span&gt;retcode&lt;span class="operator"&gt;;
&lt;/span&gt;         &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;        &lt;span class="operator"&gt;}
&lt;/span&gt;      &lt;span class="comment"&gt;//--- setting request
&lt;/span&gt;      m_request.action      &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;TRADE_ACTION_DEAL&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      m_request.symbol      &lt;span class="operator"&gt;=&lt;/span&gt;symbl&lt;span class="operator"&gt;;
&lt;/span&gt;      m_request.deviation   &lt;span class="operator"&gt;=&lt;/span&gt;deviation&lt;span class="operator"&gt;;
&lt;/span&gt;      m_request.type_filling&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;ORDER_FILLING_AON&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      m_request.volume      &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;PositionGetDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;POSITION_VOLUME&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="comment"&gt;//--- check volume
&lt;/span&gt;      &lt;span class="keyword"&gt;double &lt;/span&gt;max_volume&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_VOLUME_MAX&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request.volume&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;max_volume&lt;span class="operator"&gt;)
&lt;/span&gt;        &lt;span class="operator"&gt;{
&lt;/span&gt;         m_request.volume&lt;span class="operator"&gt;=&lt;/span&gt;max_volume&lt;span class="operator"&gt;;
&lt;/span&gt;         partial_close&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;        &lt;span class="operator"&gt;}
&lt;/span&gt;      &lt;span class="keyword"&gt;else
&lt;/span&gt;         partial_close&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="comment"&gt;//--- order check
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;OrderCheck&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request&lt;span class="operator"&gt;,&lt;/span&gt;m_check_result&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      
      &lt;span class="comment"&gt;//--- order send
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;OrderSend&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request&lt;span class="operator"&gt;,&lt;/span&gt;m_result&lt;span class="operator"&gt;)){
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(--&lt;/span&gt;retry_count&lt;span class="operator"&gt;!=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;&lt;span class="keyword"&gt;continue&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="operator"&gt;}
&lt;/span&gt;        
      retcode&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;TRADE_RETCODE_DONE_PARTIAL&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;partial_close&lt;span class="operator"&gt;) &lt;/span&gt;&lt;span class="function"&gt;Sleep&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;1000&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;     &lt;span class="operator"&gt;}
&lt;/span&gt;   &lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;partial_close&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
}&lt;/span&gt;&lt;/pre&gt;
+----------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
確認するんだった。。orz　デフォルトだとループしないじゃん。勉強になりました。&lt;br /&gt;
ループさせる場合は、&lt;span class="keyword"&gt;bool &lt;/span&gt;partial_close&lt;span class="operator"&gt;=true&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;ですね。。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;gt;&amp;gt;ENUM_ORDER_TYPE CATCtrade::creattype(const int typec)&lt;br /&gt;return(ORDER_TYPE_BUY)とreturn(NULL)を返していますが、どちらも0で同値です。ただ動作には影響ないです。&lt;br /&gt;ENUM_ORDER_TYPEにORDER_TYPE_FLATを作成しなかったMetaQuotes社の仕様決めのいい加減さが原因だと思います。&lt;br /&gt;ポジションの状態を調べるのにPositionSelect()とPositionGetInteger()の2つの関数の組み合わせが必要になりますし。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
まず、対象コードの確認&lt;br /&gt;
+----------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;pre&gt;&lt;span class="macro"&gt;ENUM_ORDER_TYPE &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;creattype&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;typec&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;switch&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;typec&lt;span class="operator"&gt;){
&lt;/span&gt;      &lt;span class="keyword"&gt;case  &lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_BUY&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_SELL&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;default&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;NULL&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="operator"&gt;}
} &lt;/span&gt;&lt;/pre&gt;
+----------------------------------------------------------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
そして、ENUM_ORDER_TYPEの値の確認&lt;br /&gt;
&lt;div align="center"&gt;
&lt;table align="center" border="1" cellpadding="1" cellspacing="0" style="width: 650px;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" valign="top" width="39"&gt;_BUY&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="45"&gt;_SELL&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="77"&gt;_BUY_LIMIT&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="82"&gt;_SELL_LIMIT&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="78"&gt;_BUY_STOP&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="83"&gt;_SELL_STOP&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="117"&gt;_BUY_STOP_LIMIT&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="127"&gt;_SELL_STOP_LIMIT&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;" valign="top" width="39"&gt;0&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="45"&gt;1&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="77"&gt;2&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="82"&gt;3&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="78"&gt;4&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="83"&gt;5&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="117"&gt;6&lt;/td&gt;
&lt;td style="text-align: center;" valign="top" width="127"&gt;7&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;br /&gt;
あらら、指摘の通り_BUYの値が０でした。&lt;/div&gt;
&lt;div align="left"&gt;
さて、どうするか？int型？char型の方が良いかな？にしてdefalt値に-1を入れる手段をとるか？選択に迷います。&lt;/div&gt;
&lt;div align="left"&gt;
それにしても、TYPE_FLATがほしいですね。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;b&gt;&amp;gt;&amp;gt;deviation =10;1pipsは狭すぎではないですか？&lt;/b&gt;&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
とほほです。デフォルトのコードを確認せずに使っちゃダメですね。反省します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;
&lt;h2&gt;





まとめ&lt;/h2&gt;
&lt;div align="left"&gt;
情けないほどのバグが発見されました。ご指摘くださった&lt;a href="https://twitter.com/#%21/ahaha_fxtrader"&gt;@ahaha_fxtrader&lt;/a&gt;さんと匿名さんありがとうございました。&lt;/div&gt;
&lt;div align="left"&gt;
今後に生かしたいと思います。&lt;/div&gt;
&lt;div align="left"&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-8779994318633027505?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HkCnsNMISc-ZK4OMCHOgG_qNAbI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HkCnsNMISc-ZK4OMCHOgG_qNAbI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HkCnsNMISc-ZK4OMCHOgG_qNAbI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HkCnsNMISc-ZK4OMCHOgG_qNAbI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/Dj4vs9_IWmA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/8779994318633027505/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/10/blog-post.html#comment-form" title="5 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/8779994318633027505?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/8779994318633027505?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/Dj4vs9_IWmA/blog-post.html" title="前回のコメントの内容を確認しました。■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/10/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIFQXg9eip7ImA9WhdbF00.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-2104084757167994847</id><published>2011-10-16T01:50:00.001+09:00</published><updated>2011-10-16T03:31:50.662+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-16T03:31:50.662+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ATC" /><title>【ATC2011】2週目■■■</title><content type="html">&lt;div style="color: red;"&gt;
※追記（2011/10/16　3：30）&lt;/div&gt;
&lt;span style="color: red;"&gt;筆者の想定外のバグが、&lt;/span&gt;&lt;a href="https://twitter.com/#%21/ahaha_fxtrader"&gt;@ahaha_fxtrader&lt;/a&gt;&lt;span style="color: red;"&gt;さんから指摘されましたので追記します。&lt;/span&gt;&lt;br /&gt;
先週予告した通り自宅よりテストしていましたが、OSの自動更新で中断されてしまっていました。（自動更新切るの忘れてた。。orz）そこで、今回は、本大会に提出したEAのコードを添付します。（そこでの意味が解りませんが＾＾；）&lt;br /&gt;
このEAコードには、重大なバグ（エラーは出ませんが。。）が含まれています。&lt;br /&gt;
さて、どこに含まれているでしょうか？（わかった方は、コメントよろしくお願いします。）&lt;br /&gt;
ヒントは、恥ずかしくて言えません。。&lt;br /&gt;
筆者が見つけたバグ以外に出てきたら。。。。orz （そのほうが、うれしいかも＾＾；）&lt;br /&gt;
&lt;h2&gt;




KAZUYA.mq5&lt;/h2&gt;
&lt;pre&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|                                                       KAZUYA.mq5 |
//|                                          Copyright 2010, bighope |
//|                       http://expertadviser-bighope.blogspot.com/ |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;copyright &lt;/span&gt;&lt;span class="string"&gt;"Copyright 2010, bighope"
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;link      &lt;/span&gt;&lt;span class="string"&gt;"http://expertadviser-bighope.blogspot.com/"
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;version   &lt;/span&gt;&lt;span class="string"&gt;"1.00"
&lt;/span&gt;&lt;span class="keyword"&gt;#include &lt;/span&gt;&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;CATCtrade_J.mqh&lt;span class="operator"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="keyword"&gt;input double  &lt;/span&gt;&lt;span class="input"&gt;maxrisk         &lt;/span&gt;&lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;0.85&lt;/span&gt;&lt;span class="operator"&gt;;

&lt;/span&gt;&lt;span class="keyword"&gt;double &lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;9&lt;/span&gt;&lt;span class="operator"&gt;]={&lt;/span&gt;&lt;span class="number"&gt;0.1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.2&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.15&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.05&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.15&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.05&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.15&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.05&lt;/span&gt;&lt;span class="operator"&gt;};

&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;GBPUSD &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;EURUSD &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;USDJPY &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;USDCAD &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;AUDUSD &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;EURGBP &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;EURAUD &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;EURJPY &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;CATCtrade &lt;span class="operator"&gt;*&lt;/span&gt;GBPJPY &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="keyword"&gt;new &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|オブジェクトのセット                                              |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;Set_ob&lt;span class="operator"&gt;(){
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;GBPUSD.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"GBPUSD"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate[&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;2000&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;1500&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.0015&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.009&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.064&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.018&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;EURUSD.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"EURUSD"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M6&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;2800&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;1500&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.003&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.006&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.184&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.0195&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;USDJPY.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"USDJPY"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M20&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;1000&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;900&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.001&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.005&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.03&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.0165&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;USDCAD.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"USDCAD"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M12&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;600&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;1300&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.002&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.01&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.064&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.114&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;AUDUSD.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"AUDUSD"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_H1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;4&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;1400&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;1300&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.001&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.01&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.13&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.087&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;EURGBP.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"EURGBP"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_H1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;1400&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;900&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.001&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.009&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.12&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.0585&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;EURAUD.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"EURAUD"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_H1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;6&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;2000&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;1100&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.0005&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.001&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.072&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.105&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;EURJPY.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"EURJPY"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;7&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;3000&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;1500&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.0005&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.008&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.022&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.042&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;GBPJPY.Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"GBPJPY"&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;maxrisk&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symblerate&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;8&lt;/span&gt;&lt;span class="operator"&gt;],&lt;/span&gt;&lt;span class="number"&gt;600&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;1100&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.003&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.01&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.02&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.0405&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
}

&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;&lt;span class="function"&gt;OnInit&lt;/span&gt;&lt;span class="operator"&gt;()
&lt;/span&gt;  &lt;span class="operator"&gt;{
&lt;/span&gt;&lt;span class="comment"&gt;//---
&lt;/span&gt;   Set&lt;span class="operator"&gt;=&lt;/span&gt;Set_ob&lt;span class="operator"&gt;();  
&lt;/span&gt;&lt;span class="comment"&gt;//---
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;void &lt;/span&gt;&lt;span class="function"&gt;OnDeinit&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;reason&lt;span class="operator"&gt;)
&lt;/span&gt;  &lt;span class="operator"&gt;{
&lt;/span&gt;&lt;span class="comment"&gt;//---
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;GBPUSD&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;EURUSD&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;USDJPY&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;USDCAD&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;AUDUSD&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;EURGBP&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;EURAUD&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;EURJPY&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;delete &lt;/span&gt;GBPJPY&lt;span class="operator"&gt;;
&lt;/span&gt;  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;void &lt;/span&gt;&lt;span class="function"&gt;OnTick&lt;/span&gt;&lt;span class="operator"&gt;()
&lt;/span&gt;  &lt;span class="operator"&gt;{
&lt;/span&gt;&lt;span class="comment"&gt;//---
&lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;Set&lt;span class="operator"&gt;)&lt;/span&gt;Set_ob&lt;span class="operator"&gt;();
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;opentime&lt;span class="operator"&gt;;
&lt;/span&gt;   opentime &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;TimeCurrent&lt;/span&gt;&lt;span class="operator"&gt;();
&lt;/span&gt;   
  &lt;span class="comment"&gt;// Print(opentime);
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;GBPUSD.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error GBPUSD Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;EURUSD.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error EURUSD Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;USDJPY.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error USDJPY Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;USDCAD.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error USDJPY Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;AUDUSD.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error AUDUSD Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;EURGBP.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error EURGBP Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;EURAUD.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error EURAUD Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;EURJPY.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error EURJPY Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;GBPJPY.Trade&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Error GBPJPY Resetting"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;Set&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt;  
  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;void &lt;/span&gt;&lt;span class="function"&gt;OnTrade&lt;/span&gt;&lt;span class="operator"&gt;()
&lt;/span&gt;  &lt;span class="operator"&gt;{
&lt;/span&gt;&lt;span class="comment"&gt;//---
&lt;/span&gt;   
  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+

&lt;/span&gt;&lt;/pre&gt;
&lt;h2&gt;




&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;




&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;




CATCtrade_J.mqh&lt;/h2&gt;
&lt;pre&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|                                                   CATCTrad_J.mqh |
//|                                          Copyright 2010, bighope |
//|                       http://expertadviser-bighope.blogspot.com/ |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;copyright &lt;/span&gt;&lt;span class="string"&gt;"Copyright 2010, bighope"
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;link      &lt;/span&gt;&lt;span class="string"&gt;"http://expertadviser-bighope.blogspot.com/"
&lt;/span&gt;&lt;span class="keyword"&gt;#include &lt;/span&gt;&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;Csignal_J.mqh&lt;span class="operator"&gt;&amp;gt;

&lt;/span&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;CATCtrade &lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;public &lt;/span&gt;CSignal
&lt;span class="operator"&gt;{
&lt;/span&gt;   &lt;span class="keyword"&gt;protected&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;      &lt;span class="predefine"&gt;MqlTradeRequest     &lt;/span&gt;m_request&lt;span class="operator"&gt;;         &lt;/span&gt;&lt;span class="comment"&gt;// request data
&lt;/span&gt;      &lt;span class="predefine"&gt;MqlTradeResult      &lt;/span&gt;m_result&lt;span class="operator"&gt;;          &lt;/span&gt;&lt;span class="comment"&gt;// result data
&lt;/span&gt;      &lt;span class="predefine"&gt;MqlTradeCheckResult &lt;/span&gt;m_check_result&lt;span class="operator"&gt;;  &lt;/span&gt;&lt;span class="comment"&gt;// result check data
&lt;/span&gt;      &lt;span class="predefine"&gt;MqlTick            &lt;/span&gt;last_tick&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;ulong              &lt;/span&gt;magic&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;ulong              &lt;/span&gt;deviation&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double             &lt;/span&gt;ptp&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double             &lt;/span&gt;pptp&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double             &lt;/span&gt;psl&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double             &lt;/span&gt;maxrisk&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double             &lt;/span&gt;symblerate&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double             &lt;/span&gt;positionopen&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double             &lt;/span&gt;closelevel&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double             &lt;/span&gt;creatlot&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="macro"&gt;ENUM_ORDER_TYPE    &lt;/span&gt;creattype&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;typec&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;bool               &lt;/span&gt;PositionOpen&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;typep&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;bool               &lt;/span&gt;PositionClose&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;bool               &lt;/span&gt;PositionModify&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;tp&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;sl&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;void              &lt;/span&gt;ClearStructures&lt;span class="operator"&gt;();
&lt;/span&gt;      &lt;span class="keyword"&gt;int               &lt;/span&gt;PositionCheck&lt;span class="operator"&gt;();              
&lt;/span&gt;   &lt;span class="keyword"&gt;public&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;      &lt;span class="keyword"&gt;void               &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;();
&lt;/span&gt;      &lt;span class="keyword"&gt;bool               &lt;/span&gt;Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const string &lt;/span&gt;Csymbl
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const int   &lt;/span&gt;Cdigit
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const &lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;Ctimeframs
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Cmaxrisk
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Csymblerate
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;takeprofit
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;stoploss
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;CDperiod
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfaML
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfaM
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfaS
                                   &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfaL&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;bool               &lt;/span&gt;Trade&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const datetime &lt;/span&gt;Cnow&lt;span class="operator"&gt;);
&lt;/span&gt;      
&lt;span class="operator"&gt;};

&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|  コンストラクタ                                 |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;void &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;CATCtrade&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;   magic      &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;5989&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   deviation  &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   ptp         &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   psl         &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   maxrisk    &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   symblerate &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
}

&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|   ロットの調整                                  |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;double &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;creatlot&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;price&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;margin&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;lot&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;stepvol&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;minvol&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;maxvol&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//--- select lot size
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_ASK&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;price&lt;span class="operator"&gt;))               &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;OrderCalcMargin&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_BUY&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;1.0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;price&lt;span class="operator"&gt;,&lt;/span&gt;margin&lt;span class="operator"&gt;)) &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;margin&lt;span class="operator"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;)                                               &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   
   lot&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;AccountInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ACCOUNT_FREEMARGIN&lt;/span&gt;&lt;span class="operator"&gt;)*&lt;/span&gt;maxrisk&lt;span class="operator"&gt;/&lt;/span&gt;margin&lt;span class="operator"&gt;;
&lt;/span&gt;   lot&lt;span class="operator"&gt;=&lt;/span&gt;lot&lt;span class="operator"&gt;*&lt;/span&gt;symblerate&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//--- normalize and check limits
&lt;/span&gt;   
   stepvol&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_VOLUME_STEP&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   lot&lt;span class="operator"&gt;=&lt;/span&gt;stepvol&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;lot&lt;span class="operator"&gt;/&lt;/span&gt;stepvol&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   minvol&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_VOLUME_MIN&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   maxvol &lt;span class="operator"&gt;=&lt;/span&gt;stepvol&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;15.0&lt;/span&gt;&lt;span class="operator"&gt;*&lt;/span&gt;symblerate&lt;span class="operator"&gt;/&lt;/span&gt;stepvol&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;lot&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;minvol&lt;span class="operator"&gt;) &lt;/span&gt;lot&lt;span class="operator"&gt;=&lt;/span&gt;minvol&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;lot&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;maxvol&lt;span class="operator"&gt;) &lt;/span&gt;lot&lt;span class="operator"&gt;=&lt;/span&gt;maxvol&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;lot&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|    注文タイプ変換                               |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="macro"&gt;ENUM_ORDER_TYPE &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;creattype&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;typec&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;switch&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;typec&lt;span class="operator"&gt;){
&lt;/span&gt;      &lt;span class="keyword"&gt;case  &lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_BUY&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_SELL&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;default&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;NULL&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="operator"&gt;}
}

&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|     構造体の初期化                              |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;void &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;ClearStructures&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="function"&gt;ZeroMemory&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ZeroMemory&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_result&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ZeroMemory&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_check_result&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ZeroMemory&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;last_tick&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|     保有ポジションの確認                        |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;PositionCheck&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;   positionopen&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="function"&gt;PositionSelect&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;)){
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;&lt;span class="macro"&gt;ENUM_POSITION_TYPE&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;PositionGetInteger&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;POSITION_TYPE&lt;/span&gt;&lt;span class="operator"&gt;)==&lt;/span&gt;&lt;span class="macro"&gt;POSITION_TYPE_BUY&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;            positionopen &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;PositionGetDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;POSITION_PRICE_OPEN&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;            &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;         &lt;span class="operator"&gt;}
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;&lt;span class="macro"&gt;ENUM_POSITION_TYPE&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;PositionGetInteger&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;POSITION_TYPE&lt;/span&gt;&lt;span class="operator"&gt;)==&lt;/span&gt;&lt;span class="macro"&gt;POSITION_TYPE_SELL&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;            positionopen &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;PositionGetDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;POSITION_PRICE_OPEN&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;            &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;         &lt;span class="operator"&gt;}
&lt;/span&gt;   &lt;span class="operator"&gt;}
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|     注文                                        |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;PositionOpen&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;typep&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;Eprice&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;tp_price&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;sl_price&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;    
   &lt;span class="comment"&gt;//--- check stopped
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="function"&gt;IsStopped&lt;/span&gt;&lt;span class="operator"&gt;()) &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   ClearStructures&lt;span class="operator"&gt;();
&lt;/span&gt;   &lt;span class="macro"&gt;ENUM_ORDER_TYPE  &lt;/span&gt;Etype&lt;span class="operator"&gt;;
&lt;/span&gt;   Etype&lt;span class="operator"&gt;=&lt;/span&gt;creattype&lt;span class="operator"&gt;(&lt;/span&gt;typep&lt;span class="operator"&gt;);
&lt;/span&gt;   
   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoTick&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;last_tick&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Copytick form form,no date"&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;   
   &lt;span class="keyword"&gt;switch&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;typep&lt;span class="operator"&gt;)
&lt;/span&gt;   &lt;span class="operator"&gt;{
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;: 
&lt;/span&gt;               Eprice   &lt;span class="operator"&gt;= &lt;/span&gt;last_tick.ask&lt;span class="operator"&gt;;
&lt;/span&gt;               tp_price &lt;span class="operator"&gt;= (&lt;/span&gt;ptp&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;last_tick.bid&lt;span class="operator"&gt;+&lt;/span&gt;ptp&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="function"&gt;MathPow&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;),&lt;/span&gt;digit&lt;span class="operator"&gt;):&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;               sl_price &lt;span class="operator"&gt;= (&lt;/span&gt;psl&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;last_tick.bid&lt;span class="operator"&gt;-&lt;/span&gt;psl&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="function"&gt;MathPow&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;),&lt;/span&gt;digit&lt;span class="operator"&gt;):&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;               &lt;span class="keyword"&gt;break&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;case&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;               Eprice   &lt;span class="operator"&gt;= &lt;/span&gt;last_tick.bid&lt;span class="operator"&gt;;
&lt;/span&gt;               tp_price &lt;span class="operator"&gt;= (&lt;/span&gt;ptp&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;last_tick.ask&lt;span class="operator"&gt;-&lt;/span&gt;ptp&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="function"&gt;MathPow&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;),&lt;/span&gt;digit&lt;span class="operator"&gt;):&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;               sl_price &lt;span class="operator"&gt;= (&lt;/span&gt;psl&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;last_tick.ask&lt;span class="operator"&gt;+&lt;/span&gt;psl&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="function"&gt;MathPow&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;),&lt;/span&gt;digit&lt;span class="operator"&gt;):&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;               &lt;span class="keyword"&gt;break&lt;/span&gt;&lt;span class="operator"&gt;;          
&lt;/span&gt;      &lt;span class="keyword"&gt;default&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;break&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//--- setting request
&lt;/span&gt;   m_request.action      &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;TRADE_ACTION_DEAL&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.symbol      &lt;span class="operator"&gt;=&lt;/span&gt;symbl&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.magic       &lt;span class="operator"&gt;=&lt;/span&gt;magic&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.volume      &lt;span class="operator"&gt;=&lt;/span&gt;creatlot&lt;span class="operator"&gt;();
&lt;/span&gt;   m_request.type        &lt;span class="operator"&gt;=&lt;/span&gt;Etype&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.price       &lt;span class="operator"&gt;=&lt;/span&gt;Eprice&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.sl          &lt;span class="operator"&gt;=&lt;/span&gt;sl_price&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.tp          &lt;span class="operator"&gt;=&lt;/span&gt;tp_price&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.deviation   &lt;span class="operator"&gt;=&lt;/span&gt;deviation&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.type_filling&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;ORDER_FILLING_AON&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   m_request.comment     &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="string"&gt;""&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//--- variables
&lt;/span&gt;   &lt;span class="keyword"&gt;string &lt;/span&gt;action&lt;span class="operator"&gt;,&lt;/span&gt;result&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//--- order check
&lt;/span&gt; 
   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;OrderCheck&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request&lt;span class="operator"&gt;,&lt;/span&gt;m_check_result&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="comment"&gt;//--- order send
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;OrderSend&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request&lt;span class="operator"&gt;,&lt;/span&gt;m_result&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;); 
&lt;/span&gt;&lt;span class="comment"&gt;//--- ok
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|      決済                                       |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;PositionClose&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;bool   &lt;/span&gt;partial_close&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int    &lt;/span&gt;retry_count  &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;uint   &lt;/span&gt;retcode      &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;TRADE_RETCODE_REJECT&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//--- check stopped
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="function"&gt;IsStopped&lt;/span&gt;&lt;span class="operator"&gt;()) &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="comment"&gt;//--- variables
&lt;/span&gt;   &lt;span class="keyword"&gt;string &lt;/span&gt;action&lt;span class="operator"&gt;,&lt;/span&gt;result&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//--- clean
&lt;/span&gt;   ClearStructures&lt;span class="operator"&gt;();
&lt;/span&gt;   &lt;span class="keyword"&gt;do
&lt;/span&gt;     &lt;span class="operator"&gt;{
&lt;/span&gt;      &lt;span class="comment"&gt;//--- checking
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="function"&gt;PositionSelect&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;))
&lt;/span&gt;        &lt;span class="operator"&gt;{
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;&lt;span class="macro"&gt;ENUM_POSITION_TYPE&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;PositionGetInteger&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;POSITION_TYPE&lt;/span&gt;&lt;span class="operator"&gt;)==&lt;/span&gt;&lt;span class="macro"&gt;POSITION_TYPE_BUY&lt;/span&gt;&lt;span class="operator"&gt;)
&lt;/span&gt;           &lt;span class="operator"&gt;{
&lt;/span&gt;            &lt;span class="comment"&gt;//--- prepare request for close BUY position
&lt;/span&gt;            m_request.type &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_SELL&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;            m_request.price&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_BID&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;           &lt;span class="operator"&gt;}
&lt;/span&gt;         &lt;span class="keyword"&gt;else
&lt;/span&gt;           &lt;span class="operator"&gt;{
&lt;/span&gt;            &lt;span class="comment"&gt;//--- prepare request for close SELL position
&lt;/span&gt;            m_request.type &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;ORDER_TYPE_BUY&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;            m_request.price&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_ASK&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;           &lt;span class="operator"&gt;}
&lt;/span&gt;        &lt;span class="operator"&gt;}
&lt;/span&gt;        &lt;span class="keyword"&gt;else
&lt;/span&gt;        &lt;span class="operator"&gt;{
&lt;/span&gt;         &lt;span class="comment"&gt;//--- position not found
&lt;/span&gt;         m_result.retcode&lt;span class="operator"&gt;=&lt;/span&gt;retcode&lt;span class="operator"&gt;;
&lt;/span&gt;         &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;        &lt;span class="operator"&gt;}
&lt;/span&gt;      &lt;span class="comment"&gt;//--- setting request
&lt;/span&gt;      m_request.action      &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;TRADE_ACTION_DEAL&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      m_request.symbol      &lt;span class="operator"&gt;=&lt;/span&gt;symbl&lt;span class="operator"&gt;;
&lt;/span&gt;      m_request.deviation   &lt;span class="operator"&gt;=&lt;/span&gt;deviation&lt;span class="operator"&gt;;
&lt;/span&gt;      m_request.type_filling&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;ORDER_FILLING_AON&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      m_request.volume      &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;PositionGetDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;POSITION_VOLUME&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="comment"&gt;//--- check volume
&lt;/span&gt;      &lt;span class="keyword"&gt;double &lt;/span&gt;max_volume&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;SYMBOL_VOLUME_MAX&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request.volume&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;max_volume&lt;span class="operator"&gt;)
&lt;/span&gt;        &lt;span class="operator"&gt;{
&lt;/span&gt;         m_request.volume&lt;span class="operator"&gt;=&lt;/span&gt;max_volume&lt;span class="operator"&gt;;
&lt;/span&gt;         partial_close&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;        &lt;span class="operator"&gt;}
&lt;/span&gt;      &lt;span class="keyword"&gt;else
&lt;/span&gt;         partial_close&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="comment"&gt;//--- order check
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;OrderCheck&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request&lt;span class="operator"&gt;,&lt;/span&gt;m_check_result&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      
      &lt;span class="comment"&gt;//--- order send
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;OrderSend&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;m_request&lt;span class="operator"&gt;,&lt;/span&gt;m_result&lt;span class="operator"&gt;)){
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(--&lt;/span&gt;retry_count&lt;span class="operator"&gt;!=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;&lt;span class="keyword"&gt;continue&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="operator"&gt;}
&lt;/span&gt;        
      retcode&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;TRADE_RETCODE_DONE_PARTIAL&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;partial_close&lt;span class="operator"&gt;) &lt;/span&gt;&lt;span class="function"&gt;Sleep&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;1000&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;     &lt;span class="operator"&gt;}
&lt;/span&gt;   &lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;partial_close&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|      初期設定                                   |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;Inputdate&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const string &lt;/span&gt;Csymbl
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;Cdigit
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const &lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;Ctimeframs
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Cmaxrisk
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Csymblerate
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;takeprofit
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;stoploss
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;CDperiod
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfaML
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfaM
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfaS
                          &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfaL&lt;span class="operator"&gt;){

&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;Set_Base&lt;span class="operator"&gt;(&lt;/span&gt;Csymbl&lt;span class="operator"&gt;,&lt;/span&gt;Ctimeframs&lt;span class="operator"&gt;,&lt;/span&gt;Cdigit&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;Set_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;CDperiod&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;Set_Heiken&lt;span class="operator"&gt;())&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;Parameters&lt;span class="operator"&gt;(&lt;/span&gt;alfaML&lt;span class="operator"&gt;,&lt;/span&gt;alfaM&lt;span class="operator"&gt;,&lt;/span&gt;alfaL&lt;span class="operator"&gt;,&lt;/span&gt;alfaS&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   maxrisk    &lt;span class="operator"&gt;= &lt;/span&gt;Cmaxrisk&lt;span class="operator"&gt;;
&lt;/span&gt;   symblerate &lt;span class="operator"&gt;= &lt;/span&gt;Csymblerate &lt;span class="operator"&gt;;
&lt;/span&gt;   ptp         &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   pptp        &lt;span class="operator"&gt;= &lt;/span&gt;takeprofit&lt;span class="operator"&gt;;
&lt;/span&gt;   psl         &lt;span class="operator"&gt;= &lt;/span&gt;stoploss&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;psl&lt;span class="operator"&gt;!= &lt;/span&gt;stoploss&lt;span class="operator"&gt;){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Set StopLoss ERR"&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;maxrisk&lt;span class="operator"&gt;!=&lt;/span&gt;Cmaxrisk&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symblerate&lt;span class="operator"&gt;!=&lt;/span&gt;Csymblerate&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt; &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+-------------------------------------------------+
//|       トレード                                  |
//+-------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;CATCtrade&lt;span class="operator"&gt;::&lt;/span&gt;Trade&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const datetime &lt;/span&gt;Cnow&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;Tradesignal&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;checkpos&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;opentime&lt;span class="operator"&gt;,&lt;/span&gt;min&lt;span class="operator"&gt;;
&lt;/span&gt;   min &lt;span class="operator"&gt;= &lt;/span&gt;Cnow&lt;span class="operator"&gt;%(&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;timeframes&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   opentime &lt;span class="operator"&gt;= &lt;/span&gt;Cnow &lt;span class="operator"&gt;- &lt;/span&gt;min&lt;span class="operator"&gt;;
&lt;/span&gt;   Tradesignal &lt;span class="operator"&gt;= &lt;/span&gt;Signal&lt;span class="operator"&gt;(&lt;/span&gt;opentime&lt;span class="operator"&gt;);
&lt;/span&gt; 
   checkpos &lt;span class="operator"&gt;= &lt;/span&gt;PositionCheck&lt;span class="operator"&gt;();
&lt;/span&gt;   &lt;span class="keyword"&gt;switch&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;Tradesignal&lt;span class="operator"&gt;)
&lt;/span&gt;   &lt;span class="operator"&gt;{
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;==-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;){ &lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;PositionClose&lt;span class="operator"&gt;())&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;else return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){ &lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;PositionOpen&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;else return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;               &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;){&lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;PositionClose&lt;span class="operator"&gt;())&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;else return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;               &lt;span style="color: red;"&gt;return(true);//指摘ヶ所&lt;/span&gt;
     &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;                &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;                     &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoTick&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;last_tick&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Copytick form form,no date"&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;                     &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;last_tick.bid &lt;span class="operator"&gt;- &lt;/span&gt;positionopen&lt;span class="operator"&gt;) &amp;gt; &lt;/span&gt;pptp&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="function"&gt;MathPow&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;)){ &lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;PositionClose&lt;span class="operator"&gt;())&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;else return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;               &lt;span class="operator"&gt;}
&lt;/span&gt;   
               &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;     &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;            
               &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;     &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;                  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(!&lt;/span&gt;&lt;span class="function"&gt;SymbolInfoTick&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;last_tick&lt;span class="operator"&gt;)){&lt;/span&gt;&lt;span class="function"&gt;Print&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"Copytick form form,no date"&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;                  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;positionopen &lt;span class="operator"&gt;- &lt;/span&gt;last_tick.ask&lt;span class="operator"&gt;) &amp;gt; &lt;/span&gt;pptp&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="function"&gt;MathPow&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0.1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;)){ &lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;PositionClose&lt;span class="operator"&gt;())&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;else return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;               &lt;span class="operator"&gt;}
&lt;/span&gt;                &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;                             
     &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;==-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;){&lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;PositionClose&lt;span class="operator"&gt;())&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;else return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;               &lt;span style="color: red;"&gt;return(true);//指摘ヶ所&lt;/span&gt;
     &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;==-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;){ &lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;PositionClose&lt;span class="operator"&gt;())&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;else return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;checkpos&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){ &lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;PositionOpen&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;))&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;); &lt;/span&gt;&lt;span class="keyword"&gt;else return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);}
&lt;/span&gt;               &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;    &lt;span class="keyword"&gt;default&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;               &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   
  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
}    
&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;




CSignal_J.mqh&lt;/h2&gt;
&lt;pre&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|                                                    CSignal_J.mqh |
//|                                          Copyright 2010, bighope |
//|                       http://expertadviser-bighope.blogspot.com/ |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;copyright &lt;/span&gt;&lt;span class="string"&gt;"Copyright 2010, bighope"
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;link      &lt;/span&gt;&lt;span class="string"&gt;"http://expertadviser-bighope.blogspot.com/"
&lt;/span&gt;&lt;span class="keyword"&gt;#include &lt;/span&gt;&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;Cindibox_J.mqh&lt;span class="operator"&gt;&amp;gt;

&lt;/span&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;CSignal &lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;public &lt;/span&gt;Cindibox_h
  &lt;span class="operator"&gt;{
&lt;/span&gt;&lt;span class="keyword"&gt;public&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;   &lt;span class="keyword"&gt;void              &lt;/span&gt;CSignal&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;bool              &lt;/span&gt;Parameters&lt;span class="operator"&gt;(
&lt;/span&gt;                                &lt;span class="keyword"&gt;const double &lt;/span&gt;MLalfa
                                &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Malfa
                                &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Lalfa
                                &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Salfa&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int               &lt;/span&gt;Signal&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;now&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="operator"&gt;};
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|    コンストラクタ                                                |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;void &lt;/span&gt;CSignal&lt;span class="operator"&gt;::&lt;/span&gt;CSignal&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;  
  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     初期設定                                                     |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;CSignal&lt;span class="operator"&gt;::&lt;/span&gt;Parameters&lt;span class="operator"&gt;(
&lt;/span&gt;                         &lt;span class="keyword"&gt;const double &lt;/span&gt;MLalfa
                         &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Malfa
                         &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Lalfa
                         &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Salfa&lt;span class="operator"&gt;){
&lt;/span&gt;   Set_Heiken&lt;span class="operator"&gt;();
&lt;/span&gt;   Set_Ma&lt;span class="operator"&gt;(&lt;/span&gt;MLalfa&lt;span class="operator"&gt;,&lt;/span&gt;Malfa&lt;span class="operator"&gt;,&lt;/span&gt;Lalfa&lt;span class="operator"&gt;,&lt;/span&gt;Salfa&lt;span class="operator"&gt;);
&lt;/span&gt;   Set_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="operator"&gt;}

&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|      シグナルの成形                                              |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;CSignal&lt;span class="operator"&gt;::&lt;/span&gt;Signal&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;now&lt;span class="operator"&gt;)
&lt;/span&gt;  &lt;span class="operator"&gt;{
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;sum&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;sigk&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;MGsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;MMsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;MLsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Hsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Gsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Msig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Lsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Ssig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;HLsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Dsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   Custom_date Heiken1&lt;span class="operator"&gt;;
&lt;/span&gt;   Custom_date Heiken2&lt;span class="operator"&gt;;
&lt;/span&gt;   Custom_date Heiken3&lt;span class="operator"&gt;;
&lt;/span&gt;   Custom_date Heiken4&lt;span class="operator"&gt;;
&lt;/span&gt;   Custom_MA   MAn&lt;span class="operator"&gt;;
&lt;/span&gt;   Custom_MA   MAb&lt;span class="operator"&gt;;
&lt;/span&gt;   HL_date HL&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;DM&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;Run&lt;span class="operator"&gt;(&lt;/span&gt;now&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;i&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   Heiken1&lt;span class="operator"&gt;=&lt;/span&gt;Get_HeikenAshi&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   Heiken2&lt;span class="operator"&gt;=&lt;/span&gt;Get_HeikenAshi&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   Heiken3&lt;span class="operator"&gt;=&lt;/span&gt;Get_HeikenAshi&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   Heiken4&lt;span class="operator"&gt;=&lt;/span&gt;Get_HeikenAshi&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;4&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   MAn     &lt;span class="operator"&gt;= &lt;/span&gt;Get_Ma&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   MAb    &lt;span class="operator"&gt;= &lt;/span&gt;Get_Ma&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;25&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   DM     &lt;span class="operator"&gt;= &lt;/span&gt;Get_DeMarker&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;.main&lt;span class="operator"&gt;;
&lt;/span&gt;   HL &lt;span class="operator"&gt;=&lt;/span&gt;Get_HL&lt;span class="operator"&gt;();
&lt;/span&gt;   Gsig  &lt;span class="operator"&gt;= (&lt;/span&gt;MAn.megal &lt;span class="operator"&gt;&amp;gt; &lt;/span&gt;MAb.megal&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   Msig  &lt;span class="operator"&gt;= (&lt;/span&gt;MAn.mega &lt;span class="operator"&gt;&amp;gt; &lt;/span&gt;MAb.mega&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   Lsig  &lt;span class="operator"&gt;= (&lt;/span&gt;MAn.longrange &lt;span class="operator"&gt;&amp;gt; &lt;/span&gt;MAb.longrange&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   Ssig  &lt;span class="operator"&gt;= (&lt;/span&gt;MAn.shortrange &lt;span class="operator"&gt;&amp;gt; &lt;/span&gt;MAb.shortrange&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   MGsig &lt;span class="operator"&gt;= (&lt;/span&gt;MAn.mega &lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;MAn.megal &lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   MMsig &lt;span class="operator"&gt;= (&lt;/span&gt;MAn.longrange &lt;span class="operator"&gt;&amp;gt; &lt;/span&gt;MAn.mega&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   MLsig &lt;span class="operator"&gt;= (&lt;/span&gt;MAn.shortrange &lt;span class="operator"&gt;&amp;gt; &lt;/span&gt;MAn.longrange&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   HLsig &lt;span class="operator"&gt;= (&lt;/span&gt;MAn.longrange &lt;span class="operator"&gt;&amp;gt; &lt;/span&gt;HL.av&lt;span class="operator"&gt;)?&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;:-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   
   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(   (&lt;/span&gt;Heiken1.close&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;Heiken1.open&lt;span class="operator"&gt;)
&lt;/span&gt;      &lt;span class="operator"&gt;&amp;amp;&amp;amp; (&lt;/span&gt;Heiken2.close&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;Heiken2.open&lt;span class="operator"&gt;)
&lt;/span&gt;      &lt;span class="operator"&gt;&amp;amp;&amp;amp; (&lt;/span&gt;Heiken3.close&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;Heiken3.open&lt;span class="operator"&gt;)
&lt;/span&gt;      &lt;span class="operator"&gt;&amp;amp;&amp;amp; (&lt;/span&gt;Heiken4.close&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;Heiken4.open&lt;span class="operator"&gt;))&lt;/span&gt;Hsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;

&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(   (&lt;/span&gt;Heiken1.close&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;Heiken1.open&lt;span class="operator"&gt;)
&lt;/span&gt;      &lt;span class="operator"&gt;&amp;amp;&amp;amp; (&lt;/span&gt;Heiken2.close&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;Heiken2.open&lt;span class="operator"&gt;)
&lt;/span&gt;      &lt;span class="operator"&gt;&amp;amp;&amp;amp; (&lt;/span&gt;Heiken3.close&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;Heiken3.open&lt;span class="operator"&gt;)
&lt;/span&gt;      &lt;span class="operator"&gt;&amp;amp;&amp;amp; (&lt;/span&gt;Heiken4.close&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;Heiken4.open&lt;span class="operator"&gt;))&lt;/span&gt;Hsig&lt;span class="operator"&gt;=-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      
   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;DM&lt;span class="operator"&gt;&amp;gt;=&lt;/span&gt;&lt;span class="number"&gt;0.7&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;Dsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;DM&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;0.7 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;DM&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0.5&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;Dsig&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;DM&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;0.5 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;DM&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0.3&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;Dsig&lt;span class="operator"&gt;=-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;DM &lt;span class="operator"&gt;&amp;lt;= &lt;/span&gt;&lt;span class="number"&gt;0.3&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;Dsig&lt;span class="operator"&gt;=-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         
   sum &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;*(&lt;/span&gt;MGsig&lt;span class="operator"&gt;+&lt;/span&gt;MMsig&lt;span class="operator"&gt;+&lt;/span&gt;MLsig&lt;span class="operator"&gt;+&lt;/span&gt;Gsig&lt;span class="operator"&gt;+&lt;/span&gt;Msig&lt;span class="operator"&gt;+&lt;/span&gt;Lsig&lt;span class="operator"&gt;+&lt;/span&gt;HLsig&lt;span class="operator"&gt;+&lt;/span&gt;Dsig&lt;span class="operator"&gt;)+&lt;/span&gt;Hsig&lt;span class="operator"&gt;+&lt;/span&gt;Ssig&lt;span class="operator"&gt;;
&lt;/span&gt;  
   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;sum &lt;span class="operator"&gt;&amp;gt;=&lt;/span&gt;&lt;span class="number"&gt;4 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;sum&lt;span class="operator"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;sigk&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;sum &lt;span class="operator"&gt;&amp;gt;=&lt;/span&gt;&lt;span class="number"&gt;19&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;sigk&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;sum&lt;span class="operator"&gt;&amp;lt;=-&lt;/span&gt;&lt;span class="number"&gt;4 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;sum &lt;span class="operator"&gt;&amp;gt;=-&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;sigk&lt;span class="operator"&gt;=-&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;sum&lt;span class="operator"&gt;&amp;lt;=-&lt;/span&gt;&lt;span class="number"&gt;19&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;sigk&lt;span class="operator"&gt;=-&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;;

&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;sigk&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+

&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;




Cindibox_h.mqh&lt;/h2&gt;
&lt;pre&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|                                                   Cindibox_J.mqh |
//|                                          Copyright 2010, bighope |
//|                       http://expertadviser-bighope.blogspot.com/ |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;copyright &lt;/span&gt;&lt;span class="string"&gt;"Copyright 2010, bighope"
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;link      &lt;/span&gt;&lt;span class="string"&gt;"http://expertadviser-bighope.blogspot.com/"

&lt;/span&gt;&lt;span class="keyword"&gt;struct &lt;/span&gt;Custom_date &lt;span class="operator"&gt;{
&lt;/span&gt;  &lt;span class="keyword"&gt;datetime  &lt;/span&gt;time&lt;span class="operator"&gt;;
&lt;/span&gt;  &lt;span class="keyword"&gt;double    &lt;/span&gt;open&lt;span class="operator"&gt;;
&lt;/span&gt;  &lt;span class="keyword"&gt;double    &lt;/span&gt;close&lt;span class="operator"&gt;;
&lt;/span&gt;  &lt;span class="keyword"&gt;double    &lt;/span&gt;hi&lt;span class="operator"&gt;;
&lt;/span&gt;  &lt;span class="keyword"&gt;double    &lt;/span&gt;lw&lt;span class="operator"&gt;;
&lt;/span&gt;  Custom_date&lt;span class="operator"&gt;() {&lt;/span&gt;time&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;open&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;close&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;hi&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;lw&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt;  
&lt;span class="operator"&gt;};
&lt;/span&gt;&lt;span class="keyword"&gt;struct &lt;/span&gt;HL_date&lt;span class="operator"&gt;{
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;av&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;wid&lt;span class="operator"&gt;;
&lt;/span&gt;   HL_date&lt;span class="operator"&gt;(){&lt;/span&gt;av&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;wid&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;}
};

&lt;/span&gt;&lt;span class="comment"&gt;//DeMarker
&lt;/span&gt;&lt;span class="keyword"&gt;struct &lt;/span&gt;Custom_Ddate &lt;span class="operator"&gt;{
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime  &lt;/span&gt;time&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double    &lt;/span&gt;main&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double    &lt;/span&gt;max&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double    &lt;/span&gt;min&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double    &lt;/span&gt;avmax&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double    &lt;/span&gt;avmin&lt;span class="operator"&gt;;
&lt;/span&gt;   Custom_Ddate&lt;span class="operator"&gt;() {&lt;/span&gt;time&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;max&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;min&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;avmax&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;avmin&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;}
};

&lt;/span&gt;&lt;span class="keyword"&gt;struct &lt;/span&gt;Custom_MA &lt;span class="operator"&gt;{
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;megal&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;mega&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;longrange&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;shortrange&lt;span class="operator"&gt;;
&lt;/span&gt;   Custom_MA&lt;span class="operator"&gt;() {&lt;/span&gt;megal&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;mega&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;longrange&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;shortrange&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;}
};

&lt;/span&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;Cindibox_h
&lt;span class="operator"&gt;{
&lt;/span&gt;   &lt;span class="keyword"&gt;protected&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;      &lt;span class="keyword"&gt;string           &lt;/span&gt;symbl&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="macro"&gt;ENUM_TIMEFRAMES  &lt;/span&gt;timeframes&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;range&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;Hrange&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;Drange&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;Prange&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int               &lt;/span&gt;Mrange&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;HLrange&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;digit&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;DeMarker_Period&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="predefine"&gt;MqlRates         &lt;/span&gt;price&lt;span class="operator"&gt;[];
&lt;/span&gt;      &lt;span class="keyword"&gt;double           &lt;/span&gt;phi&lt;span class="operator"&gt;[];
&lt;/span&gt;      &lt;span class="keyword"&gt;double           &lt;/span&gt;plw&lt;span class="operator"&gt;[];
&lt;/span&gt;      &lt;span class="keyword"&gt;datetime         &lt;/span&gt;bartimenow&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;bufindex&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;bool             &lt;/span&gt;ON_Heiken&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;bool             &lt;/span&gt;ON_DeMark&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;bool             &lt;/span&gt;ON_MA&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[];
&lt;/span&gt;      Custom_date      Heiken&lt;span class="operator"&gt;[];
&lt;/span&gt;      Custom_Ddate     DeMarker&lt;span class="operator"&gt;[];
&lt;/span&gt;      &lt;span class="keyword"&gt;double           &lt;/span&gt;MSalfa&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double           &lt;/span&gt;MLalfa&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double           &lt;/span&gt;MMalfa&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="keyword"&gt;double           &lt;/span&gt;MMLalfa&lt;span class="operator"&gt;;
&lt;/span&gt;      Custom_MA        MA&lt;span class="operator"&gt;[];
&lt;/span&gt;      &lt;span class="keyword"&gt;datetime         &lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;timef&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;datetime         &lt;/span&gt;Shiftime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;time&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;datetime         &lt;/span&gt;Shiftimeon&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;time&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;ranges&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;Run_HeikenAshi&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;Run_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;Run_Ma&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;double           &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfa&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;pricec &lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;EMA&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;public&lt;/span&gt;&lt;span class="operator"&gt;:
&lt;/span&gt;      &lt;span class="keyword"&gt;void             &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;();
&lt;/span&gt;      &lt;span class="keyword"&gt;bool              &lt;/span&gt;Set_Base&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const string &lt;/span&gt;symb&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const &lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;timeframe&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;digis&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;bool              &lt;/span&gt;Set_Heiken&lt;span class="operator"&gt;();
&lt;/span&gt;      &lt;span class="keyword"&gt;bool             &lt;/span&gt;Set_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;periods&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;DeMarker_Period&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;void             &lt;/span&gt;Set_Ma&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;MLLalfa&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Malfa&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Lalfa&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Salfa&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;int              &lt;/span&gt;Run&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const datetime &lt;/span&gt;nowtime&lt;span class="operator"&gt;);
&lt;/span&gt;      Custom_Ddate     Get_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;);
&lt;/span&gt;      Custom_date      Get_HeikenAshi&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="predefine"&gt;MqlRates         &lt;/span&gt;Get_price&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;);
&lt;/span&gt;      Custom_MA        Get_Ma&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;);
&lt;/span&gt;      HL_date           Get_HL&lt;span class="operator"&gt;();
};
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     コンストラクタ                                               |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;void &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;   range&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   Hrange&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;6&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   Drange&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;50&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   Prange&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   Mrange&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   HLrange &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;80&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   ON_DeMark&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   ON_Heiken&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   ON_MA&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   bartimenow &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   bufindex&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="function"&gt;ZeroMemory&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;4&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;]=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;]=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;]=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="operator"&gt;]=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="function"&gt;ZeroMemory&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;phi&lt;span class="operator"&gt;,&lt;/span&gt;HLrange&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;plw&lt;span class="operator"&gt;,&lt;/span&gt;HLrange&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     初期設定                                                     |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool  &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Set_Base&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const string &lt;/span&gt;symb&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const &lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;timeframe&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;digis&lt;span class="operator"&gt;){
&lt;/span&gt;  
   symbl &lt;span class="operator"&gt;= &lt;/span&gt;symb&lt;span class="operator"&gt;;
&lt;/span&gt;   timeframes &lt;span class="operator"&gt;= &lt;/span&gt;timeframe&lt;span class="operator"&gt;;
&lt;/span&gt;   digit &lt;span class="operator"&gt;= &lt;/span&gt;digis&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl &lt;span class="operator"&gt;!= &lt;/span&gt;symb &lt;span class="operator"&gt;|| &lt;/span&gt;timeframes &lt;span class="operator"&gt;!= &lt;/span&gt;timeframe &lt;span class="operator"&gt;|| &lt;/span&gt;digit &lt;span class="operator"&gt;!= &lt;/span&gt;digis&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   
&lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|      平均足の初期設定                                            |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Set_Heiken&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;    &lt;span class="function"&gt;ZeroMemory&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;Heiken&lt;span class="operator"&gt;);
&lt;/span&gt;    &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;Heiken&lt;span class="operator"&gt;,&lt;/span&gt;Hrange&lt;span class="operator"&gt;);
&lt;/span&gt;    ON_Heiken&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;    &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     DeMarkerの初期設定                                           |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;bool &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Set_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;periods&lt;span class="operator"&gt;){
&lt;/span&gt;   DeMarker_Period &lt;span class="operator"&gt;= &lt;/span&gt;periods&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;DeMarker&lt;span class="operator"&gt;,&lt;/span&gt;Drange&lt;span class="operator"&gt;);
&lt;/span&gt;   ON_DeMark&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;DeMarker_Period &lt;span class="operator"&gt;!= &lt;/span&gt;periods&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;false&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|      Maの初期設定                                                |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;void &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Set_Ma&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;MLLalfa&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Malfa&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Lalfa&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;Salfa&lt;span class="operator"&gt;){
&lt;/span&gt;   MMLalfa &lt;span class="operator"&gt;= &lt;/span&gt;MLLalfa&lt;span class="operator"&gt;;
&lt;/span&gt;   MMalfa &lt;span class="operator"&gt;= &lt;/span&gt;Malfa&lt;span class="operator"&gt;;
&lt;/span&gt;   MLalfa &lt;span class="operator"&gt;= &lt;/span&gt;Lalfa&lt;span class="operator"&gt;;
&lt;/span&gt;   MSalfa &lt;span class="operator"&gt;= &lt;/span&gt;Salfa&lt;span class="operator"&gt;;
&lt;/span&gt;   ON_MA&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;MA&lt;span class="operator"&gt;,&lt;/span&gt;Mrange&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     タイムフレームの変換                                         |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="macro"&gt;ENUM_TIMEFRAMES &lt;/span&gt;timef&lt;span class="operator"&gt;){
&lt;/span&gt; &lt;span class="keyword"&gt;switch&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;timef&lt;span class="operator"&gt;){
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M1&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M5&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M10&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M15&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;15&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_M30&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_H1&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;case &lt;/span&gt;&lt;span class="macro"&gt;PERIOD_H4&lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;240&lt;/span&gt;&lt;span class="operator"&gt;);      
&lt;/span&gt;      &lt;span class="keyword"&gt;default &lt;/span&gt;&lt;span class="operator"&gt;: &lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;15&lt;/span&gt;&lt;span class="operator"&gt;);  
&lt;/span&gt;   &lt;span class="operator"&gt;}
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     事前計算処理の初期値の時刻の取得①                           |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Shiftime&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;time&lt;span class="operator"&gt;){ 
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;startime&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;rates&lt;span class="operator"&gt;,&lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   startime&lt;span class="operator"&gt;=&lt;/span&gt;time&lt;span class="operator"&gt;-&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;timeframes&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;*(&lt;/span&gt;range&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;getbars&lt;span class="operator"&gt;[];
&lt;/span&gt;   &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;      &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;i&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;Sleep&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;500&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;         i&lt;span class="operator"&gt;++;
&lt;/span&gt;         rates &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;CopyTime&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;timeframes&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;startime&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;time&lt;span class="operator"&gt;,&lt;/span&gt;getbars&lt;span class="operator"&gt;);
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;==&lt;/span&gt;range&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;break&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;i&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;!=&lt;/span&gt;range&lt;span class="operator"&gt;){&lt;/span&gt;startime&lt;span class="operator"&gt;-=(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;timeframes&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt;     &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates &lt;span class="operator"&gt;&amp;lt; &lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;startime&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|        事前計算処理の初期値の時刻の取得②                        |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Shiftimeon&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;datetime &lt;/span&gt;time&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;getbar&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;startime&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;rates&lt;span class="operator"&gt;,&lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   startime&lt;span class="operator"&gt;=&lt;/span&gt;time&lt;span class="operator"&gt;-&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;timeframes&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;      &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{  
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;i&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;Sleep&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;500&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;         i&lt;span class="operator"&gt;++;
&lt;/span&gt;         rates &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;CopyTime&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;timeframes&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;startime&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;getbar&lt;span class="operator"&gt;);
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="keyword"&gt;break&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;i&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;){&lt;/span&gt;startime&lt;span class="operator"&gt;-=(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;frametime&lt;span class="operator"&gt;(&lt;/span&gt;timeframes&lt;span class="operator"&gt;)*&lt;/span&gt;&lt;span class="number"&gt;60&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt;     &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;!=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;startime&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     配列のシフト                                                 |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;ranges&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;q&lt;span class="operator"&gt;=(&lt;/span&gt;index&lt;span class="operator"&gt;%&lt;/span&gt;ranges&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;ranges&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;MathAbs&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;q&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;i&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     シグモイド関数                                               |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;double &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;alfa&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;pricec&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="keyword"&gt;const double &lt;/span&gt;EMA&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;away&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   away&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;MathAbs&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;pricec &lt;span class="operator"&gt;- &lt;/span&gt;EMA&lt;span class="operator"&gt;)* &lt;/span&gt;&lt;span class="function"&gt;MathPow&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;   away &lt;span class="operator"&gt;= -&lt;/span&gt;&lt;span class="number"&gt;7&lt;/span&gt;&lt;span class="operator"&gt;+&lt;/span&gt;away&lt;span class="operator"&gt;*&lt;/span&gt;alfa&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;/(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;+&lt;/span&gt;&lt;span class="function"&gt;MathExp&lt;/span&gt;&lt;span class="operator"&gt;(-&lt;/span&gt;away&lt;span class="operator"&gt;))));
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     作動                                                         |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Run&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const datetime &lt;/span&gt;nowtime&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="predefine"&gt;MqlRates &lt;/span&gt;Sprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;zero&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;befo&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;hlzero&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;rates&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;datetime &lt;/span&gt;startime&lt;span class="operator"&gt;=&lt;/span&gt;nowtime&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;startime&lt;span class="operator"&gt;=&lt;/span&gt;Shiftime&lt;span class="operator"&gt;(&lt;/span&gt;nowtime&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;      rates &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;CopyRates&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;timeframes&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;datetime&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;startime&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Sprice&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;Sprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;]&lt;/span&gt;.time &lt;span class="operator"&gt;!= &lt;/span&gt;bartimenow&lt;span class="operator"&gt;){
&lt;/span&gt;            bartimenow &lt;span class="operator"&gt;= &lt;/span&gt;Sprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;]&lt;/span&gt;.time&lt;span class="operator"&gt;;
&lt;/span&gt;            bufindex&lt;span class="operator"&gt;++;
&lt;/span&gt;         　&lt;span class="operator"&gt;}
&lt;/span&gt;         zero&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;         hlzero &lt;span class="operator"&gt;= &lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;,&lt;/span&gt;HLrange&lt;span class="operator"&gt;);
&lt;/span&gt;         price&lt;span class="operator"&gt;[&lt;/span&gt;zero&lt;span class="operator"&gt;] = &lt;/span&gt;Sprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;         phi&lt;span class="operator"&gt;[&lt;/span&gt;hlzero&lt;span class="operator"&gt;] = &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;zero&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;;
&lt;/span&gt;         plw&lt;span class="operator"&gt;[&lt;/span&gt;hlzero&lt;span class="operator"&gt;] = &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;zero&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;;
&lt;/span&gt;        &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;MLalfa&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;MSalfa&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;ON_MA&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;Run_Ma&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;);
&lt;/span&gt;        &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;ON_Heiken&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;Run_HeikenAshi&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;);
&lt;/span&gt;        &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;ON_DeMark&lt;span class="operator"&gt;==&lt;/span&gt;&lt;span class="macro"&gt;true&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;Run_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;);
&lt;/span&gt;         startime&lt;span class="operator"&gt;=&lt;/span&gt;Shiftimeon&lt;span class="operator"&gt;(&lt;/span&gt;startime&lt;span class="operator"&gt;);                    
&lt;/span&gt;         befo &lt;span class="operator"&gt;= &lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;+&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;         &lt;span class="operator"&gt;}
&lt;/span&gt;    &lt;span class="operator"&gt;} &lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;befo&lt;span class="operator"&gt;]&lt;/span&gt;.tick_volume&lt;span class="operator"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|       平均足                                                     |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Run_HeikenAshi&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;Hrange&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;bef&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;-(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Hrange&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;pi &lt;span class="operator"&gt;= &lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;]==&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;      Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.open  &lt;span class="operator"&gt;= &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.open&lt;span class="operator"&gt;;
&lt;/span&gt;      Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.close &lt;span class="operator"&gt;= &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.close&lt;span class="operator"&gt;;
&lt;/span&gt;      Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.hi    &lt;span class="operator"&gt;= &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;;
&lt;/span&gt;      Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.close &lt;span class="operator"&gt;= &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;;
&lt;/span&gt;     &lt;span class="operator"&gt;} &lt;/span&gt;&lt;span class="keyword"&gt;else &lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;         Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.open  &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;Heiken&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.open&lt;span class="operator"&gt;+&lt;/span&gt;Heiken&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.close&lt;span class="operator"&gt;)/&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;         Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.close &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.open&lt;span class="operator"&gt;+&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;+&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;+&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.close&lt;span class="operator"&gt;)/&lt;/span&gt;&lt;span class="number"&gt;4&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;         Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.hi    &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="function"&gt;MathMax&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="function"&gt;MathMax&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.open&lt;span class="operator"&gt;,&lt;/span&gt;Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.close&lt;span class="operator"&gt;)),&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;         Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.lw    &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="function"&gt;MathMin&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="function"&gt;MathMin&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.open&lt;span class="operator"&gt;,&lt;/span&gt;Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.close&lt;span class="operator"&gt;)),&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;     &lt;span class="operator"&gt;}
&lt;/span&gt;    Heiken&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.time&lt;span class="operator"&gt;=&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.time&lt;span class="operator"&gt;;
&lt;/span&gt;    prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;]++;
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;]);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|      MA                                                          |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Run_Ma&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;Mrange&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;bef&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;-(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Mrange&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;pi &lt;span class="operator"&gt;= &lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;calfa&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;    &lt;span class="keyword"&gt;double &lt;/span&gt;Median &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;]==&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;     &lt;span class="keyword"&gt;double &lt;/span&gt;Eprice&lt;span class="operator"&gt;[];
&lt;/span&gt;     &lt;span class="keyword"&gt;double &lt;/span&gt;MLEMA&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;MEMA&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;LEMA&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;SEMA&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;   
&lt;/span&gt;     &lt;span class="keyword"&gt;int    &lt;/span&gt;count&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;cbar&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1000&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt; 
     &lt;span class="keyword"&gt;do&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;         count &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;CopyClose&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;symbl&lt;span class="operator"&gt;,&lt;/span&gt;timeframes&lt;span class="operator"&gt;,&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.time&lt;span class="operator"&gt;,(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;cbar&lt;span class="operator"&gt;,&lt;/span&gt;Eprice&lt;span class="operator"&gt;);
&lt;/span&gt;         &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;count&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;Sleep&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;1000&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;       &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;while&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;count&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;       
     MLEMA&lt;span class="operator"&gt;=&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;     MEMA&lt;span class="operator"&gt;=&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;     LEMA&lt;span class="operator"&gt;=&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;     SEMA&lt;span class="operator"&gt;=&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;     
     &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;t&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;t&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;count&lt;span class="operator"&gt;;&lt;/span&gt;t&lt;span class="operator"&gt;++){
&lt;/span&gt;         calfa&lt;span class="operator"&gt;= &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;MMLalfa&lt;span class="operator"&gt;,&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;t&lt;span class="operator"&gt;],&lt;/span&gt;MLEMA&lt;span class="operator"&gt;);
&lt;/span&gt;         MLEMA &lt;span class="operator"&gt;= &lt;/span&gt;calfa&lt;span class="operator"&gt;*&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;t&lt;span class="operator"&gt;]+(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;calfa&lt;span class="operator"&gt;)*&lt;/span&gt;MLEMA&lt;span class="operator"&gt;;
&lt;/span&gt;         calfa&lt;span class="operator"&gt;= &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;MMalfa&lt;span class="operator"&gt;,&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;t&lt;span class="operator"&gt;],&lt;/span&gt;MEMA&lt;span class="operator"&gt;);
&lt;/span&gt;         MEMA &lt;span class="operator"&gt;= &lt;/span&gt;calfa&lt;span class="operator"&gt;*&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;t&lt;span class="operator"&gt;]+(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;calfa&lt;span class="operator"&gt;)*&lt;/span&gt;MEMA&lt;span class="operator"&gt;;
&lt;/span&gt;         calfa&lt;span class="operator"&gt;= &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;MLalfa&lt;span class="operator"&gt;,&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;t&lt;span class="operator"&gt;],&lt;/span&gt;LEMA&lt;span class="operator"&gt;);
&lt;/span&gt;         LEMA &lt;span class="operator"&gt;= &lt;/span&gt;calfa&lt;span class="operator"&gt;*&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;t&lt;span class="operator"&gt;]+(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;calfa&lt;span class="operator"&gt;)*&lt;/span&gt;LEMA&lt;span class="operator"&gt;;
&lt;/span&gt;         calfa&lt;span class="operator"&gt;= &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;MSalfa&lt;span class="operator"&gt;,&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;t&lt;span class="operator"&gt;],&lt;/span&gt;SEMA&lt;span class="operator"&gt;);
&lt;/span&gt;         SEMA &lt;span class="operator"&gt;= &lt;/span&gt;calfa&lt;span class="operator"&gt;*&lt;/span&gt;Eprice&lt;span class="operator"&gt;[&lt;/span&gt;t&lt;span class="operator"&gt;]+(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;calfa&lt;span class="operator"&gt;)*&lt;/span&gt;SEMA&lt;span class="operator"&gt;;
&lt;/span&gt;    &lt;span class="operator"&gt;}
&lt;/span&gt;    MA&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.megal      &lt;span class="operator"&gt;= &lt;/span&gt;MLEMA&lt;span class="operator"&gt;;
&lt;/span&gt;    MA&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.mega       &lt;span class="operator"&gt;= &lt;/span&gt;MEMA&lt;span class="operator"&gt;;
&lt;/span&gt;    MA&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.longrange  &lt;span class="operator"&gt;= &lt;/span&gt;LEMA&lt;span class="operator"&gt;;
&lt;/span&gt;    MA&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.shortrange &lt;span class="operator"&gt;= &lt;/span&gt;SEMA&lt;span class="operator"&gt;;
&lt;/span&gt;      
   &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;else&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;         Median &lt;span class="operator"&gt;= (&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.open &lt;span class="operator"&gt;+ &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.high &lt;span class="operator"&gt;+ &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.low &lt;span class="operator"&gt;+ &lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.close&lt;span class="operator"&gt;)/&lt;/span&gt;&lt;span class="number"&gt;4&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         calfa&lt;span class="operator"&gt;= &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;MMLalfa&lt;span class="operator"&gt;,&lt;/span&gt;Median&lt;span class="operator"&gt;,&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.megal&lt;span class="operator"&gt;);
&lt;/span&gt;         MA&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.megal&lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;calfa&lt;span class="operator"&gt;*&lt;/span&gt;Median&lt;span class="operator"&gt;+(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;calfa&lt;span class="operator"&gt;)*&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.megal&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;         calfa&lt;span class="operator"&gt;= &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;MMalfa&lt;span class="operator"&gt;,&lt;/span&gt;Median&lt;span class="operator"&gt;,&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.mega&lt;span class="operator"&gt;);
&lt;/span&gt;         MA&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.mega&lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;calfa&lt;span class="operator"&gt;*&lt;/span&gt;Median&lt;span class="operator"&gt;+(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;calfa&lt;span class="operator"&gt;)*&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.mega&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;         calfa &lt;span class="operator"&gt;= &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;MLalfa&lt;span class="operator"&gt;,&lt;/span&gt;Median&lt;span class="operator"&gt;,&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.longrange&lt;span class="operator"&gt;);
&lt;/span&gt;         MA&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.longrange&lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;calfa&lt;span class="operator"&gt;*&lt;/span&gt;Median&lt;span class="operator"&gt;+(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;calfa&lt;span class="operator"&gt;)*&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.longrange&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;         calfa &lt;span class="operator"&gt;= &lt;/span&gt;Run_Sigmoid&lt;span class="operator"&gt;(&lt;/span&gt;MSalfa&lt;span class="operator"&gt;,&lt;/span&gt;Median&lt;span class="operator"&gt;,&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.shortrange&lt;span class="operator"&gt;);
&lt;/span&gt;         MA&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.shortrange&lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;calfa&lt;span class="operator"&gt;*&lt;/span&gt;Median&lt;span class="operator"&gt;+(&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;calfa&lt;span class="operator"&gt;)*&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;bef&lt;span class="operator"&gt;]&lt;/span&gt;.shortrange&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;        &lt;span class="operator"&gt;}
&lt;/span&gt;   prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;]++;
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;]);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     DeMarker                                                     |
//+------------------------------------------------------------------+

&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Run_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;){

&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;Drange&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;bef&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;-(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;Drange&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;pi &lt;span class="operator"&gt;= &lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;pbef&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;-(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;k&lt;span class="operator"&gt;,&lt;/span&gt;z&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;maxsum&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;minsum&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;dNum&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   
   &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;]==&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;){
&lt;/span&gt;      DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.max&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.min&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;else if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;]&amp;gt;&lt;/span&gt;&lt;span class="number"&gt;0 &lt;/span&gt;&lt;span class="operator"&gt;&amp;amp;&amp;amp; &lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;]&amp;lt;&lt;/span&gt;DeMarker_Period&lt;span class="operator"&gt;){
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pbef&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;)&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.max&lt;span class="operator"&gt;=&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;-&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pbef&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;;
&lt;/span&gt;                  &lt;span class="keyword"&gt;else &lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.max &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;               &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pbef&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;)&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.min&lt;span class="operator"&gt;=&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pbef&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;-&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;;
&lt;/span&gt;                  &lt;span class="keyword"&gt;else &lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.min &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;            &lt;span class="operator"&gt;}&lt;/span&gt;&lt;span class="keyword"&gt;else&lt;/span&gt;&lt;span class="operator"&gt;{
&lt;/span&gt;      
                  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pbef&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;)&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.max&lt;span class="operator"&gt;=&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;-&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pbef&lt;span class="operator"&gt;]&lt;/span&gt;.high&lt;span class="operator"&gt;;
&lt;/span&gt;                     &lt;span class="keyword"&gt;else &lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.max &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;                  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pbef&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;)&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.min&lt;span class="operator"&gt;=&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pbef&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;-&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;pi&lt;span class="operator"&gt;]&lt;/span&gt;.low&lt;span class="operator"&gt;;
&lt;/span&gt;                     &lt;span class="keyword"&gt;else &lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.min &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;        
                  &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;k&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;k&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;DeMarker_Period&lt;span class="operator"&gt;;&lt;/span&gt;k&lt;span class="operator"&gt;++){
&lt;/span&gt;                     z&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;-&lt;/span&gt;k&lt;span class="operator"&gt;,&lt;/span&gt;Drange&lt;span class="operator"&gt;);
&lt;/span&gt;                     maxsum&lt;span class="operator"&gt;+=&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;z&lt;span class="operator"&gt;]&lt;/span&gt;.max&lt;span class="operator"&gt;;
&lt;/span&gt;                     minsum&lt;span class="operator"&gt;+=&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;z&lt;span class="operator"&gt;]&lt;/span&gt;.min&lt;span class="operator"&gt;;
&lt;/span&gt;                  &lt;span class="operator"&gt;}
&lt;/span&gt;                  DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.avmax&lt;span class="operator"&gt;=&lt;/span&gt;maxsum&lt;span class="operator"&gt;/&lt;/span&gt;DeMarker_Period&lt;span class="operator"&gt;;
&lt;/span&gt;                  DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.avmin&lt;span class="operator"&gt;=&lt;/span&gt;minsum&lt;span class="operator"&gt;/&lt;/span&gt;DeMarker_Period&lt;span class="operator"&gt;;
&lt;/span&gt;         
                  dNum&lt;span class="operator"&gt;=&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.avmax&lt;span class="operator"&gt;+&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.avmin&lt;span class="operator"&gt;;
&lt;/span&gt;                  &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;dNum&lt;span class="operator"&gt;!=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;) &lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.main&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="function"&gt;NormalizeDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.avmax&lt;span class="operator"&gt;/&lt;/span&gt;dNum&lt;span class="operator"&gt;,&lt;/span&gt;digit&lt;span class="operator"&gt;);
&lt;/span&gt;                     &lt;span class="keyword"&gt;else &lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.main&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;;        
&lt;/span&gt;               &lt;span class="operator"&gt;}
&lt;/span&gt;          DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]&lt;/span&gt;.time&lt;span class="operator"&gt;=&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;)]&lt;/span&gt;.time&lt;span class="operator"&gt;; 
&lt;/span&gt;   prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;]++; 
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;prev_calculated&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;]);
&lt;/span&gt; &lt;span class="operator"&gt;}  
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|      価格の取得                                                  |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="predefine"&gt;MqlRates &lt;/span&gt;Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Get_price&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;){
&lt;/span&gt;   &lt;span class="keyword"&gt;int &lt;/span&gt;i&lt;span class="operator"&gt;=&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;+&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;range&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;price&lt;span class="operator"&gt;[&lt;/span&gt;i&lt;span class="operator"&gt;]);
}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|      DeMarkerの値の取得                                          |
//+------------------------------------------------------------------+
&lt;/span&gt;Custom_Ddate Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Get_DeMarker&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;){&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;DeMarker&lt;span class="operator"&gt;[&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;+&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;Drange&lt;span class="operator"&gt;)]);}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|      平均足の値の取得 　                                         |
//+------------------------------------------------------------------+
&lt;/span&gt;Custom_date Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Get_HeikenAshi&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;){&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;( &lt;/span&gt;Heiken&lt;span class="operator"&gt;[&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;+&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;Hrange&lt;span class="operator"&gt;)]);}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|      MAの値の取得                                                 |
//+------------------------------------------------------------------+
&lt;/span&gt;Custom_MA Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Get_Ma&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;index&lt;span class="operator"&gt;){&lt;/span&gt;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;MA&lt;span class="operator"&gt;[&lt;/span&gt;ZeroIndex&lt;span class="operator"&gt;(&lt;/span&gt;bufindex&lt;span class="operator"&gt;+&lt;/span&gt;index&lt;span class="operator"&gt;,&lt;/span&gt;Mrange&lt;span class="operator"&gt;)]);}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|     高値と安値と中値の取得                                       |
//+------------------------------------------------------------------+
&lt;/span&gt;HL_date Cindibox_h&lt;span class="operator"&gt;::&lt;/span&gt;Get_HL&lt;span class="operator"&gt;(){
&lt;/span&gt;   &lt;span class="keyword"&gt;double &lt;/span&gt;hig&lt;span class="operator"&gt;,&lt;/span&gt;lwg&lt;span class="operator"&gt;;
&lt;/span&gt;   HL_date q&lt;span class="operator"&gt;;
&lt;/span&gt;  hig &lt;span class="operator"&gt;= &lt;/span&gt;phi&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="function"&gt;ArrayMaximum&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;phi&lt;span class="operator"&gt;)];
&lt;/span&gt;  lwg &lt;span class="operator"&gt;= &lt;/span&gt;plw&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="function"&gt;ArrayMinimum&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;plw&lt;span class="operator"&gt;)];
&lt;/span&gt;   q.av &lt;span class="operator"&gt;= (&lt;/span&gt;lwg&lt;span class="operator"&gt;+&lt;/span&gt;hig&lt;span class="operator"&gt;)/&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   q.wid &lt;span class="operator"&gt;= &lt;/span&gt;hig&lt;span class="operator"&gt;-&lt;/span&gt;lwg&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;q&lt;span class="operator"&gt;);
}

&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="color: navy;"&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="color: navy;"&gt;こんな感じです。＾＾；&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="color: navy;"&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h2&gt;




&lt;span style="color: navy;"&gt;まとめ&lt;/span&gt;&lt;/h2&gt;
&lt;pre&gt;&lt;span style="color: navy;"&gt;さてさて、いくつバグがあるでしょうか？&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="color: navy;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-2104084757167994847?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EPQirA-DXdRsNlup6oZdJSpkZ2s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EPQirA-DXdRsNlup6oZdJSpkZ2s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EPQirA-DXdRsNlup6oZdJSpkZ2s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EPQirA-DXdRsNlup6oZdJSpkZ2s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/7BSAvnKSHz4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/2104084757167994847/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/10/atc20112.html#comment-form" title="2 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/2104084757167994847?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/2104084757167994847?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/7BSAvnKSHz4/atc20112.html" title="【ATC2011】2週目■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/10/atc20112.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEMQ3gyeSp7ImA9WhdbEEU.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-702823223367586975</id><published>2011-10-08T22:53:00.001+09:00</published><updated>2011-10-08T23:38:02.691+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-08T23:38:02.691+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ATC" /><title>【ATC2011】1週目■■■</title><content type="html">ATC2011が始まり1週間が経過しました。筆者が提出したEAは、散々な結果となっています。&lt;br /&gt;
そこで今回は、その原因を探ってみました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;





取引結果とバックテスト&lt;/h2&gt;
オーダーシグナルを比べてみました。&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-dYU21OWQ_DE/TpBWZP5lqfI/AAAAAAAAAbo/74GvFdYSbHU/s1600/trade.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-dYU21OWQ_DE/TpBWZP5lqfI/AAAAAAAAAbo/74GvFdYSbHU/s1600/trade.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href="http://lh4.ggpht.com/-ZOd-8Op0AY8/TpBVvVuu4SI/AAAAAAAAAbM/3YadSNobxVI/s1600-h/trade%25255B5%25255D.png"&gt;&lt;br /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;ん？ここまで異なるとは。。原因はどこにあるのでしょうか？&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;



&lt;/h2&gt;
&lt;h2&gt;





提出したEAのシグナル条件&lt;/h2&gt;
対象ペア：９ペア（GBPUSD/EURUSD/USDJPY/USDCAD/AUDUSD/EURGBP/EURAUD/EURJPY/GBPJPY）&lt;br /&gt;
EA作動方法： &lt;br /&gt;
マザーペアの値動き（pipsの変動)によって作動。（今回は、USDJPY）&lt;br /&gt;
取引方法：&lt;br /&gt;
Buy及びはSellシグナルの発生でオーダー。（ポジションと逆シグナルの発生でドテン）&lt;br /&gt;
Buy及びSellシグナルは、常時発生しているのではなく、ワンポイントで発生する。&lt;br /&gt;
その他：&lt;br /&gt;
内部に埋め込んだ指標は、事前計算を必要とするため、初回の起動に予備計算をしている。&lt;br /&gt;
事前計算は、ループ処理を伴う。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;



&lt;/h2&gt;
&lt;h2&gt;





提出したEAで問題になる可能性&lt;/h2&gt;
作動方法の問題：&lt;br /&gt;
マザーペアに値動き（pipsの変動）がなければ起動しない。&lt;br /&gt;
Q：一番取引量があるペア（EURUSD)になぜしなかったか？&lt;br /&gt;
A:M6以上の期間を使用していたので、特に問題がないだろうと、思っていた。。orz&lt;br /&gt;
※ただし、今回のバックテストもUSDJPYで行った結果だから、これがすべての原因である可能性は、低いと考えている。&lt;br /&gt;
事前計算のループ処理の問題：&lt;br /&gt;
Q:ループ処理が少なかったために、以上シグナルを発生してしまったのではないか？&lt;br /&gt;
A:これも、同じ条件でテストしているので、今回の問題の原因になる可能性は低い。&lt;br /&gt;
環境負荷の問題：&lt;br /&gt;
Q:シグナル発生時に回線異常が起こった場合に問題はないか？&lt;br /&gt;
A:：&lt;span style="color: red;"&gt;ドテンのタイミングで回線異常が発生した場合、SLまで持って行かれる可能性がある。&lt;/span&gt;&lt;br /&gt;
と言うことで、環境を確認。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;



&lt;/h2&gt;
&lt;h2&gt;





トレード環境を確認&lt;/h2&gt;
左から、時刻、環境、トレードシグナルです。&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-NBvN36WoxbI/TpBWbTyBUQI/AAAAAAAAAbk/Av4tZSllPIc/s1600/tradesignal.PNG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-NBvN36WoxbI/TpBWbTyBUQI/AAAAAAAAAbk/Av4tZSllPIc/s1600/tradesignal.PNG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-4Tks3cF0dTY/TpBVwjW_vCI/AAAAAAAAAbU/5NvNBlCxjRY/s1600-h/tradesignal%25255B7%25255D.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://docs.google.com/spreadsheet/ccc?key=0Ao2sh1xkCfgtdE02YlpsMWk5QzR6LWtNc0dlZVFSbVE&amp;amp;hl=ja"&gt;データ&lt;/a&gt;&lt;br /&gt;
アクセスポイントがUSDとEURを移行しながらロストしてる。。。。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;



&lt;/h2&gt;
&lt;h2&gt;





まとめ&lt;/h2&gt;
環境負荷が、バックテストとコンテストの結果の違いを発生させている可能性がありますが、今のところはっきりとした原因がわかりませんでした。 来週は、筆者のPCでも作動させて確認するつもりです。&lt;br /&gt;
しかし、EAを作動させているサーバーはどこに置かれているのでしょうか？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-702823223367586975?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3iLGLQEouc5ypdv1vM-e6wAdR_0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3iLGLQEouc5ypdv1vM-e6wAdR_0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3iLGLQEouc5ypdv1vM-e6wAdR_0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3iLGLQEouc5ypdv1vM-e6wAdR_0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/11Hio6S3Z2E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/702823223367586975/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/10/atc20111.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/702823223367586975?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/702823223367586975?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/11Hio6S3Z2E/atc20111.html" title="【ATC2011】1週目■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-dYU21OWQ_DE/TpBWZP5lqfI/AAAAAAAAAbo/74GvFdYSbHU/s72-c/trade.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/10/atc20111.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UESH0_eip7ImA9WhdbFkQ.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-633042268370388152</id><published>2011-10-01T20:37:00.001+09:00</published><updated>2011-10-16T02:20:09.342+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-16T02:20:09.342+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MQL5" /><title>DWTHarrをMQL5に書き換えました。■■■</title><content type="html">途中で放り投げたDWTHarrのMQL5版を作成してみました。&lt;br /&gt;
元ネタは、&lt;a href="http://expertadviser-bighope.blogspot.com/2009/08/blog-post.html"&gt;こちら&lt;/a&gt;。&lt;br /&gt;
&lt;h2&gt;

コード&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//|                                                      DWTHarr.mq5 |
//|                                          Copyright 2010, bighope |
//|                       http://expertadviser-bighope.blogspot.com/ |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;copyright &lt;/span&gt;&lt;span class="string"&gt;"Copyright 2010, bighope"
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;link      &lt;/span&gt;&lt;span class="string"&gt;"http://expertadviser-bighope.blogspot.com/"
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;version   &lt;/span&gt;&lt;span class="string"&gt;"1.00"
&lt;/span&gt;&lt;span class="comment"&gt;//#property indicator_separate_window//サブチャート
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;indicator_chart_window&lt;/span&gt;&lt;span class="comment"&gt;//メインチャート
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;indicator_buffers    &lt;/span&gt;&lt;span class="number"&gt;1
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;indicator_plots      &lt;/span&gt;&lt;span class="number"&gt;1
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;indicator_type1         DRAW_LINE
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;indicator_style1        STYLE_SOLID
&lt;/span&gt;&lt;span class="keyword"&gt;#property &lt;/span&gt;&lt;span class="macro"&gt;indicator_color1    &lt;/span&gt;Red
&lt;span class="keyword"&gt;input int &lt;/span&gt;&lt;span class="input"&gt;N     &lt;/span&gt;&lt;span class="operator"&gt;=  &lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;//対象データ数（２のN乗）
&lt;/span&gt;&lt;span class="keyword"&gt;input int &lt;/span&gt;&lt;span class="input"&gt;HBs   &lt;/span&gt;&lt;span class="operator"&gt;=  &lt;/span&gt;&lt;span class="number"&gt;4&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;//高周波カット位置
&lt;/span&gt;&lt;span class="keyword"&gt;input int &lt;/span&gt;&lt;span class="input"&gt;LBs   &lt;/span&gt;&lt;span class="operator"&gt;=  &lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;//低周波カット位置
&lt;/span&gt;&lt;span class="keyword"&gt;input int &lt;/span&gt;&lt;span class="input"&gt;Shift &lt;/span&gt;&lt;span class="operator"&gt;=  &lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;&lt;span class="comment"&gt;//データのシフト数
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;DWTPeriod&lt;span class="operator"&gt;;
&lt;/span&gt;&lt;span class="comment"&gt;//---------buffers
&lt;/span&gt;&lt;span class="keyword"&gt;double &lt;/span&gt;IDWT&lt;span class="operator"&gt;[];
&lt;/span&gt;&lt;span class="keyword"&gt;double &lt;/span&gt;g&lt;span class="operator"&gt;[];
&lt;/span&gt;&lt;span class="keyword"&gt;double &lt;/span&gt;gs&lt;span class="operator"&gt;[];

&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;&lt;span class="function"&gt;OnInit&lt;/span&gt;&lt;span class="operator"&gt;()
&lt;/span&gt;  &lt;span class="operator"&gt;{
&lt;/span&gt;&lt;span class="comment"&gt;//--- indicator buffers mapping
&lt;/span&gt;   &lt;span class="function"&gt;SetIndexBuffer&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;IDWT&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;INDICATOR_DATA&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;PlotIndexSetDouble&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="macro"&gt;PLOT_EMPTY_VALUE&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="number"&gt;0.0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   DWTPeriod &lt;span class="operator"&gt;=(&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span class="operator"&gt;)&lt;/span&gt;&lt;span class="function"&gt;MathPow&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="input"&gt;N&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;g&lt;span class="operator"&gt;,&lt;/span&gt;DWTPeriod&lt;span class="operator"&gt;);
&lt;/span&gt;   &lt;span class="function"&gt;ArrayResize&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;gs&lt;span class="operator"&gt;,&lt;/span&gt;DWTPeriod&lt;span class="operator"&gt;);
&lt;/span&gt;&lt;span class="comment"&gt;//---
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
&lt;/span&gt;&lt;span class="keyword"&gt;int &lt;/span&gt;&lt;span class="function"&gt;OnCalculate&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const int &lt;/span&gt;rates_total&lt;span class="operator"&gt;,
&lt;/span&gt;                    &lt;span class="keyword"&gt;const int &lt;/span&gt;prev_calculated&lt;span class="operator"&gt;,
&lt;/span&gt;                    &lt;span class="keyword"&gt;const datetime&lt;/span&gt;&lt;span class="operator"&gt;&amp;amp; &lt;/span&gt;Time&lt;span class="operator"&gt;[],
&lt;/span&gt;                    &lt;span class="keyword"&gt;const double&lt;/span&gt;&lt;span class="operator"&gt;&amp;amp; &lt;/span&gt;Open&lt;span class="operator"&gt;[],
&lt;/span&gt;                    &lt;span class="keyword"&gt;const double&lt;/span&gt;&lt;span class="operator"&gt;&amp;amp; &lt;/span&gt;High&lt;span class="operator"&gt;[],
&lt;/span&gt;                    &lt;span class="keyword"&gt;const double&lt;/span&gt;&lt;span class="operator"&gt;&amp;amp; &lt;/span&gt;Low&lt;span class="operator"&gt;[],
&lt;/span&gt;                    &lt;span class="keyword"&gt;const double&lt;/span&gt;&lt;span class="operator"&gt;&amp;amp; &lt;/span&gt;Close&lt;span class="operator"&gt;[],
&lt;/span&gt;                    &lt;span class="keyword"&gt;const long&lt;/span&gt;&lt;span class="operator"&gt;&amp;amp; &lt;/span&gt;Tick_volume&lt;span class="operator"&gt;[],
&lt;/span&gt;                    &lt;span class="keyword"&gt;const long&lt;/span&gt;&lt;span class="operator"&gt;&amp;amp; &lt;/span&gt;Volume&lt;span class="operator"&gt;[],
&lt;/span&gt;                    &lt;span class="keyword"&gt;const int&lt;/span&gt;&lt;span class="operator"&gt;&amp;amp; &lt;/span&gt;Spread&lt;span class="operator"&gt;[])  
&lt;/span&gt;  &lt;span class="operator"&gt;{
&lt;/span&gt;&lt;span class="comment"&gt;//---
&lt;/span&gt;   &lt;span class="keyword"&gt;int     &lt;/span&gt;k&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;int     &lt;/span&gt;DWTf&lt;span class="operator"&gt;,&lt;/span&gt;z&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;double  &lt;/span&gt;sum&lt;span class="operator"&gt;,&lt;/span&gt;difference&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;k&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;k&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;DWTPeriod&lt;span class="operator"&gt;;&lt;/span&gt;k&lt;span class="operator"&gt;++)&lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;] = &lt;/span&gt;Open&lt;span class="operator"&gt;[&lt;/span&gt;rates_total&lt;span class="operator"&gt;-&lt;/span&gt;k&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="input"&gt;Shift&lt;/span&gt;&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;   DWTf &lt;span class="operator"&gt;= &lt;/span&gt;DWTPeriod&lt;span class="operator"&gt;/&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;   &lt;span class="comment"&gt;//変換作業
&lt;/span&gt;   &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;z&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;z&lt;span class="operator"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="input"&gt;N&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;z&lt;span class="operator"&gt;++)
&lt;/span&gt;   &lt;span class="operator"&gt;{
&lt;/span&gt;      &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;k&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;k&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;DWTf&lt;span class="operator"&gt;;&lt;/span&gt;k&lt;span class="operator"&gt;++)
&lt;/span&gt;      &lt;span class="operator"&gt;{
&lt;/span&gt;         sum        &lt;span class="operator"&gt;=(&lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;]+&lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;+&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;])/&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         difference &lt;span class="operator"&gt;=(&lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;]-&lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;*&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;+&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;])/&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;;
&lt;/span&gt;         gs&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;]      =&lt;/span&gt;sum&lt;span class="operator"&gt;;
&lt;/span&gt;          &lt;span class="comment"&gt;//フィルタリング作業
&lt;/span&gt;          &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;((&lt;/span&gt;&lt;span class="input"&gt;LBs&lt;/span&gt;&lt;span class="operator"&gt;&amp;gt;=&lt;/span&gt;z&lt;span class="operator"&gt;)&amp;amp;&amp;amp;(&lt;/span&gt;z&lt;span class="operator"&gt;&amp;gt;=&lt;/span&gt;&lt;span class="input"&gt;HBs&lt;/span&gt;&lt;span class="operator"&gt;)){&lt;/span&gt;gs&lt;span class="operator"&gt;[&lt;/span&gt;DWTf&lt;span class="operator"&gt;+&lt;/span&gt;k&lt;span class="operator"&gt;] = &lt;/span&gt;difference&lt;span class="operator"&gt;;}&lt;/span&gt;&lt;span class="keyword"&gt;else&lt;/span&gt;&lt;span class="operator"&gt;{&lt;/span&gt;gs&lt;span class="operator"&gt;[&lt;/span&gt;DWTf&lt;span class="operator"&gt;+&lt;/span&gt;k&lt;span class="operator"&gt;] = &lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;}
&lt;/span&gt;       &lt;span class="operator"&gt;}
&lt;/span&gt;      &lt;span class="function"&gt;ArrayCopy&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;g&lt;span class="operator"&gt;,&lt;/span&gt;gs&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="input"&gt;N&lt;/span&gt;&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;z&lt;span class="operator"&gt;) &lt;/span&gt;DWTf &lt;span class="operator"&gt;=&lt;/span&gt;DWTf&lt;span class="operator"&gt;/&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;; 
&lt;/span&gt;    &lt;span class="operator"&gt;}
&lt;/span&gt;      
    &lt;span class="comment"&gt;//逆変換
&lt;/span&gt;    &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;z&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;z&lt;span class="operator"&gt;&amp;lt;=&lt;/span&gt;&lt;span class="input"&gt;N &lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;z&lt;span class="operator"&gt;++)
&lt;/span&gt;    &lt;span class="operator"&gt;{
&lt;/span&gt;     
      &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;k &lt;span class="operator"&gt;= &lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;; &lt;/span&gt;k &lt;span class="operator"&gt;&amp;lt; &lt;/span&gt;DWTf&lt;span class="operator"&gt;; &lt;/span&gt;k&lt;span class="operator"&gt;++) 
&lt;/span&gt;      &lt;span class="operator"&gt;{
&lt;/span&gt;         sum         &lt;span class="operator"&gt;=  &lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;]+&lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;+&lt;/span&gt;DWTf&lt;span class="operator"&gt;];
&lt;/span&gt;         difference  &lt;span class="operator"&gt;=  &lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;]-&lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;k&lt;span class="operator"&gt;+&lt;/span&gt;DWTf&lt;span class="operator"&gt;];
&lt;/span&gt;         gs&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;*&lt;/span&gt;k&lt;span class="operator"&gt;]       = &lt;/span&gt;sum&lt;span class="operator"&gt;;
&lt;/span&gt;         gs&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;*&lt;/span&gt;k&lt;span class="operator"&gt;+&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;]     = &lt;/span&gt;difference&lt;span class="operator"&gt;;
&lt;/span&gt;      &lt;span class="operator"&gt;}
&lt;/span&gt;      &lt;span class="function"&gt;ArrayCopy&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;g&lt;span class="operator"&gt;,&lt;/span&gt;gs&lt;span class="operator"&gt;);
&lt;/span&gt;      &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="input"&gt;N&lt;/span&gt;&lt;span class="operator"&gt;&amp;gt;&lt;/span&gt;z&lt;span class="operator"&gt;)&lt;/span&gt;DWTf &lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="operator"&gt;*&lt;/span&gt;DWTf&lt;span class="operator"&gt;;
&lt;/span&gt;     &lt;span class="operator"&gt;}

&lt;/span&gt;    &lt;span class="comment"&gt;//プロット
&lt;/span&gt;       &lt;span class="keyword"&gt;for&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;k&lt;span class="operator"&gt;=&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;k&lt;span class="operator"&gt;&amp;lt;&lt;/span&gt;DWTPeriod&lt;span class="operator"&gt;;&lt;/span&gt;k&lt;span class="operator"&gt;++){
&lt;/span&gt;        IDWT&lt;span class="operator"&gt;[&lt;/span&gt;rates_total&lt;span class="operator"&gt;-&lt;/span&gt;DWTPeriod&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="input"&gt;Shift&lt;/span&gt;&lt;span class="operator"&gt;+&lt;/span&gt;k&lt;span class="operator"&gt;] = &lt;/span&gt;g&lt;span class="operator"&gt;[&lt;/span&gt;DWTPeriod&lt;span class="operator"&gt;-&lt;/span&gt;k&lt;span class="operator"&gt;-&lt;/span&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;span class="operator"&gt;];
&lt;/span&gt;       &lt;span class="operator"&gt;}
&lt;/span&gt;   &lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;rates_total&lt;span class="operator"&gt;);
&lt;/span&gt;  &lt;span class="operator"&gt;}
&lt;/span&gt;&lt;span class="comment"&gt;//+------------------------------------------------------------------+

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;code&gt;
&lt;/code&gt;

&lt;br /&gt;
&lt;h2&gt;




&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;




コメント&lt;/h2&gt;
実は、コード表示のテストだったりします。＾＾；&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-633042268370388152?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J_9A1Z9lt8BJtOMni7m2hgbwVPo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J_9A1Z9lt8BJtOMni7m2hgbwVPo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J_9A1Z9lt8BJtOMni7m2hgbwVPo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J_9A1Z9lt8BJtOMni7m2hgbwVPo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/O7egN0bJa-8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/633042268370388152/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/10/dwtharrmql5.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/633042268370388152?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/633042268370388152?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/O7egN0bJa-8/dwtharrmql5.html" title="DWTHarrをMQL5に書き換えました。■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/10/dwtharrmql5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UBRX0-eip7ImA9WhdVF0U.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-4307984455894013639</id><published>2011-09-23T23:45:00.000+09:00</published><updated>2011-09-23T23:47:34.352+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T23:47:34.352+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ATC" /><title>ATC2011参加締切5時間前■■■</title><content type="html">ブログをしばらくお休みさせて頂きて、ようやく、年に一度のお祭り（ATC2011）の参加資格を手に入れることができまっした。ということで、今回は、ATC２０１１の楽しみ方(祭りの前編）をネタにしたいと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

ルール&lt;/h2&gt;
代表的なルールを挙げると。&lt;br /&gt;
・使用するプラットフォームは、Metatrader5。&lt;br /&gt;
・テキストファイルなどのデータファイルは、使用可能だが、DLL及びEXEの使用は禁止。&lt;br /&gt;
・初期投資金額は、10,000（USドル） レバレッジ１００&lt;br /&gt;
・取引可能通貨ペア12ペア &lt;a href="http://championship.mql5.com/2011/en/rules/specifications"&gt;一覧&lt;/a&gt;&lt;br /&gt;
・１トレード当たりの最大ロット数５ロット、最少ロット数0.01ロット、合計ロット数15ロット&lt;br /&gt;
・大会期間は、2011年10月１日～12月31日&lt;br /&gt;
・予備テスト期間2011年1月1日～9月１日の間及び大会期間中に５回以上の取引を行うこと。&lt;br /&gt;
・コード内にバグの発生がなく、CPUリソースとPCメモリに対して効率的であること。&lt;br /&gt;
・予備テスト期間と、大会中で、EAの動作が異ならない事。&lt;br /&gt;
・スキャルピング禁止&lt;br /&gt;
などなど・・・ 詳しく知りたい方は、&lt;a href="http://championship.mql5.com/2011/en/rules"&gt;ココ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

ルールから・・・&lt;/h2&gt;
データファイルの使用が可能なため、事前に計算が必要な手法（NN）や大量な計算をする手法（回帰）、が可能です。また、予備テストの高速化をすることも可能でしょう。ただし、DLL禁止のため、必要なコードをMQL5コードに変換することを強いられます。&lt;br /&gt;
取引可能通貨が、12ペア用意されており、マルチに取引することが可能です。また、MT5は、MT4より細かく時間軸が設定できます。（M1/M2/M3/M4・・M12/ect)&lt;br /&gt;
ロット規制について、簡単なグラフを作ってみました。（縦軸がレバレッジ、横軸が証拠金、単純化のため、ペア単価を１として計算しています。）大会ルールでレバが、100以下となっているので100以上は無視してください。最大ロット（15ロット）が、規制されているため、証拠金が増えれば自動的にレバが下がることがわかります。ちなみに、証拠金が70k＄時の15ロットは、レバ20となります。早期（大きなDD前）に、いかに証拠金を積み上げることができるかが勝敗を大きく左右することになるわけです。&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-PjeL6TbrReA/TnybFdYozlI/AAAAAAAAAa0/myB_ThJ2q2g/s1600-h/REVA%25255B7%25255D.png"&gt;&lt;img alt="REVA" border="0" height="230" src="http://lh4.ggpht.com/-io_Lg6E1rCk/TnybF944aAI/AAAAAAAAAa4/Ip5Z4m1t3fs/REVA_thumb%25255B5%25255D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="REVA" width="644" /&gt;&lt;/a&gt;&lt;br /&gt;
スキャルピングの禁止は、うふふ・・&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

裏ルール?&lt;/h2&gt;
大会に出場するEAは、事前審査に通過しなければなりません。もちろんEA内にバグがあってはなりませんが、バグがなくても以下の内容で、受け付けてもらえないことがあります。&lt;br /&gt;
・予備テストの時間超過（前回は、１５分と言われていましたが、詳細は不明です。）&lt;br /&gt;
・予備テスト期間で、減益のEA（テストしてみたら蹴られました。下図が証拠です。）&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/-z6yNYwk121c/TnybGTxGNUI/AAAAAAAAAa8/i7R7Lcs0yrM/s1600-h/tes%25255B2%25255D.png"&gt;&lt;img alt="tes" border="0" height="202" src="http://lh3.ggpht.com/-L17uIZi8rCE/TnybG5u_JAI/AAAAAAAAAbA/IYafXoOq0d0/tes_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="tes" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
つまり、参加するEAがすべて、予備期間の収支をプラスで乗り切ったEAと言うわけです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

今回提出したEA&lt;/h2&gt;
EA名：kazuya(一八）足したら９(^。^)y-.。o○&lt;br /&gt;
取引通貨：CHFがらみ以外の全通貨ペア（計９ペア）&lt;br /&gt;
成績：&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-QDq20MWhGHQ/TnybHaWMP0I/AAAAAAAAAbE/adn-MXwjv6I/s1600-h/kazuya%25255B9%25255D.png"&gt;&lt;img alt="kazuya" border="0" height="461" src="http://lh5.ggpht.com/-wMPJZGmKMog/TnybIL883MI/AAAAAAAAAbI/_HoI854ov_A/kazuya_thumb%25255B7%25255D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="kazuya" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
見解：初期の3か月の期間で見ると、5１ｋ$程度。。。orz &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

まとめ&lt;/h2&gt;
いろいろなサイト、ブログで成績を上げている方がいますが、グラフを見たときに、どれだけ早く一定勾配（15ロット）になるかを見ると、そのEAの期待度がわかるのではないでしょうか？&lt;br /&gt;
『DD低いからもっと上げればよかったんじゃないの？ 』とは、言わないでください。上げられない理由があるんです。。。orz でも、これが今の私の限界です。あとは、高見の見物と言うことで。。(^_^)/ッ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-4307984455894013639?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4W5OcArc2au5km3qEo-MURUwYtg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4W5OcArc2au5km3qEo-MURUwYtg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4W5OcArc2au5km3qEo-MURUwYtg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4W5OcArc2au5km3qEo-MURUwYtg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/VnPh-2vp4Cw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/4307984455894013639/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/09/atc20115.html#comment-form" title="2 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/4307984455894013639?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/4307984455894013639?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/VnPh-2vp4Cw/atc20115.html" title="ATC2011参加締切5時間前■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-io_Lg6E1rCk/TnybF944aAI/AAAAAAAAAa4/Ip5Z4m1t3fs/s72-c/REVA_thumb%25255B5%25255D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/09/atc20115.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QFR3c-fCp7ImA9WhdTE00.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-8935368803208483217</id><published>2011-07-10T00:21:00.003+09:00</published><updated>2011-07-10T22:41:56.954+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-10T22:41:56.954+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><title>『もったいない』を考えてみた。②　■■■</title><content type="html">先回の続きです。ただし、今回取り上げる内容は、いろいろと問題がありますのでご了承ください。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;メモリの視点から見ると・・・・&lt;/h2&gt;使う予定のないデータをメモリ上に保存しておくのは、非常にもったいないことです。そこで、膨大な配列数を持つ配列を最低限の配列数にまとめ、使い回す方法を試してみました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;使い回す方法① 要素のシフト&lt;/h2&gt;下図のように配列の要素をシフトさせて空いた場所に新たな要素を追加する方法。&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/-VcN17QWYs3Y/Thhx_dN1rtI/AAAAAAAAAZ0/5ahqrbuth-k/s1600-h/hei.png"&gt;&lt;img alt="hei" border="0" height="135" src="http://lh6.ggpht.com/-J-csVaHuwvs/Thhx_1qWgkI/AAAAAAAAAZ4/ZUdclgAx_Xg/hei_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="hei" width="244" /&gt;&lt;/a&gt;&lt;br /&gt;
※上記はArray[8]を示し、数値が配列番号、英字が要素を示す。また、I、Jはそれぞれ新たな要素を示す。&lt;br /&gt;
コードで記載すると以下の様になります。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:79347784-a56b-431f-b172-eeba939ceaa0" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;double Array[8];
bool newrecord;　//更新の有無

if(newrecord){　　//更新があれば
 　 for(int i=0;i&amp;lt;7;i++) Array[7-i] =Array[6-i];
} &lt;/pre&gt;&lt;/div&gt;&lt;h5&gt;問題点&lt;/h5&gt;この方法は、ループ処理がなされるため&lt;strike&gt;CUP&lt;/strike&gt;【CPU】に負荷が掛かります。その為、あまり良い方法とは言えません。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;使い回す方法② ポイントのシフト&lt;/h2&gt;ポイント（代入先）のシフトをする方法を考えるために、脳内処理として配列の頭と最後をくっ付けてドーナッツ状にします。下図を参照(上記と同じ配列を使用) そして、一番古い要素のところに新しい要素を追加します。最後に、新しく代入した要素と一番古い要素との間を切り離せば脳内処理完了です。上記と同じ要素の並びが出来上がります。&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/-NX-w4kbGQzg/ThhyAUIA2mI/AAAAAAAAAZ8/5P4hmBN7Xj4/s1600-h/maru3.png"&gt;&lt;img alt="maru" border="0" height="190" src="http://lh4.ggpht.com/-gA1wflNnS8I/ThhyA7ZYiaI/AAAAAAAAAaA/WjVy26hu7f0/maru_thumb3.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="maru" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
この方法を用いればループ処理を行わずに使い回しが可能になります。&lt;br /&gt;
コード表記すると以下のようになります。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:121d5258-c3cd-480e-9a0d-58b577c2be8a" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;double Array[8];
bool newrecord;　//更新の有無
int zeroindex=0; //仮想配列番号
if(newrecord){　　//更新があれば
  int index; 　 
  zeroindex++;
  index=7-zeroindex%8
  Arraay[index]=newdate//新しい要素の代入
} &lt;/pre&gt;&lt;/div&gt;&lt;h5&gt;問題点&lt;/h5&gt;MQL4では試していませんが、MQL5だと55621回処理した後で【stack overflow】エラーを吐き出して強制終了場合（毎回ではありませんが・・・）があります。無限ループ対策に引っかかるのが原因でしょうか？そのため回避対策を施してやる必要が出てきます。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;今回の内容は、ほとんどの方にとってどうでもいいことだと思いますが、自分用の資料として記載しました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-8935368803208483217?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vmVmuH6WGy0tXwAXSgYImpVvLCM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vmVmuH6WGy0tXwAXSgYImpVvLCM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vmVmuH6WGy0tXwAXSgYImpVvLCM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vmVmuH6WGy0tXwAXSgYImpVvLCM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/bWO91T_2XTQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/8935368803208483217/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/07/blog-post_10.html#comment-form" title="7 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/8935368803208483217?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/8935368803208483217?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/bWO91T_2XTQ/blog-post_10.html" title="『もったいない』を考えてみた。②　■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-J-csVaHuwvs/Thhx_1qWgkI/AAAAAAAAAZ4/ZUdclgAx_Xg/s72-c/hei_thumb.png?imgmax=800" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/07/blog-post_10.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UERH05cSp7ImA9WhZaFU8.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-3694917419100755781</id><published>2011-07-01T23:04:00.002+09:00</published><updated>2011-07-01T23:06:45.329+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-01T23:06:45.329+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><title>『もったいない』を考えてみた。　■■■</title><content type="html">節電が叫ばれる中、せっせとPCで遊んでいることに罪悪感を覚え今回は、コードの中に無駄なもの（不要なもの）がないか考えてみた。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;CPUの視点から見ると・・・・&lt;/h2&gt;やはり一番の無駄は、不要なループ処理だと思います。本当にその処理にループ作業が必要か？または、そんなに多くのループ回数が必要か？２つの例を挙げて考えてみましょう！&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;合計の計算&lt;/h4&gt;簡単な合計計算コードを書いてみます。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:96e8bf26-35c6-43b1-81c8-030ea981edd3" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;//price[]は元データ
double SUM[100];
double goukei;
for(int i=0;i&amp;lt;100;i++){
  goukei=0;
  for(int k=0;k&amp;lt;100;k++) goukei+=price[i+k];//このループって必要なの？
  SUM[i]=goukei;
} &lt;/pre&gt;&lt;/div&gt;上記のコードだと100×100で1万回ループすることになります。&lt;br /&gt;
合計を算出する場合に本当にこれだけのループ処理が必要なのでしょうか？&lt;br /&gt;
例えば以下の様なコードにすると、&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:83af798f-f706-4389-b34b-b7b09819ce40" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;//price[]は元データ
double SUM[100];
double goukei=0;
 for(int k=0;k&amp;lt;100;k++) goukei+=price[i+k];
 SUM[0]=goukei;
for(int i=1;i&amp;lt;100;i++) SUM[i]=SUM[i-1]-price[i-1]+price[i+99];&lt;/pre&gt;&lt;/div&gt;100＋99で199回のループで済みます。98.01%の削減につながるわけです。&lt;br /&gt;
計算方法は、前回の合計から無くなる数を削除して、加わる数を足したものです。&lt;br /&gt;
簡単な方法ながら大幅なループの削減につながるわけです。&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;移動平均線の計算&lt;/h4&gt;EMAを使用すれば特に考える必要がありません。ちなみに、以下のコードが公式となります。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:3646df77-d784-4f8f-b6d2-68fe7233a652" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;//price[]は元データ
double alfa//0&amp;lt;alfa&amp;lt;1のパラメータ
EMA[y]=alfa*price[x]+(1-alfa)*EMA[y-1];&lt;/pre&gt;&lt;/div&gt;SMAを使用する場合は、以下の様にするとループ数を削減できます。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:67f1223d-48d6-4557-b7d1-95d5d32d9afd" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;//price[]は元データ
int period = 30;//適用期間のパラメータ
if(SMA[0]==0){
  double sum=0;
  for(int i=0;i&amp;lt;period;i++)sum+=price[i];
  SMA[0]=sum/period;
}else{
       SMA[y]=SMA[y-1]+(price[y+period-1]-price[y-1])/period;
       //若しくは
       //SMA[y]=(SMA[y-1]*period-price[y-1]+price[y+period-1])/period;
      }&lt;/pre&gt;&lt;/div&gt;合計計算の応用となるわけです。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;不要な処理をPCにさせることは、『もったいない』ことだと思います。&lt;br /&gt;
ちなみに、『スパコン 京』で最適化処理をしたらどうなるのだろう？なんて考えてしまいます。&lt;br /&gt;
OSにWindowsが使われているとは考えづらいですが・・・・&lt;br /&gt;
長くなりそうなので今回はここまで！気が向いたらまたこの続きを書きます。&lt;br /&gt;
搾電？ではなく節電思考でいきたいものです。(・・?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-3694917419100755781?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8SHeD432t9PHsmrAGQ7adU35ZSw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8SHeD432t9PHsmrAGQ7adU35ZSw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8SHeD432t9PHsmrAGQ7adU35ZSw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8SHeD432t9PHsmrAGQ7adU35ZSw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/4Fwiz2aG0vE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/3694917419100755781/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/07/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/3694917419100755781?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/3694917419100755781?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/4Fwiz2aG0vE/blog-post.html" title="『もったいない』を考えてみた。　■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/07/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQHQHc4cSp7ImA9WhZUGEU.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-6023662880355856572</id><published>2011-06-12T02:16:00.002+09:00</published><updated>2011-06-12T21:38:51.939+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-12T21:38:51.939+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><title>『鋼球ぐらい握りつぶせ！』・・・■■■</title><content type="html">&lt;a href="http://www.kyoto-np.co.jp/top/article/20110531000016"&gt;2011/05/31京都新聞web版に『磁力抵抗「ゼロ」の発電機 草津の男性が発明』&lt;/a&gt;という記事が掲載された。《相談された京都大学の中村准教授は、「目からウロコの発想だが、どうして今まで誰も気づかなかったのか。多分野への広がりが期待できそうだ」と驚き、草津の男性は「自転車の発電機の抵抗を軽くしようと思いついたのがきっかけ。素人の発想を聞いてもらえてありがたい」と、協力に感謝している。》とある。&lt;br /&gt;
『どうして今まで誰も気づかなかったのか？』&lt;br /&gt;
研究者や開発者が、その問題（磁力抵抗）に着眼していなかったとは考えにくい。&lt;br /&gt;
常識や、習慣、思い込みが生んだ隙間だったかもしれない。&lt;br /&gt;
ということで、今回はアイデアの発想について調べてみた。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;マインドマップの利用&lt;/h2&gt;マインドマップとは：表現したい概念の中心となるキーワードやイメージを図の中央に置き、そこから放射状にキーワードやイメージを繋げていくことで発想を延ばしていく図解表現技法。（&lt;a href="http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%83%B3%E3%83%89%E3%83%9E%E3%83%83%E3%83%97"&gt;wiki&lt;/a&gt;より）&lt;br /&gt;
マインドマップを作成することにより表現したい概念を理解し、問題とらえ、解決方法を探っていく。&lt;br /&gt;
例として概念の中心にATC2010のルールを置いてみた。&lt;br /&gt;
&lt;a href="https://picasaweb.google.com/lh/photo/h48YxYbkUbUgQ-_GnxVKEgFIGFxFQ3Xi2ZL3D60hNAw?feat=directlink"&gt;&lt;img alt="z" border="0" height="323" src="http://lh3.ggpht.com/-caZ6_53sCZU/TfOi2Z2qMzI/AAAAAAAAAYs/V92JzvuvS9A/z%25255B4%25255D.jpg?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="z" width="644" /&gt;&lt;/a&gt; &lt;br /&gt;
専用のソフトもあるようだが、今回は、前から使用していた【&lt;a href="http://www.frieve.com/feditor/index.html"&gt;Frieve Editor&lt;/a&gt;】を使用した。そのため本来の形と異なる。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;オズボーンのチェックリスト&lt;/h2&gt;以下の項目と照らし合わせてアイデアを発想させていく発想法&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;他に利用したらどうか？&lt;/li&gt;
&lt;li&gt;アイデアを借りたらどうか？&lt;/li&gt;
&lt;li&gt;大きくしたらどうか？&lt;/li&gt;
&lt;li&gt;小さくしたらどうか？&lt;/li&gt;
&lt;li&gt;変更したらどうか？&lt;/li&gt;
&lt;li&gt;代用したらどうか？&lt;/li&gt;
&lt;li&gt;入れ換えたらどうか？&lt;/li&gt;
&lt;li&gt;反対にしたらどうか？&lt;/li&gt;
&lt;li&gt;結合したらどうか？&lt;/li&gt;
&lt;/ul&gt;上記の草津の男性の発想がまさしく、【結合したらどうか？】に該当します。&lt;br /&gt;
そのほかにを多数のアイデア発想法が【&lt;a href="http://ideatool.jp/index.php?%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2%E7%99%BA%E6%83%B3%E6%B3%95"&gt;IdeaTool&lt;/a&gt;】にまとめられています。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;あなたに相っつたアイデア発想法は？&lt;/h2&gt;面白いサイトを見つけたので紹介します。&lt;br /&gt;
このサイトで簡単なアンケートに答えると、あなたの中にどんなアイデア発想能力が隠されているか？判定してくれるそうです。&lt;br /&gt;
【&lt;a href="http://media.excite.co.jp/book/news/topics/091/p04.html"&gt;アイデア発想法 判定&lt;/a&gt;】&lt;br /&gt;
ちなみに、私は、『アイデア独裁者でいけ！』だそうです。＾＾；&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;前日に、排熱を利用して発電できるスターリングエンジンのことを調べていたので、faiさんが上記の記事をつぶやかれて興味を持ち今回の内容となりました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
『え！今回のタイトルですか？』&lt;br /&gt;
&lt;br /&gt;
昨年ナゴヤドームで見た、トヨタの広告のフレーズです。&lt;br /&gt;
インパクトありますよね！&lt;br /&gt;
『そんな事、無理に決まっている！』&lt;br /&gt;
と思うか？&lt;br /&gt;
『どうやって鋼球をつぶすか？考える』&lt;br /&gt;
かで、受け止め方が違ってくると思いませんか？&lt;br /&gt;
&lt;br /&gt;
だって、言った奴の目の前で鋼球を握りつぶして、ドヤ顔したら気持ちええだろうな！って&lt;br /&gt;
&lt;br /&gt;
決して無理な話じゃないと思います。&lt;br /&gt;
スプーンを簡単に曲がったように見せることができる人がいるくらいですから・・＾＾&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-6023662880355856572?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_rVoGrMRn4ccgWZgGDDBsIxmAkU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_rVoGrMRn4ccgWZgGDDBsIxmAkU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_rVoGrMRn4ccgWZgGDDBsIxmAkU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_rVoGrMRn4ccgWZgGDDBsIxmAkU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/hZHbIgk9H5w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/6023662880355856572/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/06/blog-post_12.html#comment-form" title="6 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/6023662880355856572?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/6023662880355856572?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/hZHbIgk9H5w/blog-post_12.html" title="『鋼球ぐらい握りつぶせ！』・・・■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-caZ6_53sCZU/TfOi2Z2qMzI/AAAAAAAAAYs/V92JzvuvS9A/s72-c/z%25255B4%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/06/blog-post_12.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQBRX8zeyp7ImA9WhZUFEg.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-2664068822229989438</id><published>2011-06-07T23:12:00.002+09:00</published><updated>2011-06-07T23:19:14.183+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-07T23:19:14.183+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MQL5" /><title>思い込みとは恐ろしいもので・・■■■</title><content type="html">ArrayResize関数について、勘違いをしてましたので記録しておきます。&lt;br /&gt;
&lt;h2&gt;【サンプルコード】&lt;/h2&gt;以下の様なサンプルコードを作成しました。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:cfaccf2b-ca19-42fe-a281-b376e1bfdc6e" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c" name="code"&gt;void OnStart()
  {
    double k[];
   int     count;
   double    sum;
   for(int i=1 ;i&amp;lt;10;i++){
      ArrayResize(k,i);
      k[i-1] = i;
      count = ArraySize(k);
      sum=0;
      for(int q=0;q&amp;lt;count;q++)sum += k[q];
      Print("No= ",i," sum = ",sum);
   }   
  }&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h2&gt;【勘違いしていた脳内処理】&lt;/h2&gt;脳内処理では、以下の様になると思い込んでいました。&lt;br /&gt;
&lt;table border="1" cellpadding="1" cellspacing="0" style="width: 502px;"&gt;&lt;tbody&gt;
&lt;tr&gt;       &lt;td align="center" width="83"&gt;No&lt;/td&gt;        &lt;td align="center" width="83"&gt;sum&lt;/td&gt;        &lt;td align="center" width="334"&gt;脳内処理過程(E= EMPTY_VALUE)&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;1&lt;/td&gt;        &lt;td align="right" width="83"&gt;1&lt;/td&gt;        &lt;td align="right" width="334"&gt;k[0]=1&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;2&lt;/td&gt;        &lt;td align="right" width="83"&gt;2&lt;/td&gt;        &lt;td align="right" width="334"&gt;(k[0]=E)+(k[1]=2)=2&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" valign="bottom" width="83"&gt;3&lt;/td&gt;        &lt;td align="right" valign="bottom" width="83"&gt;3&lt;/td&gt;        &lt;td align="right" valign="bottom" width="334"&gt;(k[0]=E)+(k[1]=E)+(k[2]=3)=3&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;4&lt;/td&gt;        &lt;td align="right" width="83"&gt;4&lt;/td&gt;        &lt;td align="right" width="334"&gt;(k[0]=E)+(k[1]=E)+(k[2]=E)+(K[3]=4)=4&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;5&lt;/td&gt;        &lt;td align="right" width="83"&gt;5&lt;/td&gt;        &lt;td align="right" width="334"&gt;(k[0]=E)+(k[1]=E)+(k[2]=E)+(K[3]=E)+(K[4]=5)=5&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;6&lt;/td&gt;        &lt;td align="right" width="83"&gt;6&lt;/td&gt;        &lt;td align="right" width="334"&gt;省略&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;7&lt;/td&gt;        &lt;td align="right" width="83"&gt;7&lt;/td&gt;        &lt;td align="right" width="334"&gt;省略&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;8&lt;/td&gt;        &lt;td align="right" width="83"&gt;8&lt;/td&gt;        &lt;td align="right" width="334"&gt;省略&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;9&lt;/td&gt;        &lt;td align="right" width="83"&gt;9&lt;/td&gt;        &lt;td align="right" width="334"&gt;省略&lt;/td&gt;     &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;簡単に言ってしまえば、ArrayResize関数を実行すると、それ以前に格納した数値は、初期化されると思い込んでいました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【実際の処理】&lt;/h2&gt;&lt;table border="1" cellpadding="1" cellspacing="0" style="width: 502px;"&gt;&lt;tbody&gt;
&lt;tr&gt;       &lt;td align="center" width="83"&gt;No&lt;/td&gt;        &lt;td align="center" width="83"&gt;sum&lt;/td&gt;        &lt;td align="center" width="334"&gt;実際の処理過程&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;1&lt;/td&gt;        &lt;td align="right" width="83"&gt;1&lt;/td&gt;        &lt;td align="right" width="334"&gt;k[0]=1&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;2&lt;/td&gt;        &lt;td align="right" width="83"&gt;3&lt;/td&gt;        &lt;td align="right" width="334"&gt;(k[0]=1)+(k[1]=2)=3&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" valign="bottom" width="83"&gt;3&lt;/td&gt;        &lt;td align="right" valign="bottom" width="83"&gt;6&lt;/td&gt;        &lt;td align="right" valign="bottom" width="334"&gt;(k[0]=1)+(k[1]=2)+(k[2]=3)=6&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;4&lt;/td&gt;        &lt;td align="right" width="83"&gt;10&lt;/td&gt;        &lt;td align="right" width="334"&gt;(k[0]=1)+(k[1]=2)+(k[2]=3)+(K[3]=4)=10&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;5&lt;/td&gt;        &lt;td align="right" width="83"&gt;15&lt;/td&gt;        &lt;td align="right" width="334"&gt;(k[0]=1)+(k[1]=2)+(k[2]=3)+(K[3]=4)+(K[4]=5)=15&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;6&lt;/td&gt;        &lt;td align="right" width="83"&gt;21&lt;/td&gt;        &lt;td align="right" width="334"&gt;省略&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;7&lt;/td&gt;        &lt;td align="right" width="83"&gt;28&lt;/td&gt;        &lt;td align="right" width="334"&gt;省略&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;8&lt;/td&gt;        &lt;td align="right" width="83"&gt;36&lt;/td&gt;        &lt;td align="right" width="334"&gt;省略&lt;/td&gt;     &lt;/tr&gt;
&lt;tr&gt;       &lt;td align="right" width="83"&gt;9&lt;/td&gt;        &lt;td align="right" width="83"&gt;45&lt;/td&gt;        &lt;td align="right" width="334"&gt;省略&lt;/td&gt;     &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;実施は、上記の様になります。つまり、配列を、初期化せずに配列数を変えていきます。&lt;br /&gt;
ArrayResize関数は、動的配列を行うための関数だったってことです。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【まとめ】&lt;/h2&gt;&lt;a href="http://alohafx.blog36.fc2.com/blog-entry-140.html"&gt;alohafxさん&lt;/a&gt;のブログに書かれているように、ＡＴＣ２０１１に再挑戦しようと思っていますが・・・・こんな状態です。はたして間に合うかどうか・・・、それと、&lt;a href="http://twitter.com/bighopefx"&gt;ツイッター&lt;/a&gt;をしてみることにしました。ほとんど情報収集用ですが・・&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-2664068822229989438?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mVVGnxEDiQJ1ANnmKV0JiEbPbWk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mVVGnxEDiQJ1ANnmKV0JiEbPbWk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mVVGnxEDiQJ1ANnmKV0JiEbPbWk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mVVGnxEDiQJ1ANnmKV0JiEbPbWk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/3J_DFrMPP_o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/2664068822229989438/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/06/blog-post.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/2664068822229989438?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/2664068822229989438?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/3J_DFrMPP_o/blog-post.html" title="思い込みとは恐ろしいもので・・■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/06/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MFRnk7cSp7ImA9WhZWE0U.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-1925827542060719473</id><published>2011-05-09T02:09:00.003+09:00</published><updated>2011-05-15T00:03:37.709+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-15T00:03:37.709+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MQL5" /><title>MQL5のBarに注意　■■■</title><content type="html">&lt;span style="color: red;"&gt;再再追記しました。2011/5/10 22：48&lt;/span&gt;&lt;br /&gt;
思わず嵌ってしまったのでご報告します。&lt;br /&gt;
&lt;h2&gt;【ＭＱＬ４の場合】&lt;/h2&gt;例えば、ＭＱＬ４で５分足を使用しインジケーター若しくは、ＥＡを作動させた場合、ヒストリーセンターに格納されている５分足と１分足のデータを用いて処理されます。Bar数は、ヒストリカルセンターの５分足のデーター数(ただし、オプションにて制限を加えない場合）となり、５分ごと以下に区切られたデータで処理されることになります。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【ＭＱＬ５の場合】&lt;/h2&gt;以下のコードをUSDJPY M5で走らせてみました。&lt;br /&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:519f7ca0-0bdb-4d5b-9f79-23172fcbb7b0" style="display: inline; float: none; margin: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;pre class="c#" name="code"&gt;int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &amp;amp;time[],
                const double &amp;amp;open[],
                const double &amp;amp;high[],
                const double &amp;amp;low[],
                const double &amp;amp;close[],
                const long &amp;amp;tick_volume[],
                const long &amp;amp;volume[],
                const int &amp;amp;spread[])
  {
//---
   Print("Open[0] =",open[0]," Open[1] = ",open[1]," Open[2] = ",open[2]);
   Print("Time[0] =",time[0]," Time[1] = ",time[1]," Time[2] = ",time[2]);
//--- return value of prev_calculated for next call
   return(rates_total);
}&lt;/pre&gt;&lt;/div&gt;結果は以下の様に表示されます。&lt;br /&gt;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
Time[0] =1971.01.04 00:00:00 Time[1] = 1971.01.05 00:00:00 Time[2] = 1971.01.06 00:00:00&lt;br /&gt;
Open[0] =357.73 Open[1] = 357.81 Open[2] = 357.86&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
USDJPYのM5で稼働させたにもかかわらず、日足のデータが格納されています。&lt;br /&gt;
チャートを最も左側（最古）にスライドさせてみると以下の様になっています。&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_4OEB0Vr6DC0/TcbOW3xNVDI/AAAAAAAAAXQ/ClfxpP9GKiU/s1600-h/1%5B10%5D.png"&gt;&lt;img alt="1" border="0" height="288" src="http://lh4.ggpht.com/_4OEB0Vr6DC0/TcbOXlUvl_I/AAAAAAAAAXU/PWb-GQHvSlw/1_thumb%5B8%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="1" width="523" /&gt;&lt;/a&gt; &lt;br /&gt;
仕様なのかバグなのかわかりませんが、指定した時間足のデータがなくなった場合、日足データで補完するようになっているようです。また、日足より上位の時間足に関しては、補完処理はされていませんでした。&lt;br /&gt;
&lt;br /&gt;
《あるBarから突然、時間足の異なるデータを使うことになるなんて、恐ろしすぎる…orz》&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【まとめ】&lt;/h2&gt;≪CopyOpen・・・・・CopyTime≫などでデータを取得した際も同様の事例となりました。&lt;br /&gt;
どこまで、時間足通りのデータが格納されているか調べる必要があるなんて….&lt;br /&gt;
バグであることを祈りたいものです。&lt;br /&gt;
バックテストをする際は、ＭＱＬ４以上に注意が必要になりますね・・・・orz&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【追記】※再追記&lt;/h2&gt;天狗さんから頂いたコメントによると，ＦＸＤＤのヒストリカルデータでも同じような現象が現れたそうです。ただし、現在ＦＸＤＤのＭＴ５デモ申請ページが閉鎖？されているようで確認ができませんでした。ちなみに、再度MetaQuotes-Demoのヒストリカルデータを読み込んでも問題は解消されませんでした。&lt;br /&gt;
また、アルパリ（ＵＳ）[208.122.38.200:443]のヒストリカルデータをUSDJPY M5で確認した結果以下の通りとなりました。&lt;br /&gt;
現在～2010/04/18までがM5データ&lt;br /&gt;
2010/04/19～2007/10/15の間がH1データ&lt;br /&gt;
2007/10/15以降は、D1データ&lt;br /&gt;
なんと2段階です。・・・orz&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【再再追記】&lt;/h2&gt;この問題の記事がありましたのでご覧ください。&lt;br /&gt;
&lt;h4&gt;&lt;a href="http://www.mql5.com/en/forum/2817"&gt;Strange history data in Strategy test: old data becomes H1 during M5 test&lt;/a&gt;&lt;a href="http://www.mql5.com/en/favorites/bighope/2817/3/add"&gt;&lt;/a&gt;&lt;/h4&gt;『バグではなく仕様だ！』って感じでしょうか？&lt;br /&gt;
&lt;span style="color: red;"&gt;対応策は、 MT5→【Tools】→【Options】→【Charts】を選択後【Max bars in chart:】を適正なbar数に変更&lt;/span&gt;し終了です。この値がUnlimitedに設定されているとこのような現象が発生するようです。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【データの抜けを確認するインジケーター】&lt;/h2&gt;視覚的にデータの抜けを確認できるインジケーターを作成してみました。&lt;br /&gt;
方法は、Barのtimeの差を対数値で表示するものです。&lt;br /&gt;
どの程度の抜けがあるか？もしくは取引がされていなかったのか？がわかります。&lt;br /&gt;
&lt;a href="https://docs.google.com/leaf?id=0B42sh1xkCfgtYTkzMGZkODUtOWVkZS00N2E5LTg1NzUtMWViODY1YTI0OWRi&amp;amp;hl=ja"&gt;checkbars.mq5&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_4OEB0Vr6DC0/Tcgf-Tnlt1I/AAAAAAAAAXY/iWDfkEavCB0/s1600-h/chec%5B2%5D.png"&gt;&lt;img alt="chec" border="0" height="163" src="http://lh3.ggpht.com/_4OEB0Vr6DC0/Tcgf_Naa7GI/AAAAAAAAAXc/VUeR3lYm4cg/chec_thumb.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline;" title="chec" width="244" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-1925827542060719473?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mToDOTPJgJ3njkE2f8dBVffARq8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mToDOTPJgJ3njkE2f8dBVffARq8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mToDOTPJgJ3njkE2f8dBVffARq8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mToDOTPJgJ3njkE2f8dBVffARq8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/0leOu2iu40M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/1925827542060719473/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/05/mql5bar.html#comment-form" title="7 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/1925827542060719473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/1925827542060719473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/0leOu2iu40M/mql5bar.html" title="MQL5のBarに注意　■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_4OEB0Vr6DC0/TcbOXlUvl_I/AAAAAAAAAXU/PWb-GQHvSlw/s72-c/1_thumb%5B8%5D.png?imgmax=800" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/05/mql5bar.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QNSXc6fyp7ImA9WhZWE0U.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-7841300692920385357</id><published>2011-03-31T00:40:00.003+09:00</published><updated>2011-05-15T00:03:18.917+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-15T00:03:18.917+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MQL5" /><category scheme="http://www.blogger.com/atom/ns#" term="MQL4" /><title>MQL4で使用していたDLLをMQL5で使用する方法　■■■</title><content type="html">&lt;span style="color: red;"&gt;※追記2011/4/3しました。&lt;/span&gt; &lt;br /&gt;
MQL4で使用していたDLL(ANSI版DLL)は、そのままでは、MQL5で使用できません。原因は、MQL4とMQL5の、文字コードが異なるからです。MQL5は、より高速処理を実現させるために、WINDOWSの内部処理文字コードであるＵＮＩＣＯＤＥを採用しています。そのため、引数をDLLに渡す時や、DLLから戻り値を受け取る際に文字コードエラーが発生します。&lt;br /&gt;
&lt;h2&gt;MQL5用のUNICODE版DLLの作り方&lt;/h2&gt;以下のサイトに簡単な作り方が紹介されている。&lt;br /&gt;
&lt;a href="http://www.mql5.com/en/articles/18"&gt;How to Exchange Data: A DLL for MQL5 in 10 Minutes&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;ANSI版DLLをMQL5で使用する方法&lt;/h2&gt;先に記述の通り文字コードの互換問題をクリアすればANSI型DLLを使用することが可能です。&lt;br /&gt;
方法は、以下のサイトにまとめられていますので参照してくだい。&lt;br /&gt;
&lt;a href="http://mqlmagazine.com/mql-programming/dll-hell-mql5-edition-unicode-vs-ansi/"&gt;MQLmagazine.com DLL Hell, MQL5 edition : UNICODE vs ANSI&lt;/a&gt;&lt;br /&gt;
変換方法は、上記サイトにある【stringlib.mqh】をインクルードし 、&lt;br /&gt;
UNICODE2ANSI関数でUNICODEからANSICODEに変換&lt;br /&gt;
ANSI2UNICODE関数でANSICODEからUNICODEに変換&lt;br /&gt;
します。&lt;br /&gt;
実際にテストしてみると、&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_4OEB0Vr6DC0/TZNO3zlg5LI/AAAAAAAAAWg/ZXfg0VPIwRk/s1600-h/kodee%5B2%5D.png"&gt;&lt;img alt="kodee" border="0" height="185" src="http://lh6.ggpht.com/_4OEB0Vr6DC0/TZNO4QBZt2I/AAAAAAAAAWk/OzUoXiQKJyE/kodee_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="kodee" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
前々回紹介したSQLite3のデーターベースを接続することができました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;ANSI型DLLの場合でも内部的にはUNICODEに変換して処理しているので、ANSI型DLLを使用した場合、文字変換を４回行う結果となり、処理能力を下げる結果となります。&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: red;"&gt;※追記事項&lt;/div&gt;MQL5からSQLite3への接続には、ラッパーが必要ありません。&lt;br /&gt;
新しいプロジェクトが誕生したようです。&lt;br /&gt;
&lt;a href="https://code.google.com/p/sqlite-class-for-metatrader5/"&gt;sqlite-class-for-metatrader5&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-7841300692920385357?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sgLlaUSUIxrWC_X0CPNSjW1kJXM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sgLlaUSUIxrWC_X0CPNSjW1kJXM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sgLlaUSUIxrWC_X0CPNSjW1kJXM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sgLlaUSUIxrWC_X0CPNSjW1kJXM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/rXz4RnJuWzI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/7841300692920385357/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/03/mql4dllmql5.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/7841300692920385357?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/7841300692920385357?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/rXz4RnJuWzI/mql4dllmql5.html" title="MQL4で使用していたDLLをMQL5で使用する方法　■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_4OEB0Vr6DC0/TZNO4QBZt2I/AAAAAAAAAWk/OzUoXiQKJyE/s72-c/kodee_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/03/mql4dllmql5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QDRHwyeCp7ImA9WhZWE0U.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-443329272568842797</id><published>2011-03-29T00:10:00.003+09:00</published><updated>2011-05-15T00:02:55.290+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-15T00:02:55.290+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><title>為替の変化量を考える。■■■</title><content type="html">ＥＡを作り込んで行く過程で理想的なパラメーターの決定方法は、全通貨に対応可能な（変更せずに使用できる）設定であろうと考えます。今回は、価格の変化量について、そうしたことが可能か考えてみました。&lt;br /&gt;
&lt;h2&gt;変化量を算定する方法（種類）&lt;/h2&gt;【 差 】 ＝ 比較時点の値 － 基準時点の値   &lt;br /&gt;
【 比 】 ＝ 比較時点の値 ／ 基準時点の値    &lt;br /&gt;
【 変化率 】 ＝ （比較時点の値 － 基準時点の値）／基準時点の値    &lt;br /&gt;
【対数変化率】 ＝Log(比較時点の値 ／ 基準時点の値)&lt;br /&gt;
計算方法としてまだあるだろうが、今回は上記のものを確認してみました。   &lt;br /&gt;
※変化率と対数変化率は、変化量が小さい場合、近似することが知られているが確認のために入れてみました。&lt;br /&gt;
&lt;h2&gt;確認方法&lt;/h2&gt;【検証用データ取得先】 &lt;a href="http://www.forexite.com/"&gt;Forexite&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
【データ取得方法】 AutoForexite.exe &lt;a href="http://kasege.net/forex/"&gt;フルレバ50倍でFXシステムトレード&lt;/a&gt;(ありがとうございます。)    &lt;br /&gt;
【使用通貨】（AUDJPY/AUDUSD/CHFJPY/EURCAD/EURBBP/EURJPY/EURUSD/GBPJPY/GBPUSD/NZDJPY/NZDUSD/USDCHF/USDCAD/USDJPY）    &lt;br /&gt;
【期間・値】 30分足を使用し、基準点の値を（Open)比較時点の値を（Close）と設定    &lt;br /&gt;
【グラフ作成】 Ｒを使用してみました。&lt;a href="http://takenaka-akio.cool.ne.jp/doc/r_auto/index.html"&gt;参考(R でプログラミング：データの一括処理とグラフ描き )&lt;/a&gt;    &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;視覚化&lt;/h2&gt;全通貨を対象にグラフを作成しようとしましたが、見ずらいのでJPYがらみとその他に分けてグラフ化してみました。&lt;br /&gt;
以下は、JPYがらみ（AUDJPY/CHFJPY/EURJPY/GBPJPY/NZDJPY/USDJPY)をまとめて各方法でグラフ化したものです。わかりやすくするために倍率を掛け単位を一様にし、絶対値を取っています。&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/_4OEB0Vr6DC0/TZCk44ku4jI/AAAAAAAAAVo/t3rB1HsFTUs/s1600-h/_JPY%5B3%5D.png"&gt;&lt;img alt="_JPY" border="0" height="484" src="http://lh5.ggpht.com/_4OEB0Vr6DC0/TZCk5brHZ8I/AAAAAAAAAVs/Y5FW9qMTcdY/_JPY_thumb%5B1%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="_JPY" width="487" /&gt;&lt;/a&gt; &lt;br /&gt;
以下は、JPYがらみ以外の通貨ペアをまとめたグラフです。&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_4OEB0Vr6DC0/TZCk5_PH59I/AAAAAAAAAVw/quGlNIlqPQw/s1600-h/outJPY%5B3%5D.png"&gt;&lt;img alt="outJPY" border="0" height="484" src="http://lh5.ggpht.com/_4OEB0Vr6DC0/TZCk6u4S_YI/AAAAAAAAAV0/q-0vdiY2uhs/outJPY_thumb%5B1%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="outJPY" width="485" /&gt;&lt;/a&gt; &lt;br /&gt;
上記の結果から、【比】【変化率】【対数変化率】は、基準値（Open)が小さいと過大評価され、基準値（Open）が大きいと過小評価される傾向があることがわかります。&lt;br /&gt;
【差】を抜き出して直線回帰モデルに当てはめてみると以下の様になります。&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/_4OEB0Vr6DC0/TZCk7LoTzbI/AAAAAAAAAV4/ZauN6b0QYJY/s1600-h/usdy%5B3%5D.png"&gt;&lt;img alt="usdy" border="0" height="484" src="http://lh6.ggpht.com/_4OEB0Vr6DC0/TZCk7ZeYaXI/AAAAAAAAAV8/rkwMkpj1u04/usdy_thumb%5B1%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="usdy" width="485" /&gt;&lt;/a&gt; &lt;br /&gt;
上記は、JPYがらみのグラフで,下記は、JPYがらみ以外のグラフです。&lt;br /&gt;
&lt;a href="http://lh6.ggpht.com/_4OEB0Vr6DC0/TZCk73yye1I/AAAAAAAAAWA/rfbobptoX-o/s1600-h/outJPYt%5B7%5D.png"&gt;&lt;img alt="outJPYt" border="0" height="484" src="http://lh3.ggpht.com/_4OEB0Vr6DC0/TZCk8f9R_GI/AAAAAAAAAWE/QiS3-OvNc5o/outJPYt_thumb%5B3%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="outJPYt" width="485" /&gt;&lt;/a&gt; &lt;br /&gt;
直線回帰モデルのパラメータが、十分に小さく近似した数値を示していることから、上記の式で変化量を求める場合は、【差】を用いることが望ましいことがわかります。&lt;br /&gt;
また、個別の通貨ペアで見た場合。&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_4OEB0Vr6DC0/TZCk8wKrMVI/AAAAAAAAAWI/8DmUs66CFPc/s1600-h/USDJPY30%5B3%5D.png"&gt;&lt;img alt="USDJPY30" border="0" height="484" src="http://lh6.ggpht.com/_4OEB0Vr6DC0/TZCk9SgomtI/AAAAAAAAAWM/5uHxmOfBOA8/USDJPY30_thumb%5B1%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="USDJPY30" width="485" /&gt;&lt;/a&gt; &lt;br /&gt;
上記は、USDJPYで下記が、EURUSDです。ただし、EURUSDの差は100倍したものです。&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_4OEB0Vr6DC0/TZCk9jMMz2I/AAAAAAAAAWQ/cq6p7nSLO30/s1600-h/EURUSD30%5B3%5D.png"&gt;&lt;img alt="EURUSD30" border="0" height="484" src="http://lh5.ggpht.com/_4OEB0Vr6DC0/TZCk-LvsGpI/AAAAAAAAAWU/kMDQ--CPRGM/EURUSD30_thumb%5B1%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="EURUSD30" width="485" /&gt;&lt;/a&gt; &lt;br /&gt;
【一言】&lt;br /&gt;
今回の結果から、変化量を見るパラメータは、全通貨に対応した値を取ることが可能であると思われます。また、毎度エクセルを使用してグラフを作成してきましたが、今回のようにプロット数が増えるとエクセルが使用できません。『Ｒ』を活用できるように勉強していきたいものです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-443329272568842797?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/thKnqiAeG9_Zk3gJWUJUZ_ByO-M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/thKnqiAeG9_Zk3gJWUJUZ_ByO-M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/thKnqiAeG9_Zk3gJWUJUZ_ByO-M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/thKnqiAeG9_Zk3gJWUJUZ_ByO-M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/x-WBHY48Fzo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/443329272568842797/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/03/blog-post.html#comment-form" title="2 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/443329272568842797?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/443329272568842797?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/x-WBHY48Fzo/blog-post.html" title="為替の変化量を考える。■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_4OEB0Vr6DC0/TZCk5brHZ8I/AAAAAAAAAVs/Y5FW9qMTcdY/s72-c/_JPY_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/03/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QBQ3wyfip7ImA9WhZWE0U.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-4986484525852908097</id><published>2011-03-14T18:24:00.003+09:00</published><updated>2011-05-15T00:02:32.296+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-15T00:02:32.296+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><category scheme="http://www.blogger.com/atom/ns#" term="MQL4" /><title>MT4からＤＡＴＡＢＡＳＥを利用する。 ■■■</title><content type="html">ＭＴ４に外部データを渡す場合は、一般的にテキストファイル（ＣＳＶファイル）が使用されますが、今回はデータベースを使用する方法を調べてみました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【データーベースの選択】&lt;/h2&gt;サーバーを使用しないこと、コンパクトで高速処理が可能であるこ、ＭＴ４用のラッパを公開されている方がいらっしゃったことから、【SQLite3】を使用することにしました。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【環境整備】&lt;/h2&gt;①SQLite3の取得 サイト：&lt;a href="http://www.sqlite.org/" title="http://www.sqlite.org/"&gt;http://www.sqlite.org/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.sqlite.org/"&gt;&lt;img alt="main" border="0" height="180" src="http://lh6.ggpht.com/_4OEB0Vr6DC0/TX3etD9AzXI/AAAAAAAAAUY/mxtvuLsIyKs/main3.png?imgmax=800" style="border-width: 0px; display: inline;" title="main" width="248" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/_4OEB0Vr6DC0/TX3etmLomiI/AAAAAAAAAUc/jpZNrCTSvo0/s1600-h/down2.png"&gt;&lt;img alt="down" border="0" height="176" src="http://lh4.ggpht.com/_4OEB0Vr6DC0/TX3euGMWg_I/AAAAAAAAAUg/hRDZ_OdOqAI/down_thumb.png?imgmax=800" style="border-width: 0px; display: inline;" title="down" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
【Download】→(Precompiled Binaries For Windows)-(This ZIP archive contains a DLL for the SQLite library)をダウンロードし、解凍後≪sqlite3.dll≫をMT4のlibrariesファイル内に保存。&lt;br /&gt;
②ＭＴ４用ラッパの取得 サイト：&lt;a href="http://www.shmuma.ru/" title="http://www.shmuma.ru/"&gt;http://www.shmuma.ru/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.shmuma.ru/"&gt;&lt;img alt="mainwrapper" border="0" height="149" src="http://lh6.ggpht.com/_4OEB0Vr6DC0/TX3euW__q2I/AAAAAAAAAUk/T_IC55wzQ44/mainwrapper3.png?imgmax=800" style="border-width: 0px; display: inline;" title="mainwrapper" width="248" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/_4OEB0Vr6DC0/TX3evch60PI/AAAAAAAAAUo/o5icll0Ho70/s1600-h/wrapper2.png"&gt;&lt;img alt="wrapper" border="0" height="176" src="http://lh6.ggpht.com/_4OEB0Vr6DC0/TX3ev_7t7oI/AAAAAAAAAUs/vUo_txvI6BQ/wrapper_thumb.png?imgmax=800" style="border-width: 0px; display: inline;" title="wrapper" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
【SQLite library for MetaTrader4】→（Download）-≪sqlite3_wrapper.dll≫をダウンロードしMT4のlibrariesファイル内に保存。sqlite.mqhをコピペしてヘッダーファイルを作成。&lt;br /&gt;
③SQLiteの管理ソフトの取得 &lt;br /&gt;
今回は、&lt;a href="http://www.forest.impress.co.jp/lib/offc/business/db/pupsqlite.html"&gt;PupSQL&lt;/a&gt;を使用させてもらいました。&lt;br /&gt;
&lt;h2&gt;【sqlite3_wrapper.dllの公開関数の説明】&lt;/h2&gt;&lt;b&gt;int sqlite_exec (string db_fname, string sql);    &lt;/b&gt;&lt;br /&gt;
db_fname： pathを含むデータベース名（pathは、絶対パス若しくは相対パス）     &lt;br /&gt;
sql　　　　： クエリ     &lt;br /&gt;
&amp;nbsp; ※作成、更新、削除などの戻りデータのないクリエを発行する。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;int sqlite_table_exists (string db_fname, string table);    &lt;/b&gt;&lt;br /&gt;
&amp;nbsp; db_fname： pathを含むデータベース名（pathは、絶対パス若しくは相対パス）     &lt;br /&gt;
&amp;nbsp; table &amp;nbsp; &amp;nbsp;&amp;nbsp; ： テーブル名     &lt;br /&gt;
&amp;nbsp; ※データベースを開き、テーブルを指定する。（１：あり ０：なし） &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;int sqlite_query (string db_fname, string sql, int&amp;amp; cols[]);    &lt;/b&gt;&lt;br /&gt;
&amp;nbsp; db_fname： pathを含むデータベース名（pathは、絶対パス若しくは相対パス）     &lt;br /&gt;
&amp;nbsp; sql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ： クエリ     &lt;br /&gt;
&amp;nbsp; cols[ ]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ： int cols[1];と設定。列数の合計を受け取る。     &lt;br /&gt;
&amp;nbsp; ※戻りデータのあるクリエを発行し、ハンドルを返す。     &lt;br /&gt;
&amp;nbsp; ※反復処理は、(sqlite_next,sqlite_get_col)を使用。&lt;br /&gt;
&amp;nbsp; ※(sqlite_free_query)を使用しクリエの解放をおこなう。 &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;int sqlite_next_row (int handle);    &lt;/b&gt;&lt;br /&gt;
&amp;nbsp; ※次の行を取得する 。（１：あり ０：なし）&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;string sqlite_get_col (int handle, int col);    &lt;/b&gt;&lt;br /&gt;
&amp;nbsp; col&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ： テーブルの列番号（0,1,2,3,……)&lt;br /&gt;
&amp;nbsp; ※列の値を取得する。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;int sqlite_free_query (int handle);    &lt;/b&gt;&lt;br /&gt;
&amp;nbsp; ※クリエの解放。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【テスト】&lt;/h2&gt;さて環境が整いましたのでテストしてみたいと思います。&lt;br /&gt;
どうせならということで前々回スクレイピングした内容をデータベース化し、国名とランクを条件に抽出するスクリプトを作成してみました。&lt;br /&gt;
PupSQLにてデータベース化したものを添付しておきます。&lt;br /&gt;
ダウンロード： &lt;a href="https://docs.google.com/leaf?id=0B42sh1xkCfgtMTZmYjkyM2QtYTQyOC00ODdkLWJiMTMtZjNiNjJiMTE2NWM0&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50"&gt;EventDate.db&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/_4OEB0Vr6DC0/TX3ewmPA_7I/AAAAAAAAAUw/MRHFz1jfe0k/s1600-h/base2.png"&gt;&lt;img alt="base" border="0" height="130" src="http://lh6.ggpht.com/_4OEB0Vr6DC0/TX3ewwedhdI/AAAAAAAAAU0/we3wd-k7Ziw/base_thumb.png?imgmax=800" style="border-width: 0px; display: inline;" title="base" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
ダウンロード後解凍しＭＴ４のfilesフォルダに保存。&lt;br /&gt;
作成したスクリプトをダウンロードしスクリプトフォルダに保存。&lt;br /&gt;
ダウンロード： &lt;a href="https://docs.google.com/leaf?id=0B42sh1xkCfgtODU3ZmFiNWMtNjM2ZC00N2JhLTk2OWItNWU4MzU5MDdlYTY4&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50"&gt;EventHist.mq4&lt;/a&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New';"&gt;&lt;/span&gt;&lt;br /&gt;
稼働させた結果は以下の通りです。&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_4OEB0Vr6DC0/TX3exmGDMFI/AAAAAAAAAU4/JNJUZ5QBhgU/s1600-h/kekka2.png"&gt;&lt;img alt="kekka" border="0" height="196" src="http://lh3.ggpht.com/_4OEB0Vr6DC0/TX3eyBgtfDI/AAAAAAAAAU8/bZ0GoFnh8Fc/kekka_thumb.png?imgmax=800" style="border-width: 0px; display: inline;" title="kekka" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
【SQLite3】は、文字コードが、UTF-8となっているため読み込んだ日本語が文字化けしました。 &lt;br /&gt;
文字化け対策は後日としたいと思います。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【sqlite3_wrapper.dllのコンパイルに挑戦記録】&lt;/h2&gt;いろいろ苦戦したので、自分の記録に・・・   &lt;br /&gt;
使用したＩＤＥは、Dev-C++(v4.9.9.2)です。&lt;br /&gt;
① &lt;a href="https://github.com/Shmuma/sqlite3-mt4-wrapper"&gt;sqlite_wrapper.c&lt;/a&gt;をGet     &lt;br /&gt;
② 【&lt;a href="http://www.sqlite.org/download.html"&gt;SQLite Download Page&lt;/a&gt;】-(SorceCode)-(sqlite-amalgamation)をGet    &lt;br /&gt;
解凍後≪sqlite3.h≫を抜き取り上記と結合    &lt;br /&gt;
③ ≪sqlite-dll-win32-x86-××××.zip≫より≪sqlite3.def≫を取得しDev-C++のパス内に置き    &lt;br /&gt;
コマンドプロンプトにて[\Dev-Cpp\bin]以下コードでライブラリファイルを作成-&lt;a href="http://ameblo.jp/nana-2007-july/entry-10086692721.html"&gt;詳しくはココ&lt;/a&gt;     &lt;br /&gt;
【dlltool –dllname “sqlite3.dll” –input-df “sqlite3.def” –output-lib libsqlite3.a】    &lt;br /&gt;
④sqlite_wrapper.cの変更    &lt;br /&gt;
１： 《extern”C”｛ ｝》にて関数群を囲む。&lt;a href="http://www.geocities.jp/ky_webid/cpp/language/038.html"&gt;詳しくはココ&lt;/a&gt;     &lt;br /&gt;
&amp;nbsp; 2： コンパイルエラーとなるため、build_db_fname関数内【res = &lt;span style="color: #ff0080;"&gt;(char*)&lt;/span&gt;malloc (s);】と変更。    &lt;br /&gt;
3： コンパイルエラーとなるため、sqlite_get_col関数の型を【&lt;span style="color: #ff0080;"&gt;unsigned &lt;/span&gt;char】に変更。    &lt;br /&gt;
4： 公開する関数の型に【__declspec(dllexport)】を追加    &lt;br /&gt;
⑤【コンパイラオプション】→リンカーのコマンドに【libsqlite3.a -k】と記入しコンパイル。&lt;br /&gt;
※正しいがどうかは不明だがこの方法でコンパイルが完了し作動も確認できた。   &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;【最後に・・】&lt;/h2&gt;&lt;h5&gt;&lt;span style="font-size: medium;"&gt;おもしろき こともなき世を おもしろく すみなしものは 心なりけり&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: xx-small;"&gt;by 高杉晋作&lt;/span&gt;&lt;/h5&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-4986484525852908097?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/s9UTdn5EMlD95rSuCwSS8KgcCX0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s9UTdn5EMlD95rSuCwSS8KgcCX0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/s9UTdn5EMlD95rSuCwSS8KgcCX0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s9UTdn5EMlD95rSuCwSS8KgcCX0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/pNdLr13mcjE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/4986484525852908097/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/03/mt4.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/4986484525852908097?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/4986484525852908097?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/pNdLr13mcjE/mt4.html" title="MT4からＤＡＴＡＢＡＳＥを利用する。 ■■■" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_4OEB0Vr6DC0/TX3etD9AzXI/AAAAAAAAAUY/mxtvuLsIyKs/s72-c/main3.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/03/mt4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YDQn88fCp7ImA9WhZWE0U.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-5367228323215759724</id><published>2011-02-17T01:02:00.002+09:00</published><updated>2011-05-14T23:59:33.174+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-14T23:59:33.174+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="雑談" /><title>運否天賦</title><content type="html">今週末に友人と韓国旅行に行くことになり、一度行ってみたかった『カジノ』に行くつもりです。    &lt;br /&gt;
そこで今回は、還元率について考えてみました。&lt;br /&gt;
還元率とは、ある賭けに対していくら払い戻しされるかの割合だそうです。    &lt;br /&gt;
参考：&lt;a href="http://ja.wikipedia.org/wiki/%E6%8E%A7%E9%99%A4%E7%8E%87"&gt;控除率-Wikipedia&lt;/a&gt;     &lt;br /&gt;
&lt;br /&gt;
ちなみに各ギャンブルの還元率は！     &lt;br /&gt;
①宝くじ（日本の自治体が運営するもの） 45％     &lt;br /&gt;
②スポーツ振興くじ（ＴＯＴＯ） 50％     &lt;br /&gt;
③日本の公営競技 75％～80％     &lt;br /&gt;
④パチンコ 85％～90％     &lt;br /&gt;
⑤ルーレット（アメリカンスタイル） 95％     &lt;br /&gt;
⑥ルーレット（ヨーロピアンスタイル） 97.3%     &lt;br /&gt;
⑦バカラ 96％～99％     &lt;br /&gt;
などとなるようです。&lt;br /&gt;
ある条件を満たした場合、その還元率が大きく改善されたり１００％を超える状態となるものもあるようで・・・&lt;br /&gt;
【チャリロトで十分な繰り越し払い戻し金がある場合】    &lt;br /&gt;
※同時当選を考慮した十分な繰り越し払い戻し金が必要ですが・・・&lt;br /&gt;
《１等賞金１２億円》 ÷ 《９の７乗通り》 ＝ 約250円    &lt;br /&gt;
購入金額が、２００円なので、還元率が（約250/200）約125％となります。 &lt;br /&gt;
&lt;span style="color: red;"&gt;※しかし、上記は、税金を考慮していませんので、実際は約25％の税金（所得税＋住民税）が掛かり・・      &lt;br /&gt;
&lt;/span&gt;（１２億円×0.75） ÷ （９の７乗通り） ＝ 約188円     &lt;br /&gt;
実質還元率は、（約188/200） 約94％ となります。     &lt;br /&gt;
参考：&lt;a href="http://www.chariloto.com/html/chariloto/"&gt;チャリＬＯＴＯ&lt;/a&gt;&lt;br /&gt;
【ビデオポーカーにて最適な方法でゲームを行ったとき】    &lt;br /&gt;
《ビデオポーカー 控除率》などで検索してみてください。&lt;br /&gt;
【ブラック・ジャックにて最適な方法でゲームを行ったとき】    &lt;br /&gt;
《ブラックジャック 控除率》などで検索してみてください。&lt;br /&gt;
&lt;br /&gt;
さて、ＦＸをゼロサムゲームと考えてみると    &lt;br /&gt;
還元率 ＝ 売値／（買値＋手数料） となり    &lt;br /&gt;
【USDJPY 100円/ドル スプレッド0.03 手数料なし】で考えた場合    &lt;br /&gt;
還元率 ＝ (100-0.03)／（100+0） ＝約99.97％となります。    &lt;br /&gt;
上記の各還元率と比べてみるとかなり良心的なように見えますが・・・    &lt;br /&gt;
これはレバ１の場合でレバを加味すると    &lt;br /&gt;
還元率 ＝ 売値（証拠金分）／（買値（証拠金分）+手数料）となり    &lt;br /&gt;
【USDJPY100円/ドル スプレット0.03 手数料なし レバ100】で考えた場合    &lt;br /&gt;
還元率 ＝ （100/100 -0.03）／（100/100 +0） ＝ 97％となります。    &lt;br /&gt;
下記のグラフは、縦軸が、還元率 横軸がレバレッジで各線がスプレッドを示しています。    &lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/_4OEB0Vr6DC0/TVv1Lg9puLI/AAAAAAAAAUE/LD38QctU7Lk/s1600-h/gf%5B2%5D.png"&gt;&lt;img alt="gf" border="0" height="138" src="http://lh6.ggpht.com/_4OEB0Vr6DC0/TVv1MNgSGOI/AAAAAAAAAUI/sMaz_TxJ5LQ/gf_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="gf" width="244" /&gt;&lt;/a&gt; &lt;br /&gt;
【まとめ】   &lt;br /&gt;
還元率から見てもレバレッジが、諸刃の剣であることがわかりスプレット及び手数料の重要性がわかります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6027720561701794729-5367228323215759724?l=expertadviser-bighope.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OQLcCgswDYNVo_6MfBGjcF58XtE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OQLcCgswDYNVo_6MfBGjcF58XtE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OQLcCgswDYNVo_6MfBGjcF58XtE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OQLcCgswDYNVo_6MfBGjcF58XtE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/expertAdviser/~4/41XGlfPtL08" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://expertadviser-bighope.blogspot.com/feeds/5367228323215759724/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://expertadviser-bighope.blogspot.com/2011/02/blog-post_17.html#comment-form" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/5367228323215759724?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6027720561701794729/posts/default/5367228323215759724?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/expertAdviser/~3/41XGlfPtL08/blog-post_17.html" title="運否天賦" /><author><name>bighope</name><uri>http://www.blogger.com/profile/12010565338366501707</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="23" height="32" src="http://2.bp.blogspot.com/_4OEB0Vr6DC0/S8khsW1J-UI/AAAAAAAAAKo/rSTVVhqEKNY/S220/Hokusai,_Hotei.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_4OEB0Vr6DC0/TVv1MNgSGOI/AAAAAAAAAUI/sMaz_TxJ5LQ/s72-c/gf_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://expertadviser-bighope.blogspot.com/2011/02/blog-post_17.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YASXw-cCp7ImA9WhZWE0U.&quot;"><id>tag:blogger.com,1999:blog-6027720561701794729.post-3970047429970133659</id><published>2011-02-08T01:17:00.004+09:00</published><updated>2011-05-14T23:59:08.258+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-14T23:59:08.258+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MQL5" /><category scheme="http://www.blogger.com/atom/ns#" term="ATC" /><category scheme="http://www.blogger.com/atom/ns#" term="EA" /><title>『一歩後・・』</title><content type="html">先回投稿したＥＡについてパラメータの説明をしてくれという依頼がありましたので記載します。   &lt;br /&gt;
あまりにも不親切でした・・・&lt;br /&gt;
まず、日本語環境以外で、【Inputs Variable】が表示されないとのご指摘を受けました。&lt;br /&gt;
日本語環境の場合は、以下の様に表示されます。    &lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/_4OEB0Vr6DC0/TVAbIwc8-8I/AAAAAAAAATo/XTZQ-H5hiGc/s1600-h/input%5B2%5D.png"&gt;&lt;img alt="input" border="0" height="127" src="http://lh5.ggpht.com/_4OEB0Vr6DC0/TVAbJjEC0BI/AAAAAAAAATs/L_0E3g2_zB0/input_thumb.png?imgmax=800" style="border-width: 0px; display: inline;" title="input" width="244" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;この現象を回避するには、mq5を開きパラメーターのコメントを削除してください。&lt;/span&gt;&lt;br /&gt;
例）茶色のコメント部を削除&lt;br /&gt;
&lt;pre class="prettyprint"&gt;input int     TakeProfit = 700;//利確値
input double  Balance    = 0.5;//損切値（利確値に対する割合）
input double  lot        = 0.1;//ロット数
input ENUM_MA_METHOD      MaMode     = MODE_EMA;
input ENUM_APPLIED_PRICE  PriceMode  = PRICE_CLOSE;
input int     SizeAry    = 10;
input int     Sizemin    = 3;
input int     pips       = 2;
input int     EPeriod    = 8;
input double  spred      = 0.020;
input int     stpos      = 1;
input int     heikensp   = 20; 
input int     heikenw    = 10;
input int     heikenbw   = 230;
input bool    Doten      = false;//【オプション１】ドテンしますか？
input bool    ModifyCh   = false;//【
