[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 55

 
mr_Johns:

if((b_mod) && (priceB > Ask))OrderModify(b_ticket,priceB,priceS,0,0,Brown);
if((s_mod && (priceS < Bid)))OrderModify(s_ticket,priceS,priceB,0,0,Brown);


ここでは、MarketInfo(Symbol(),MODE_STOPLEVEL)を考慮する必要があります。

priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*ポイント

priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*ポイント




いいえ、この質問はすでに上で解決済みです。この関数は、テスト中に各ティックで 単純に動作し、新しい価格はそれほど早く取得されませんでした。しかし、価格が変わらなかったときにエラーが発生しました。
 
hoz:

まあ、double 型やint 型の関数に要素を渡しても、曲解することなく同じ操作ができるのですが。なぜ人生を複雑にするのか?

関数に型がある場合、その関数はその型の値を返すと仮定されます。

int test() {
  int res;
  
  // какие-то действия
  
  return(res);
}

あなたの関数は何も返しません。

 
hoz:

いいえ、この質問はすでに上記で解決済みです。この関数は、テスト中に各ティックで単純に動作し、新しい価格はそれほど早く取得されませんでした。しかし、価格が変わらなかったとき、エラーがポップアップしました。

ダメってどういうこと?

priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point

を満たさず priceB >Ask (コード通り)

を選択すると、エラーが発生します。

価格が変化していないときに注文を変更しないようにするために、priceB!=OrderOpenPrice()という条件を入力する必要があります。

 
MikeM:
私ならHour()>=18と書いて分単位は完全に 捨てます。
そして、それは正しいことなのです。その機能を別の用途に使い、機械的にここに移したのです。
//---не давать коду советника работать в пятницу с 18-00 по серверному времени 
   if(DayOfWeek()==5 && Hour()>=18){
      
      return(0);  
   } 
 
あるタイムフレームで線が引かれ、その線が引かれるためのデータが別のタイムフレームから取られるようなインジケータを書く ことができるかどうか教えてください。 目的:最後のバーの再描画を視覚化する。
 
lottamer:
あるタイムフレームに線を引き、その線は別のタイムフレームからデータを取得するインジケータを書くことが可能かどうか助言してください。 目的は、最後のバーの再描画を視覚化することです。

初歩的なワトソンですが・・・。いずれの場合も、Period()の代わりにPERIOD_M15(データを受け取りたい時間枠)を使用する...そして、そのインジケータを現在のチャートに貼り付けます。つまり、データを取りたい時間帯を強制的に設定することです。
 
Sepulca:

初歩的なワトソンですが・・・。いずれの場合も、Period()の代わりにPERIOD_M15(データを取得したい時間枠)を使用します...。そして、そのインジケータを現在のチャートに貼り付けます。つまり、データを取りたい時間帯を強制的に設定するのです。


Expert Advisorを書くのであれば、簡単なのですが。

しかし、指標はある。 今まで書いたことがない。

例として標準的なストキャスティックを見てみました。インジケーター入門編を読みました。

期間については読んだことがありません。インジケータが適用された時間枠でバーが考慮されることを意味しているようです。

というのが、私の質問の理由です。

 
lottamer:


これは、私がEAを書くのであれば、簡単なことです。

しかし、指標はある。 今まで書いたことがない。

例として標準的なストキャスティックを見てみました。インジケーター入門編を読みました。

期間については読んだことがありません。インジケータが適用された時間枠でバーが考慮されることを意味しているようです。

というのが私の質問の理由です...。


標準的なストキャスティクスでは

double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)

独自のインジケータを作成する場合は、Bars の代わりにint iBars( string symbol, inttimeframe) を使用します。

https://docs.mql4.com/ru/series/iBars

 
Sepulca:


標準的なストキャスティックでは

double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)

独自のインジケータを作成する場合は、Bars の代わりにint iBars( string symbol, inttimeframe) を使用します。

https://docs.mql4.com/ru/series/iBars


この問題は、簡単に解決できるように思えた。

全てのBarsをiBarsに置き換えた(viaint iB; iB=iBars("EUROUSD",PERIOD_M5);)エラーはありません。

が、チャートはない。空のウィンドウが表示されます。

明らかに何かが足りない。

インジケータは1本のバーに12本の線を引くことができますか? 1時方向に12本のペンタムがあり、それぞれが線を引くからです。

 
lottamer:


問題は簡単に解決しそうだった。

すべてのBarsをiBarsに置き換えた(viaint iB; iB=iBars("EUROUSD",PERIOD_M5);)エラーなし

しかし、チャートはない。空のウィンドウが表示されます。

明らかに何かが足りない。

インジケータは1本のバーに12本の線を引くことができますか? 例えば、1時位置に12本のペンタがあり、それぞれが独自の線を描きます。


Close - iClose、Open - iOpen、Time - iTime Volume - iVolume等も同様です。

インジケータは、0から7https://docs.mql4.com/ru/customind/indicatorbuffers までの最大8本の線を描くことができます。