評判の良いループイフダンです。下記のリンクから登録してループイフダンを試してみてください。
結論から言うと・・・・・・・・何故こいつは強いのか? 思ったのは
テクニカル指標を使っていない
ってことなんじゃないかなと。多分大きなお金を動かせる人がずっとチャートを見張っていて、明らかな買いサインが出たら、べらぼうに売りを出しているんだ。きっとそうにちがいない。
ループイフダンは指値買いを出して決済したら自動で次の指値買いを出すという単純なもの。買われる量はテクニカル指標によらないからチャート監視している人も手の出しようが無い。
欠点としては「損切あり」だとずるずると下落しているときには損切してさらに10pips下に指値買い出してまた損切してと自殺注文を繰り返すこと。
「損切なし」だと指値があっという間に非現実的な高値に設定されて成約されない注文が浮いているだけになる。
ドル/円で8月いっぱいでしばらくやってみたけど、勝てたのは
105円前半に入ったら「損切なし」10pipsBUYポジション2を出す。106円後半でループイフダン停止(決済はしないでそのまま放っておく)。そして「損切なし」10pipsSELポジ2を出す。105円前半に戻ったら同じことをする。
という戦法。ずっと放っておいても良いことにはならないのでちょくちょくチャートは確認した方が吉。
ということでポジ1の「損切あり」10pipsBUYをMQL4で書いてみる(単純に簡単だから)
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#include <Arrays\Array.mqh>
#include <Arrays\ArrayDouble.mqh>
#define RIDBUY "RIDBUY"
#define BuyOdr 0.1
int MAGICNUM=0;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
int TicketNo,OdrSelect;
bool FlgRIDBUY=False,SB=False;
int OderCount=0;
if( AccountFreeMarginCheck( Symbol(), OP_BUY , BuyOdr ) > 0 ) { //証拠金が足りるか
for(OderCount=0;OderCount<OrdersTotal();OderCount++){ // 注文中のものを確認
OdrSelect = OrderSelect(OderCount,SELECT_BY_POS,MODE_TRADES);
if(OrderComment()==RIDBUY) { FlgRIDBUY=True ;} // 注文中があればTRUE
}
if(FlgRIDBUY==False){ // 注文中が無ければIFDで注文を出す。
TicketNo = OrderSend(
Symbol(), OP_BUYLIMIT, BuyOdr,
Ask-0.01, 30, Ask-0.02, Ask+0.01,
RIDBUY, MAGICNUM, 0, clrBlue
);
do{ //注文が確定されるまで1秒ごとに確認
Sleep(1000);
SB = OrderSelect( TicketNo , SELECT_BY_TICKET , MODE_TRADES );
}while(SB==false); // 注文が確定されるまでループ
MAGICNUM++;
} //EndIf
} // EndIf
} //End OnTick
OrdersTotal()が注文中の総数、注文中の中にこのスクリプトが出した注文があるかを確認するためにコメントを識別子代わりに使用した。注文中が無ければ現在値から0.01円低い値で損切値0.01円利獲値0.02円でIFD注文。
do{}whileループは、これ入れないと注文が受け付けられるまでずっと注文出し続けるから。最初3つとか5つとか不規則な個数で同じ注文が出されるのでちょっと悩んだ。

