買いマーチンソース

//+------------------------------------------------------------------+
//|                                                    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);
  }

comment

Secret

No title

こんにちは。
Start()が呼ばれるたびにNowDansuu = 1;でいつも初期化されてる気がしますが、問題ないのでしょうか?

上の方

新規注文の時だけ初期化されてるような。
インデントつけてみるといいと思いますよー。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

No title

元SE主婦さん、もやさん、ありがとうございます。

コピー元を間違えてたので、子供が寝たら置き換えますねー

タブは入れているのですがブログにアップロードすると駄目になっているんです…
FC2ブログでインデント付ける方法、お知りの方おりましたら是非お教えくださいねー

No title

もやさん、魚屋さん
すみません。最初のif文の{}の中に入ってましたね。
失礼しました!

No title

元SE主婦さん、もやさん、ありがとうございます。

とりあえず修正版上げましたねー
コメントとか読み易くするのはしばしお待ちくださいね。
当ブログタイアップ口座
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 トラップトレード派へ
banner2.gif
月別アーカイブ
ブログ内検索
ブロとも申請フォーム

この人とブロともになる

RSSフィード
フリーエリア