前提
MQL4入門者です。
for文でどのような事ができるか、スクリプトで調べていたところ、問題にぶつかりました。
こうなっている理由や、解決策がわかる方、ぜひお教えください。
宜しくお願い致します。
※自分でも考えてみたのですが、2日間考えても解決できなかったため、質問させて頂きました。
発生している問題・エラーメッセージ
スクリプトをドル円、4時間足のチャートに適用したところ、以下の問題が発生します。
ーーーーーーーーーーーーーーーーー
1 エキスパート欄に表示される、iの一番初めの値 と 変数ichikako の値が一致しない。
・for文で、初めにi=ichikakoとしているので、エキスパート欄に表示される初めのiの値は、ichikakoと同じ値(7047)になるはず(画像の、二つの赤丸は、同じ値になるはず)。と理解しているのですが、僕の理解が間違っている場合は、指摘お願い致します。
ーーーーーーーーーーーーーーーーー
2 スクリプトを実行するたびに、値(for文によって、周回する回数)が変わる。
・209→219→229 と、10ずつ増えます。
ーーーーーーーーーーーーーーーーー
・かと思えば、いきなり4805等の大きな数字にもなる。
ーーーーーーーーーーーーーーーーー
・ちなみに、iの最後の値は変わらず、すべて2です
該当のソースコード
//+------------------------------------------------------------------+ //| fff.mq4 | //| Copyright 2022, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- datetime tkako; datetime tmira; int ichikako; int ichimira; tkako=D'2018.6.27 15:00'; tmira=D'2023.1.5 20:00'; ichikako=iBarShift(NULL,0,tkako,true); //tkako tmira の時間情報を、位置情報に変換 ichimira=iBarShift(NULL,0,tmira,true); //同じく for(int i=ichikako; i>ichimira; i--) {Print(" 確認するよ "," i ",i," ichikako ",ichikako);} }
回答2件
あなたの回答
tips
プレビュー