指値用EA

//+------------------------------------------------------------------+
//|                                                       Sasine.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//指値用EA 2016-01-14 売り買い両方をひとつのEAにまとめました
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
   extern int MAGIC_TRAP =333;  //マジックナンバーの代入
   extern int UriKai =0;  //売りなら1、買いなら0
   extern int Honsuu =50;  //トラップ本数
   extern double Kaishine =121.625;//売りなら最小値、買いなら最大値
   extern double Haba =0.05;     //トラップ幅を入力
   extern double SLRate = 0; //ストップ値、例:126.05
   extern double Rikaku =0.0;   //利確幅が50銭なら0.5と入力
   extern int RikakuAri =0;   //利確有りなら1無しなら0
   extern double Lots =0.01;    //ロット数を入力 
   extern int Slippage =30;   //スリッページを入力

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   int i;
   if(UriKai == 1)
   {//売りなら
//スタート価格から現在値までの指値を入れる  
         for (i=0;i <= Honsuu - 1;i++)
         {  
            if(OrderSend(Symbol(),OP_SELLLIMIT,Lots,Kaishine + Haba * i,Slippage,SLRate,(Kaishine + Haba * i - Rikaku) * RikakuAri,"",MAGIC_TRAP,0,Red) > 0)
            {
            }
         }
    }
//----
//スタート価格から現在値までの指値を入れる  
   else
   {//買いなら
         for (i=0;i <= Honsuu - 1;i++)
         {  
            if(OrderSend(Symbol(),OP_BUYLIMIT,Lots,Kaishine - Haba * i,Slippage,SLRate,(Kaishine - Haba * i + Rikaku) * RikakuAri,"",MAGIC_TRAP,0,Red) > 0)
            {
            }
         }
   }
   return(0);
  }

注文削除用EA

//+------------------------------------------------------------------+
//|                                                 MAGICDel.mq4     |
//|                      Copyright ゥ 2010, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ゥ 2010, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
//注文削除用EA
extern int MAGIC_DELETE = 0;  //マジックナンバーの代入、0なら全部削除

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
  int i;
  int j;
  int order;
  int ordercheck;
//----

   i = OrdersTotal() - 1;
   if(MAGIC_DELETE == 0)   //全部削除
   {
      for(j = i; j >= 0; j--)
      {
         if (OrderSelect(j,SELECT_BY_POS) == true)   //J番目の注文を選択
         {
            order = OrderTicket();
            ordercheck = OrderDelete(order);  //削除
         }
      }
   }
   else
   {  //マジックナンバーで選択削除
      for(j = i; j >= 0; j--)
      {
         if (OrderSelect(j,SELECT_BY_POS) == true)   //J番目の注文を選択
         {
            if(OrderMagicNumber() == MAGIC_DELETE)
            {  //マジックナンバーが同じなら
               order = OrderTicket();
               ordercheck = OrderDelete(order);  //削除
            }
         }
      }
   }
  
//----
   return(0);
  }

買いマーチンソース

//+------------------------------------------------------------------+
//|                                                    MartinBAY.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//仕掛け幅間隔でロット数分買い増し、最後の建値より利確幅分の反発で一気に決済するEAです。
//初期値4段、8000通貨設定ですが、最大段数、ロット数を変更する事により段数や通貨数も変更可
//例:MaxDansuu = 6;Lots[] = {0.01,0.01,0.01,0.02,0.04,0.08,0.16};

//強固な支持線を背に仕掛け幅と利確幅を自動調整機能有り
//大きく105.50円割れは無いと見た場合、可変目安 Meyasu=105.50と入力する
//そうすると105.94では11銭幅、106.30では20銭幅、107.10では40銭幅と支持線からの距離に応じて仕掛け幅と利確幅が変更される
//その時に可変最小値が0.4の場合、どれだけ105.50円に近付いても(割っても)最大段数分の仕掛け幅の合計で40銭以下には縮めない
//例:Saisyou =0.4;MaxDansuu = 4;の場合、1本10銭を割ってしまった場合、それ以下には仕掛け幅を縮めない

#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
extern int MAGIC_TRAP =333;  //マジックナンバーの代入
extern double Sikake =0.10; //仕掛け幅を入力
extern double Rikaku =0.10; //利確幅を入力 可変時には無効です。
extern double Meyasu =9999; //可変目安 9999なら固定、可変時は138.50の様にレートを入れる。 8/25追加
extern double SLRate = 0; //ストップ値、例:121.80、0にしたらストップ無し 11/04追加
extern double Saisyou =0.4; //可変最小値
double Lots[] = {0.01,0.01,0.01,0.02,0.04}; //ロット数を入力、配列0はダミー
extern double NowRate = 0;   //次に利確される建値(再開時以外は0)
extern int Slippage =30;   //スリッページを入力(プロ口座の場合30にして下さい)
extern int NowDansuu = 1; //現在の段数
int MaxDansuu = 4; //最大段数
int ticket[5];
extern int ticket1 = 0;
extern int ticket2 = 0;
extern int ticket3 = 0;
extern int ticket4 = 0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
 {
    ticket[1] = ticket1;
    ticket[2] = ticket2;
    ticket[3] = ticket3;
    ticket[4] = ticket4;
    return(0);
 }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int i;
//----
//2016/02/01追加 最大段数が現在の段数より小さかったり、0以下なら終了
  if((MaxDansuu < NowDansuu) || (MaxDansuu <= 0))
  {
    return(0);
  }
//11/04追加 ストップレートより小さければ何もしない 11/07 新規注文の外に移動
   if((Bid <= SLRate) && (SLRate != 0))
   {
    SLRate = -1; //一度支持線を割ったら動かないように小さな値を代入
    return(0);
   }
//決済されたら新規注文
   if(Bid >= NowRate + Rikaku)
   {
//買値が目安より最小値以上上なら可変させる
      if(Bid - Saisyou >= Meyasu)
       {
          Rikaku = (Bid - Meyasu) / MaxDansuu;
          Sikake = Rikaku;
       }
//一段目の新規注文を行う
      NowDansuu = 1;
//11/04追加 ストップ追加 11/07 変数変更
      ticket[NowDansuu]= OrderSend(Symbol(),OP_BUY,Lots[NowDansuu],Ask,Slippage,SLRate,Ask + Rikaku,"",MAGIC_TRAP,0,Red);
Comment("Ask = ",Ask," ","SLRate = ",SLRate);
      if(ticket[NowDansuu] > 0)
      {
         NowRate = Ask;
      }
   }
//(売値が仕掛け値分下がった)そして(最大段数未満なら)     
   if((Ask <= NowRate - Sikake) && (NowDansuu < MaxDansuu))
   {
//過去の注文の指値を変更
      for(i = 1;i <= NowDansuu;i++)
      {
//11/04追加 ストップ追加 11/07 変数変更
         if(OrderModify(ticket[i],Ask,SLRate,NowRate,0,Red)>0)
         {
         }
      }
//仕掛け値分下がったので次の段数の新規注文
      NowDansuu = NowDansuu + 1;
//11/04追加 ストップ追加 11/07 変数変更
      ticket[NowDansuu]= OrderSend(Symbol(),OP_BUY,Lots[NowDansuu],Ask,Slippage,SLRate,NowRate,"",MAGIC_TRAP,0,Red);
      NowRate = NowRate - Sikake;
   }
  
//----
   return(0);
  }

売りマーチンソース

//+------------------------------------------------------------------+
//| MartinSELL.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
//仕掛け幅間隔でロット数分売り増し、最後の建値より利確幅分の反発で一気に決済するEAです。
//初期値4段、8000通貨設定ですが、最大段数、ロット数を変更する事により段数や通貨数も変更可
//例:MaxDansuu = 6;Lots[] = {0.01,0.01,0.01,0.02,0.04,0.08,0.16};

//強固な抵抗線を背に仕掛け幅と利確幅を自動調整機能有り
//大きく107.50円超えは無いと見た場合、可変目安 Meyasu=107.50と入力する
//そうすると107.06では11銭幅、106.70では20銭幅、105.90では40銭幅と抵抗線からの距離に応じて仕掛け幅と利確幅が変更される
//その時に可変最小値が0.4の場合、どれだけ107.50円に近付いても(超えても)最大段数分の仕掛け幅の合計で40銭以下には縮めない
//例:Saisyou =0.4;MaxDansuu = 4;の場合、1本10銭を割ってしまった場合、それ以下には仕掛け幅を縮めない

#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
extern int MAGIC_TRAP =555; //マジックナンバーの代入
extern double Sikake =0.10; //仕掛け幅を入力
extern double Rikaku =0.10; //利確幅を入力 可変時には無効です。
extern double Meyasu =0; //可変目安 0なら固定、可変時は138.50の様にレートを入れる。 8/25追加
extern double SLRate = 0; //ストップ値、例:121.80、0にしたらストップ無し 11/04追加
extern double Saisyou =0.4; //可変最小値 8/25追加
double Lots[] = {0.01,0.01,0.01,0.02,0.04}; //ロット数を入力、配列0はダミー
extern double NowRate = 9999; //現在の建値 8/25 externに変更
extern int Slippage =3; //スリッページを入力(下三桁口座の場合30にして下さい)
extern int NowDansuu = 1; //現在の段数 8/25 externに変更
int MaxDansuu = 4; //最大段数
int ticket[5]; //注文番号
extern int ticket1 = 0; //8/25追加
extern int ticket2 = 0;
extern int ticket3 = 0;
extern int ticket4 = 0;
//再開時もチケット番号、最後の建値のレート、現在の段数を手入力する事により再開 8/25追加
int init()
 {
    ticket[1] = ticket1;
    ticket[2] = ticket2;
    ticket[3] = ticket3;
    ticket[4] = ticket4;
    return(0);
 }
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int i;
//----
//2016/02/01追加 最大段数が現在の段数より小さかったり、0以下なら終了
  if((MaxDansuu < NowDansuu) || (MaxDansuu <= 0))
  {
    return(0);
  }
//11/04追加 ストップレートより大きければ何もしない 新規注文の外に移動
   if((Ask >= SLRate) && (SLRate > 0))
   {
    SLRate = 9999; //一度抵抗線を超えたら動かないように大きな値を代入
    return(0);
   }
//決済されたら新規注文
if(Ask <= NowRate - Rikaku)
{
//8/25追加 現在のレートと目安の距離を割りマーチン幅を調整
   if(Ask + Saisyou <= Meyasu)
   {
      Rikaku = (Meyasu - Ask) / MaxDansuu;
      Sikake = Rikaku;
   }
//一段目の新規注文を行う
   NowDansuu = 1;
//11/04追加 ストップ追加
   ticket[NowDansuu]= OrderSend(Symbol(),OP_SELL,Lots[NowDansuu],Bid,Slippage,SLRate,Bid - Rikaku,"",MAGIC_TRAP,0,Red);
   if(ticket[NowDansuu] > 0)
   {
      NowRate = Bid;
   }
}
//(買値が仕掛け値分上がった)そして(最大段数未満なら)     
if((Bid >= NowRate + Sikake) && (NowDansuu < MaxDansuu))
{
//過去の注文の指値を変更
   for(i = 1;i <= NowDansuu;i++)
   {
//11/04追加 ストップ追加
      if(OrderModify(ticket[i],Bid,SLRate,NowRate + Sikake - Rikaku,0,Red)>0)
      {
      }
   }
//仕掛け値分上がったので次の段数の新規注文
//11/04追加 ストップ追加
   ticket[NowDansuu + 1]= OrderSend(Symbol(),OP_SELL,Lots[NowDansuu + 1],Bid,Slippage,SLRate,NowRate + Sikake - Rikaku,"",MAGIC_TRAP,0,Red);
   if(ticket[NowDansuu] > 0)
   {
      NowDansuu = NowDansuu + 1;
      NowRate = NowRate + Sikake;
   }
}
return(0);
}

売りトラップEA

//+------------------------------------------------------------------+
//| TrapSELL.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//Ver1.1 ストップロスの設定修正。2015/04/27
//Ver1.2 売り上がりを1番上のポジションでは無くひとつ上の設定にしていたのを修正。2015/05/13
//Ver1.3 スプレッドが広い時は注文しない、値跳び時複数注文しない様修正。2015/09/17
//Ver1.4 ストップ固定機能追加。2015/10/01

extern int MAGIC_TRAP =222; //マジックナンバーの代入
extern double Sikake =0.05; //仕掛け幅を入力
extern double Rikaku =0.30; //利確幅を入力
extern double SLKotei = 0; //Ver1.4 固定ストップ値、例:100.10、0にしたらストップ無し、SLRateと同時に有効の場合はSLKotei優先
extern double SLRate = 0; //ストップ値、例:2(2円の場合)、0にしたらストップ無し
extern double Lots =0.03; //ロット数を入力
extern double Uriagari = 0; //再開時の一番上のポジション、初回は0
extern double Urisagari = 0; //再開時の一番下のポジション、初回は0
extern double UriTop = 999; //売り上がりの上限レート例:121.53、上限無しは999
extern double Uribottom = 0; //売り下がりの下限レート例:120.53、下限無しは0
extern int Slippage =30; //スリッページを入力(下2桁口座の場合3にして下さい)
extern double Spsa = 0.05; //スプレッドがこれ以上の時は注文しない。Ver1.3
int Errcnt = 0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//未入力なら現在値、継続なら売り上がり開始値、売り下がり開始値で開始する。
if((Uriagari > 0) && (Urisagari > 0)) //再開か
{
if(UriTop <= Bid) //上限以下か
{
Uriagari = UriTop; //上限以上なら売り上がり開始位置を上限に
}
if(Uribottom >= Bid) //下限以下か
{
Urisagari = Uribottom; //下限以下なら売り下がり開始位置を下限に
}
}
else //初回なら
{
Uriagari = Bid; //売り上がりは現在値から
Urisagari = Bid; //売り下がりは現在地から
//起動時に一回注文させる為に
if(UriTop >= Bid && Uribottom <= Bid) //上限下限の間なら
{
Urisagari = Bid + Sikake + 0.01; //売り下がりが一回起動する売り下がり値に
}
}
Comment("Uriagari = ",Uriagari,"\n","Urisagari = ",Urisagari);
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double SLWork;
//Ver1.3削除 double Netobi;
//Ver1.3削除 int i;
//スプレッドがこれ以上の時は注文しない。Ver1.3修正
if(Ask - Bid > Spsa)
{
return(0);
}
//約定したら売り上がり値変更
if(Ask <= Uriagari - Rikaku) //売り上がり値より利確分、買値が下がったか
{
//下限内の仕掛けか
if(Uribottom <= Ask + Rikaku) //仕掛け直し位置は買値下限より上か
{
//Ver1.2 売り上がりを1番上のポジションでは無くひとつ上の設定にしていたのを修正。2015/05/13
// Uriagari = Ask + Rikaku + (Ask - Bid); //仕掛け直し位置を買値より利幅分上に
Uriagari = Uriagari - Sikake; //仕掛け直し位置をひとつ下げる
Comment("Uriagari = ",Uriagari," ","Urisagari = ",Urisagari);
}
}
//上限以上になったら抜ける。
if(UriTop <= Ask)
{
return(0);
}
//下限以下になったら抜ける。
if(Uribottom >= Bid)
{
return(0);
}
//ストップロスの設定
if(SLKotei > 0) //Ver1.4 固定ストップ機能追加
{ //Ver1.4 固定ストップ有り
SLWork = SLKotei; //Ver1.4 固定ストップ機能追加
}
else
{ //Ver1.4 固定ストップ無し
if(SLRate > 0) //ストップロス有り
{
SLWork = Ask + SLRate; //ストップロスの設定
//Ver1.1 ストップロスの設定修正。2015/04/27
// if(Uriagari <= Ask + SLRate) //ストップロスに掛かったか
if(Urisagari <= Ask - SLRate) //ストップロスに掛かったか
{
Urisagari = Ask - SLRate; //売り下がり値も上げる
Comment("Uriagari = ",Uriagari," ","Urisagari = ",Urisagari);
}
}
else //ストップロス無し
{
SLWork = 0;
}
}
//最安値更新したら売り下がり
if(Bid <= Urisagari - Sikake) //売り下がりの次の仕掛けに達したか
{
//Ver1.3削除 Netobi = (Urisagari - Bid) / Sikake;//複数回分値が跳んだか
//Ver1.3削除 for(i = 1;i <= Netobi;i++) //跳んだ回数実行
//Ver1.3削除 {
if(OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SLWork,Bid - Rikaku,"",MAGIC_TRAP,0,Red) > 0)
{
Urisagari = Bid; //売り下がりを現在値に
//Ver1.3削除 Errcnt = 0;
Comment("Uriagari = ",Uriagari," ","Urisagari = ",Urisagari);
}
//Ver1.3削除 else
//Ver1.3削除 {
//Ver1.3削除 Errcnt = Errcnt + 1;
//Ver1.3削除 if(Errcnt > 10) //数回エラーが続いたらぬける。
//Ver1.3削除 {
//Ver1.3削除 Urisagari = Bid; //売り下がりを現在値に
//Ver1.3削除Comment("Uriagari = ",Uriagari," ","Urisagari = ",Urisagari);
//Ver1.3削除 return(0);
//Ver1.3削除 }
//Ver1.3削除 }
//Ver1.3削除 }
}

//一番上のポジションより仕掛け幅分、上昇したら売り上がり
if(Bid >= Uriagari + Sikake) //売り上がりの次の仕掛けに達したか
{
//Ver1.3削除 Netobi = (Bid - Uriagari) / Sikake; //複数回数分値が跳んだか
//Ver1.3削除 for(i = 1;i <= Netobi;i++) //跳んだ回数実行
//Ver1.3削除 {
if(OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SLWork,Bid - Rikaku,"",MAGIC_TRAP,0,Red) > 0)
{
Uriagari = Bid; //売り上がりを現在値に
//Ver1.3削除 Errcnt = 0;
Comment("Uriagari = ",Uriagari," ","Urisagari = ",Urisagari);
}
//Ver1.3削除 else
//Ver1.3削除 {
//Ver1.3削除 Errcnt = Errcnt + 1;
//Ver1.3削除 if(Errcnt > 10) //数回エラーが続いたらぬける。
//Ver1.3削除 {
//Ver1.3削除 Uriagari = Bid; //売り上がりを現在値に
//Ver1.3削除Comment("Uriagari = ",Uriagari," ","Urisagari = ",Urisagari);
//Ver1.3削除 return(0);
//Ver1.3削除 }
//Ver1.3削除 }
//Ver1.3削除 }
}

//----
return(0);
}
当ブログタイアップ口座
FXブロードネット
絶賛発売中!
最近の記事
私の運用環境です。
MT4で自動売買
1000通貨口座、両建て可
ドル円0.3銭原則固定、例外有 らくらくFX

私のXM利用法と所感。

サーバー
設定簡単2年契約月1781円~ お名前.com【デスクトップクラウド】

手動取引
激狭スプレッド、1通貨単位!
ドル円用


1000通貨取引最高水準!
その他の通貨用
プログラムが苦手な方向け。
ドル円0.2、値幅定値


ドル円0.3銭(例外あり)
FXブロードネット
最近のトラックバック
リンク
メール(質問はコメント欄へ)

名前:
メール:
件名:
本文:

プロフィール

魚屋

Author:魚屋
FX歴11年目に突入しました。職業は魚屋です。
FXで心掛けていることは「儲けすぎるな」です。

最近のコメント
お得に口座開設、お買い物
ポイントサイトについて
(2015/10/01 0:00情報)
期間限定も多いので要確認。
逃しても再掲載も多いです。

日々の生活にhappyをプラスする|ハピタス
みんなdeポイントでポイントの上下があります。

M2J 17000円
DMMFX 15000円
インヴァスト証券 14000円

楽天、ニッセン、ハピタス堂書店なども私は利用しています。


期間限定!タイムセールでポイントの上下があります。

SBI FXトレード 15750円
外為ジャパンFX 14000円
みんなのFX 12600円

簡単に条件をまとめました。
カテゴリ
FXに便利な銀行口座
住信SBIネット銀行
ランクによりATMや振込手数料の無料回数変動
バナー取得はこちらから。
アクセストレード
アクセストレード
アフィリエイトB
アフィリエイト
ランキングに参加しています。
よろしければランキングクリックお願いします^^
にほんブログ村 為替ブログ FX トラップトレード派へ
banner2.gif
月別アーカイブ
ブログ内検索
ブロとも申請フォーム

この人とブロともになる

RSSフィード
フリーエリア