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

 
Stepan241:
情報の見せ方という点で、あなたのインティケーターを少し修正しました。よく見てください。その中には、複雑な信号が含まれています。

削除された投稿1人はすでに1ヶ月間出入り禁止になっています。
 
001:

まさにこのロジックをティッカーで説明していたので、ティッカーだと、コードでどう実装するのが良いのか理解できません。配列以外考えられません。回答してくださった方、ありがとうございました。
過去の投稿をよく読んでください。他のマジックを使って反対側のポーズを開く方が簡単なのは既に書きました。その場合、ポジションロスのチェックは、すでに開いている反対側のポジションをスキップし、再オープンはありません。
 
Vinin:

削除された投稿1人はすでに1ヶ月間出入り禁止になっています。
このインジケータを改造したのは、シグナルをより詳細に見るためという一点のみです。乖離がある場合は、常にNORMALインジケータに赤線で表示されます。悪いとか不具合とか言っているわけではなく、素晴らしい。悪いとか不具合とか言っているわけではなく、素晴らしいのですが...ただ、初心者がなぜ信号が欠けるのかを理解するには、読むだけでなく見た方がいいと思いますね。
 
Stepan241:
このインジケータを改造した目的は一つ、シグナルをより詳細に見るためです。異なる方向の信号がある場合は、常にNORMALインジケーターに赤い線で表示されます。悪いとか不具合とか言っているわけではなく、素晴らしい。悪いとか不具合とか言っているわけではなく、素晴らしいのですが...ただ、初心者がなぜ信号が欠けるのかを理解するには、読むだけでなく見た方がいいと思いますね。
あなたは、プライベートで "時計"、公式サイトのフォーラムで壊れた指標をダンプしないようにする必要があります...
 
artmedia70:

円を扱う場合で、注文記号にJPYが含まれる場合は、円の桁を調整する必要があります。心配しないでください。この機能がすべてやってくれるのです。そして、それはEA本体の外にある他の機能と同様に配置されるべきものです。そして、以下のようにEAから呼び出す必要があります。



if (isCloseLastPosByStop(Symbol(), OP_BUY, Magic)) // Если последняя закрытая позиция Buy на текущем графике с магиком Magic была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
//--------------------------------------------------------------------------------------------------------------------------
if (isCloseLastPosByStop(USDJPY, OP_SELL, Magic)) // Если последняя закрытая позиция Sell с символом USDJPY с магиком Magic была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
//--------------------------------------------------------------------------------------------------------------------------
if (isCloseLastPosByStop()) // Если любая последняя закрытая позиция с любым символом и любым магиком была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
артем,я выбрал третье условие, и вбил самый простейший код "Alert" и что,
у меня в истории были и убытки и прибыли, функция срабатывала в любом случае и при прибыли и при убытке 

 

全履歴から過去10回の注文の損益を求めるにはどうすればよいですか?

 
DhP:

全履歴のうち、過去10回の注文の損益を知るにはどうしたらいいですか?


電卓で、計算する))))

.

.

.

.

.

最近、最後のクローズドオーダーのコードを見せてもらったんだけど、見てみてよ。

bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {// Объявление функции. Передаваемые параметры: sy = символ, op - тип, mn - магик
  datetime t;                                                  // Переменная содержит время закрытия ордера
  double   ocp, osl;                                           // ocp - цена закрытия позиции, osl - цена СтопЛосс закрытой позиции
  int      dg, i, j=-1, k=OrdersHistoryTotal();                // k содержит общее количество ордеров в истории

  if (sy=="0") sy=Symbol();                                 // Если в ф-цию передан sy равный 0 или NULL, то использовать символ графика
  for (i=0; i<k; i++) {                                     // Цикл по массиву закрытых ордеров
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {      // Если выбран ордер из массива закрытых ордеров, ...
      if (OrderSymbol()==sy || sy=="") {                    // ... если его символ совпадает с нашим, ...
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {  // ... если его тип Бай или Селл, ...
          if (op<0 || OrderType()==op) {                // ... если тип ордера равен или -1 (имеется ввиду любой) или равен переданному в ф-цию, ...
            if (mn<0 || OrderMagicNumber()==mn) {       // ... если его магик или любой (-1) или равен переданному в ф-цию (магику советника), ...
              if (t<OrderCloseTime()) {    // ... если переменная t содержит время закрытия меньше, чем время закрытия выбранного ордера, то ...
                t=OrderCloseTime();        // ... то присвоим переменной t время закрытия выбранного ордера (этот ордер закрыт позже предыдущего)
                j=i;                                        // Запишем в переменную j индекс найденного ордера с максимальным временем закрытия
              }
            }
          }
        }
      }
    }
  }                                                       // По окончании цикла в переменной j находится индекс последнего закрытого ордера
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {      // Выберем его по индексу
    dg=MarketInfo(sy, MODE_DIGITS);                       // Количество цифр после десятичного точки в цене инструмента, заданного переменной sy
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2; // Честно... точно не скажу, но вижу, что корректировка под йену
    ocp=NormalizeDouble(OrderClosePrice(), dg);           // Нормализуем цену закрытия ордера для дальнейшего сравнения с ценой СтопЛосс
    osl=NormalizeDouble(OrderStopLoss(), dg);             // Нормализуем цену СтопЛосс ордера для сравнения с ценой закрытия
    if (ocp==osl) return(True);                           // Если эти цены равны, значит поза закрыта по стопу, возвращаем значение "Истина"
  }
  return(False);                                          // Возвращаем "Ложь"
}
 
いくつかの注文を購入し、+利益ですべての注文を販売しているスクリプトやアドバイザーがあります...お願い知っている私を教えてください。
 

フォーラムユーザーの皆様へ。成行買い注文が直前の成行買い注文の始値より 下に開くこと」という条件の正しい書き方を教えてください。

 
fanat:

フォーラムユーザーの皆様へ。成行買い注文が直前の成行買い注文の始値より下に開くこと」という条件の正しい書き方を教えてください。

数ページ前に、指定したシンボルでの最後の取引を履歴から 検索し、その利益を返すプロシージャを投稿しました。このコードをベースに、直近の取引の利益だけでなく、例えば直近の取引の始値や終値を返す......などのデータも可能です。