[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 482

 
Urain писал(а)>>

価格と設定したストップループの差がStopLossより大きいかどうかをチェックするbool関数()を書く(marketinfoより)。

であれば真、そうでなければ偽となります。

そして、注文を出す前に if(function()) をチェックし、注文を出すようにします。


この証券会社のストップロスより30%多く設定したら、なぜ必要なのですか?

khorosh さんが書き込みました >>1

2点、3点は誤りです。右:ストップロスとテイクプロフィットはアスクから、ストップロスとテイクプロフィットはビッドから設定。
チェックは簡単です。Takeprofitが発動した場合、あなたのバリアントで得られる利益を計算します。ポイントでのTakeProfitと等しくなることはありません。提案するバリエーションでは、まったく同じになります。


そこで、前回と同じように修正したところ、同じ結果になりました。 価格の正規化だけを残しました。
しかし、テスターのエラーは残っており、最も興味深いのは、すべての注文に影響があるわけではなく、一部の注文に影響があるということです。
10件の注文のうち1件は4107のエラーが発生し、残りの9件はエラーなしで戻ってきます。

 

Помогите пожфлуйста с индикаторами: 1-й чтобы не убирал разметку на графике. 2-й чтобы лини старших ТФ были внешними на младших и чтобы можно было задать отоброжение(после того как задаешь отоброжение сразу все нормально пока не перещелкнешь ТФ,после этого все линии младших ТФ на старших)нии младших ТФ на старших)

 
忘れてた...
ファイル:
macd.rar  7 kb
 
2
ファイル:
multi.rar  9 kb
 
baltik писал(а)>>


証券会社でストップロスをストップレベルより30%多く設定した場合、なぜ必要なのですか?


そこで、そのままやり直したところ、結果は変わらず、価格の正規化だけを残しました。
しかし、テスターでのエラーは残り、最も興味深いのは、一部の注文でエラーが発生し、すべての注文でエラーが発生するわけではないことです。
10個のうち1個はエラー4107が出ましたが、他の9個はエラーなしで処理されています。


コードを見せてください、見てみましょう。
 
Noterday >>:
Народ, у меня проблема, причем никак не могу допетрить в чем дело, особо не пинайте.
Есть стандартный MACD, хочу в индикаторе отметить все пики столбцов (значками), вот код:
Таким образом я нарисовал все экстремумы в индикаторе. Всё ОК, НО!
Когда функцией Print я вывожу значения всех найденых пиков
то вот что выходит:
Я так понимаю что 2147483647 это нули или пустые значения?

さて、誰も助けてくれないのでしょうか?:)

 
Noterday писал(а)>>

さて、誰も助けてくれないのでしょうか?:)


MAX配列とMIN配列に問題があるようです。
SetIndexBuffer()でインジケーターバッファにリンクしていますか?

 
はい、もちろんです :)
 
Noterday писал(а)>>
はい、もちろんです :)


IndicatorBuffers()関数を使用していますか?

 
以下は、そのコードの全容です。
#property indicator_separate_window
#property indicator_buffers 4

#property indicator_color1 MediumPurple
#property indicator_color2 MediumPurple
#property indicator_color3 Green
#property indicator_color4 Red

#property indicator_width3 1
#property indicator_width4 1


extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;

double MMACD1[];
double SMACD1[];
double MAX[];
double MIN[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_LINE);

SetIndexStyle(2,DRAW_ARROW);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(2,119);
SetIndexArrow(3,119);

SetIndexDrawBegin(1,SMACD1);
IndicatorDigits(Digits+2);

SetIndexBuffer(0,MMACD1);
SetIndexBuffer(1,SMACD1);
SetIndexBuffer(2,MAX);
SetIndexBuffer(3,MIN);

IndicatorShortName("MACD("+FastEMA+","+SlowEMA+","+SignalSMA+")");
SetIndexLabel(0,"MACD");
SetIndexLabel(1,"Signal");

return(0);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

for(int i=0; i<limit; i++)
MMACD1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

for(i=0; i<limit; i++)
SMACD1[i]=iMAOnArray(MMACD1,Bars,SignalSMA,0,MODE_SMA,i);

for(i=0; i<limit; i++)
{
if(MMACD1[i+1] > MMACD1[i+2] && MMACD1[i+1] > MMACD1[i])
MAX[i+1] = MMACD1[i+1];

if(MMACD1[i+1] < MMACD1[i+2] && MMACD1[i+1] < MMACD1[i])
MIN[i+1] = MMACD1[i+1];
}

for(i=0; i<limit; i++)
{
if (MAX[i+1] != EMPTY_VALUE)
Print(MAX[i+1]);
}

return(0);
}
//+------------------------------------------------------------------+