[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 130

 
alex12:

しかし、EAにはもう一つコードがあります。

この関数に例えばPrint("close by CloseMarket ", j);を入れ、前回投稿した関数にも同様のものを入れて、実行し、ログを見て、どのプリントが表示されているか、どのトリガーが発動したか分析します。同様に、クローズ実行条件でチェックした変数の値もログして、そのトリガーの理由を見つけます...

 
alsu:
また、描画したい場所に正確にEAを置くことを妨げるものは何でしょうか?


私のEAはM1でより良く機能し、M5バーのオープニングで1トレードを開き、条件が許せばリフィルも行いますので。M5などのTFでもインジケーターを使用しています。また、M1ではバーのオープニングでテストするのがよく、他のTFではすべてのティックでテストするのは悪いことです。

私は絵を描くのではなく、EAが計算した結果をソムリエで表示し、すべてがうまくいっていることを確認するだけです。ご配慮、ご協力ありがとうございました

 
borilunad:


私のEAはM1でより良く動作し、M5バーのオープニングで1トレードを開始し、条件が許す限りリフィルも行います。そして、M5などのTFでインジケーターを使用しています。また、M1ではバーのオープニングでテストするのがよく、他のTFではすべてのティックでテストするのは悪いことです。

私は絵を描くのではなく、EAが計算した結果をソムリエで表示し、すべてがうまくいっていることを確認するだけです。ご配慮、ご協力ありがとうございました

M1とM5のティックは同じソースから取得され、どのチャートからでも、Close[]をiCloseなどに置き換えるだけで、どのタイムフレームでも使用可能です。より良いテストをするためには、ティックからより良いfxt-fileを作る必要があります。ここに 例がありますが、一般的にグーグルでは、このテーマについて多くの情報があります。
 
alsu:
M1、M5ともにティックは同じソースから取得され、どのチャートのどのタイムフレームを使ってもよく、Close[]をiCloseなどに置き換えるだけです。より良いテストをするためには、ティックからより良いfxt-fileを作る必要があります。ここに 例がありますが、一般的にグーグルでは、このテーマについて多くの情報があります。

練習の結果、ティックよりオプで開いてテストする方が良いことが分かった。私はダニに全く興味がありません。デポが許せば、1日で良い結果が出る、より高いTFに移行するかもしれません。夜、ぐっすり眠るために、お得な情報は残さない。いつもありがとうございます。
 
smshev:

この関数でPrint("Close by CloseMarket ", j); と、前回投稿した関数で同様のことをします。 実行して、これらのプリンタの結果をログで見て、どれがトリガーされたかを分析します。 同様に、クローズ条件でチェックした変数の値もログして、トリガーの理由を探します...。

ありがとうございます。
 
borilunad:

練習では、ダニよりもオレップで開いてテストした方が良いという結果も出ています。そして、ダニには全く興味がない。デポが可能になったら、1日で良い結果が出る高めのTFに切り替えるかもしれません。夜、ぐっすり眠るために、お得な情報は残さない。いつもありがとうございます。
そうじゃなくて、EAがどこに付いてるかで何が変わるんだよって話。きちんと書かれていれば、どこにあっても問題ありません。モンゴル為替のチャート上であっても、EURUSDの1分足で動作するように設定されていれば、そのように動作するのです。しかも、プログラムするのは難しくなく、原則として2〜3行を変更するだけです。
 

プログラマーさんへ!MACDインジケーターウィンドウの最大数値で水平線が引けないのですが。

コード


#property indicator_separate_window
#プロパティ indicator_buffers 3
#property indicator_color1 ライム
#property indicator_color2 レッド
//--- バッファ
double ExtMapBuffer1[]。
double ExtMapBuffer2[]。
double topBuffer[];


bool initFinished=false; // 初期化の状態を記憶する変数を追加する。
// false - 初期化がまだ行われていない。
// true - 初期化されました。
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
SetIndexStyle(0,DRAW_LINE)を設定します。
SetIndexBuffer(0,ExtMapBuffer1)を設定します。
SetIndexStyle(1,DRAW_LINE)を設定します。
SetIndexBuffer(1,ExtMapBuffer2)を設定。
SetIndexStyle(2,DRAW_NONE)を設定します。
SetIndexBuffer(2,topBuffer)を設定。
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケーター初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted(),
制限を受けます。

if(counted_bars>0)
counted_bars--。

limit=Bars-counted_bars。
//----
for(int i=0;i<limit;i++)

{
ExtMapBuffer1[i]=iMACD(0,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i)とする。
ExtMapBuffer2[i]=iMACD(0,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,i)とする。

if(initFinished==false)
{
IndicatorShortName("MACD_max-min")。

int win_idx=WindowFind("MACD_max-min");
// インジケータサブウインドウの番号を調べる

if(win_idx<0)
{
// サブウィンドウ番号が -1 の場合はエラー
Print("Window not found");
return(0)です。
}

double top=WindowPriceMax(win_idx)。
//現在のチャートの指定されたサブウインドウの垂直スケールの最大値を求める


ObjectCreate("max",OBJ_HLINE,win_idx,0,top)。
// インジケーターのサブウィンドウに水平線を描画します。

ObjectSet("max",OBJPROP_COLOR,Yellow)。
ObjectSet("max",OBJPROP_WIDTH,0)。

WindowRedraw()。
// ラインを見るためにウィンドウを再描画する

initFinished=true とする。
// 描画を終了する

}

topBuffer[i]=top;


}

//----
return(0)です。
}

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


行に見える。

double top=WindowPriceMax(win_idx)。

トップ変数が値を取得せず、また

ObjectCreate("max",OBJ_HLINE,win_idx,0,top)。

そのため、必要なウィンドウと色に0行が表示され、topBuffer[]も空になってしまいます。この行で変数topの代わりに数値を置くと、行はこの固定値を取ります。どこか私は臨床エラーを持っています。 理解するためのヘルプ!事前にありがとうございます。

ファイル:
 
IndicatorShortNameはinit()に移動した方が良い。
 
alsu:
IndicatorShortName は init() に移動する必要があります。
インジケータを開いたときにオブジェクトが表示されない場合は、インジケータのプロパティを表示するウィンドウを追加で開き、それを閉じるとオブジェクトが表示されるようになります。
 
はwin_idxで良いのでしょうか?