<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>ＥＡ倉庫</title>
<link>https://ameblo.jp/easoko/</link>
<atom:link href="https://rssblog.ameba.jp/easoko/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>自動売買ソフトＭＴ４のＥＡの自作したものをアップし分析・改良していくブログです。応援してね！</description>
<language>ja</language>
<item>
<title>StrawberryMACDの訂正</title>
<description>
<![CDATA[ <p>あれですね。</p><br><p>さっきのブログを書いてるうちに気づいたんですが。</p><br><p>重要なところに間違いがありましたね。</p><br><p>その箇所というのは、</p><br><p>//もし買いポジションだったら<br>if(OrderType()==OP_BUY) <br>{<br>//変動幅が目標pipsより大きくなったらストップロスをあげる<br>if(<strong><font color="#ff0000">Open[0] - Close[0]</font></strong> &gt; EL * Point)<br>{<br>OrderModify(OrderTicket(), OrderOpenPrice(),Close[0] - SL * Point, OrderTakeProfit(), 0, Yellow);<br>return(0);<br>}<br>}</p><br><p>ココ！</p><br><p>これだと買いポジションなのに値が下がったら、</p><br><p>ストップロスを上げる感じになっちゃいますね。汗</p><br><p>しかし、このシステムでも利益が出てるって、</p><br><p>一体どうなってるのやら・・・。</p><br><p>正しくは</p><br><p>//もし買いポジションだったら<br>if(OrderType()==OP_BUY) <br>{<br>//変動幅が目標pipsより大きくなったらストップロスをあげる<br>if(<strong><font color="#0000ff">Close[0] - Open[0] </font></strong>&gt; EL * Point)<br>{<br>OrderModify(OrderTicket(), OrderOpenPrice(),Close[0] - SL * Point, OrderTakeProfit(), 0, Yellow);<br>return(0);<br>}<br>}</p><br><p>こうすれば買いポジションで値が上がったときストップロスが</p><br><p>上がるようになります。（売りポジションのトコも逆にしてください）</p><br><p>そして前々回のブログで利益の推移を表したグラフを</p><br><p>あげていましたが、直したことでこうなりました！</p><br><p><br><a href="http://stat.ameba.jp/user_images/20100529/22/easoko/b7/26/g/o0800011010565271698.gif"><img border="0" alt="ＥＡ倉庫" src="https://stat.ameba.jp/user_images/20100529/22/easoko/b7/26/g/t02200030_0800011010565271698.gif" width="220" height="30"></a> </p><p>ちなみに下のが訂正前<br><br><a href="http://stat.ameba.jp/user_images/20100528/23/easoko/8d/ca/g/o0800019510563762838.gif"><img border="0" alt="ＥＡ倉庫" src="https://stat.ameba.jp/user_images/20100528/23/easoko/8d/ca/g/t02200054_0800019510563762838.gif" width="220" height="54"></a> </p><p>あんまり変わってないじゃん！苦笑<br></p><br><p>でも利益は少し良くなってる・・・。</p><br><p>ということで、何かココ間違ってね？</p><p><br></p><p>てなトコあったらご連絡お待ちしております！</p><br><br><a href="http://px.a8.net/svt/ejp?a8mat=1NUO68+F2ZCHE+1HKW+1ZGG0X" target="_blank"><img border="0" src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fwww23.a8.net%2Fsvt%2Fbgt%3Faid%3D100528352912%26wid%3D001%26eno%3D01%26mid%3Ds00000006944012002000%26mc%3D1" width="468" height="60"></a> <img border="0" src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fwww17.a8.net%2F0.gif%3Fa8mat%3D1NUO68%2BF2ZCHE%2B1HKW%2B1ZGG0X" width="1" height="1"> <br><br><a href="http://px.a8.net/svt/ejp?a8mat=1NUO68+F4RNAQ+1IRY+HVNAQ" target="_blank">資産運用を学ぶなら！投資教育のリーディングカンパニー<br>日本ファイナンシャルアカデミー</a> <img border="0" src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fwww12.a8.net%2F0.gif%3Fa8mat%3D1NUO68%2BF4RNAQ%2B1IRY%2BHVNAQ" width="1" height="1">
]]>
</description>
<link>https://ameblo.jp/easoko/entry-10548541181.html</link>
<pubDate>Sat, 29 May 2010 22:49:09 +0900</pubDate>
</item>
<item>
<title>StrawberryMACDのソース解説</title>
<description>
<![CDATA[ <p>今日は前回のＳｔｒａｗｂｅｒｒｙＭＡＣＤのソース解説です。</p><br><p>変数宣言などありきたりなとこは省きつつ説明したいと思います。</p><br><p>まずはソースを軽く見てください！</p><br><p>------------------------------------------------------<br>//MACDのメインの日数<br>extern int mdf = 9;<br>//MACDのシグナルの日数(<br>extern int mds = 18;<br>//MACDの平均線の日数<br>extern int mdsma = 9;<br>//ストップロス幅<br>extern int SL = 50;<br>//エレベーター幅<br>extern int EL = 50;<br>//ロット数<br>extern double lots = 0.1;</p><p>int init(){<br>//----<br><br>//----<br>return(0);<br>}</p><p>int deinit(){<br>//----<br><br>//----<br>return(0);<br>}</p><p>int start(){<br>//----<br>//変数宣言<br>double SL_A,SL_B,TP_A,TP_B;<br>double MACD_f,MACD_s;<br>int CurrentPosition;<br><br>//MACDのメイン<br>MACD_f = iMACD(NULL,0,mdf,mds,mdsma,PRICE_CLOSE,MODE_MAIN,0);<br>//MACDのシグナル<br>MACD_s = iMACD(NULL,0,mdf,mds,mdsma,PRICE_CLOSE,MODE_SIGNAL,0);<br><br>if(OrdersTotal()&lt;1){<br>//もしＭＡＣＤがゴールデンクロスしたら買い<br>if(MACD_f &lt; MACD_s){<br>SL_A = Ask - SL * Point;<br>OrderSend(Symbol(), OP_BUY, lots, Ask, 3, SL_A, 0, "Buy", 0, 0, Blue);<br>return(0);<br>}<br>//もしＭＡＣＤがデッドクロスしたら売り<br>if(MACD_f &gt; MACD_s){<br>SL_B = Bid + SL * Point;<br>OrderSend(Symbol(), OP_SELL, lots, Bid, 3, SL_B, 0, "Sell", 0, 0, Blue);<br>return(0);<br>}<br>}<br>else{<br>//ポジションの選択<br>OrderSelect(CurrentPosition,SELECT_BY_POS);<br><br>//通貨ペアの確認<br>if(Symbol() == OrderSymbol())<br>{<br>//もし買いポジションだったら<br>if(OrderType()==OP_BUY) <br>{<br>//変動幅が目標pipsより大きくなったらストップロスをあげる<br>if(Open[0] - Close[0] &gt; EL * Point)<br>{<br>OrderModify(OrderTicket(), OrderOpenPrice(),Close[0] - SL * Point, OrderTakeProfit(), 0, Yellow);<br>return(0);<br>}<br>}<br><br>//もし売りポジションだったら<br>else if(OrderType()==OP_SELL)<br>{<br>//変動幅が目標pipsより大きくなったら利確をあげる<br>if(Close[0] - Open[0] &gt; EL * Point)<br>{<br>OrderModify(OrderTicket(), OrderOpenPrice(), Close[0] + SL * Point, OrderTakeProfit(), 0, Purple);<br>return(0);<br>}<br>}<br><br>}<br>}<br><br><br>//----<br>return(0);<br>}<br></p><p>-----------------------------------------------------------</p><br><p>ソースはこんな感じになるんですが、</p><br><p>//MACDのメイン<br>MACD_f = iMACD(NULL,0,mdf,mds,mdsma,PRICE_CLOSE,MODE_MAIN,0);<br>//MACDのシグナル<br>MACD_s = iMACD(NULL,0,mdf,mds,mdsma,PRICE_CLOSE,MODE_SIGNAL,0);</p><br><p>まずこの部分で<strong><font color="#ff0000">ＭＡＣＤのメインとシグナルの計算</font></strong>をしてます。</p><p><strong>「mdf,mds,mdsma」</strong>この部分は一番上で宣言している変数なので、</p><p>期間を変えたりしたい人は一番上の数値を変えるだけでいいです。</p><p>ＭＡＣＤは元々関数があるので、自分で関数を作らなくていいので</p><p>楽ですね～。</p><br><p>そして次に売買の命令を出すトコですね</p><br><p>if(OrdersTotal()&lt;1){<br>//もしＭＡＣＤがゴールデンクロスしたら買い<br>if(MACD_f &lt; MACD_s){<br>SL_A = Ask - SL * Point;<br>OrderSend(Symbol(), OP_BUY, lots, Ask, 3, SL_A, 0, "Buy", 0, 0, Blue);<br>return(0);<br>}</p><br><p>ここではまず<strong>「if(OrdersTotal()&lt;1)」</strong>で<strong><font color="#ff0000">ポジションを持っているか</font></strong></p><p><strong><font color="#ff0000">確認</font></strong>してます。これをやらないとＭＡＣＤがゴールデンクロスより上の</p><p>とき足ができるたびに毎回買い注文しちゃいます。（ゴールデンクロス</p><p>をした瞬間だけ買い注文をすることもできますが、自分の場合は</p><p>トレンドが転換する瞬間よりもトレンドの波に乗っているときに売買</p><p>するほうが好きなのでこうなってます。）</p><br><p>そして<strong>「if(MACD_f &lt; MACD_s)」</strong>っていうとこで<strong><font color="#ff0000">ＭＡＣＤが</font></strong></p><p><strong><font color="#ff0000">ゴール</font></strong><strong><font color="#ff0000">デン</font></strong><font color="#ff0000"><strong>クロス</strong><strong>したら</strong></font>買い注文に入ります。</p><br><p>ちなみに買い注文の前に<strong>「SL_A = Ask - SL * Point;」</strong>というのが</p><p>ありますが、これは<strong><font color="#ff0000">ストップロスの値を計算</font></strong>しているだけです。</p><p>ここで計算しなくても<strong>「Ask - SL * Point;」</strong>を次の命令の<strong>SL_A</strong>の</p><p>ところにいれれば変わりないですが、ＥＡ作成中この変数を</p><p>よく変える場合はこうしたほうが、いちいちコピペなどの面倒が</p><p>ほんとに微妙ですが少なくなる場合があるので自分はこうしてます。</p><br><p>そして<strong>「OrderSend(Symbol(), OP_BUY, lots, Ask, 3, SL_A, 0, "Buy", 0, 0, Blue);」</strong>というところで<strong><font color="#ff0000">買い注文</font></strong>ですね。</p><p>ここではロットは上のところで宣言した<strong>「0.1」</strong>が入るはずです。</p><p><strong>「SL_A」</strong>は今説明したストップロスの値が入ります。</p><p>設定では<strong>「50」</strong>になっているので注文するタイミングの</p><p><strong><font color="#ff0000">ASKの50pips下にストップロスを置く</font></strong>ことになります。</p><p>テイクプロフィットは<strong>「0」</strong>です。なぜなら前回のブログで話したように</p><p>利益をどこまでも追求するエレベーターのシステムのため、</p><p><strong><font color="#ff0000">一回上がったらストップロス自体がテイクプロフィット</font></strong></p><p>になるからです。</p><br><p>注文のところはこんなところでしょうか。売りの説明は買いと</p><p>一緒なので省かせていただきます。</p><br><p>次にエレベーター部分ですね。どちらかというとＭＡＣＤのとこより</p><p>ここのが重要ですね。</p><p>正直買うタイミングはＭＡＣＤじゃなくとも、ランダム買いで</p><p>利益とれるかもしれないですね。</p><br><p>if(OrderType()==OP_BUY) <br>{<br>//変動幅が目標pipsより大きくなったらストップロスをあげる<br>if(Open[0] - Close[0] &gt; EL * Point)<br>{<br>OrderModify(OrderTicket(), OrderOpenPrice(),Close[0] - SL * Point, OrderTakeProfit(), 0, Yellow);<br>return(0);<br>}<br>}</p><br><p>まず買いポジションで<strong>「if(Open[0] - Close[0] &gt; EL * Point)」</strong></p><p>ですが、この<strong>「Open[0] - Close[0]」</strong>は<strong><font color="#ff0000">「今回の始値-終値」</font></strong></p><p>つまりひげ部分を除いて値が動いた幅がということです。</p><p>そして<strong>「&gt; EL * Point」</strong>で<strong><font color="#ff0000">エレベーターの幅</font></strong><strong><font color="#ff0000">より大きい場合</font></strong></p><p>になります。つまり、<strong><font color="#ff0000">「今回動いた幅が50pips以上なら」</font></strong>次の</p><p>注文を変える命令に移ります。</p><p><strong>「OrderModify(OrderTicket(), OrderOpenPrice(),Close[0] - SL * Point, </strong><strong>OrderTakeProfit(), 0, Yellow);」</strong></p><p>この<strong>「OrderModify」</strong>ていうのは<strong>Close( )</strong>とは違い<strong><font color="#ff0000">すでに</font></strong><strong><font color="#ff0000">持って</font></strong></p><p><strong><font color="#ff0000">いる</font></strong><strong><font color="#ff0000">ポジションの注文を変える命令</font></strong>です。</p><p>ここでは<strong>「Close[0] - SL * Point」</strong>だけ注目してもらえばいいです。</p><p>他は前の注文と一緒になるだけですから～。この変数はといいますと、</p><p><strong><font color="#ff0000">「今回の終値より50pip下にストップロスを設定する」</font></strong>ということに</p><p>なります。つまり、値が上がった分ストップロスの値もいっしょに</p><p>上がっていくわけです。</p><p>（今回もポジションが売りだった場合は買いと同じなので省きます）<br></p><p>というわけで、ソースの説明は以上！</p><br><br><p>こうやって見るとめちゃくちゃシンプルなプログラムですね～汗</p><br><p>このＥＡは波に乗るまでひたすらストップロスし続けるので、</p><p>もっとガシっと波に乗れるようにすれば、バシッと稼いでくれる</p><p>ＥＡになると思うので、皆さんも改良してみてください。</p><p>（そして完成したら見せてください・・・ボソ）</p><br><p>では自分はもっといいＥＡができるよう研究に励みますので</p><p>皆さんも<strong><font color="#ff1493">グッドラック！</font></strong></p><br><br><a href="http://px.a8.net/svt/ejp?a8mat=1NUO68+F2ZCHE+1HKW+1ZGG0X" target="_blank"><img border="0" src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fwww23.a8.net%2Fsvt%2Fbgt%3Faid%3D100528352912%26wid%3D001%26eno%3D01%26mid%3Ds00000006944012002000%26mc%3D1" width="468" height="60"></a> <img border="0" src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fwww17.a8.net%2F0.gif%3Fa8mat%3D1NUO68%2BF2ZCHE%2B1HKW%2B1ZGG0X" width="1" height="1"> <br><br><a href="http://px.a8.net/svt/ejp?a8mat=1NUO68+F4RNAQ+1IRY+HVNAQ" target="_blank">資産運用を学ぶなら！投資教育のリーディングカンパニー<br>日本ファイナンシャルアカデミー</a> <img border="0" src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fwww12.a8.net%2F0.gif%3Fa8mat%3D1NUO68%2BF4RNAQ%2B1IRY%2BHVNAQ" width="1" height="1">
]]>
</description>
<link>https://ameblo.jp/easoko/entry-10548411492.html</link>
<pubDate>Sat, 29 May 2010 19:58:12 +0900</pubDate>
</item>
<item>
<title>StrawberryMACD</title>
<description>
<![CDATA[ <p>現在作成中のＥＡ「<strong>ＳｔｒａｗｂｅｒｒｙＭＡＣＤ</strong>」です。</p><br><p>売買システムは言いますと</p><p>（まあ名前を見れば分かると思いますが・・・）</p><br><p><strong>ポジションを持っていないとき、ＭＡＣＤのメインが</strong></p><br><p><strong>シグナルより上なら買い。</strong><strong>下なら売り。</strong></p><br><p>という至ってシンプルなもの。</p><br><p>ＥＡをある程度知っている人なら分かると思いますが、</p><br><p>これだけでは利益が出るわけ無いですよね。</p><br><p>自分はこれに</p><br><p><strong>ストップロスをエレベーター式に上げていく</strong><strong>システム</strong></p><br><p>を追加しました。</p><br><p>つまり、買いポジションを持ったとき、もし終値が前より</p><br><p>大きくなったらストップロスを上げていく。といった感じです。</p><br><p>こうすることで一回上がったらそれ以下の損害は出ませんし、</p><br><p>上がるとこまでとことん利益を取りにいきます。</p><br><p>このシステムは結構使われているシステムのひとつですが、</p><br><p>自動売買に組み込むことで２４時間監視し、</p><br><p>注文内容をその都度勝手に変更していってくれるので、</p><br><p>システムをいかんなく発揮できていると思います。</p><br><p>ちなみにバックテストでは次のようになりました。</p><br><p><br><a href="http://stat.ameba.jp/user_images/20100528/23/easoko/8d/ca/g/o0800019510563762838.gif"><img border="0" alt="ＥＡ倉庫" src="https://stat.ameba.jp/user_images/20100528/23/easoko/8d/ca/g/t02200054_0800019510563762838.gif"></a> <br></p><p><strong>稼ぐときはめっちゃ稼ぎまっせ！</strong>といった感じですね。</p><br><p>ただ２０００年５月から２０１０年５月までのバックテストでしたが、</p><br><p>Total net profitが4724.05しかないです。</p><br><p>これも稼ぐまでちょこちょこと資産を削られていくのが</p><br><p>原因と思われるので、課題としては</p><br><p><strong>「トレンドを掴む」、「削られる量を減らす」</strong></p><br><p>を次のＥＡまでに改善したと思います。</p><br><p>次回ソースコードをアップ＆ちょこっと解説したいと思います。</p><br><p>では、グッドラック！</p><br><br><a href="http://px.a8.net/svt/ejp?a8mat=1NUO68+F2ZCHE+1HKW+1ZGG0X" target="_blank"><img border="0" width="468" height="60" alt="" src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fwww23.a8.net%2Fsvt%2Fbgt%3Faid%3D100528352912%26wid%3D001%26eno%3D01%26mid%3Ds00000006944012002000%26mc%3D1"></a><img border="0" width="1" height="1" src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fwww17.a8.net%2F0.gif%3Fa8mat%3D1NUO68%2BF2ZCHE%2B1HKW%2B1ZGG0X" alt="">
]]>
</description>
<link>https://ameblo.jp/easoko/entry-10547693676.html</link>
<pubDate>Fri, 28 May 2010 23:13:24 +0900</pubDate>
</item>
</channel>
</rss>
