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

 
Annie >> :

コード全体を引用したいのですが、原始的なコードであるにもかかわらず、長すぎて記事全体に収まらないので、ここで引用します。:-(

下の方に「ファイルを添付する」というボタンがあります :)))

 
Annie >> :

さて、どうしたものか。

NormalizeDouble(Bid,4);   //:))))
[Deleted]  
alsu >> :

私が記事を書く頃には、すでに答えが出ているのです。>>ありがとうございました。:-)私は正規化しようとします、それが解決しない場合 - 私は魔法のボタン "ファイルを添付 "を使用します。:-)

[Deleted]  
アルス、価格を正規化することで問題が解決し、すべてがうまくいくようになりました。ダウンロードした名言のアーカイブに5桁の数字が入るとは思いもしませんでした。ありがとうございました。:-)
 

こんにちは。この問題を解決するためにご協力をお願いします。RSIインジケータの最大値をNバーセグメントで求める関数を書きました。

//+--------------------------------------------------------+
//| Описание : Возвращает максимальное значение индикатора RSI, на отрезке |
//| N-баров. |
//+--------------------------------------------------------+
//| Параметры: |
//| MaxRSI - максимальное значение индикатора RSI |
//| |
//+--------------------------------------------------------+

double IsMaxRSI() {

double MaxRSI = 0;


double Max_array[20];
int c, total_c = ArraySize(Max_array);
ArraySetAsSeries(Max_array,true);
{
for(c=1; c <= total_c; c++)
Max_array[c]= iRSI(Symbol(),RSI_TF,RSI_Period,PRICE_CLOSE,c);
}

MaxRSI = Max_array[ArrayMaximum(Max_array,total_c,1)];


return (MaxRSI);
}

さて、問題は、配列から変数に20という値を取り出すにはどうしたらいいのか、ということです。

double Max_array[20];


この20という値は、外部変数で変更する必要があるのですが...。よろしくお願いします。敬具 Dimitri.

 

なぜ信号が出ないのか?

最高値と最安値からpips単位でフィルターゾーンを設定したかったのですが・・・。信号が出ないのですが、どうすればいいのでしょうか?

   double hi_100 = iHigh(Symbol(), tf_100,iHighest(NULL, tf_100,MODE_HIGH, hibar, n_bar)); //поиск хая наибольшего значения
   double lo_100 = iLow (Symbol(), tf_100,iLowest (NULL, tf_100,MODE_LOW, lobar, n_bar));  //поиск лоу наименьшего значения
   if (Bid < lo_100 + zone * Point){ open = 1;} //зона разрешения покупок от лоу
   else if (Bid > hi_100 - zone * Point){ open=-1;} //зона разрешения продаж от хая

 
1Rakso >> :

なぜ信号が出ないのか?

最高値と最安値からpips単位でフィルターゾーンを設定したかったのですが・・・。信号が出ないのですが、何が悪いのでしょうか?

わかったのですが、なぜタイムフレームを外部変数に出力できないのか、疑問が残ります。

double hi_100 = iHigh(Symbol(), 0,iHighest(NULL, 0,MODE_HIGH, hibar, n_bar)); //поиск хая наибольшего значения
   double lo_100 = iLow (Symbol(), 0,iLowest (NULL, 0,MODE_LOW, lobar, n_bar));  //поиск лоу наименьшего значения
   if (Bid < lo_100 + zone * Point){ open = 1;} //зона разрешения покупок от лоу
   else if (Bid > hi_100 - zone * Point){ open=-1;} //зона разрешения продаж от хая

 

オブジェクトを 反対側から描画 する方法について教えてください。

この例では

         objName = "ob"+ObjectsTotal();
         ObjectCreate( objName,OBJ_ARROW,0
            , xTime( window. position )
            , pp2
         );         
         ObjectSet( objName, OBJPROP_ARROWCODE,5);<--> рисуется ценовая метка с лева, а надо с парава
         ObjectSet( objName, OBJPROP_COLOR,White);
         ObjectSet( objName, OBJPROP_STYLE,2);
助けてください。
 
NEKSUS_ >> :

オブジェクトを反対側から描画する方法について教えてください。

この例では

よろしくお願いします
ObjectSet( objName, OBJPROP_ARROWCODE,5);// левая ценовая метка
ObjectSet( objName, OBJPROP_ARROWCODE,6);// правая ценовая метка
 
Dimi >> :

こんにちは。この問題を解決するためにご協力をお願いします。RSIインジケータの最大値をNバーセグメントで求める関数を書きました。

//+--------------------------------------------------------+
//| Описание : Возвращает максимальное значение индикатора RSI, на отрезке |
//| N-баров. |
//+--------------------------------------------------------+
//| Параметры: |
//| MaxRSI - максимальное значение индикатора RSI |
//| |
//+--------------------------------------------------------+

double IsMaxRSI() {

double MaxRSI = 0;


double Max_array[20];
int c, total_c = ArraySize(Max_array);
ArraySetAsSeries(Max_array,true);
{
for(c=1; c <= total_c; c++)
Max_array[c]= iRSI(Symbol(),RSI_TF,RSI_Period,PRICE_CLOSE,c);
}

MaxRSI = Max_array[ArrayMaximum(Max_array,total_c,1)];


return (MaxRSI);
}

この配列から20という値を変数に取り出すにはどうしたらいいのでしょうか?

double Max_array[20];


この20という値は、外部変数で変更する必要があるのですが...。よろしくお願いします。敬具 Dimitri.

まず、コードを論理的な順序で並べます。

ArraySetAsSeries(Max_array,true) - なぜ?

for(c=1; c <= total_c; c++) - 配列は0からtotal_c-1までのインデックスを持つ