仙四郎の独り言..

スポンサーサイト

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

スポンサー広告 |

トラリピEAを改造する (2)

前回の続きです。


「レンジを決めれば、刻み幅が自動計算で決まるもの」ですが、
これは多少はテクニックを要します。


プログラムには、定義付けに、int、doubleがあって、
intは整数、doubleは小数点以下を含む、となります。


よって、10÷3 と言う場合は、0.33333... ⇒3.3333...となりますが
このままではEAではエラーとなるようで動作しません。


よって、一旦整数に直してから、戻すわけです。


int ax = (10 / 3)* 100;

上記は、10÷3×100 333 を意味します。
小数点以下は、切り捨てられます。


これを戻すには、ax × 0.01 とします。
なぜか、ax / 100 では、動作しません。


以上で、3.33に戻します。
intで、一旦切り捨てられたものは戻せません。


以上を踏まえて、
「レンジを決めれば、刻み幅が自動計算で決まるもの」について説明します。


定義に追加部分:

int dev = 8;
extern double LowestPrice = 80.0;
extern double HighestPrice = 90.0;
extern double kwc1 = 0.3;

devは、分割数。
この例では、80~90を8分割することになる。


int start()後に追加:

int ax = (HighestPrice - LowestPrice)/(dev-1)*100;
double kw1 = ax * 0.01;

op1 = LowestPrice;
op2 = op1 + kw1;
op3 = op2 + kw1;
op4 = op3 + kw1;
op5 = op4 + kw1;
op6 = op5 + kw1;
op7 = op6 + kw1;
op8 = op7 + kw1;

cl1 = op1 + kwc1;
cl2 = op2 + kwc1;
cl3 = op3 + kwc1;
cl4 = op4 + kwc1;
cl5 = op5 + kwc1;
cl6 = op6 + kwc1;
cl7 = op7 + kwc1;
cl8 = op8 + kwc1;

int ax = (HighestPrice - LowestPrice)/(dev-1)*100;
double kw1 = ax * 0.01;
が追加となる。

小数点以下、4桁の通貨は、100⇒10000、
0.01⇒0.0001となります。


これで、80円~90円間を8分割した刻み幅となります。


未分類 | コメント:14 | トラックバック:0 |
<<米ドル円は・・・ | ホーム | トラリピEAを改造する>>

コメント

僕は、今、分からない部分を本を辞書的に使って、勉強中です。
2011-02-26 Sat 21:00 | URL | ヤンシー [ 編集 ]
ふむふむ全然分かりません。
自分が出来ない事をやっている人ってやっぱり輝いて見えます。
そうのうち必要となれば猛勉強します。
2011-02-27 Sun 01:11 | URL | エオリア [ 編集 ]
ヤンシーさん、おはようございます。
勉強は利益につながりますので、楽しいですね^^
2011-02-27 Sun 06:33 | URL | 仙 [ 編集 ]
エオリアさん、おはようございます。
私もいつまでたっても初心者ですが、
自分の意図したとおりにEAが動くとうれしいものです^^
2011-02-27 Sun 06:35 | URL | 仙 [ 編集 ]
仙四郎さんが・・・初心者???
昨日、EAをひとつずつ・・・
関数の意味や仕組み?を調べて行き詰まり・・・
丸ごとこういうもの?って覚えたほうがいいのかな?
でも 次 どう使って良いのか・・・
わからなくなりそうなんですけど・・・・
いっぱい触れば それなりにできるようになるもの?
難しく考えすぎてるのかなぁ(ーー;)
仙四郎さんの記事の意味が
理解出来るようになるのは、いつのことでしょうね(^▽^;)
2011-02-27 Sun 07:38 | URL | くるり♪ [ 編集 ]
くるりさん、おはようございます。
元々プログラムには縁の薄い環境にいましたから、
とっつきにくいと感じているのは、くるりさんと同じです^^;
複雑なことは出来ませんが、
シンプルなものでも実用上十分なものは作れるはずです。
Steady_Winnerを見てそう感じました。
関数は、理屈より使って覚えるほうが早いかも知れませんねぇ^^


2011-02-27 Sun 07:57 | URL | 仙 [ 編集 ]
丁寧な解説ですね。
非常にわかりやすいです。


PS ご存じかもしれませんが時々SEさんのトラリピEAがエントリー値を入れないタイプです。
マジックナンバーの羅列はなしで、マジックナンバー≒建値を使っているようです。
ソースコードの解説もされています。
http://tokidokise.blog120.fc2.com/blog-entry-180.html
2011-02-27 Sun 08:55 | URL | saru999 [ 編集 ]
saru999さん、おはようございます。
今日はお休みですか?
時々SEさんのブログを早速見てきました。
さすが専門家ですね^^
マジックナンバーを都度かえるのも確かに面倒です。
時々SEさんのEAを参考に改造できるかな?
2011-02-27 Sun 09:21 | URL | 仙 [ 編集 ]
saru999さんのコメと返コメ見て、更に???となっいちゃいました

4月から頑張ります!
2011-02-27 Sun 15:34 | URL | WIN [ 編集 ]
>これを戻すには、ax × 0.01 とします。
なぜか、ax / 100 では、動作しません。

この種の話は使用人数が増えてくると自然と解明されていきますが、MT4は自動売買の中では一番流行ってますが、自動売買をやっている人の総数のが少ないので...。

結局、なるほど僕もそこ困っていたんだと言う人が少ないのでブログの記事としてより、備忘録の様になってしまいますね。

蛇足ながら最初の0.33333は3.3333ですね。
2011-02-27 Sun 16:31 | URL | masaru [ 編集 ]
WINさん、こんばんは。
マジックナンバーの煩わしさは、
やり始めれば、わかってくると思います。
2011-02-27 Sun 17:04 | URL | 仙 [ 編集 ]
masaruさん、こんばんは。
0.3333...はスペルミスでしたね^^;

割り算にするとどうして動作しないんだろうと未だに疑問のままです。
まあ、勉強不足なんでしょうけどね。
プログラムは奥が深いです。。
2011-02-27 Sun 17:10 | URL | 仙 [ 編集 ]
こんばんは。
今週もよろしくお願いします!
2011-02-27 Sun 20:56 | URL | ヤンシー [ 編集 ]
ヤンシーさん、こんばんは。
今週は、Steady_Winnerにも頑張ってほしいですね。
2011-02-27 Sun 22:02 | URL | 仙 [ 編集 ]

コメントの投稿















管理者にだけ表示を許可する

トラックバック

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