int Wh; int Bl; int a[];b[]; extern int History=500; //+------------------------------------------------------------------+ int init(){ SetIndexBuffer(0,a)を設定します。 SetIndexBuffer(1,b)を設定します。 SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1)を設定します。 SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1)を設定します。 return(0);}。 //+------------------------------------------------------------------+ int deinit(){return(0);}。 //+------------------------------------------------------------------+ int start() { int CountedBars=IndicatorCounted(); int i=Bars-CountedBars-1; if (i>History-1) i=History-1; while(i>=0) { if (Close[i]>Open[i])Wh++。 if (Close[i]<Open[i])Bl++。 a[i]=Wh; b[i]=Bl; i--; } return(0);}。
このスレッドの目利きと経験豊富な読者の皆さんへご挨拶です。そして、ただ、私を助けてくれる人なら誰でもいい=)
周期性を実現するための最も簡単で「正しい」方法とは?つまり、単純化すると、15分ごとに何らかのアクションを自動的に行いたいのです。
私の場合、いくつかの統計情報を含むファイルをディスクに保存しています。今では、私が望むことを実行するスクリプトがあり、それは文字通り20行のコードです。では、この20行を間隔をあけて繰り返すようにするにはどうすればよいのでしょうか。やはり、MQLにはタイマーはないのですね...。1tickごとに何らかのチェックを行うEAを使う必要があるのでしょうか...?
皆様のご協力、ご指導をお願いいたします。)
例えば、15分足で新しいバーをチェックします。
または開始時刻を記憶しておき、現在時刻を確認する。
https://docs.mql4.com/ru/dateandtime/TimeCurrent
et=timecurrent();
if (et-bt>15*60) {bt=timecurrent(); ロードデータ}。
15分ごとにある動作を自動的に実行させたい。
尊敬する達人たちは助けてくれないのでしょうか?
pvm117 2011.10.20 18:26
こんにちは。
ボリンジャーラインが狭い廊下に収束した後、しばらくして相場が上下に激しく動くと予想されるからです。私のExpert Advisorでは、ボリンジャーラインの状態を分析し、非常に接近(Delta pips)してきたら、下方向(下ラインのstepOpen pips下)に売り注文を保留し、相場が突然その方向に行くことを期待します。もし相場が別の方向に行ったら、この注文を削除すればいいだけだ。
アルゴリズムの動作が不安定で、短い間隔で2つの注文を出すことがあり、常にOrderSendError 130とOrderSendError 138のエラーが発生し、市場が別の方向に動いた場合にオープンオーダーを削除しても全く機能しない。ぜひ、アドバイスをお願いします。ありがとうございました。
テスターで、130のエラーに注意を払わない場合、この価格でストップオーダーを出すことは単純に不可能です。
次はあなた次第です。
みんな、僕は初心者なんだ、バグを見つけるのを手伝ってくれ。
ある一定期間のローソク足の上昇と下降の回数を計算するインジケーターを書いてみました。これのインジケータを書こうとしたら、インジケータウィンドウに置いても表示されない。どうしたんですか?以下は私のコードです。ありがとうございました。
#property indicator_separate_window
#property indicator_buffers 2
#プロパティ indicator_color1 Green
#property indicator_color2 レッド
int Wh;
int Bl;
int a[];b[];
extern int History=500;
//+------------------------------------------------------------------+
int init(){
SetIndexBuffer(0,a)を設定します。
SetIndexBuffer(1,b)を設定します。
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1)を設定します。
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1)を設定します。
return(0);}。
//+------------------------------------------------------------------+
int deinit(){return(0);}。
//+------------------------------------------------------------------+
int start()
{
int CountedBars=IndicatorCounted();
int i=Bars-CountedBars-1;
if (i>History-1) i=History-1;
while(i>=0)
{
if (Close[i]>Open[i])Wh++。
if (Close[i]<Open[i])Bl++。
a[i]=Wh;
b[i]=Bl;
i--;
}
return(0);}。
みんな、僕は初心者なんだ、バグを見つけるのを手伝ってくれ。
ある一定期間のローソク足の上昇と下降の回数を計算するインジケーターを書いてみました。これのインジケータを書こうとしたら、インジケータウィンドウに置いても表示されない。どうしたんですか?以下は私のコードです。ありがとうございました。
に置き換えてください。
int a[],b[];
次のページへ
double a[],b[];
おお、ありがとう、うまくいったよ。なぜ、このようにしなければならないのか、理解できないのです。キャンドルの数は整数値である。簡単に説明してください。
SetIndexBuffer() 関数に渡されるパラメータの種類に注意してください。
もう少し修正すれば。
ほうがいいのでは...
うん、ありがとう、もう気づいたよ)))
うん、ありがとう、もう気づいたよ)))