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

 

Altorontoのコードとエンコーディングに感謝します。

どうもありがとうございます。

 

Altorontoさん、ありがとうございます。

このコードの次のステップは、すべての期間、同じポイント、日中の変更なし、進行中の日の00:00のろうそくの最初の分で同じラインを決定することです。

私はより良い理解のために説明と画像を添付しています。

あなたやいくつかのボディは私がこれをコーディングし、指標にエンコードするのに役立つことができますか?

もう一度ありがとうございます。

これが最終的に動作する場合、私は私を助けてくれる人においしいチリのワインのボトルを送信します。

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

ダニエル1983

ファイル:
 
daniel1983:
Altorontoさん、ありがとうございました。

このコードの次のステップは、すべての期間、同じ点で、日中の変化なし、進行中の日のために00:00にろうそくのための最初の分で同じラインを決定することです。

私はより良い理解のために説明と画像を添付しています。

あなたやいくつかのボディは私がこれをコーディングし、指標にエンコードするのに役立つことができますか?

もう一度ありがとうございます。

これが最終的に動作する場合、私は私を助けてくれる人においしいチリのワインのボトルを送信します。

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

ダニエル1983

ダニエル1983

最初に閉じたバーの高値と安値を使用する場合、日中に変更があります。

 

ムラデンさん

なぜ日中の変更になります?私は一度だけ、各日の最初のろうそくのために微積分を行うと考えています。ない次のキャンドルは、それを取得しないでください

1日目のt = 1で1日目のt = 0のために微積分を行い、結果は線を描く

あなたが指標を使用して いる日のみ、その日の23:59に最初のキャンドルで、次の日の指標価格まで動作を停止するようにします。

翌日

2日目のt=1で2日目のt=0を計算し、線を引きます。

ここでは、より明確であることを願っています。

 
daniel1983:
ムラデンさん

なぜ日中の変更になります?私は一度だけ、各日の最初のろうそくのために微積分を行うと考えています。ない次のキャンドルは、それを取得しないでください

1日目のt = 1で1日目のt = 0の微積分を行い、結果はラインを描く

あなたが指標を使用している日のみ、その日の23:59に最初のキャンドルで、次の日の指標価格まで動作を停止するようにします。

翌日

2日目のt=1で2日目のt=0を計算し、結果を線にする。

をご覧ください。

ダニエル1983

High[1]とLow[1]は、現在のチャートで最初に閉じたバーの高値と安値を意味します。日足でない場合は、日中の高値と安値が変化することになります。また、どのような場合でも、日足チャートを使用している場合は、異なる時間枠のデータが混在していることになります。

 

OK Mladen, 確認させてください。問題は2つのタイムフレームを同じコードに混ぜていることだと思うのですが、例えば1分チャート用にすべて1つのタイムフレームだけを使用すれば、うまくいくはずです。

分チャート用のすべてを作ることができます。

コード式 線が引かれるポル価格 = =。

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3;

このように、計算された価格での水平線のコードは、t=1用であるべきだと思いますが、うまくいきません。

//+------------------------------------------------------------------+

//| カスタムインジケータ 初期化関数

//+------------------------------------------------------------------+

int init()

{

//----

return(0)を実行します。

}

int deinit() {

Comment("");

ObjectDelete("KeyLine")。

return(0);

}

//+------------------------------------------------------------------+

//| カスタムインジケータ反復処理関数

//+------------------------------------------------------------------+

int start()

{

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3。

Comment("キーライン:",number).ObjectDelete("キーライン");

ObjectDelete("KeyLine")。

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange)。

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID).ObjectsRedraw()を実行します。

ObjectsRedraw();

return(0);

}

 
daniel1983:
OK Mladen, 確認させてください。問題は、同じコードに2つのタイムフレームを混在させていることだと思いますので、1つのタイムフレームだけを使用すれば、例えば1分間のチャート作成にすべて使用すれば、うまくいくはずです。

分足チャートのすべてを作成します。

線が引かれるポル価のコード式=(分足チャート

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3;

このように、計算された価格での水平線のコードは、t=1用であるべきだと思いますが、うまくいきません。

//+------------------------------------------------------------------+

//| カスタムインジケータ初期化関数

//+------------------------------------------------------------------+

int init()

{

//----

return(0)を実行します。

}

int deinit() {

Comment("");

ObjectDelete("KeyLine")。

return(0);

}

//+------------------------------------------------------------------+

//| カスタムインジケータ反復処理関数

//+------------------------------------------------------------------+

int start()

{

double minuteOpen = iOpen(NULL,PERIOD_M1,1);

double number = (minuteOpen+High[1]+Low[1])/3。

Comment("キーライン:",number).ObjectDelete("キーライン");

ObjectDelete("KeyLine")。

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange)。

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID).ObjectsRedraw()を実行します。

ObjectsRedraw();

return(0);

}

いいえ

このようにすればいいのです.

double number = )iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3

そうすれば、日足データからすべてのデータを取得することができます(異なる時間枠のデータが混在することはありません)。

 

ムラデンさん、ありがとうございます。

ちょっと急ぎすぎたかもしれません。では、数式を入力せずに、少し前に戻って、以下の作業だけを行うインジケータにしましょう。

各日の最初の1分間のローソクの 値に1本の水平線を引き、00時01分にローソクを立て、23時59分にそれを消す。

この線の価格は、23時59分に消去されるまで、すべての期間において同じ価格で時間的に変化せず、次の日の00時1分に再び開始されます。

これはどうなるのでしょうか?

 
daniel1983:
Mladenさん、ありがとうございます。

ちょっと急ぎすぎかな?では、数式を入力せずに、少し前に戻って、以下の作業だけを行うインジケータにしましょう。

各日の最初の1分間のローソクの始値に1本の水平線を引き、00時01分にローソクを立て、23時59分にそれを消す。

この線の価格は、23時59分に消去されるまで、すべての期間において同じ価格で時間的に変化せず、翌日の00時1分に再び開始されます。

これはどのようになるのでしょうか?

私が投稿した数式を使用する場合、それは全く同じように動作します:日が変わるとすぐに、値も変わり、次の日まで固定されます。

 

Mladenさん、ありがとうございました。変更したところ、インジケータはこのようになりましたが、チャート上ではまだ何もできません。

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

#property copyright "www.forex-tsd.com"

#property link "www.forex-tsd.com"

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

//+------------------------------------------------------------------+

//| カスタムインジケータ 初期化関数

//+------------------------------------------------------------------+

int init()

{

//----

return(0)を実行します。

}

int deinit() {

Comment("");

ObjectDelete("KeyLine")。

return(0);

}

//+------------------------------------------------------------------+

//| カスタムインジケータ反復処理関数

//+------------------------------------------------------------------+

int start()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3.Double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,2))/3;

Comment("キーライン:",番号);

ObjectDelete("KeyLine")を実行します。

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number).ObjectSet("KeyLine")。

ObjectSet("KeyLine",OBJPROP_COLOR,Orange)。

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID).ObjectsRedraw()を実行します。

ObjectsRedraw();

return(0);

}

私は今何を間違えているのでしょうか?

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