double close_price(int nomer_bara)
{
if(nomer_bara<1)
{
Alert("нельзя анализировать текущий бар");
}
else
{
if(iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)<iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)/3)//возвращает 1/3 если цена текущего бара закрылась ниже 1/3 его спреда
{
return(1/3);
}
if(iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)>iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)/3&&(iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)<iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)*2)/3)//возвращает 2/3 если цена текущего бара закрылась ниже 2/3 и выше 1/3 его спреда
{
return(2/3);
}
if((iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)>(iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara))*2)/3&&iClose(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara)<iHigh(Symbol(),NULL,nomer_bara)-iLow(Symbol(),NULL,nomer_bara))//возвращает 1 если цена текущего бара закрылась выше 2/3 его спреда
{
return(1);
}
}
}
if(close_price(1)==1/3)// в случае если цена закрылась внизу то нарисовать линию на этом баре
{
SetVLine(Red, "", Time[1], STYLE_SOLID, 2);
}
и так вся проблема заключается в том что линия рисуется на каждом баре не пойму какого черта... помогите пожалуйста
テストの品質は何に依存し、どうすれば最大まで上げられるのか?
こちらのサイト、 99%のシミュレーション品質でEAをテスト する方法をご覧ください。
http://tradelikeapro.ru/kak-poluchit-kachestvo-modelirovaniya-99/
BOOL型の場合はそうです。つまり、MQL4の古いバージョンからのboolの場合です。1バイトのboolの場合は、この限りではありません。値が0より大きい場合、オーバーフローが発生します。
じゃあ、なんでだろうね。
エラーや警告を出さずにコンパイルできますか?
じゃあ、なんでだろうね。
は、エラーや警告を出さずにコンパイルしますか?代入演算子は、bool 型に対してオーバーロードする必要があります。オーバーフローを監視し、1以上であれば代入してtrueを返す。
警告レベル4のスタジオでは、論理式に非論理的な型を挿入しようとすると、しばしば警告が表示されます。またはその逆で、算術演算で 論理型が使用される場合。
代入演算子はbool型に対してオーバーロードされる必要があります。オーバーフローを監視し、1より大きい場合は、代入して真を返す。
警告レベル4のスタジオでは、論理式に何らかの非論理的な型を挿入しようとすると、しばしば警告が発生します。また、その逆で、算術演算で論理型を適用する場合。
の方が論理的でしょう。
を発行し、警告を出さずに旧バージョンのままにしておく。
は正確ではありませんが、要旨は正しいです。
実際:ゼロは偽に対応し、ゼロ以外の値は真に対応する
まあ、結局はプログラマーじゃないんですけどね...。
口座番号1-5桁で 最小ロット0.01、ステップ0.01(ビルド584)、口座番号2-4符号で最小ロット0.1、ステップロット0.1(ビルド584)、口座番号3は番号2と同じですが端末はビルド509です。
そして、ストップロス・トロールがある。
なぜアカウント#1ではストップロスが正常にトロールされるのに、アカウント#2、3では「エラー130」なのか?論理が破綻しているが、一応は成立している...。
まあ、結局はプログラマーじゃないんですけどね...。
口座番号1-5桁で最小ロット0.01、ステップ0.01(ビルド584)、口座番号2-4桁で最小ロット0.1、ステップ0.1(ビルド584)、口座番号3、2番と同じタコエ、端末のみビルド509があります。
そして、ストップロス・トロールがある。
なぜ口座1のストップロスは正常にトレールしているのに、口座2と3は「エラー130」と表示されるのですか?論理が破綻しているが、一応は成立している...。
問題自体が、5桁の口座か4桁の口座かを暗示しているのです。コードを見てみるとpipPoint 変数はどこで定義され、 何に相当するのでしょうか?そこに問題がある可能性が高い。
問題そのものは、5桁または4桁のカウントについての問題であることが示唆されています。コードを見ているところです。pipPointsは どこで定義され、 何に相当するのでしょうか?そこに問題がある可能性が高い。
initでpipPoints = MarketInfo(Symbol(), MODE_POINT)と定義しました。
MaxStopの値を大きくして、トロールも大きくすれば小刻みに変化するはずですが、1ポイント単位で変化し、少なくとも4桁でトロールが始まってしまいます...。やはりロジックを修正する必要がありますね、ピッチを調整する必要があります。
こんにちは。
質問は以下の通りです。私はHeiken Ashi Smoothed indicatorhttps://www.mql5.com/ru/code/7930 を持っています。
このインディケータをより高いタイムフレーム、例えば30分や1時間のタイムフレームで5分足のチャートに取り付けられるようにするには、インディケータのコードにどんな変更を加えればよいでしょうか。
ありがとうございます。
私は同様の質問をしました - H4チャートに週足チャートから指標を適用する方法。 私はいくつかのフォーラムで叩いた。 そしてここでも、より小さいもののためのコードで大きなTF-mのサイズを規定するよりも良いものを得なかった、誰も提案しなかった。あなたの指標は、単純な物流と単純なバーの計算のその計算を取る場合、それは可能であるが。
というように、インジケータは価格が途中で閉じるバー上に縦線を引くはずです...。