スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
メタバイザー
スポンサー広告  

メタトレーダー講義 第5回 ループと分岐 第1部
こんにちわ。FXボーイです。今回の講義はループと分岐です。
プログラミング独特の思考法を身につけないといけないので最初は大変ですが、インディケーターを作成する上で大変重要な知識になりますので、しっかりと理解してください。
それではCodersGuruさんの講義が始まります。



この文章はCodersGuruさんのMQL4Lesson4の訳文です。(翻訳しての転載に本人の許可はとってあります)                
                   メタトレーダー講義             
                   Coders'guru
                    www.forex-tsd.com                       
                         -5-
                    ループと分岐第一部

MQL4講座の第五回目の講義へようこそいらっしゃいました。

貴方が書いたプログラムの普通の流れのはステートメントからステートメントへと上から下へ実行していきます。(ステートメントとは、特定のアクションを実行または指定する言語エレメントです。while,if,for,else等)

ステートメントはコンピューターにある行動をしろと伝えるためのコード文です。

Print("hello world")
return 0;

最後についているセミコロンはシンタックスの重大な部分です。しかし、簡単に忘れてしまいまして、エラーの90%の原因がだいたいこのセミコロンのつけわすれになります。

しかし、上から下へと実行していくというケースには二つの例外がありまして、その例外にあたるのがループと分岐です。

貴方が書いた -人間が -決定する というこのようなプログラムは、環境が変わっている時にどのような反応をすればよいのでしょうか?このような場合、流れのコントローラーが、あるプログラムの部分から、他のプログラムへと飛び越します。そのような、飛び越しを起こすステートメントのことを、コントロールステートメントと呼ばれます。
そのようなコントロールにループと分岐があります。


               ループ
              --------


ループはあなたのプログラム区間をある決まった回数繰り返すことを命令します。
そしてこの繰り返しは、ある条件内に当てはまっている時は続き、ある条件に満たなくなった時に終わります。
ループが終わったとき、ループのコントロールを飛ばして、ループ区間の次のステートメントに移行します。

そしてMQL4では、二種類のループがあります。


forループ
-------


forループは最も簡単なループだと考えられています。なぜなら、すべてのコントロールエレメント(調整要素)が同じ場所に集まるからです。
forループはコード区間を決まった回数実行します。



int j;
for(j=0;j<15;j++)←コントロールエレメント(ループの動きを指定する要素)が同じ場所にきてますね。
print(j);


これはどのように働くのでしょうか?
forステートメントにはforキーワードが存在します。forの後のカッコ内の、セミコロンで分けられている三つの式がそのキーワードにあたります。

for(j=0;j<15;j++)

これらの三つの式は、前から順に初期値式、テスト式、インクレメント式になります。

j=0←初期値式    
j<15←テスト式
j++←インクレメント式 
ループ本体とは、ループの回数実行されるコードのことを言います。

Print(j);
↑が例における、15回実行されるコードなので、これがループ本体にあたります。

メモ:forステートメントは後にセミコロンがつきません。これは、forステートメントと、ループ本体はプログラムステートメントとして一緒の存在になるからです。

for(J=0;J<15;J++)
 ↑;がたしかについてないですね。

初期値式

初期値式は一回目の繰り返しの時しか実行されません。そしてループ変数に整数値(今回の例では0)を与えます。

ループ変数は、先ほどの例のように、前もってループ本体の外で宣言することもできます。

int j;

もしくは、下の例のように、ループのカッコ内で宣言することもできます。

for(int j=0;j<15;j++)

最初の例と上の例のコードはそれぞれの変数の範囲を除けば同じです。(変数の宣言と範囲については、変数講義のほうで詳しく説明します。)
外で宣言する方法は、コード全体の全ての文に変数を適応します。一方、括弧内での宣言は、forループだけに変数を適応させることになります。

下の例のようにコンマでforループを区切ることによって初期値式を増やして利用できるようになります。


int i;
int j;
for(i=0,j=0;i<15;i++)
print(i)


テスト式

テスト式は常に関係演算子をつかった関係式になります。(メタトレーダー講義第4回を参照なさってください。)

繰り返が行われている時はいつでも、繰り返しは続けるべきなのか止めるべきなのかの決定をするために評価している。もしも式の結果がtrue(真)ならば繰り返しは続けられるだろうし、false(偽)ならば繰り返しは止まるでしょう。

例では、ループの本体はj<15がtrueの間は i (Print(i))を出力し続けるでしょう。
i<15というのは、j=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14の時です。
そしてi15に到達したとき、ループはとまり、コントロールがループ区間を通過して、ループ区間の後のステートメントにいくでしょう。

インクレメント式
インクレメント式はループ変数(例ではjがループ変数)を1ずつ増やしていきます。
それはループの式の中で最後の段階として扱われます。初期値式でループ変数への処理がおわったら。テスト変数で条件が満ているかテストされ、ループ本体が実行されます。

このフローチャートがforループのフローチャートになります。
loop.png



初期値式のように、forループ本体の中に、一つ以上のインクレメント式もコンマで区切って挿入することができます。


int i;
int j;
for(i=0,j=0;i<15;i++,j++)
print(i);


でも、テスト式は一つだけしか使えません。(テスト式はfor(a;b;c)のうちのbです。一つ目の;から初まり、二つ目の;の前がおわりになります。コンマではなく、セミコロンで初期値式、テスト式、インクレメント式をわけているのを注目してください。上の例ではi<15がテスト式です。)

他にインクレメント式で注目しておくべきことは、ループ変数をふやすだけではなく、ループ変数をデクレメント(一つずつ減らす)する操作を行うこともできることです。例をみてください。


int i;
for(i=15;i>0;i--);
Print(i);


上の例では、iの初期値が15に設定されてループが始まります。そしてループする時に1ずつ減っていき、テスト式によってi>0であるかどうかチェックされます。
上の例では、15.14,13,12,11,10,9,8,7,6,5,4,3,2,1.が結果として生み出されるでしょう。

ループ本体の複数ステートメント

今までの例では、一つのステートメント(Print)しか使っていませんでしたが、例外もあります。
ループ本体を大括弧で区切ることによって複数のステートメントを使うことができるのです。例をみてください。

for(int i=1;I<=15;i++)
{
Print(i);
PlaySound("alert.wav");
}


上のループ本体のコードには二つのステートメントが含まれます。プログラムは最初のステートメント(Print)を実行し、そのあと二つ目のステートメント(Play Sound)を、ループが実行されるたびに実行するでしょう。
すべてのステートメントの後に、セミコロンを入れるのを忘れないでください。

Breakステートメント


forループ(whileループでもswitchiループでも)の中にキーワードがあると、ループの実行は終了し、ループ区間の後のステートメントにスキップします。



for(int i=0;i<15;I++)
{
if(i==10)
break;
Print(i);
}

上の例では、i10に届くまでループが実行され、10になるとbreakキーワードがループを終わらせるでしょう。ですので、上のコードが生み出す値は0,1,2,3,4,5,6,7,8,9になります。

continueステートメント

breakステートメントは実行の流れをループの外に持っていきましたが、continueステートメントはループの一番上に戻させます。
例えば


for(int i=0;i<15;I++)
{
if(i==10)continue;
Print(i);
}


上の例ですと、i10になるまでループを実行し、10になったら、continueキーワードがiの10回目を出力せずに、ループの先頭にループを戻します。つまり、上のコードが生み出す値は:0,1,2,3,4,5,6,7,8,9,11,12,13,14.になります。

最後に
もし貴方が望むなら、いくつかあるいはすべての式をforループから外すことができます。例えば
for(;;)
このループはテスト式がつねにtrue(真)であるというwhileループと似ています。
いまからwhileループについて説明しますね。


whileループ
---------


forループは普通、何回ループを実行するか分かっている時に使います。
もしあなたが何回ループを実行したいのか分からない時はどうしたら良いのでしょうか?
そのような時はwhileループを使用すればいいのです。

whileループはforループのようにテスト式があります。それでも、初期値式や、インクレメント式がありません。

これが例です。


int i=0
while(i<15)
{
Print(i);
i++;
}

この例で、あなたは次のことに注目してください。
    ・このループ変数は宣言と初期化がループ前に行われています。whileループでは、forループ
     のように宣言もしくは初期化を括弧内で行うことはできません。
    ・ここのi++ステートメントは誤解されがちなのですが、インクレメント式ではありません。しかし、
     whileループ本体には必ず何かのループ変数を変えるステートメントが存在します。そうでなければ、
     ループが終わることは永遠にないのですから。

上の例はどのように実行されるのか?

whileステートメントはテスト式しか含まれません。そして、それはすべてのループでチェックするでしょう。もしそれtrue(真)ならループは続くでしょうし、それがfalse(偽)ならループは終わり、コントロールはループセクションの次のステートメントへと移動するでしょう。

例では、ループはi16に届くまで実効するでしょう。i<15=falseになった時にループは終了します。

whileループのフローチャートがこちらになります。
whileflow.png


先ほど私は、whileループとforループは似ているといいましたね。これらは似た特徴があります。

1.breakステートメントやcontinueステートメントを使うことができます。
2.ループ本体に、ステートメントを1つで使うことも、2つ以上で使うこともできます。2つ以上で使う場合
 は、大括弧でくぎってください。
3.for(;;)while(true)は同じです。

楽しんで頂きましたでしょうか。これで今回の講義は終了になります。

それでは。
Coders'guru


メタバイザーによる補足説明
さて、このループと分岐はプログラミング未経験者には結構戸惑う箇所だと思う。
私も最初ここを理解するのに3日くらいかかった。

このループはインディケーターを作成する上で必須の知識になるのだが、それでは具体的にどのように使うのか?
それが大事なところだ。今からそのことについて具体的に説明していこう。
mama.png
この図を見て欲しい。これは2日の移動平均線と、ローソク足の番号を振った画像だ。
メタトレーダーでは、ローソク足に番号を割り振っており、一番右端(現在のローソク足)のローソク足は0という決まりがある。それから順に左に一つずれると1,2,3,4,5......のように続いており、画面一番左のローソク足は22番のローソク足ということになる。

移動平均線の算出方法について確認しておこう。
22番目の移動平均線の値=(23番目のローソク足の終値+22番目のローソク足の終値)÷2
になるし、
21番目の移動平均線の値=(22番目のローソク足の終値+21番目のローソク足の終値)÷2
になる。
20番目の移動平均線の値=(21番目のローソク足の終値+20番目のローソク足の終値)÷2

とこのようにローソク足に対応する数だけ移動平均線を算出することで、全ての移動平均線の値が算出され、上の図の白い移動平均線の値が描画されるようになる。

上のような式をプログラムで書くと次のようなコードになる。
for(int i=22;i<0;i--)
Buf1[i]=(Close[i+1]+Close[i])/2

まず、for(int i=22;i<1;i--)の説明だが、これは、ローソク足の番号を22からスタートして(int i=22)、ステートメント(Buf1[i]=(Close[i+1]+Close[i])/2)を実行したら、ローソク足の番号を一つ減らし(i--)、(現在ローソク足の番号は21)また一つ減らしたローソク足の値でステートメントを実行したら、ローソク足の番号を一つ減らし(現在ローソク足の番号は20)、そのローソク足の値でステートメントを実行・・・・・・・を繰り返していき、ローソク足の値が1未満(つまり0)になれば計算を終了する(i<1)という計算をしている。

さて、続いてステートメントを詳しく見ると、
Buf1[i]=(Close[i+1]+Close[i])/2
これは、例えば現在ローソク足の値が22の時は
Buf1[22]=(Close[23]+Close[22])/2
となり、22番目の移動平均線の値=(23番目のローソク足の終値+22番目のローソク足の終値)÷2
と全く同じだ。

この計算式が終わると、先ほど説明したループによって、つぎのローソク足の値は一つ減らされた21になるので、
Buf1[21]=(Close[22]+Close[21])/2
21番目の移動平均線の値=(22番目のローソク足の終値+21番目のローソク足の終値)÷2
ということになる。
これをローソク足の数が0になるまで繰り返していくのが、ループ文だ。

このように、値を変えて同じ計算を繰り返していくことで、チャート上に、直線としてインディケーターが描画されるというわけ。

もしかりに、for文をつかわないで
Buf[0]=(Close[0]+[Close1])
と既述したらどうなるか。答はこちらだ。
ma1.png
つまり、最新のローソク足しかインディケーターを既述しないという結果になってしまう。
まぁ、それでも良いならいいのだが。

とりあえず今回の補足説明は以上だ。while文には触れなかったが、for文さえしっかりつかえれば
こまることはない。

大分長くなってしまったが、寝てないだろうな?ボブ。


何か質問や意見があれば、メタバイザーの放課後まで遊びに来てほしい。 

それではまた会おう。お疲れ様。

人気ブログランキングに参加している。
にほんブログ村 為替ブログ FX システムトレード派へ
もしよろしければ応援してほしい。 どうもありがとう。

ちなみにブログをやっているメタトレーダー仲間は から見ることができる。


最後まで読んでくれたことに感謝している。
スポンサーサイト
メタバイザー
メタトレーダー講義   0

:システムトレード - :株式・投資・マネー


オーバーレイチャートインディケーター
どうもFXボーイです。

今回は、為替鬼さんで有名になったオーバーレイチャートのインディケーターが完成致しましたので、
そちらのほうを提供させて頂きます。

このインディケーターはFXCMのTradingStationのプライスオーバーレイで作成できるチャートと
原則同じ動きを致します。
(FXCMのTradingStationをリロードし続ければオーバーレイチャートと同じ動きを致します)

オーバーレイチャートの式がわかると後は何でもできます。そこで僕は
①オーバーレイチャート
②オーバーレイチャートのサヤの開きを表示するインディケーター
③オーバーレイチャートの1分間のサヤの推移を表示するインディケーター
④オーバーレイチャートの①②③を一つに合わせ、更にアラートも鳴らせるようにしたインディケーター

を作りました。

①~③までは完全無料で、④もEURGBP/EURJPYのインディケーターは無料で公開していこうと思っています。

どうぞご使用ください。お役にたてれば幸いです。

今回のインディケーターはボブのメールセミナーに登録して頂ければ、
折り返しでインディケーターをダウンロードできるURLをボブのほうから送ってもらいます。

オーバーレイチャートの使い方や、
導入法、取引方法まですべてにわたってお送りするので、
ぜひ登録なさってください。
ボブのメールセミナー

ダウンロードをなされたら、
Metatrader-Expert-Indicatorのファイルに入れこんで頂ければ使用可能になります。
操作が分らないと言う方は、メタトレーダー初歩
インディケーター導入法の動画ををご覧ください。

そもそもメタトレーダーって何というかたは、同じくメタトレーダー初歩にあるメタトレーダーの導入編の動画をご覧ください。

取引方法やロジックにつきましては、姉妹サイト、伝説のFXブログをご覧ください。基本的に黄色が上ならば買いで、白が上ならば売りでエントリーを致します。

今回のご紹介するオーバーレイチャートのインディケーターはこちらです。
OverRayChart.png

上の通貨ペアでは、EURGBPとEURJPYのオーバーレイチャートを上げていますが、こちらはプロパティで設定を変えることで変更可能です。
timingcha.png
パラメーターが上から順に
currency1 オーバーレイチャートの通貨ペアの1つ目
currency2 オーバーレイチャートの通貨ペアの2つ目

となっています。詳しくご説明致しますと、

currency1 currency2
オーバーレイチャートの通貨ペアを指定、変更することができます。
EURUSD EURJPYのオーバーレイチャートを作りたければ、
currency1にEURUSDを入力して
currency2にEURJPYを入力することで、
EURUSD EURJPYの、ユーロ絡みのドル円のオーバーレイチャートが完成します。

こちらの入力は、自動的に、オーバーレイチャートの右上の黄色い丸で囲んだ通貨ペアを表示する欄に反映されますので、自分がどの通貨ペアを使っているか一目瞭然です。

サヤの開きにつきましては、取引日記で研究しております。サヤの開きの考察をし続けることで、取引のパフォーマンスがあがると思いますので、何か発見がありましたら報告したいと思っています。



最後までお読み頂きありがとうございました。


人気ブログランキングに参加しています。
にほんブログ村 為替ブログ FX システムトレード派へ

応援して頂けると大変嬉しいです。ありがとうございます。

ちなみにメタトレーダーの情報は に集まっていますので、興味のある方はご覧ください。


どうもありがとうございました。
メタバイザー
インディケーター   0

:システムトレード - :株式・投資・マネー


メタトレーダー講義 第6回 ループと分岐 第2部
深夜の雨のなかこんばんわ。FXボーイです。

ここまでお疲れさまでした。いつになったらインディケーター作れるの?って感じですよね。
僕はそうでした(笑)

あとは関数、変数、プリプロセッサの講義と続き、その次に待望のインディケーターの作り方に入ります! 基礎を固めておくことでインディケーター作りの意味が理解できるようになると思いますのでもう少々頑張っていきましょう。



この文章はCodersGuruさんのMQL4Lesson4の訳文です。(翻訳しての転載に本人の許可はとってあります)              
                     メタトレーダー講座                          
                     Coders'guru               
                      www.forex-tsd.com                                  
                           -6-
                     ループと分岐
                          第二部
                      -------------------

第六回目のMQL4講義にお越し頂きありがとうございます。
前回の授業は楽しんでいただけましたでしょうか?

前回の授業では、ループについてお話しいたしました。
そして、一般的な一番上から下へとプログラムを実行していく流れを変える方法は二つあり、ループはそのうちの一つだとお話しいたしました。二つはめは、分岐です。

分岐がプログラムの中にあると、一回だけ、式の値によって別のプログラム部分へと飛び越します。
今からMQL4で使用可能な分岐ステートメントを紹介していきます。


ifステートメント

ifステートメントは 最も単純なステートメントです。例えば

if(x<100)
print("hi");


ifキーワードの後には括弧が続きます。括弧の中身はテスト式x<100)が入ります。テスト式の値がtrue(真)だった時はif本体が(Print("hi"))を実行します。値がFalseだった時はコントロール(何を実行するかを決めるもの)はif区間を通り抜け、後に続くステートメントに移行します。

これがifステートメントを示すフローチャートです。
ifflow.png


if本体の中の複数ステートメント

ループのように、大括弧で区切ることによって、2つ以上のステートメントをif本体の中にいれることができます。(本体とは実際に実行されるコードの部分のことを指します。例では{}で囲まれた部分が本体です。)


if(current_price==stop_loss)
{
     Print("you have to close the order");
     PlaySounde("awrning.wav");
}


==の記号に注目してください。 これは第四回講義、演算子と式で学んだ関係演算子です。
これを代入演算子である=と間違えてエラーをすることが頻繁におこるので気をつけてください。

ネスティング(複数の命令群をひとまとまりの単位にくくり(まとまりをネストといいます。)、ネストを何段階にも組み合わせていくことでプログラムを構成すること。)

ループと分岐構造は、お互いを本体の中に縫い付けることができます。あなたはifステートメントの中にループステートメントをいれることもできますし、その逆もできますし、ifステートメントの中にifステートメントをいれたりすること等もできます。

これは例です。


for(int i=2 ; i<10 ; i++)
     if(i%2==0)
      {
       Print("It's not a prime nomber");
       PlaySound("warning.wav");
      }

この例では、forループの中に、if構造が入り込んでます。
あなたはループ本体の周りに大括弧が無いのに気がつくでしょう。これは、ifステートメントと、ステートメント本体(ここではループ本文)の中にあるステートメントは、一つのステートメントとして考えられているからです。

if...elseステートメント
ifステートメントはもし条件がtrue(真)だった時のみ、何か実行させるようにしますが、もしfalse(偽)が出た時に違うことを実行させたいとおもったならば、if...elseステートメントの出番になります。
記述の仕方は、ifステートメント後に続くステートメントやステートメントのまとまりを書き終えた後に、elseキーワードとそれに続く他のステートメントもしくはステートメントのまとまりを書き込むのです。
例を見るほうが早いのでこちらをご覧ください。

if(current_price>stop_lose)
     Print("It's too late to stop,please stop!");
else
     Print("you playing well today!");

もしifステートメントのテスト式がtrue(真)なら、プログラムは最初のメッセージを表示し、もしもtrueでないなら、後の方のメッセージを表示します。

これは、if...elseステートメントのフローチャートです。
ifif.png


if...elseのネスティング

if...elseステートメントの中にifステートメントをいれたり、if...elseステートメントの中にif...elseステートメントを入れることができます。

このような感じです。


if(current_price>stop_lose)
     Print("It's too late to stop,please stop!");
if(current_price==stop_lose)
     Print("It's time to stop");
else
     Print("you playing well today!");

if..elseステートメントをネスティングするとちょっとした問題があります。うっかりelseを、意図していなかったif文とくつけてしまうのです。

この問題を解決するためには、二つの方法がありすのでどちらかをお使い下さい。

1-if...elseを括弧でくくって自分の対応させたいifとペアにして分けてください。このように


if(current_price>stop_lose)
{
     Print("It's too late to stop,please stop!");
if(current_price==stop_lose)
     Print("It's time to stop");
else
     Print("you playing well today!");
}


2-もしあなたが上の解決策ができない(たくさんのif...elseステートメントがあるもしくは、めんどくさくてわけたくない等)場合は、以下のルールを守ってください。
elseは一番近くにあるifとくっつきます(上の例では、if(current_price==stop_lose)が一番近いif文ですね。)


switchステートメント

もし大きな分岐構文があって、すべての分岐が同じ変数値を使っているときは、switchステートメントを使うのはいかがでしょうか。

以下例文です。


switch(x)
{
case'A':
 print("CASE A");
 break;
case'B':
case'C':
  Print("CASEB or C");
     break;
default:
Print("NOT A,B or C");
 break;
}

caseのあとにはついているのはセミコロン( ; )ではなくコロン( : )であることに注意してください。
上の例で、switchキーワードのあとに括弧が続きます。括弧の中にはswitch定数がはいります。この定数はinteger(整数),character定数、定数式のいずれかが入ります。定数式は、例のように変数がはいることはできません。

caseX+Y: これはswitch定数には適応されません。

どのように働くのか。

switchステートメントは定数case定数のうちの一つとを結びつけます。
x=='A'のプログラムでは"CASE A"と出力し、breakステートメントがコントロールをswitch区間外へと移動させるでしょう。

x=='B'もしくはx=='C'のプログラムでは"CASE B or C"と出力します。なぜならbreakステートメントがcase 'B'の後ろにないからです。

x==どのcase定数にも当てはまらない時は、swtchステートメントは、default本体である
"NOT A, B or C"を出力します。

switchステートメントのフローチャートを載せますのでご覧ください。
switchflow.png


楽しんでいただけましたでしょうか。

それでは。
Coders'Guru



メタバイザーによる補足説明
今回は基本的なところだったので、特に解説する必要はないようだ。

とりあえずif文だけは理解しておくように。


何かあったらコメントを頂けると大変嬉しい。よりよいアカデミーを目指してるので批判や質問も大歓迎だ。メタバイザーの放課後まで遊びに来てほしい。 放課後の訪問者が少ないのだが、私は近寄りがたい存在なのだろうか。。

少し凹みつつもそれではまた会おう。お疲れ様。

人気ブログランキングに参加している。
にほんブログ村 為替ブログ FX システムトレード派へ

もしよろしければ応援してほしい。 どうもありがとう。

ちなみにブログをやっているメタトレーダー仲間は から見ることができる。


最後まで読んでくれたことに感謝している。

メタバイザー
メタトレーダー講義   1

:システムトレード - :株式・投資・マネー


タイミングチャート、サヤ推移インディケーター
台風が近づいている中こんにちわ。FXボーイです。

さて、今回は前回に引き続きまして、
タイミングチャートのサヤの開きの推移を表示するインディケーター
をご紹介していきます。


FXCMのタイミングチャートだと、一体今、何Pips開いているのか?というのを読み取るのが大変でした。
そこで今回は、デジタルで数値が表示されるような工夫もいれて、以下のようなものを作成致しました。
こちらになります。
tototo.png

デジタルと、チャートでサヤの開きの推移を表示しているので、いまサヤが何Pips開いているのかが、
すぐに分ると思います。

今回のインディケーターはボブのメールセミナーに登録して頂ければ、
折り返しでインディケーターをダウンロードできるURLをボブのほうから送ってもらいます。

オーバーレイチャートの使い方や、
導入法、取引方法まですべてにわたってお送りするので、
ぜひ登録なさってください。
ボブのメールセミナー

ダウンロードをなされたら、
Metatrader-Expert-Indicatorのファイルに入れこんで頂ければ使用可能になります。
もし分らない方がいらっしゃいましたら掲示板等でお聞きください。

上の図では、EURGBPとEURJPYのタイミングチャートを上げていますが、今回のインディケーターも、
プロパティで設定を変えることで通貨ペアの変更が可能です。
timingcha.png
パラメーターが上から順に
currency1 タイミングチャートの通貨ペアの1つ目
currency2 タイミングチャートの通貨ペアの2つ目

となっています。詳しくご説明致しますと、

currency1 currency2
タイミングチャートの通貨ペアを指定、変更することができます。
EURUSD EURJPYのタイミングチャートを作りたければ、
currency1にEURUSDを入力して
currency2にEURJPYを入力することで、
EURUSD EURJPYの、ユーロ絡みのドル円のタイミングチャートが完成します。

こちらでの通貨ペアの変更は自動的に、
タイミングチャートの右上に表示されている通貨ペアを表示する欄に反映されますので、
自分がどの通貨ペアを使っているか一目瞭然です。

今回のインディケーターにアラート機能は付いておりません。
最後にご紹介するインディケーターでアラート機能を付けておりますので、もう少々お待ち下さい。

次回は③タイミングチャートの1分間のサヤの推移を表示するインディケーター

をご紹介いたします。お楽しみにどうぞ。

最後までお読み頂きありがとうございました。


人気ブログランキングに参加しています。
にほんブログ村 為替ブログ FX システムトレード派へ

応援して頂けると大変嬉しいです。ありがとうございます!

ちなみにメタトレーダーの情報は に集まっていますので、興味のある方はご覧ください。


どうもありがとうございました。
メタバイザー
インディケーター   0

:FX(外国為替証拠金取引) - :株式・投資・マネー


リンク集
皆さんこんにちわ。FXボーイです。

ひごろから親しくさせて頂いているブログや、お役立ちブログのリンク集です。


メタトレーダー
メタトレーダーまとめwiki  メタトレーダー情報のプラットフォーム的存在です。

ファンダメンダル
時代の精神 僕がいままで見てきた中で最も面白い動画です。貨幣とは、大恐慌とはなにか?その本質が分ると思います。
↑をみて面白いと思った方はこちらに安部芳弘さんのおすすめ動画に関連動画がありますのでごらんください。





幣サイトを取り上げてくださったサイト
短期投資技術研究所 幣サイトがまだ1日ユニークで30人くらいしか訪問がなかった時に紹介してくれました。個人的に物凄く感謝しています。 管理人の方はもうEAを運用なさっていてご自身の哲学が参考になります。気さくですごく優秀なプログラマーというイメージが強いです(笑)

【MetaTrader】やる夫とれーだぁー インディケーター、EAの作成依頼を無料で受けつけられていらっしゃいます!すごい太っ腹な方です。
実際にお会いしたことがありますが、エネルギッシュでさわやかないい奴ですね。これからも宜しくお願いします。

まぐれのち晴れ 学生トレーダーのハルナツキさん。珍しくも僕と同じ学生トレーダーです。マインドマップ、フォトリーディングができるみたいです。明らかに切れ者です。これからも宜しくお願いします。彼も実際にお会いしたことがありますが、純粋な笑顔が好印象ですね。すごい素直なので面白いです(笑) これからもよろしくね。


検索エンジン

相互リンク検索エンジン~AtoZ♪Search~

相互リンク集
相互リンクによるアクセスアップのための自動相互リンク集です。

メタバイザー
リンク   0

:システムトレード - :株式・投資・マネー


タイミングチャート、1分間のサヤの推移を表示するインディケーター
どうもFXボーイです。

さて今回は、前回に引き続き
③タイミングチャートの1分間のサヤの推移を表示するインディケーター
をご紹介いたします。

このインディケーターを作成したのは、 為替鬼さんのブログの2009/08/20日の記事の中に


ただ、イグジットの目安としましては、それまでの 1分足よりも足の長さが数倍長くなり、

ググッ~~ と一気にサヤが縮まった瞬間に、イグジットをするというイメージになります。

ということが書かれていたからです。

おそらくこれは、サヤが急速に収束した時に起こる
オーバーシュート(値動きの行き過ぎ)による反発が起こるまえに逃げるという投資行動だと思いました。

まぁあってるかどうかはわからないのですが、このチャートも複用することで、
手仕舞いに関する理解が深まると思います。

というわけで、今回ご紹介するインディケーターはこちらになります。
tri.png
1分でサヤの動きがどれだけ動いたのかが、チャートでも数字でも分るようにしてあります。

今回のインディケーターはボブのメールセミナーに登録して頂ければ、
折り返しでインディケーターをダウンロードできるURLをボブのほうから送ってもらいます。

オーバーレイチャートの使い方や、
導入法、取引方法まですべてにわたってお送りするので、
ぜひご登録ください。
ボブのメールセミナー

ダウンロードをなされたら、
Metatrader-Expert-Indicatorのファイルに入れこんで頂ければ使用可能になります。
もし分らない方がいらっしゃいましたら掲示板等でお聞きください。

いずれは動画などを作成して説明するページを作ろうかと考えています。

上の通貨ペアでは、EURGBPとEURJPYのタイミングチャートを上げていますが、今回もプロパティで設定を変えることで変更可能です。
timingcha.png
パラメーターが上から順に
currency1 タイミングチャートの通貨ペアの1つ目
currency2 タイミングチャートの通貨ペアの2つ目

となっています。詳しくご説明致しますと、

currency1 currency2
タイミングチャートの通貨ペアを指定、変更することができます。
EURUSD EURJPYのタイミングチャートを作りたければ、
currency1にEURUSDを入力して
currency2にEURJPYを入力することで、
EURUSD EURJPYの、ユーロ絡みのドル円のタイミングチャートが完成します。

こちらの入力は、自動的にタイミングチャートの右上にある通貨ペアを表示する欄に反映されますので、自分がどの通貨ペアを使っているか一目瞭然になっています。

次回はいよいよ今までご紹介した全てのタイミングチャートの機能を織り込み、アラート機能を付けたものをご紹介いたしますので、お楽しみになさってください。画像はこんな感じになります。
aaaa.png

最後までお読み頂きありがとうございました。


人気ブログランキングに参加しています。
にほんブログ村 為替ブログ FX システムトレード派へ

応援して頂けると大変嬉しいです。ありがとうございます。

ちなみにメタトレーダーの情報は に集まっていますので、興味のある方はご覧ください。


どうもありがとうございました。
メタバイザー
インディケーター   0

:システムトレード - :株式・投資・マネー


ボブとメタバイザーによる、メタトレーダーとはなんぞや?後編

ボブ
くそう・・前回も全然出番がなかったじゃないか。。・・いつも僕の出番をでかい顔でじゃましてくるんだかんっ?

a.png














ボブ:うわっ!!!

メタバイザー(以下メタ):やぁボブ。なんかストレスがたまってるらしいじゃないか。

ボブそうですよ。たまには僕にももっとしゃべらせてくださいよ。枠。枠をもっとください。

メタ脇役の分際でなかなか面白いこと言うね。

ボブいやいや!僕を前面にださないから視聴率がひくいんですよ。 

メタ:ほほぉ。つまり、君がたくさん話せばこのアカデミーはもりあがると言うんだな?

ボブそ、そうですよ!髪型とかも明らかに僕の方が活かしてるじゃないですか

メタ:黙れもじゃ。と、いいたいところだが、そこまで言うなら今日の講義は脇役ボブ君を主体にやってみよう。

ボブ!!ありがとうございます!先生って見た目ほど頭硬くないんですね

メタ:ほっとけ。



ボブによる質問コーナー
ボブ
とりあえず前回、いろいろな話を聞いたんですが、話を聞いたところでなんていうか。。あ~難しそうだな。インディケーターや自動売買を作れるっていっても作るのが面倒くさそう。って感じなんですよね。

・・・あ、全部しゃべれた!!



メタ:Zzz・・・・・・・・・

ボブ:寝とんのかい。

メタ:ハッ! すまんすまん。あまりにも質問が微妙過ぎて寝てしまった。
   もっとうまく質問できんのか。なんでマンなんだから。1問1答みたいな感じで答えられる質問をしろ。

ボブ:う。。じゃぁ質問なんですけど、プログラミングができない僕でもメタトレーダーって便利なんですか?

メタ:うむ。やればできるじゃないか。 プログラミングができなくてもメタトレーダーは便利だ。
   そのためにこのアカデミーはあると言ってもよい。
   プログラミングできなくても便利を体験してもらうために、
   インディケーターで音付きインディケーターをダウンロードして
   ExpertAdvicerで音付きインディケーターをどのように使えば良いのかをチェックすると言い。
   感情に左右されないシステムトレーダーの感覚がわかるようになるはずだ。

ボブ:といっても、そもそもメタトレーダーってどこでダウンロードすれば良いんですか?

メタ:う。。。メタトレーダーをダウンロードしていないのか?まぁ初めは誰でも初心者だからな。
   それならFXボーイのほうがメタトレーダーの導入の仕方を動画で解説しているから、
   メタトレーダー導入編基本操作前編後編の動画をまずはみると良い。

ボブ:なるほどなるほど。それでもやっぱりいつかは自分でプログラミングできるようになりたいです。

メタ:ほほぉ。なかなか向上心があるな。どうしたボブ?熱でもあるのか。
   その気持ちがあるならメタトレーダー講義のほうにいけば良い。
   CodersGuru師範が優しく一から教えてくれるだろう。
   もしくは、メタバイザーのメタトレーダー集中講座初級編を受講して欲しい。
   こちらは余計な知識を省いて最短で自動売買ソフトがつくれるような構成になっている。

ボブ:でも、プログラミングを勉強してて質問が出てきた時はどうすればよいですか?

メタ:そのための掲示板だろう。そこで質問するか、もしくはmetavicer@gmail.comに質問してもよい。
   ちなみに頂いた質問は他の人のヒントになるように基本的にこのブログで掲載して公表する。
   もしそれが嫌であればあらかじめその旨を伝えて欲しい。

ボブ:もしプログラミングができるようになって、
   堅牢なシステム構築をするためのアイディアが欲しくなったらどうすればよいですか?

メタ:ふむ。それならメタバイザーのメタトレーダーレッスン中級編に進むと良い。
   そこで堅牢なシステム構築をつくるためのヒントを掲載していく。   

ボブ:でも時々面倒くさくて、自動売買ソフトとか、インディケーターとか誰かに作って欲しい時ってありますよね。

メタ:料金は発生するが、FXボーイのほうが責任を以てそういった依頼をこなしている。
   作成依頼はこちらから飛んでしてほしい。(もう少々お待ち下さい)

ボブ:いろいろありがとうございました。でも僕実は裁量トレーダー目指しているんです。

メタ:たしかに裁量でやるのは楽しい。私も時々やってしまうからその気持ちは分る。
   ただ、、私はどう考えても裁量よりもシステムのほうが早く稼げるようになる気がしてならない。
   このサイトはシステムトレーダー向けなので、裁量的な要素はあまり触れていないのだが、  
   裁量で破産しないための最低限のルールは教えておくから裁量取引を参考にするように。

ボブ:僕でもメタトレーダーが使いこなせるようになりますかね?

メタ:もしお前が使いこなせるようになると、自分を信じることができれば使いこなせるようになるし、
   やっぱり僕には無理だと思えば使いこなせるようにはならない。
   要は自分次第だ。なるべくお前が僕には無理だと思わないように丁寧に指導していくつもりだが。
ボブ:わかりました。。これから頑張ってハイパートレーダーになろうと思いますのでよろしくお願いします!

メタ:語感がダサすぎてハイパートレーダーには死んでもなりたくないが、
   メタトレーダーを使いこなせれば稼げるトレーダーに近づけると信じている。お互い頑張ろう。
   ちなみにここで紹介したコーナーのリンクがなければ近いうちに作成するつもりなので、もうちょっと待ってて欲しい。

ボブ:なんか言いました?

メタ:ん。いや、こっちの事情だ。ところでなかなか良い質問だったぞ。
   さすがは何でマン。今日は最後のブログランキングのお願いを貴様がしてみろ。

ボブ:!!ほんとですか!

メタ:あぁ本当だ。但し、これでブログランキングのクリックがいつもより少なかったら・・・
   お前はこのブログで二度と登場することはないだろう。

ボブ:うわぁ! それはないっすよ~!

メタ:頑張って読者の方にお願いしてみるんだな。ファーファファ!


ボブ:今日はお付き合い頂きありがとうございました!このブログで初めてちゃんと話せた気がします。   
 このブログは人気ブログランキングに参加しています。

にほんブログ村 為替ブログ FX システムトレード派へ

僕のことを少しでも思ってくれる優しい方はクリックしてください!!
下手すると、、、初めてたくさん話して、そのまま消える噛ませ犬キャラで終わってしまうかもしれません・・・・・・お願いします!


ちなみにブログをやっているメタトレーダー仲間は から見ることができますので、よろしければこちらもどうぞ。こっちのクリック数は僕の存続に関係ないみたいなので、余り気にしなくてもいいけど。。


じゃあね。最後までつきあってくれて本当にありがとう!
メタバイザー
はじめに   0

:FX(外国為替証拠金取引) - :株式・投資・マネー


メタトレーダーの導入編~メタトレーダーの基本操作方法動画
皆さんこんにちわ。FXボーイです。

今回は、メタトレーダーって聞いたことはあるけれどもよくわからない。

なんとなく興味はもっているけど、使い方が良く分からないという方々にむけて、

メタトレーダー導入編

メタトレーダーの基本操作方法 前編

メタトレーダーの基本操作方法 後編

この三つの動画を作成しておきましたので、メタトレーダーを自分のパソコンにも備え付けたいなぁと言う方は、ご参考になさってください。

声がオヤジくさい。と感じる方がいらっしゃると思いますので、僕は本当に20代前半であるということは主張しておきます(汗)


動画内容を簡単に説明させて頂きます。

メタトレーダー導入編(クリックするとリンクに飛びます)
こちらでは、メタトレーダーをインストールをどうやってするのか。というメタトレーダーのインストール手順を、実際に僕が一からメタトレーダーをダウンロードすることで一から解説していきました。
パソコンにもよりますが、基本的に3分程でご自身のパソコンへのメタトレーダーの導入が完成致しますので、どうぞご覧ください。

メタトレーダー基本操作方法 前編 後編
メタトレーダーを導入したのはいいけど、どのような操作をすれば良いのかが分らない。
という方向けへの動画になります。
こちらで紹介したことは、僕が使っていて便利だな。という機能や、最初に導入した時に使い方がよくわからないと感じたものを中心に解説してあります。
合計14分とやや長くなってしまいましたが、逆に言うと、この動画で話していることを理解すれば、メタトレーダーの使用法や便利な技はほぼ完全におさえられるのではないかと思います。
プログラミングのさわりとして、備え付けられているMACDを、プログラミングをいじって日本で使われているようなMACDに変更する方法も取り上げておきました。

内容は以下のようなものになります。
・MACDをヒストグラムからラインに変更して描画する方法
・インディケーターを重ねて表示させる方法
・タブを独立させる方法
・メタトレーダーでのデモ売買の行い方
・基本操作
・テンプレートの使い方。

時々お聞き苦しい点や、噛んでいる点等も多数あると思いますが、よろしければご覧ください。

この動画で一人でもメタトレーダーを導入してくれる方がいらっしゃいましたら大変嬉しく思います。


最後までお読み頂きましてありがとうございました。

人気ブログランキングに参加しています。
にほんブログ村 為替ブログ FX システムトレード派へ

応援して頂けると大変嬉しいです。ありがとうございます。

ちなみにメタトレーダーの情報は に集まっていますので、興味のある方はご覧ください。


どうもありがとうございました。
メタバイザー
メタトレーダー初歩   0

:システムトレード - :株式・投資・マネー


メタトレーダー講義 第7回 関数
皆さんこんにちわ。今回は関数についての講義ですね。これが終わればあと二つの講義でインディケーター作成の説明にはいりますので頑張りましょう!
関数はプログラミング未経験者からすると理解するのが難しいと思います。
使っているうちに理解が深まってくるとは思いますが、今回のCodersGuruさんの説明はそのような中でも相当に分りやすい説明であると思いますので、頑張って付いてきて下さい。
それでは始めましょう。Codersguruさんによる、関数講義です。




この文章はCodersGuruさんのMQL4Lesson4の訳文です。(翻訳しての転載に本人の許可はとってあります)   
                            メタトレーダー講座
                            Coders'guru   
                             www.forex-tsd.com                      
                                  -7-
                                関数


MQL4の関数の世界へようこそ。
関数には、どの言語の関数でも二つの段階があります。
つまらないものとして学んでいる段階
常に救命ボートとして使っている段階 です。

いつものことですが、今回も言わせて下さい。
前のレッスンは楽しめて頂けたでしょうか?楽しめて頂けると嬉しいのですが。

さぁ、それでは講義にまいりましょう。

関数ってなに?
関数はソーセージ製造器に大変よく似ています。とスパイスを入れると、ソーセージがでてきますよね。
お肉とスパイスが引数で、ソーセージが返却値(return値)になります。製造器それ自体が関数本体になります。
ソーセージ製造器と関数にはただ一つだけの違いがあります。その違いとは、関数の中にはなにも出さないことがあることです。(MQL4で何もreturn値に返さないことをvoid(空洞)といいます)

いくつかの例をみてみましょう。

double //ソーセージの種類-返却値
my_func(double a, double b,double c)//関数名と仮引数リスト(肉とスパイス)
{
return(a*b+c)    //出てくるソーセージ-返却値
}

上の例のように、関数は返却値の種類である"double"から始まります。そして、括弧が後に続く関数名が続きます。
括弧の中にはお肉とスパイス...失礼しました。引数を入れこんでください。
ここでは三つの具材・・もとい、引数としてdouble a, double b, double cを入れこみました。
それから、関数本体には始まりと終わりに大括弧をいれます。今回の例では関数本体には演算子が使われています(a*b+c).
returnキーワードには最終結果を返す役割があります。


Returnキーワード

returnキーワードは関数を終わらせます(breakキーワードがループを終わらせたのと似ています)
そして、それは関数呼び出し式にコントロールを引き渡します。
returnキーワードは、上の式のように、その括弧の中に式を入れることができます。
例 return(a*b+c);この意味は関数を終わらせ、式の結果を返すというものです。
そして、これには、式がない場合や、今回のケースのように、式を終わらせるだけに使用することがあります。

注目:全ての関数がreturnキーワードを使うわけではありません。特に返却値がない場合は使わないことが多いです。例をご覧ください。

void //voidはソーセージが-return値がないことを示します。
my_func(string s) //関数名と関数パラメーター(肉とスパイス)
{
  Print(s);
}

上の関数はreturn値がありません。でもそれは貴方が調達したパラメーターsを出力します。
関数に返却値がない時はvoidを関数返却タイプとして使います。
これらの関数の種類は、いくつかのプログラミング言語で"Methods(方法)"と呼ばれていますが、MQL4では、関数と呼びます。

関数呼び出し

私たちは関数が何かについて大変よく理解しましたね(私の希望的観測でしょうか?)。MQL4ではどのように関数を使うのでしょうか?

関数を書いて、あなたのプログラムで関数を使った後に、特別な処置が存在します。
この処置を、呼び出しといいます。

あなたが二つの整数(integer)の総和を集める(collect)関数を使ったとしましょう。
下の関数になります。

int collect(int first_number,int second_number)
{
   return(first_number+second_number);
}
あなたは上の関数がどのように働くかわかるでしょう。しかし使ってはなりません。

このように使ってください。

int a=10;
int b=15;
int sum=collect(a,b);
print(sum);

上の例では魔法ように25が出力されます。でもどのようにしてわかるのでしょうか?
この魔法の行はint sum=collect(a,b)です。ここで貴方は変数(sum)に関数の返却値をもつように宣言し、関数に二つの引数(a,b)を与えたのです。
これを一般的に関数呼び出しといいます。
MQL4があなたの作った関数名を見た時、引数を持って、関数に行き、すぐに結果を持って戻ってきて、同じ行に結果を置きます。
これは、あなたが呼び出した関数の中の場所の代わりにすべての関数の文をコピーするようなものです。わかりましたか?

関数の中に関数をいれこむ。

あなたは関数本体のなかに、他の関数をまとめることができます。なぜなら、呼び出し文は普通のステートメントとして扱われるからです(実際ステートメントです)

例えば

今から上記のcollect関数の中に、collectionの結果を出力する新しい関数が入ったものを使います。

void print_collection(int first_number,int second_number)
{
   int sum=collect(first_number,second_mumber) 
   Print(sum);
}

ここで私たちはprint_colllection関数本体の中にcollect関数を呼び出し結果を出力しました。voidの意味は返却値を返さないという意味でしたね。


MQL4の特別な関数 init(),deinit() start():

MQL4では、すべてのプログラムの始りに関数"init()"(初期化)があります。それはあなたのプログラム(エキスパートアドバイザー、カスタムインディケーター)とメタトレーダーチャートをくっつける時、もしくはあなたがチャート周期や通貨ペアをかえたりした時に発生します。
そしてその仕事はあなたのプログラムのメイン変数を初期化することです(初期化変数については次回の講義で触れることにします)

あなたのプログラムがその仕事を終えた時もしくは、チャートウィンドウをしまった時や、チャート周期
や通貨ペアをかえた時、メタトレーダーターミナルを終了した時に関数"deinit()"(de-initialize)が発生します。

第三の関数(最も重要な関数)は"start"()で、これは、新しい値段が記録されるたびに発生します。あなたのプログラムの90%はここの関数のなかで行われています。

これらの関数は、実際にエキスパートアドバイザーや、カスタムインディケーターのコードを打ち込んでいる時に、必須の知識としてより詳しくしることになるでしょう。

楽しんでいただけましたでしょうか。

それでは。
Coders'Guru



メタバイザーによる補足説明
関数についての説明はなかなか難しかったとおもう。

私が関数についてしっかり理解できるようになるまでには結構時間がかかった。

CodersGuruさんの説明は大変にわかりやすいが、ここでは更に具体的な解説をしていこう。


int collect(int first_number,int second_number)
{
   return(first_number+second_number);
}

これは、intタイプの具材(引数)を二つ必要とするcollect製造機(関数)で、この製造機に具材(引数)を放りこむと、放り込まれた2つの具材(引数)の総和をソーセージ(返却値)として、製造する関数だ。


int a=10;
int b=15;
int sum=collect(a,b);
print(sum);

そしてこの例を見て欲しい。
上のcollect製造機(関数)の具材(引数)としてint(整数)である10と15を入れている。
そうすると、collect製造機は10と15の総和をソーセージ(返却値)として製造してくれる。
そのソーセージをsumという箱に入れるので、sum=25になる。

・・これはただCodersGuruさんの説明を言い換えただけだが、理解して頂けただろうか・・?

関数は実際にはエキスパートアドバイザーで必須の知識になる。

この関数を理解していないと、自分が思ったような自動売買ソフトをつくることはできないので、もし君がEAを作ろうと考えているならば関数は良く抑えておいて欲しい。

今回は以上だ。最後までよんでくれてどうもありがとう。


何か質問や意見があれば、メタバイザーの放課後まで遊びに来てほしい。 

人気ブログランキングに参加している。
にほんブログ村 為替ブログ FX システムトレード派へ
もしよろしければ応援してほしい。どうもありがとう。

ちなみにブログをやっているメタトレーダー仲間は から見ることができる。

それではまた会おう。
メタバイザー
メタトレーダー講義   0

:システムトレード - :株式・投資・マネー


タイミングチャートアラート
僕は為替鬼さんのスキャルピング手法に憧れて、スキャルピング手法をマネして取引をすることがよくありました。

パソコンの前に座る前に、よしやるぞ!と気合をいれ、パソコンを立ち上げ、チャートを立ち上げます。自分はカリスマトレーダーなのだと暗示をかけながら、取引を開始します。

しかし、毎回結果は散々。 特に、一回負けてしまうと、心が乱されてしまい、チキン利食い、直感エントリー、ビビり損切りを多発させ、手法通りの取引ができなくなってしまいます。

僕は小心者なので、利を伸ばす忍耐力がありません。利が乗っている状態で一時的な戻しがくると、利益が損失に変わるのを恐れて、ポジションを衝動的に手放してしまいます。  もちろん、我慢してもっていれば、ほとんどの場合もとに戻るのにも関わらずです。

僕は小心者なので、損失を抱える忍耐力もありません。損失が少しでもでると、決められた損切りの値まで我慢することができなくて、スグに損切りを行ってしまうタイプの人間です。

僕は短気なので、エントリーチャンスをじっと待つ忍耐力がありません。特に1分足の場合、ずっとチャート画面を見続けていなければならないので、エントリーチャンスが少ないと、時間をかけた分だけ取引をしないといけないような気分になってしまい、無理をしてでもエントリーをしてしまおうとしまいます。 そうなるとルール通りの取引ではなくなるので、チキン利食いや、ビビり損切りを多発させてしまいます。

このように取引をするとどうなるか。損中利少を頻繁に何度も何度も繰り返し、手数料がかさんで資産を減らしていくという最悪のパターンに毎日のようになっていました。

毎日物凄い早さで目減りしていく資産。
友達との約束も断り相場を見続け、何時間もチャートをみるだけという非生産的な作業を続けた結果は、全く報われず、それどころかお金も無くなるという最悪の状況でした。

そして、残りの資産が5千円を切り、レバレッジをいくら効かせても何の通貨も取引できないという状況にまでなった時に、自分には裁量トレードの才能が無い向いことをようやく認めることができました。

多くの時間と資産を費やした結果行きついたのは、自分には裁量トレードの才能が無いという結論です。 相当な無力感、悔しさがこみあげてきたのですが、なんとかその感情をのみこんで別の道を模索しました。

経験したこともないプログラミングを勉強しだし、苦手だった数学的思考(高校の時の数学の点数は6点だったことがあります。もちろん100点満点でです)を身につけ、苦手な英語を駆使してメタトレーダーを詳しく解説してあるサイトを翻訳しました(一つの単語を理解するために2時間くらいかけたこともあります。)

そして、資産を全部なくしてから7カ月・・・友達と遊ぶ回数を減らし、大好きだった飲み会に参加する回数も減らし、ご飯を食べ過ぎると眠くなるので食事も制限するというストイックな生活を繰り返し、様々な試行錯誤を繰り返しながらようやく、一つの成果にたどり着きました。

それがこの、アラートタイミングチャートです。

このタイミングチャートを使って取引をしてみると、我ながら大変よく出来た傑作であると感心してしまいました。

といいますのは、今までは不可能のように思えていたルール通りのエントリーが簡単にできるようになったのです。

それは何故か、もう、相場に張り付いて、値動きを見続ける必要が無くなったからです。

いままでは、ずっと相場に張り付いていなければならないという強迫観念から、相場の値動きの一挙一動に注視し、それがまるで夢中になった女のように、振り回され続けていました。

このタイミングチャートが完成してからまだ2日しかトレードをしていませんが、1日目は2戦2勝+50Pips 2日目は13戦8勝3敗1分、獲得Pipsは65.14Pipsと上々の結果でした。

しかも、そのために相場をみた時間は全部合わせても30分未満です!

ほとんど相場のことを考えることなく、いや考えることがなかったからこそ、この結果が出せたのです。

僕は今日の取引の間、全くいつもと変わらない生活を送っておりました。パソコンをしてネットサーフィンし、ブログを更新し、ご飯を食べ、本を読む、コーヒーを飲みながらくつろぐといったような生活です。

完全なるノーストレスです。相場を見ても見なくても結果が変わらないのだから、トレード状況を気にすることもありませんでした。

振り返ること7か月前。チキン利食い、ビビり損切り、直感エントリーを繰り返し、資産を入れては溶かしていくのを繰り返していた僕とは全く違うトレーダーとして今この文章を書いています。

いや、トレーダーとしては全く変わっていません。素質も変わっていません。メンタルもかわっていません。小心者だというところもかわっていません。忍耐力がないのも変わっておりません。

それでは一体何が違うのか。 違うのはただ一つ、使っているツールです。

いまからこのツールについて説明させて頂きます。


アラートタイミングチャートの特徴。
aaaa.png



現在、世の中にはタイミングチャートがいくつか出回っていますが、現時点では、出回っているタイミングチャートの中でも最高の物ができたことを自負しています。

それは以下の点によるものです。

・FXCMのタイミングチャートとほぼ完全に同じ動きをする。
当然といえば当然の条件ですが、ここが間違っていたらお話しになりません。

・エントリーポイント、イグジッドポイントの条件を満たしたら、すぐにその場で、条件を満たしている間、あなたがスイッチをOFFにするまで、目覚ましのように鳴り続ける。
このツールを使えばパソコンに張り付いていなくても、パソコンと同じ部屋にいなくても
エントリーチャンス、エグジッドポイントを逃しません!実際に僕は、家の2階でパソコ
ンを置いといて、1階で食事をしていた時でも、アラートが目覚ましのように鳴り続けてい
たので、食事を中断し、2階に駆けあがり、適切なタイミングでエントリーをすることがで
きました。

・1分間のサヤの値動き、サヤの開きの値、通貨ペアの関係が一つのウィンドウの中に凝縮
されている。

今までご紹介してきたように、インディケーターを3つ用意することで得られる情報が、1つのインディケーターに濃縮することができました。インディケーターに愛着を持ち、使い続けるには、見やすさ、使いやすさが大変重要なので、このシンプルかつ多機能なインディケーターは秀逸なインディケーターであると自負しています。

・エントリーポイントで音が鳴るだけでなく、エグジッドポイントでも音が鳴る。
 そのエグジッドポイントの条件の中に、サヤが閉じるだけではなく、オーバーシュート(値動きの行き過ぎ)が発生する可能性が高い時でも鳴るようにしてある。
このように、イグジッドのための条件のアラームを完璧に抑えたことで、文字通りもう相
場を見なくても、イグジッドポイントを逃すことが無く、結果的にノーストレスで、取引
ができるように鳴ります。相場の値動きに惑わされなくなるので、この見なくても大丈夫
というポイントは大変重要なことです。

・アラートが鳴る設定を、一目で俯瞰することができる。
このインディケーターは
・サヤの開きが指定したPips以上になったら鳴り続ける。
・サヤの開きが指定したPips以下になったら鳴り続ける。
・1分間で急激にサヤが閉じている時に鳴り続ける。
という3種類のアラートと、それに対する、アラートのOn Offの2種類で、
3*2=6通りの設定を行うことができます。
自分はどのように設定したかを、このインディケーターでは一目で俯瞰することができる
ので、自分がどのように設定したかを迷うことはありません!


さて、このアラート付きタイミングチャートは一体いくらで手に入るのでしょうか?


それは・・・・あなたはこのタイミングチャートを手に入れるのに1円たりとも支払う必
要はありません。


なぜ私はこのようなことをするのでしょうか?
実際に、ブログでタイミングチャートのインディケーターを公開した時に、大変有難いことに有料でもいいんじゃないですか?無料ではもったいないですよという声を多数頂きました。

更に、アラート付きタイミングチャートは4万円程で取引されているのが相場であるような気がします。さらに、僕が知る限りそれらのタイミングチャートよりも上記の理由により性能が優れているものです。

それではなぜ私は無料で提供するのでしょうか?

理由は簡単です。

あなたにこのツールの便利さを知ってもらいたいからです。
果たしてこれはあなたにとって便利なのかそうでないのか?
ご自身で判断して頂きたいからです。

もし、あなたがこれは便利だと思うのであれば、他の通貨ペアも欲しくなると思います。
今回のインディケータある意味合法的なワイロです。

従いまして、今回無料で提供するのはEURGBP EURJPYのタイミングチャートのみとさせてください。

取引通貨はGBPJPYになります。おそらく、このタイミングチャートが最も効率のよい通貨ペアだと思います。 今回は、その最も効率のよいタイミングチャートの通貨ペアを差し上げますので、このインディケーターが便利だとお感じになり、他の通貨ペアでも使用したいと思われた方は、タイミングチャートアラートの上位版、ゴールデンオーバーレイのほうをお申し込みください。こちらでは、サヤが閉じた時等に携帯に転送できる機能もついております。

今まで120名以上にご購入頂いておりますが、クレームは一件もありません。感謝の声を多数頂いております。

もしよろしければ御検討いただければ幸いです。

今回のタイミングチャートはボブのメールセミナーに登録して頂ければ、
折り返しでインディケーターをダウンロードできるURLをボブのほうから送ってもらいます。

タイミングチャートアラートの使い方や、
導入法、取引方法まですべてにわたってお送りするので、
ぜひ登録なさってください。

5万円以上の価値があると言われた無料ツール、記事を紹介していきます。


タイミングチャートの設定方法、パラメーターの設定方法についてはこちらの動画で解説しています。


また、これよりも更に進化したタイミングチャートアラートの上位版のインディケーターが完成致しました。

その名はゴールデンオーバーレイです。こちらで紹介しておりますので、興味をお持ちの方はご覧ください。

最後までお読み頂きましてありがとうございました。

人気ブログランキングに参加しています。
にほんブログ村 為替ブログ FX システムトレード派へ

応援して頂けると大変嬉しいです。ありがとうございます。

ちなみにメタトレーダーの情報は に集まっていますので、興味のある方はご覧ください。


どうもありがとうございました。
メタバイザー
インディケーター   0

:システムトレード - :株式・投資・マネー


メタトレーダー講義 第8回 変数
こんにちわ。FXボーイです。
今回の講義が終われば、残す基礎知識はプロパリティー一つとなりました!
あと少しなので気合いをいれて頑張りましょう!





この文章はCodersGuruさんのMQL4Lesson4の訳文です。(翻訳しての転載に本人の許可はとってあります)         
                  メタトレーダー講座      
                      Coders'guru             
                       www.forex-tsd.com
                           
                            -8-
                          変数 

MQL4変数の講義へようこそ。

前回の講義は楽しんでいただけましたでしょうか。そしてあなたが変数の難関に立ち向かう準備ができていることを祈ります。
変数は大変難関な講義内容になりますので、データタイプの記事を復習しておくことをお勧めします。

それでは変数を楽しみましょう

変数って何?

以前にこの秘密をあなたにお話したように、変数とは、データを保存すべき記憶貯蔵庫の場所はどれかを指定する行為の名称です。

このことが鮮明にわかる助けになるように、記憶貯蔵庫は一連のサイズの違う箱であるとイメージしてください。箱の大きさは記憶容量単位(バイト)が要求する記憶貯蔵庫収容空間の大きさです。

     ・データを貯める箱を使うために、その箱は名前をつけられなくてはなりません。この過程を、
      declaration(宣言)といいます。

     ・宣言の過程において、あなたはコンピューターにどのような種類か、そしてどのようなサイズ
      の箱が使いたいかを知らせる言葉を使わなくてはなりません。そのコンピューターに伝える
      言葉をキーワードといいます。キーワードを使って宣言してるわけですね。

     ・もしあなたが情報の種類と関係がある意義のある名称を箱につけたなら、そのデータをより
      簡単に見つけられるようになります。その箱につけた名称のことを変数名(識別子とほぼ同
      義)といいます。

     ・データは、箱にいれられるときに、振り分けられながら箱にいれられます。
     
     ・あなたが作った箱に価値を付けたとき、同じ行であなたは計量値を宣言しています。この過
      程を(変数生成時に指定された値である初期値を格納することになるので)initialization(初
      期化)
といいます

私たちが変数を作るとき、私たちの変数に、特定の記憶貯蔵庫の長さ(大きさ)を割り振ってほしいとコンピューターに告げています。文字列や、簡単な数字、文章、大きな数字は同じ記憶貯蔵庫の場所に入れておくことができないので、コンピューターはどのような種類のデータで、どのくらいの長さのデータなのだと私たちに聞くわけです。これがデータタイプの意味です。

例えば、もし私たちがこのコード文をコンピューターに言う時、

int MyVaraible=0;

これは、私たちはコンピューターに4バイトの長さの単位を私たちのつけた変数名称であるMy Variableに与えてくれと頼んでいるわけです。

いま使用した例を使って説明すると
int ←キーワード
int ←Integer data type
int ←Declaration(宣言)
MyVaraible←変数名
=0←初期化

MQL4で、これらはデータタイプの種類です。

   ・Integer(int)  整数
   ・Boolean(bool)論理型
   ・Character(char)文字
   ・String(string)文字列
   ・Floating-point number(double) 浮動小数点数(小数点が動くので少数と整数に対応)
   ・Datetime(datetime)


以前のデータタイプ講義の中から数行コピーしておきました。復習になりましたでしょうか。
さて、今から変数をどのように宣言するかについてから始めましょう。

宣言

変数の宣言の意味は、その世界への紹介と、変数タイプの指定です。宣言は、あなたがデータタイプで学んだキーワード(int,double,char,bool,string,color and datetime)と、あなたがその変数のために選んだ名前を使うことによって行います。


int MyVaraible;

今あなたはMyVaraibleと名付けた整数タイプの変数を宣言しました。そして宣言する前に、MyVaraibleをあなたのコードに使うことはできません。もしも宣言なしで使用すれば、MQL4コンパイラは不平を漏らし、あなたに'MyVaraible'-varaible not defind.1 error(s),0 warning(s)とこのようなことを言うでしょう。

初期化

変数の初期化の役割は、ある一つの値を代入することです。例:MyVaraible=0;
宣言と同じ行で変数の初期化をすることもできます。     例:int MyVaraible=0;

そして、変数の宣言をある場所でして、初期化を他の場所で宣言することもできます。このように。

int MyVaraible
...
...
MyVaraible=5;

それでも、宣言は初期化の前に行わなければならないということは忘れないでください。

宣言の有効範囲

変数の有効範囲には二つの種類があります。 ローカル(局部)とグローバル(全体)です。

有効範囲の意味は、どの部分のコードが、変数を感知し、使用することができることというものです。

ローカル変数は、変数が宣言された外の世界は見られないものになっています。たとえば、関数の中で宣言された変数は、その関数ブロックのコードの一部になります。そして、コードのループや分岐ブロックのコードの中で宣言された変数はそれらのブロックの一部になり、外からはその変数を使うことはできません。

例えば、

double my_func(double a,double b,double c)
{
int d;
return(a*b+c);
}
d=10  ←こういうことはできません。

上記の例では、変数a,b,c,dはローカル変数になります。そしてそれは、関数ブロック(大括弧 { } の中に入っているものをブロックと呼びます)のコードの中でのみ使うことができます。そして、外のコードによって使われることはできません。ですので、上述のように、私たちは関数の後にd=10;等のような文を書くことはできません。なぜなら、関数の次の行からは、関数の外の存在になるので、dの変数を見ることができないからです。

第二の有効範囲はグローバル変数です。グローバル変数は、どのブロックコードにも属さず、ブロックコードの外側で宣言されたもので、あなたのコードのすべての場所から見られることができます。


int Global_Variable;
double my_func(double a,double b, double c)
{
return(a*b+c+Global_variable);
}

ここでは、Gloval_Variable変数が関数の外側で宣言されていますので、プログラムの中のすべての関数によって使われることができます。
グローバル変数は、もしあなたが初期値を設定しなければ、自動的にゼロにセットされます。

Extern変数(外部変数)

externキーワードは特別な種類の関数の宣言のために使われます。このような関数は、プログラムデータを入力するのを決める時に使われます。そして外部変数はエキスパートアドバイザーやカスタムインディケーターのプロパティから値を指定することができます。


extern color Indicater_color=C'0x00,0x00,0xff'; //青
int init()
{
...


ここにIndicator_color変数がextern変数として定義されました。これはあなたが最初に見るときは自分のインディケーター(もしくはEA)をメタトレーダーチャートに貼り付ける時になります。貴方はプロパティシートウィンドウで変えることができます。 これをみてください。

propertys.png


これらの
%K_period,%D
period,Slowing,
price_field,
移動平均の種別,
下限設定,
上限設定
変数が、externキーワードを使って定められた変数になります。ですのでプロパティーシートに現われました。
貴方の作るプログラムで変更可能な変数をつくりたいと思いましたら、extern変数を使えばどれでも可能です。

楽しんでいただけましたでしょうか。

それでは。

Coders'Guru





メタバイザーによる補足説明

今回の講義は大変分りやすかったので特に解説するところは無さそうだ。

何か質問があれば、メタバイザーの放課後まで遊びに来てほしい。 


人気ブログランキングに参加している。
にほんブログ村 為替ブログ FX システムトレード派へ

もしよろしければ応援してほしい。どうもありがとう。

ちなみにブログをやっているメタトレーダー仲間は から見ることができる。

最後までお読み頂いたことに感謝する。
メタバイザー
メタトレーダー講義   0

:FX(外国為替証拠金取引) - :株式・投資・マネー


最適な移動平均線のクロスとは?
a.png


 こんにちわ。メタバイザーです。 コーナーの初回と言うことなので、

 私の爽やかなアップ画像からお送りいたします。

 さて今回は

 音付きインディケーターを使いこなす!

 最適な短気移動平均線、長期移動平均線のクロスを検証しよう
だ!


このプレゼントが欲しい人は、
ボブのメールセミナーに登録してやって欲しい。

5万円以上の価値があると言われた、ツールや記事の紹介をしている。
メールセミナー後には、あなたの投資家レベルに知識は飛躍的に
上がっていることだろう。
ボブのメールセミナー


ダウンロードをしたら、Metatrader-Expertのファイルに入れ込んでくれれば使えるようになるぞ。


ちなみにメタトレーダーで売買検証をしている時は以下のような感じになる。



わかったかボブ。

メタトレーダーを使うと、クロスする短気移動平均線の期間と、長期移動平均線の期間の最適な(最も利益の高い)組み合わせを自動で算出してくれるOptimization(最適化)という機能がある。

この、売買検証で最適な移動平均線の組み合わせを算出し、その組み合わせの値を移動平均線クロスアラートの設定値に落とし込んで使用すれば、その最適な移動平均線の組み合わせで売買することが可能になるぞ。

このようにして、売買検証機能で期待値の高いトレーディングシステムを見つけ出し、売買シグナルが出る時にインディケーターで音を鳴らせて知らせる機能を付ける。 という流れを踏むと、自分の有意義な戦略をストレスなしで、取引することができるようになる。

まぁもちろん、売買検証機能で成績が良かったものは、そのまま自動売買ソフトとしてつかうことができるので(これがメタトレーダーの良いところだ)ODLJapan等で口座を開設して、そのまま自動売買ソフトに運用を任せるのが一番楽だがな。

まぁスリッページやサーバーダウン、スプレッドなどいろいろな落とし穴があるから、慎重な性格な人や、スキャルピング手法のトレーディングシステムならば音付きインディケーターを使った取引のほうがより安全な気はする。

今度最適化のやりかたを動画でアップするので、やり方が気になる方はそちらを参考にしてほしい。

今回は以上だ。なにかあるかボブ。

ボブ
ボブです!この前は応援ありがとう!お陰で噛ませ犬キャラではなく、また登場することができたよ! メタトレーダーは夢が広がりますね。てか、単純な移動平均のクロスって、僕の運用成績よりよっぽどいいなwwwやっぱり僕のさて、ボブが調子づいて止めどなく話し出したところで今日の講義はこの辺で終了だ。


FX初心者 ボブ




メタバイザー:また次回の講義で会おう。お疲れ様

ボブ:・・・・・・・

何か質問や意見があれば、メタバイザーの放課後まで遊びに来てほしい。 



人気ブログランキングに参加している。
にほんブログ村 為替ブログ FX システムトレード派へ
もしよろしければ応援してほしい。どうもありがとう。

ちなみにブログをやっているメタトレーダー仲間は から見ることができる。

今日も訪問どうもありがとう。
メタバイザー
EA   0

:システムトレード - :株式・投資・マネー


インディケーター導入法
こんにちわ。今回はサイトでご紹介しているインディケーターを、
どのようにすればご自身のメタトレーダーに取り込むことができるかを解説した動画を作成しましたので、そちらをご紹介させて頂きます。

尚、メタトレーダーの導入の仕方につきましては、メタトレーダー導入編の動画をご覧ください。

こちらが動画になります。


今回は例としてSoundMAのインディケーターを使用して解説しましたが、

アカデミア事務室のIndicatorの中にあるその他すべてのインディケーターの導入の仕方も同じ方法になります。

アカデミア事務室で登録頂いたアドレスは時々メタバイザーのほうからお得な情報や、

裏メールマガジン、告知をお送りする際に使用させて頂くことがありますが、それ以外で使うことは一切ありませんのでご安心ください。


何かご不明な点等がございましたら、掲示板のほうまでお越しください。

宜しくお願い致します。


人気ブログランキングに参加しています。
にほんブログ村 為替ブログ FX システムトレード派へ

応援して頂けると大変嬉しいです。ありがとうございます。

ちなみにメタトレーダーの情報は に集まっていますので、興味のある方はご覧ください。

本日もありがとうございました。
メタバイザー
メタトレーダー初歩   0

:システムトレード - :株式・投資・マネー


ExpertAdvicerの導入~売買検証の仕方まで
こんにちわ。今回はサイトでご紹介しているExipertAdvicerを、
どのようにすればご自身のメタトレーダーに取り込んで、売買検証をするかという手順を解説した動画を作成しましたので、そちらをご紹介させて頂きます。

尚、メタトレーダーの導入の仕方につきましては、メタトレーダー導入編の動画をご覧ください。

こちらが動画になります。


今回は例としてMACrossEAのインディケーターを使用して解説しましたが、

ブリーフケースのExpertAdvicerの中にあるその他すべてのEAの導入の仕方も同じ方法になります。

何かご不明な点等がございましたら、掲示板のほうまでお越しください。

宜しくお願い致します。


人気ブログランキングに参加しています。
にほんブログ村 為替ブログ FX システムトレード派へ

応援して頂けると大変嬉しいです。ありがとうございます。

ちなみにメタトレーダーの情報は に集まっていますので、興味のある方はご覧ください。

本日もありがとうございました。
メタバイザー
メタトレーダー初歩   0

:システムトレード - :株式・投資・マネー


最適化の仕方
こんにちわ。FXボーイです。
今回はサイトでご紹介しているExipertAdvicerの売買検証に於いて、
どのようにして最適化を行うか

その手順を解説した動画を作成しましたので、そちらをご紹介させて頂きます。

尚、メタトレーダーの導入の仕方につきましては、メタトレーダー導入編の動画をご覧ください。

こちらが動画になります。


手順としては、

①売買検証の最適化を行い、機能すると思われる移動平均線の期間のペアを調べる。

②移動平均線アラートの期間のペアを、①で算出した値に合わせて使ってみる。

というような流れをお薦めしています。

実際にこのストラテジーで取引を行うことはお薦めしておりませんが、売買検証の楽しさが分ってもらえると思います。

尚、今回ご紹介した戦略に於いて損失を計上されても当方としては一切責任をおいかねますので、
投資行動をする時は自己責任で行って頂くようお願い申し上げます。

それでは、メタトレーダーの最大の売りである最適化をお楽しみください。

何かご不明な点等がございましたら、掲示板のほうまでお越しください。

宜しくお願い致します。


人気ブログランキングに参加しています。
にほんブログ村 為替ブログ FX システムトレード派へ

応援して頂けると大変嬉しいです。ありがとうございます。

ちなみにメタトレーダーの情報は に集まっていますので、興味のある方はご覧ください。

本日もありがとうございました。
メタバイザー
メタトレーダー初歩   0

:システムトレード - :株式・投資・マネー


| HOME |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。