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

 

この方法では、指定したマジックナンバー(とシンボル)を持つ オーダーのみをチェックします。

dasio:
この方法では、指定されたマジックナンバーでオープンされていない注文をチェックするのですよね?特定のシンボルとマジックナンバーを持つ注文をチェックする必要があるのですが。重要かどうかわかりませんが、Strategy Testerでエラーを発見しました。
 
drofwarc:
こんにちは、皆さん。

Sleep()を使うか、タイムスタンプを記録して、そのタイムスタンプからn秒後に別のシグナルを許可することによって、EAをトレードの間に一時停止させることが可能であることは知っています。

しかし、インジケータに同じことをすることは可能でしょうか?

例えば、2本の移動平均のクロスで矢印を表示するインジケータで、クロスの後、別の矢印を表示する前にn本のバーをスキップできるようにしたいです。言い換えれば、n本のバーが経過する前に別のクロスが発生した場合、インジケータはクロスを無視し、矢印をプロットしないようにします。

これを実現するインジケータを広範囲に探しましたが、見つかりませんでした。

どなたか、この機能を持つインジケータを投稿して、私がコードを勉強できるようにしていただけませんか?あるいは、この提案のために動作するコードの例を提供していただければ、私がそれを実装してみることができます。

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

ドルフワルク

BUMP!

こんにちは、mladenさん、あなたがフォーラム中の多くのリクエストで忙しいのは知っています。しかし、私は、少なくともこのためのコーディングソリューションの方向に私を導くことができれば非常に感謝します。

よろしくお願いします。

drofwarc

 

ドロフアーク

Sleep()関数は インジケータでは動作しないので、インジケータからのタイマーを忘れることができます(ticksに依存すると、正確な時間を得ることができません)。カウントに関しては、コーディング上は問題ありません。もし、あなたが、そのようなケースでのカウントの仕方を示すような、いくつかの例を提供してくれるなら、それは可能でしょう。

drofwarc:
BUMP!

mladenさん、こんにちは!フォーラム中にたくさんのリクエストがあり、お忙しいとは思います。しかし、私は、少なくともこのためのコーディングソリューションの方向に私を導くことができれば非常に感謝します。

よろしくお願いします。

drofwarc
 
mladen:
drofwarc Sleep()関数はインジケータでは動作しないので、インジケータからのタイマーを忘れることができます(ティックに依存すると正確な時間を得ることができません)。カウントに関しては、コーディング上は問題ありません。もし、そのようなケースでどのようにカウントするかを示すために、あなたが取り組んだいくつかの例を提供することができれば、それは可能です。

mladenさん、こんにちは。

ご返答ありがとうございます。下記は、価格が反転するたびに矢印をプロットするシンプルなインジケータのコードです。有効なセットアップを見つけた後、有効なシグナルが存在したかどうかを判断するために、n本のバーを振り返る必要があります(nは設定で調整可能)。

有効なシグナルがルックバック期間内に存在 する場合、現在の有効なセットアップに基づく新しい矢印をプロットしません

有効な信号がルックバック期間内に存在しない 場合、現在の有効なセットアップに基づいて新しい矢印をプロット します。

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

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

//| Custom indicator initialization function |

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

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit() {

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

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

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

これでご理解いただけたでしょうか?

よろしくお願いします。

drofwarc

 

ヘルプ

どなたか教えてください。

VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4」を1つのチャートに2つ、異なる設定で使用したいのですが、2つ置くと1つのプライスボックスしか表示されません。

2つ置いた時、プライスボックスが1つしか表示されません。両方のプライスボックスを表示させる方法はありますか?

 

ドロフアーク

新しいシグナルを表示する前に、同じ種類の最後のシグナルからバーをカウントすることができる修正されたインジケータを添付します。ここでは、15バーの距離を設定した例です。

drofwarc:
こんにちは、mladenです。

ご回答ありがとうございました。以下は、価格が反転するたびに矢印をプロットするシンプルなインジケータのコードです。インジケータが有効なセットアップを見つけた後、有効なシグナルが存在したかどうかを判断するためにn本(nは設定で調整可能)のバーを振り返る必要があることです。

有効なシグナルがルックバック期間内に存在 する場合、現在の有効なセットアップに基づく新しい矢印をプロットしません

有効な信号がルックバック期間内に存在しない 場合、現在の有効なセットアップに基づいて新しい矢印をプロット します。

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

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

//| Custom indicator initialization function |

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

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit() {

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

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

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

これでご理解いただけたでしょうか?

よろしくお願いします。

ドルフワルク
ファイル:
test.gif  41 kb
_test.mq4  3 kb
 
ZANKY:
どなたか教えてください。

VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4」を1つのチャートで2つ、異なる設定で使用したいのですが。

2つ置いた時、1つのプライスボックスしか表示されないのですが、両方のプライスボックスを表示させる方法はありますか?

85行 目をこのように変更してコンパイルすると、マジックナンバーのように、入力のどれかが変更される限り、2つ目の価格ボックスもロードされるようになります。

ftShortName = "tbb "+ symbol + tChartPeriod +MA_Length + ATR_Length + Kv + MA_Mode +MoneyRisk + MA_Price.FTShortName = "tbb "+ symbol + tChartPeriod + MA_Mode + MoneyRisk + MA_Price;

 

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

cja

ありがとうございました。 完璧に動作しています。

 

こんにちは、ムラデンです。私はあまり英語がわかりません、すみません。

ラインが上がったり下がったりするときのインジケータを違う色にするのを手伝ってください。ありがとうございます。

ファイル:
1234.gif  23 kb
rmi.mq4  5 kb
 
mladen:
drofwarc

新しいシグナルを表示する前に、同じ種類の最後のシグナルからバーを数えることができるように修正したインジケータを添付します。以下は、15本の距離を設定した例です。

mladenさん、こんにちは。

ありがとうございます。まさに私が探していたものです。

ホリデーシーズンのベストをあなたに!

drofwarc