コーディングの方法は? - ページ 64

 

ご回答ありがとうございました。引数の問題ではなく、ループ内の計算が正しいです。問題は、関数 内のループの外でのiMAonArrayの2回目の呼び出しにあると思います。

ご指摘の件

 

MaxBarsToCount(History)を制限に追加する最適な方法

MaxBarsToCount (History)を制限する場合、Correctionなどを追加する必要がある場合があります。

一番安全で簡単で普遍的な方法はないでしょうか?

----------------------

例えば、light fisher 4 stoch smothing があります。

----------

int start()

{

int counted_bars=IndicatorCounted();

//エラーの可能性をチェック する

if(counted_bars<0) return(-1);

int limit=Bars-counted_bars;

if(limit>maxbars)limit=maxbars;

if (limit>Bars-lenth-1)limit=Bars-lenth-1。

//----

for (int shift = limit; shift>=0;shift--)

{

AuxBuffer[shift]=(iStochastic(NULL,0,lenth,2,1,MODE_SMA,0,MODE_MAIN,shift)/100-0.5)とする。

+0.5*AuxBuffer[shift+1];

FishBuffer[shift]= 0.25* MathLog((1+AuxBuffer[shift])/(1-AuxBuffer[shift]))+FishBuffer[shift]= 0.25* MathLog((1+AuxBuffer[shift])/(1-AuxBuffer[shift]))

0.5*FishBuffer[shift+1];

SignalBuffer[shift]=FishBuffer[shift+1]とする。

}

//----

return(0);

}

------------------------

フィッシャーリミットf-laの場合。

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(int i=limit; i>=0; i--)

{

....

for Stoch:

int start()

{

int i,k;

int counted_bars=IndicatorCounted();

二重価格。

//----

if(Bars<=draw_begin2) return(0);

//---- 初期値ゼロ

if(counted_bars<1)

{

for(i=1;i<=draw_begin1;i++) MainBuffer=0;

for(i=1;i<=draw_begin2;i++) SignalBuffer=0;

}

//---- 最小値のカウント

i=Bars-KPeriod;

if(counted_bars>KPeriod) i=Bars-counted_bars-1.If(counted_bars>KPeriod)とする。

while(i>=0)

{

double min=1000000;

k=i+KPeriod-1;

while(k>=i)

{

price=Low[k];

if(min>price) min=price;

k--;

}

LowesBuffer=min;

i--;

}

....

p.s. 添付のインジケータは、クリーンなフィッシャー変換とストークをベースにしていますが、MaxBarsを少し修正する必要があります...(MaxBarsがアウトの場合は問題ありません)

 

こんにちは。

皆さん、どうもありがとうございます。現在、正常に動作しており、1バーにつき1つの注文しかオープンしていません。このようなEAで良いのは、バックテストに「Open price only」オプションを使えることで、「per tick」よりも高速になります。

 
Michel:
Omeletteさん、BTは、履歴を見るのに、問題があるのをご存知でしょうか?数ヶ月前にこのバグについてMetaquoteに問い合わせたのですが、何も答えてくれませんでした...。多分、今は直っているのでしょうが・・・。

Michelさん、ご指摘ありがとうございます。わー、知らなかったー、これは大きなバグと評価します!

これを確認 するために(MT 208で)、OrdersHistoryTotal()の情報を使って、マーチンゲーラーでトレードの方向を決め、別のバージョンで「従来の手段」を使いました - 両者のエクイティカーブは「同じ」であるべきです。これは私が見つけたものです...。

最新のメタトレーダーで確認したところ、このバグはまだ残っていました。

 

MQLコードが必要です

こんにちは。

EAに統合するためのコードが必要です。

1) PM2:00からPM5:00の間、いかなるポジションもオープンしてはいけないという制限をEAに加える必要があります。この簡単なコードと、EAのどこにそれを置くことができるかを教えてください。

2) ブローカーによるSL狩りのために、ポジションを開くためにEAにSLを入れたくありません。そこで、EAに「オープンしたポジションの利益の合計が+20ポイントなら、ポジションを閉じる」というチェックを 入れる必要があるのです。

いつも応援してくださるサポーターの皆様、本当にありがとうございます。

よろしくお願いします。

Kashif.

 
oilfxpro:
......EAはスワップ現在レートとスワップ過去レートを見ることができますか? OILFXPRO

残念ながら、そうではありません。

PS - 私の回答は誤解を招くようです。 過去のスワップ金利を取得できないという意味です - 現在の金利を取得することは問題ありません....

 

複数の注文を一度に処理する

こんにちは。

Expert Advisorで次のようなプログラムを作りたいのですが。

私は、同時に複数の注文(3-6注文)を開きたいと思います。

1.オーダー:ボリューム、T/P、S/L、T/S

.

.

.

5.オーダーボリューム、T/P、S/L、T/S

私を助けることができる?

ありがとうございます。

デルムーロ

 

学びたいことがあるんです。

皆さん、こんにちは。

私は次のような簡単なコードのためのプログラミングのヘルプを必要とします。

市場価格 > デルタピップスによってMAの値は、買いを開く場合。

市場価格<デルタpipsによってMAの値は、売りを開く場合。

TP SLとTSで。誰か専門家のプログラマーがコードの書き方を教えてくれませんか?

ありがとうございます。

 

このコードを変更して、3つのインジケータが上昇トレンド(青)または下降トレンド(赤)のどちらかに同期したときのみ注文が出されるようにするにはどうすればよいのでしょうか。

私は古いEAをテンプレートとして使用し、正しいシグナルを作成するために指標を追加しようとしました。

このEAとここ数日のパフォーマンスを添付しておきます。 IMO

どなたか正しい方向を示していただけませんか?

乾杯

Beno

ファイル:
 

このインクルード関数を、ループで「詰まる」可能性がないようにコード化する方法はありますか?

int CBM(int intMagic)//CloseByMagic

{

int intOffset=0;

while(OTBM(intMagic)>0)

{

OrderSelect(intOffset,SELECT_BY_POS);

if(OrderMagicNumber()==intMagic)

{

if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),999,Red);

if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),999,Orange);

}

else {

intOffset++;

}

}

return(0);

}

助けてくれる人に感謝します。