MQL5にて現在価格をMqlTick構造体の.bidから最新価格を取得する訳ですが、それの3秒前を取得したいです。
一応自分が試した方法を載せておきます。
mql5
1 MqlTick last_tick; 2 SymbolInfoTick(_Symbol,last_tick); 3 double BidO; 4 double BidN; 5 double IPips = (200*_Point); 6 double BuyBoolPoint; 7 double SellBoolPoint; 8 9 if(BidNB==true) 10 { 11 BidN = last_tick.bid; 12 13 }else if(BidOB==true) 14 { 15 BidO = last_tick.bid; 16 } 17 18 19 if(BidNB==false) 20 { 21 BidNB = true; 22 23 } else if(BidNB==true) 24 { 25 BidNB = false; 26 27 } else if(BidOB==true) 28 { 29 BidOB = false; 30 31 } else if(BidOB==false) 32 { 33 BidOB = true; 34 }
ここに、EventSetTimerを(3)で設定すれば一応、3秒ごとにこのコードが実行されるので、3秒前のBidと3秒後のbid価格が取得できるのですが、これだと、3秒前と3秒後のbid価格に大差がなく、そもそも注文が実行されることがほぼないということが起こってしまいます。
なので、実現したいことは、3秒毎に3秒前のBid価格と最新のbid価格が取得されるのではなく、3秒以内に20pip動いたら、注文を出す。などといったことを実現したい為、現在bid価格から3秒前のbid価格を取得したい訳です。
iClose関数やiOpen関数にシフトを設定すれば確かに過去の終値と始値を取得できますが、MT5には3秒チャートなど無い為、この手法は無理でした。
何か他に方法はないでしょうか。調べても情報はないし、リファレンス読み漁っても、それっぽいのがなくて、困ってます。
宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/02/14 05:34
2023/02/14 05:40