コーディングのヘルプ - ページ 301

 
sunshineh:
こんにちは。

ファイル関数を使用していますが、問題なく動作しています。

私はかなり大きなファイルを使用しており、for-loopで作業しています。

サイクルごとに、ファイルの1行を読んでいます。そこで、時々、この行の1つの単語を変更したいのです。

これを行う簡単な方法はありますか?もし、読み出しのためにファイルを閉じて、書き込みのためにファイルを開くと、ファイルポインタはファイルの終わりに行ってしまいます。

しかし、実際のファイルポインタの位置を取得する可能性があるのでしょうか?そうすれば、ファイルの途中などにも直接書き込むことができます。

行のサイズが固定でない場合、簡単な方法はありません(その場合、ファイル全体を書き直す必要があります)。

行のサイズが固定されている場合は、FileSeek(fileHandle,lineSize*(numberOfLine-1),SEEK_SET); で、その特定の行に変更を書き込むことができます。

 

繰り返しになりますが、私にとって重要な ことなので、コードの例が必要です。

こんにちは、Mladenです。

5分足で、銘柄5-3-3が15分足で20以下になったときに表示するような小さなインジケータが欲しいです。

私は株式multitimeframeを望んでいない...しかし、低いtfに高い時間枠の信号があります。

事前にありがとうございました

 

こんにちは、Mladenです。

ノン・ラグ・マ・nrpの値をCSVファイルにエクスポート したいのですが、赤(トマト)色はマイナス、青色はプラスの値でなければなりませんか? ありがとうございます。

 
nevar:
こんにちは、Mladen 、私はCSVファイルにnon lag ma nrpの値をエクスポートしたいのですが、赤(トマト)の色が負の値と青の色が正の値でなければなりませんか?

ネバール

これを行うスクリプトはこちらです :export_nonlag_ma_data.mq4

この投稿にある「NonLag ma nrp nmc」もindicatorsフォルダに必要です :https://www.mql5.com/en/forum/general

ファイル:
 
mladen:
AZRUL

180行目で探したい値を供給していない(この行は:

int ranking = rank();

となっており、rank関数はどのような値とも比較できません。あなたの呼び出しは次のような形式でなければなりません。

int ranking = rank(someValueToRank)。

親愛なるSIR MLADEN。

私のIndicatorから出力されるTotalのランキングを取得し、昇順のRANKを作ろうとしましたが、うまくいきません。2つの出力があり、そのうちの1つだけが正しいです。(そして残りの5つは(0)ゼロです。

思いつく限りのことをやってみましたが、昇順でも降順でもいいので、順位をつけるコードを作るにはどうしたらいいか、アイデアが尽きてしまいました。

あなたの時間と専門知識は常に感謝され、必要とされています。

本当に

AZRUL...

ファイル:
 
12BPRO:
親愛なるSIR MLADEN。

インジケータから出力されるTotalのランキングを昇順で取得しようとしましたが、うまくいきません...。2つしか出力されず、そのうち1つだけが正しいのです。(そして残りの5つは(0)ゼロです。

思いつく限りのことをやってみましたが、昇順でも降順でもいいので、順位をつけるコードを作るにはどうしたらいいか、アイデアが尽きてしまいました。

あなたの時間と専門知識は常に感謝され、必要とされています。

本当にありがとうございました。

アズール...

12BPRO

私はすでにあなたに言ったと思う:あなたは2次元のランキング/ソートを行う必要があります(あなたが表示したい各パーの値+シンボル名を持っているので)それはシンボル名を失うことになるので、値のみをソートするだけでは十分ではありません、あなたが値をその場所に移動したときにシンボル名も対応する場所に移動する独自のソート手順を作成する必要があります。

 
mladen:
12BPRO すでに話したと思いますが、2次元のランキング/ソートを行う必要があります(表示したい各パーの値+シンボル名を持っているので)値だけをソートするのでは不十分で、その方法ではシンボル名を失うので、値がその場所に移動したときにシンボル名もその場所に移動させる独自のソート手順を作成する必要があります。

親愛なるSIR MLADEN。

私はソート手順を追加してこのコードを試しましたが、いくつかの値を示しています。

私はプログラマーではありません...あまり理解していません...私の親愛なるGURU...非常に2申し訳ありません。私はこれを学ぶために私のベストを尽くしています。

あなたの時間と専門知識はいつも感謝され、必要とされています.......

本当に

AZRUL...

ファイル:
 
12BPRO:
SIR MLADENさんへ。

このコードにソート手順を追加して試してみたところ、いくつかの値が表示されましたが、残念ながら最後の配列の値(TOTCAD)を見逃してしまったようです。

私はプログラマーではありません...あまり理解していません...私の親愛なるGURU...非常に2申し訳ありません。私はこれを学ぶために全力を尽くしています...。

あなたの時間と専門知識はいつも感謝され、必要とされています.......

本当に

AZRUL...

AZRUL

2次元の配列をソートするルーチンを紹介します。

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

// 2 dimenzional array shell sort

//

//

//

double PR[][2];

void SortIt()

{

int size ArrayRange(PR,0);

int i,j,increment = size / 2;

double temp,temi;

//

//

//

//

//

while (increment > 0)

{

for (i = increment; i < size; i++)

{

j = i;

temp = PR;

temi = PR;

while ((j >= increment) && (PR[j-increment,0] < temp))

{

PR[j,0] = PR[j-increment,0];

PR[j,1] = PR[j-increment,1];

j = j-increment;

}

PR[j,0] = temp;

PR[j,1] = temi;

}

if (increment == 2) increment = 1;

else increment = (increment / 2.2);

}

}

PR配列に数値と記号を入れます(例えばPR[0,0]=eurの値、PR[0,1]=1(これは1がEURのマークという意味です))。SortIt()プロシージャを呼び出し、値とそれに対応する記号のマークを読み取ります(例えば、PR[5,1] == 1(1はEURの意味)となり、値PR[4,0]はEURの値であることを意味します)。

 
mladen:
AZRUL

2次元の配列をソートするルーチンを紹介します。

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

// 2 dimenzional array shell sort

//

//

//

double PR[][2];

void SortIt()

{

int size ArrayRange(PR,0);

int i,j,increment = size / 2;

double temp,temi;

//

//

//

//

//

while (increment > 0)

{

for (i = increment; i < size; i++)

{

j = i;

temp = PR;

temi = PR;

while ((j >= increment) && (PR[j-increment,0] < temp))

{

PR[j,0] = PR[j-increment,0];

PR[j,1] = PR[j-increment,1];

j = j-increment;

}

PR[j,0] = temp;

PR[j,1] = temi;

}

if (increment == 2) increment = 1;

else increment = (increment / 2.2);

}

}
PR 配列に値と記号のマークを入れます (例えば PR[0,0] = eur の値、PR[0,1] = 1 (1 は EUR のマークということです))。SortIt() プロシージャを呼び出して、値とそれに対応する記号のマークを読み取ります(例えば、PR[5,1] == 1 (1 は EUR の意味) となり、これは PR[4,0] という値が EUR という値であることを意味します)。

親愛なるSIR MLADEN。

親愛なる先生、ありがとうございます。6番目の信用....

このフォーラムが大好きです...ここのGURUに感謝します...。

これは他の人にとっても有益でしょう...。

ありがとうございます....

本当にありがとうございます。

AZRUL...

 
mladen、mrtool...

need help to modify/add color changing rule by 2 moving averange (MA period 8 n MA period 24).

MA8 > MA24 の場合、histo color=green となります。

MA8 < MA24 の場合、ヒストグラムの色は赤になります。

インジケーターのリンクはこちら:https://www.mql5.com/en/code/download/7992/BW_MFI.mq4

BWのMFIを他の指標と組み合わせることが可能かどうか知りたいだけなのですが、このリクエストを投稿する前にすでに自分で試してみましたが、良い結果は得られませんでした。