お久しぶりです!キリンです。
「留学に備えて」ということは建前で(w)ブログへのモチベーションの低下から
長いこと書いてなかったのですが、時間を開けると俄然やる気になってきたので
7bitさんのcommon_functionsの解析を再開します。
ちなみに、留学についての準備は順調で、もう気づいたらあと2週間切ってしまっているのです。
準備は大体済んでいるのですが、これから実家に荷物を移していく、引越しのような作業にかかります。
向こうでクリスマス、正月を過ごすことになるので何するかなど考えていると結構楽しいです。
まずはバーにでも繰り出してみようかなぁなんて考えてます。
今、TOPGUN以来2作目のEA公開に向けて努力中です。
ほとんど完成していますが、公開用に手直し中。
かなりいいですよ ニヤリ
では、7bitさんの解析を再開します。
※実はメインのライブラリーとしてキリンが愛用を初めています・・・w
やっぱり汎用性の高いライブラリーの利用は開発効率がかなり上がりますね。
何してるの?という方はこちらからどうぞ↓↓
7bit氏作成 MQLライブラリー解析 part1
今日はこれです。
lockProfit!
利益をロックしちゃうぜ☆
なんて小さい子が喜びそうな(僕も喜びますが)ネーミングです。
中身はネーミングそのまんまで、とある利益になったら逆指値を置くという関数ですね。
トレーリングストップの1回だけっていう感じです。
ソースはこんな感じ。
void lockProfit(double min_profit, int magic, double distance=0){ int total, cnt, type; double op, sl, old_sl; bool change; total=OrdersTotal(); for(cnt=0; cnt<total; cnt++){ OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == magic){ old_sl = OrderStopLoss(); op = OrderOpenPrice(); type = OrderType(); change = False; if (type==OP_BUY){ sl = op + min_profit; if (Bid > sl + distance && sl > old_sl){ change = True; } } if (type==OP_SELL){ sl = op - min_profit; if (Ask < sl - distance && (sl < old_sl || old_sl == 0)){ change = True; } } if (change){ orderModifyReliable( OrderTicket(), op, sl, OrderTakeProfit(), OrderExpiration() ); } } } }
プログラムの中身もそのまんまですね。
基本動作を理解していたらプログラムのフローの理解も縦読みで一発じゃないでしょうか。
分からないところがあれば気軽に質問ください^^
明日につづけまーす
コメント
SECRET: 0
PASS:
お久しぶり(*^ー^)ノ
勉強になります!!
ゆっくり更新して下さいね^^
オイラもやっとやる気でてきましたw