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

 
Vinin:

インジケーターを見ないとわからない。もしかしたら、解決策があるかもしれません。

投稿をご覧いただき、ありがとうございます。インジケーターを添付します。

不要な矢印をフィルタリングするフィルターが必要です。56ページの写真に写っています。同じ方向に向かうすべての矢印のうち、必要なのは最初の1本だけです。

私もこの方法でやりましたが、違和感があります。

for(int i=limit-1;i>=0;i--){。

if( flag[i] == 1 && 販売条件){.

Sale[i] = High[i]+point*Point;

flag[i] == -1 ;

}

if(flag[i] == - 1 && 買い条件){.

買い[i]=安値[i]-ポイント*ポイント。

フラグ[i] == 1 ;}.

}

}

ファイル:
cross.mq4  4 kb
 
gince:

投稿をご覧いただき、ありがとうございます。インジケーターを添付します。

不要な矢印をフィルタリングするフィルターが必要です。56ページの写真に写っています。同じ方向に向かうすべての矢印のうち、必要なのは最初の1本だけです。

この方法でやったことがあるが、正しくない。



あるいは、ゼロバーではなく、1本目のバーでコントロールするのがよいでしょう。誤信号の発生を抑えることができる。

もちろん、1小節分のタイムラグが発生します。

ゼロでのコントロールは実現が難しく、ゼロでの再描画も当然見えてきます。信号が消えても、後で別のバーで再び発生することがある

 
Vinin:


代替案として、ゼロバーではなく、最初のバーで制御するのがよい。誤信号の発生が少なくなります。

もちろん、1小節分のタイムラグが発生します。

ゼロでの制御はより難しく、ゼロでは当然オーバーシュートが発生します。シグナルが消えても、後で別のバーで繰り返されることがあります。

最初のバーでインジケータからデータを取る
 
gince:
指標のデータは、最初のバー

そのため、ほとんどすべてが揃っていたのですが、なぜかコメントアウトされています。
 
Vinin:

ほぼ全てに対応していましたが、なぜかコメントアウトされています。

を削除すると、1本ずつ矢印が描画されます。

画像を添付します。日付は同じですが、インジケーターの表示方法が2種類あります。

1をチャートに重ねて表示(最初の1ではなく、最後の1が表示されることもある)

2テスターより

3 全矢印

矛盾があるんです。デモは、タイムフレームを切り替えるまで、テスターと同じ描画になる

 
gince:

を削除すると、1本ずつ矢印が描画されます。

画像を添付します。日付は同じですが、インジケーターの表示方法が2種類あります。

1をチャートに重ねて表示(最初の1ではなく、最後の1が表示されることもある)

2テスターより

3 全矢印

齟齬がある。デモでは、時間軸を切り替えるまで、テスターと同じように表示されます


なるほど。私のやり方でやります。
 

というわけにもいかず

for (i = 0; i < counted_bars; i++)

逆算必至

 
gince:

というわけにもいかず

for (i = 0; i < counted_bars; i++)

逆算必至


自分のやり方でやるから、カウントダウンが違う。過去から現在に至るまで、いつもそうしています。好みの問題ですけどね。正しいアプローチをすれば、どうということはない
 

こんにちは。どこがエラーなのか調べてもらえますか?ピップをキャッチし、ロック状態が発生したら、結果の確定をキャンセルするというものです。

if(OrderType()==OP_BUY){
if((OrderType()==OP_SELL) == false) {
if(Bid>=(OrderOpenPrice()+PipsProfit*Point))である。{
fm=OrderClose(OrderTicket(),OrderLots(),Bid,Proskalz);
if(fm!=0 && fm!=-1){
Comment("Buy order closed upon reaching PipsProfit =",PipsProfit,");
Print("Buy order closed upon reaching PipsProfit =",PipsProfit,");
}.
if(fm==0 || fm==-1){
GLE=GetLastError();
ED=ErrorDescription(GLE);
Print("Error # ",GLE, " while trying to close Buy-order # ",OrderTicket());
Print ("Error Description - ",ED);
} }; GLE=GetLastError(); ED=ErrorTicket(); GLE=ErrorTicket( )
}}}

???????

よろしくお願いします。

 
さて...、PROFIさん、インジケーターをどうしたらいいのか、答えを出してください。可能なのか不可能なのか、教えてください。(質問はこのスレッドで先に書かれていたもので、重複すると2回目の黄色が出ます :o))