//+------------------------------------------------------------------+ //| TrapShort.mq4 | //| Copyright ゥ 2010, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright ゥ 2010, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" // 一括で逆指値注文をいれるプログラムです // 変数の宣言 // extern:パラメータとして、利用者が入力できます // string:文字列 // doubule:小数点ありの数値 // int:小数点なしの数値 extern string OrdRateL= "↓指値"; extern double OrdRate=110.58; extern string PosiCntL= "↓ポジ数"; extern int PosiCnt=5; extern string TrapHabaL= "↓トラップ幅"; extern double TrapHaba =0.2; extern string RikakuHabaL= "↓利確幅"; extern double RikakuHaba =0.5; extern string LotsL= "↓ロット数(1=10万通貨)"; extern double Lots =0.01; extern string SlippageL= "↓スリッページ"; extern double Slippage =10; int MAGICNO = 0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ //↓起動時に一度だけ動くプラグラムです。 //↓初期処理開始 int init() { //----開始メッセージ出力 Alert(""); Alert("*** start ***"); Alert("OrdRate:",OrdRate); Alert("PosiCnt:",PosiCnt); // 逆指値 double Rate = OrdRate; // for(aaa ; bbb ; ccc) : 繰り返し処理。 // aaaの部分:初期処理を記述します。iという変数を宣言。初期値は0。 // bbbの部分:処理の条件を記述します。i < PosiCnt の条件を満たす間、繰り返します。 // cccの部分:後処理を記述します。1回処理を行うたびに、iに1ずつ加算します。 for(int i=0 ; i < PosiCnt ; i++) { MAGICNO = Rate * 100; if(OrderSend(Symbol(),OP_SELLSTOP,Lots,Rate,Slippage,0,Rate - RikakuHaba,"",MAGICNO,0,Green) > 0) { Alert(""); Alert("-----OK Rate:",Rate); Rate = Rate - TrapHaba; } else { Alert("-----NG Rate:",Rate); i--; } Alert("-----for Rate:",Rate,"PosiCnt;",PosiCnt); } //---- return(0); } //↑初期処理終了 // 一度動いたら終了