どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1076

 

こんにちは、この質問についてご教授ください。私はコードを持っている(どこか良い人からダウンロードした) - コードの本質は次のとおりです:注文がストップロスで閉じられた場合、それは同じパラメータで再び設定されます。しかし、問題は、私が今実行すると、コードは過去の期間のすべての注文を再挿入し、私はそれらの注文は、例えば、今日だけストップロスによって閉じている必要があることです!私は、そのような注文をすることができます。どのフィルターを入れたらいいのか、アドバイスをお願いします。注文日を取得し、現在の日付と比較する方法がわからない?ありがとうございます。

  1. double OOP=0,OTP=0,OSL=0,OL=0。
  2. int OT=0;
  3. for (int i=OrdersHistoryTotal()-1; i>=0; i--)
  4. {
  5. if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
  6. {
  7. OT = OrderType();
  8. OSL =NormalizeDouble(OrderStopLoss(),Digits)。
  9. if (OT<2)
  10. {
  11. if (NormalizeDouble(OrderClosePrice(),Digits)==OSL)とする。
  12. {
  13. OOP = NormalizeDouble(OrderOpenPrice(),Digits)。
  14. //OSL = NormalizeDouble(OrderStopLoss(),Digits)。
  15. OTP = NormalizeDouble(OrderTakeProfit(),Digits)。
  16. OL = OrderLots();
  17. }
  18. さもなければOOP=0。
  19. が壊れる。
  20. }
  21. }
  22. }
  23. if (OOP!=0)
  24. {
  25. for (i=0; i<OrdersTotal(); i++)
  26. {
  27. if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  28. {
  29. if (OrderSymbol()==Symbol())
  30. {
  31. if (NormalizeDouble(OrderOpenPrice(),Digits) == OOP && OL == OrderLots()) return(0)を実行します。
  32. }
  33. }
  34. }
  35. if (OT==OP_BUY) OT=OP_BUYLIMITとする。
  36. if (OT==OP_SELL) OT=OP_SELLLIMIT;
  37. if (OrderSend(Symbol(),OT,OL,OOP,0,OSL,OTP,NULL,0,0,clrNONE)==-1)とする。

 
rabanik:   注文日を取得し、現在の日付と比較する方法

これでOKですか? if (OrderCloseTime() > iTime(Symbol(),PERIOD_D1, 0) ...

しかし、真夜中前には、その日の注文が厚くなり、真夜中直後には、空っぽになる

RequiredInterval=36000; // 10時間

こんな感じで良いのでしょうか?if ((TimeCurrent()-OrderCloseTime())の場合。< RequiredInterval) ...

 
LRA:

これでいいのか? if (OrderCloseTime() > iTime(Symbol(), PERIOD_D1, 0) ...) ...

しかし、午前0時前には今日のオーダーが密集し、午前0時直後には空っぽになる。

RequiredInterval=36000; // 10時間

こんな感じで良いのでしょうか?if ((TimeCurrent()-OrderCloseTime())の場合。< RequiredInterval) ...

ありがとうございました。試してみます!
 
どうしたんだ?クロスするとき、価格ラインに触れるとき、Alertは停止せず、すべてのtickで 動作します、どうすれば修正できますか?
ファイル:
 
こんにちは!この問題を解決するのを助けてください。 MAに5分のタイムフレームを付けて1分足チャートで表示すると、スケールを考慮せずに1対1で描画されます。ありがとうございました。
 

Help who can, there is a error in the line below.mt5でのコード。

StringTrimLeft( StringSubstr(ResultSymbols,1,StringLen(StringSubstr(ResultSymbols,0,1))- 1));

 
ara66676: 回線にエラーが発生した。mt5のコード StringTrimLeft( StringSubstr(ResultSymbols,1,StringLen(StringSubstr(ResultSymbols,0,1))- 1));
ResultSymbols="12345 "という文字列を追加しました。分割してみる
 
LRA:
ResultSymbols="12345 "という文字列を追加しました。パーツに分割してみる
つまり、まず文字列を宣言し、それに計算を割り当て、その文字列をStringTrimLeft()関数に渡す必要があるのですが、その理由がわかりました。
 
ObjectGetValueByShiftは補間処理?
 
mario_SC--:   ObjectGetValueByShiftは補間ですよね?
むしろ、直線的な外挿である。ヘルプによると、「価格価値は一次式で計算されます。