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

 
thefxpros:
こんにちは。

icustomを使ってMTFでいくつかのインジケータを回して楽しんでいます。インジケータは動作しますが、色と矢印が正しく表示されません。

どこにエラーがあるのでしょうか?

ワイルダーズ_トレイリングストップ_mtf.mq4

ワイルダーズ_トレイリングストップ.mq4

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

#property copyright "thefxpros"

#property link "thefxpros@katamail.com"

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

#property indicator_chart_window

//#property indicator_color1 Orange

//#property indicator_color2 LimeGreen

//#property indicator_color3 LimeGreen

//#property indicator_color4 Orange

//#property indicator_width3 1

//#property indicator_width4 1

//

//

//

extern int TimeFrame = 0;

extern int Length = 2;

extern double Coeff = 1.75;

extern int LineWidth = 1;

extern int ArrowWidth = 1;

extern color UpLineClr = LimeGreen;

extern color DnLineClr = Orange;

extern color UpArrowClr = LimeGreen;

extern color DnArrowClr = Orange;

//

double WTS[];

double WTSDn[];

double arrUp[];

double arrDn[];

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

//| |

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

int init()

{

IndicatorBuffers(4);

SetIndexBuffer(0,WTS); SetIndexStyle(0,DRAW_LINE, EMPTY, LineWidth, DnLineClr);

SetIndexBuffer(1,WTSDn); SetIndexStyle(1,DRAW_LINE, EMPTY, LineWidth, UpLineClr);

SetIndexBuffer(2,arrUp); SetIndexStyle(2,DRAW_ARROW, EMPTY, ArrowWidth, UpArrowClr); SetIndexArrow(2,SYMBOL_ARROWUP);

SetIndexBuffer(3,arrDn); SetIndexStyle(3,DRAW_ARROW, EMPTY, ArrowWidth, DnArrowClr); SetIndexArrow(3,SYMBOL_ARROWDOWN);

IndicatorShortName("Wilders trailing stop MTF ("+Length+","+Coeff+")");

Length = MathMax(Length,1);

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

IndicatorShortName("Wilders trailing stop MTF ("+TimeFrameStr+")");

return(0);

}

//----

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

//| MTF function |

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

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);

for(i=0,y=0;i<limit;i++)

{

if (Time<TimeArray[y]) y++;

/*********************************************************************************************************

Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.

Rule 1: Add extern inputs above for all neccesary values

Rule 2: Use 'TimeFrame' for the indicator time frame

Rule 3: Use 'y' for your indicator's shift value

********************************************************************************************************/

WTS=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,0,y);

WTSDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,1,y);

arrUp=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,2,y);

arrDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,3,y);

}

return(0);

}

//+------------------------------------------------------------------+[/PHP]

thefxpros

描画バッファを宣言しなければならない部分をコメントアウトしています。

この部分です。

[PHP]#property indicator_chart_window

//#property indicator_buffers 4

//#property indicator_color1 オレンジ色

//#property indicator_color2 LimeGreen(ライムグリーン

//#property indicator_color3 ライムグリーン

//#property indicator_color4 オレンジ

//#property indicator_width3 1(プロパティ インジケータ幅3 1

//#property indicator_width4 1

これらの行からコメントを削除すると、動作します。

 
mladen:
thefxpros

描画バッファを宣言する部分をコメントアウトしています。

この部分。

#property indicator_chart_window

//#property indicator_buffers 4

//#property indicator_color1 Orange

//#property indicator_color2 LimeGreen

//#property indicator_color3 LimeGreen

//#property indicator_color4 Orange

//#property indicator_width3 1

//#property indicator_width4 1
これらの行からコメントを削除して、それが動作します

はい、わかっています、でも、後で指定しました、では不十分なのでしょうか?常に最初に指定しなければならないのでしょうか?

以前のビルドのmetaeditorでは、よくそうしていた記憶があるのですが、私の記憶ではうまくいっていたような気がするのですが、記憶違いでしょうか?

 
thefxpros:
そうなんです、でも後で指定したんですが、それだけではダメなんでしょうか?このような場合、必ず最初に指定しなければならないのでしょうか? 以前のビルドのmetaeditorでは、よくそのようにした記憶がありますが、私の記憶では、うまくいっていました。

thefxpros

はじめに描画バッファ を指定します。後で計算用バッファを指定することができます。もし、#property indicator_buffers numberOfDrawningBuffer を指定しなかった場合、ハートには何も描画されません。

 

Speardの履歴をすべて表示する。私を助けてください

 

このEAのCloseInMA関数を チェックするために、誰か助けてください。

私は何日もここで立ち往生していると私は解決策を見つけることができません.

ありがとうございます。

ファイル:
testing1.5.mq4  38 kb
 
stevenpun:
誰もがCloseInMA関数のためにこのEAを確認するために私を助けてください。

何日もここに張り付いてるけど、解決策が見つからない.

ありがとうございます。

スティーブンパン

それが今書かれているようにしようとする

ファイル:
 

こんにちは、心優しい達人、私は誰かがこれをコード化し、それのロボット(EA)バージョンを構築するのを助けるようにお願いしています。

INDICATOR- Auto drawhorizontal lines(preferably broken lines) on prices ending at 5, 15, 31, 67 respectively.線の長さは、これらの数字の下にある数学的な定規の1インチの長さでなければなりませんので、私はすでに持っているカップルの線のためにまともなチャートを持っているでしょう。

PS- 4桁と5桁のブローカーに対応

 

EAのルール

買い

下のマジックナンバーの3pips前になったら、いつでも買い指値注文を入れる。例:マジックナンバー5、現在UJ 103.02、買い注文を 103.05で出す。

売り

価格がマジックナンバーに3ピップス上方から近づくと、売り注文を出します。例:現在価格が103.08の場合、103.05に売りの指値を入れる。

SLとTPはそれぞれ25/50pipです。

取引で+3pipsの利益が出たら、STOP LOSSを移動して+1利益をロック、5を移動して4をロック、8を移動して7をロック、12を移動して10をロックします。

最大オープンポジション、フローティングトレード、または保留中の注文は、新しいトレードのためにストップアウトするまで=1のみです。

1日の最大ドローダウンは3%で、これに達するとEAは取引を停止します。

デフォルトのロットサイズ 0.1 (10,000)

24時間取引

追伸:EAはマジックナンバー、トレーリングストップ、テイクプロフィット/ストップロスを私のブローカーから隠すオプションが必要で、4/5桁互換であるべきです。デフォルトのペアはUJです。

これはすぐにコード化されていることが最も素晴らしいでしょう。

 
mladen:
stevenpun それが今書かれているように行うようにしてください。

こんにちはmladen 。

私は前にそれを試みたが、それは動作しません。

私は非常に混乱している理由です。

あなたは私が問題は何であるかを見るのを助けることができることを願っています。

ありがとうございます。

 
stevenpun:
こんにちは、mladen 。

私は前にそれを試みるが、それは働かない。

それは私が非常に混乱する理由です。

あなたは私が問題は何であるかを見るのを助けることができることを願っています。

ありがとうございます。

投稿されたバージョンでは、定数を比較していました(Fastma、Dn_slowma、Up_slowmaは移動平均に使用される期間で、移動平均の値ではありません)。

現在は、移動平均の値を比較するように変更されています。しかし、一定の値を比較することはできませんし、バーからバーへと変化することを期待することはできません。

しかし、移動平均のパラメータではなく、移動平均の値を比較し続けることです。