for(int i=Start;i>0 && !IsStopped();i--)
{
int a1=0,b1=0,a2=0,b2=0, Stop1a=0, Stop1b=0;
//----------------------------------- if(high[i-1]<high[i] && low[i-1]<low[i] && Stop1a==0) // условие для установки максимума и открытый доступ
{
Stop1a=1; // закрываем доступ (чтобы небыло ненужных повторений)for(i;i>0;i--) // цикл для счетчика
{
a1++; // счетчик для функции iHighestif(high[i-1]>high[i] && low[i-1]>low[i]) // противоложное условие предыдущему
{
Stop1a=0; // открываем доступ
b1=iHighest(NULL,0,MODE_HIGH,a1,i); // получаем индекс максимального значения
Max1[b1]=high[b1]; // заполняем индикаторный массив для максимумовbreak; // прерываем цикл
}
}
}
if(high[i-1]>high[i] && low[i-1]>low[i] && Stop1b==0) // условие для установки минимума и открытый доступ
{
Stop1b=1; // закрываем доступ (чтобы небыло ненужных повторений)for(i;i>0;i--) // цикл для счетчика
{
a2++; // счетчик для функции iLowestif(high[i-1]<high[i] && low[i-1]<low[i]) // противоложное условие предыдущему
{
Stop1b=0; // открываем доступ
b2=iLowest(NULL,0,MODE_LOW,a2,i); // получаем индекс минимального значения
Min1[b2]=low[b2]; // заполняем индикаторный массив для минимумовbreak; // прерываем цикл
}
}
}
コードについてご教授ください
とした
テスターでは正常に動作しています
チャートに表示すると、正しく表示されない
なぜか
コードについてご教授ください
とした
テスターでは正常に動作しています
チャートに表示すると、正しく表示されない
その理由がわからないんです。
デバッガーを使って原因を探ったのですか?
コードの書き方を教えてください
指標の条件: 高値(2)が前回高値(1)より大きく、安値(2)が前回安値(1)より大きい場合、逆の状況(高値3、4)、(安値3、4)を待ちます。高値(2と3)の間の最大値で、最大値のマークを青い点として設定します。最大値(4)が前回の最大値(3)より低く、最小値(4)が前回の最小値(3)より低い場合は、逆の状況(高値5、6)、(安値5、6)を待つことになります。高値(4と5)の間の安値では、安値を赤い点として設定します。
すみません、画像が合いません。
コードそのものです。
int Handle = FileOpen("2022.02.01 12-00",FILE_ANSI|FILE_WRITE|FILE_COMMON,'-'); //書き込み用に開く
FileWrite(Handle, "1", "643", "USDCAD","[11-1.30-0.70]");//データセットを書き込む
FileSeek(Handle,0,SEEK_SET)。//ファイルの先頭へのポインタを置き換えた(これは不要だと思うが、それでも)
FileClose(Handle)を実行。//ファイルを閉じる
Handle = FileOpen("2022.02.01 12-00",FILE_ANSI|FILE_SHARE_READ|FILE_COMMON,'-');//open for reading
Print(FileTell(Handle)," ",FileReadNumber(Handle)," ",FileReadNumber(Handle)).FileReadNumber(Handle)," ",FileTell(Handle)," ",FileReadNumber(Handle), ",FileReadNumber(Handle);
FileClose(Handle)です。//closed file
ログエントリは、現在のポインタ位置、スペース、ファイルから読み込んだ最初の値 (1)、スペース、ファイルから読み込んだ2番目の値 (643) を含む必要があります。その代わり、次のようなログが記録されます。
6 643.0 1.0
つまり、なぜかわからないが、ファイルポインタはファイルの先頭ではなく、そこから6バイト離れた2番目のセパレータ("-")のところにあり、次の読み込みは右から左へ行われる。FileSeek関数で ファイルの先頭にポインタを移動させようとしましたが、失敗しました。
その理由を理解するには、私の知力では足りません。一体どうなっているのか、説明してください。
コードの書き方を教えてください
指標の条件: 高値(2)が前回高値(1)より大きく、安値(2)が前回安値(1)より大きい場合、逆の状況(高値3、4)、(安値3、4)を待ちます。高値(2と3)の間の最大値で、最大値のマークを青い点として設定します。最大値(4)が前回の最大値(3)より低く、最小値(4)が前回の最小値(3)より低い場合は、逆の状況(高値5、6)、(安値5、6)を待つことになります。高値(4と5)の間の安値では、安値を赤い点として設定します。
すみません、画像が合いません。
コードそのものです。
前を見てはいけない
よろしくお願いします。
期待していたものが全然出てこない。ログファイルを読む必要がある
皆さん、こんにちは。フィボナッチレベルを描画するインジケータがあるのですが。このフィボグリッドの61.8レベルに価格が到達したら、このチャートに特定の設定をした別のEAを配置して、注文を出すボタンを押す必要があります。
以下は、インジケータとEAのボタンが表示された画面です。ボタンを搭載したExpert Advisorのソースコードはございません。フィボグリッドの61.8レベルをトラッキングするEAは、テスターでは動作しません。デモ口座で動作させ、すべてがうまくいけば、この組み合わせをリアル口座にインストールすることができます。
本当にできるのだろうか?その場合、どのように言葉にして、そしてコードで実装すればよいのでしょうか。 詳細かつ分かりやすく説明してください。
皆さん、こんにちは。フィボナッチレベルを描画するインジケータがあるのですが。このフィボグリッドの61.8レベルに価格が到達したら、このチャートに特定の設定をした別のEAを配置して、注文を出すボタンを押すEAが必要です。
以下は、インジケータとEAのボタンが表示された画面です。ボタンを搭載したExpert Advisorのソースコードはございません。フィボグリッドの61.8レベルをトラッキングするEAは、テスターでは動作しません。デモ口座で動作させ、すべてがうまくいけば、この組み合わせをリアル口座にインストールすることができます。
本当にできるのだろうか?その場合、どのように言葉で実装し、次にコードで実装するのか? もっと詳しく、わかりやすく説明してください。
24時間分の記憶があるのか?