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

 
AtApi:
ダブルジグザグはフラクタルに基づいているため、リペイントされません(両方のジグザグが整列している)...これらの点は、私がそこから三角形を構築したいものです。

直近の2つの上側シグナルと直近の2つの下側シグナルを取得するために、コードを少し修正しようとしたのですが、ちょっと行き詰ってしまいました...。

この部分は、両方のジグザグが整列しているときにシグナルを描くものです。

// Do both zigzag agree on the signal?

if(SlowSignal == FastSignal && SlowSignal != EMPTY_VALUE)

{

if(SlowSignal == OP_BUY)

{

ExtMapBuffer3 = fr_support - nShift*Point;

} else {

ExtMapBuffer3 = fr_resistance + nShift*Point;

}

[/CODE]

after this i want to get the most recent upper and the previously upper and most recent lower and the previously lower like this

[CODE]

HighOldest = ExtMapBuffer3[ArrayMaximum(ExtMapBuffer3,BarsBack,i+2)];

LowOldest = ExtMapBuffer3[ArrayMinimum(ExtMapBuffer3,BarsBack,i+2)];

つまり、ExtMapBuffer3から最近のものを、HighOldestから最も古いものを取得する必要があります。

そうすれば、トレンドラインを作るための2つのポイントが得られるはずです。

しかし、何らかの理由でバッファのどこかにEMPTY_VALUEがあるはずです。なぜなら、ArrayMaximumを実行すると、配列の最大値としてEMPY_VALUEが返されるからです。

ということでよろしいでしょうか。

というのは、ArrayMaximumを実行すると、配列の最大値としてEMPY_VALUEが返されるからです。

 
mladen:
TFI インジケータ名の後("Efficiency_v1.1 "の後)に""があるのは、あってはならない余分なパラメータです。インジケータ名の後の""の部分(空文字列)を削除してください。

Mladenさん、こんにちは。

ご指摘ありがとうございます。ロング/ショートトレードを開くための制約が満たされている(ゼロラインが交差している)にもかかわらず、EAがもうトレードを開かないので、私はフィルタのシグナルを間違ってキャッチしたのかもしれないと思います。あなたの専門知識で私のコードをレビューすることができますか?

どうもありがとうございます(再度) :-)

if(openedOrders<=0)

{

double trend_up = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trend_down = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

double trendf_up = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,1); // Signal Buffer 1

double trendf_down = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,2);

int clongs = 0;

int cshorts = 0;

for(i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check # of long trades.

if(OrderType()==OP_SELL) cshorts++; // Check # of short trades

}

if(trend_up!=trend_down)

{

if((clongs 0 && trendf_down<0)) OpenBuy(); // Indicator and filter = long

if((cshorts < maxshorttrades && trend_down==-1) && (trendf_up0)) OpenSell(); // Indicator and filter = short

}

}

よろしくお願いします。

TFI

ファイル:
betrade.jpg  76 kb
 

皆さんこんにちは。私はAbsoluteStrengthというインディケータを使っています。

どなたか、青い線が青い破線と交差した時、または赤い線が赤い破線と交差した時(添付のスクリーンショットのように)、アラームを追加していただけないでしょうか?

アブソリュートストレングス_v2.3_600.mq4

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

Petr Jahoda

 

こんにちは、プロコーダです。

私のADXトレンド強度フィルタの計算が正しいかどうか疑問に思っています。

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

ありがとうございます。

 
tfi_markets:
こんにちは、プロコダーの皆さん。

私のADXトレンドストレングスフィルタの計算が正しいかもしれませんね。

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

ありがとうございます。

tfi_markets

関数に関する 限り、はい、それはそのように呼び出すことができます。

 
mladen:
tfi_markets 関数に関する限り、はい、それはそのように呼び出すことができます。

Mladenさん、こんにちは。

コメントありがとうございます。特にMQL4 / MT4でのデバッグは大変なので、私のコードは主にシンプルでバグがないようにしたいと思います。

ADXが20を超えるような一次的な強いトレンドをトレードしたいと仮定すると、私もこのように少しシンプルなコードを書くかもしれません。

bool ADX_filter()

{

bool result=false;

if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>20) result = true; // buy

if (iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)<20) result = false; // sell

return (result);

}

if(clongs1 && ADX_filter()==true)) OpenBuy();

if(cshorts<maxshorttrades && trendc==-1 &&(CCIFilter<-1 && ADX_filter()==false)) OpenSell()

右?

事前にありがとうございました、そして素敵な週末をお過ごしください。

 

こんにちは。

最近、船体移動平均を使っているのですが、インジケーターウィンドウでHMAスロープも試してみようと思い、見つけたのですが、私のmt4プラットフォームでは正しく機能しません。

船体移動平均2.01_amp_sr_lines_separate.mq4です。

ありがとうございます。

 
NWFstudent:
こんにちは。

最近、船体移動平均を使っていて、インジケーターウィンドウでHMAスロープも試してみようと思い、見つけたのですが、私のmt4プラットフォームでは正しく機能しません。

船体移動平均2.01_amp_sr_lines_separate.mq4

ありがとうございます

は、すでに問題の半分を解決しているように見えますね。

 
NWFstudent:
こんにちは。

最近、船体移動平均を使っていて、インジケーターウィンドウでHMAスロープも試してみようと思い、見つけたのですが、私のmt4プラットフォームでは正しく機能しません。

船体移動平均2.01_amp_sr_lines_separate.mq4

ありがとうございます。

NWFstudent

2色目の色を黒から他の色に変える(3色目も2色目と同じ色にする) 今は背景と2色目が同じ黒なので見えないだけです。

 
mladen:
NWFstudent 2番目の色を黒から他の色に変えてください(そして3番目の色を2番目の色と同じ色に設定してください)。

わー、今、私は大馬鹿者になっています。

私は、上部が青、下部が赤の色を入力して見ていたのですが、もちろん、いつものようにあなたが正しいです。

でも、もちろん、あなたはいつも通り正しかった。