[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 130

 

こんにちは。どうかご協力をお願いします。コードでは、グローバルなTakeProfit レベルで行を表示する必要があります。エラーが見つからない。

よろしくお願いします。

void Drawline_Per_B (int Drawline_Per, double Balans, double Free, double Global_TakeProfit)  {
    Balans=AccountBalance();//Баланс счёта
    Free=AccountEquity();//Текущее количество денег в статье "Средства"
    double q;
    double SchBuyLs=SchBuyLs_b(); сумма лот для баев
    double SchSellLs=SchSellLs_b(); сумма лот для сейлов  
    double ad.QuotePoint   = MarketInfo ( Symbol () , MODE_POINT     );
    double ad.QuoteTick    = MarketInfo ( Symbol () , MODE_TICKSIZE  );
    double ad.NominalTick  = MarketInfo ( Symbol () , MODE_TICKVALUE );
    double ad.NominalPoint = ad.NominalTick  * ad.QuotePoint / ad.QuoteTick ; // Цена 1 пункта для стандартного лота в валюте депозита
    q =  NormalizeDouble(Bid + (Balans-Free+Balans/100*Global_TakeProfit)/ad.NominalPoint*(SchBuyLs-SchSellLs)*Point,Digits);
    Drawline_Per("%_LINE");
    ObjectSet( "%_LINE", OBJPROP_PRICE1, q);
  }
 
そこで何をカウントしているのかわからないが、点数は整数である。int型に すれば、正規化は不要です。
q =  (Balans-Free+Balans/100*Global_TakeProfit)/PP*(SchBuyLs-SchSellLs);  //число пунктов до наступления условия  Global_TakeProfit
 

アドバイスありがとうございました。

故障が見つかり、すべて動作するようになりました。

 

フラクタルについて教えてください

maxF =NormalizeDouble(iFractals(NULL, 0, MODE_UPPER,1),5);
minF = NormalizeDouble (iFractals(NULL, 0, MODE_LOWER,1),5);


maxF > Bid または minF > Bid が実行されていないのはなぜですか?

<の場合、実行されます。

NormalizeDoubleがなければ、同じことです。フラクタルについて、私が理解していないことがあるのでしょうか?

 
lia:

フラクタルで助けてください。

maxF = NormalizeDouble (iFractals(NULL, 0, MODE_UPPER,1),5);
minF = NormalizeDouble (iFractals(NULL, 0, MODE_LOWER,1),5);

の実行を見ることができないのはなぜか?
maxF > Bid or minF > Bid?

<の場合、実行される。

NormalizeDoubleがなければ同じです。フラクタルで何か理解できない?


この ページと次のページをご覧ください - 同様にあなたの条件を表示します。
 

MT4のEAで、最後に閉じた注文の利益を返す、または最後の注文が利益で閉じたか損失で閉じたかを返す関数を提案していただけませんか?

PS キムにはそのような機能は見当たりませんね。

 
Sancho77:

最後に閉じた注文の利益を返す関数、または最後の注文が利益で閉じたか損失で閉じたかを返す関数を提案できますか?

PS キムはそのような機能を発見していない。

イゴール・キムはそのような機能を持っています。しかし、彼の機能は汎用性を考えると、少しやり過ぎな気もします。ここでは、そのような機能をすぐに作り上げることができます。
質問:利益は何にあるのですか?ポイントで、それとも預金通貨で
 
artmedia70:
イゴール・キムには、そんな特徴があります。しかし、汎用性を考えると、その機能はやや過剰ともいえる。ここでは、そのような機能をすぐに作り上げることができます。
質問:利益は何にあるのですか?ポイントで、それとも預金通貨で?
教えていただけるとありがたいです!利益がポイントか通貨かは関係なく、重要なのは、取引が利益で成立したか、損失で成立したかということです。私としては、通貨単位でもpips単位でも違いはないと思っています。
 
Sancho77:
書いていただけるとありがたいです!利益がpipsであろうが通貨であろうが関係なく、重要な事実は、取引が利益で終了したか損失で終了したかである。私見ですが、通貨やpipsに差はないと思います。 。
//+----------------------------------------------------------------------------+
bool LossLastPose(string sy, int op, int mn) {
   datetime t;
   int      i, j;
   for (i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {
         if (OrderType()!=op)          continue;
         if (OrderSymbol()!=sy)        continue;
         if (OrderMagicNumber()!=mn)   continue;
         if (OrderCloseTime()>t) {
            t=OrderCloseTime();
            j=i;
            }
         }
      }
   if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY)) 
      if (OrderProfit()<0) return(true);
   return(false);
}
//+----------------------------------------------------------------------------+

私たちはこのように呼んでいます。

現在のシンボルで最後に決済された買いポジションを確認する。この関数は、損失が出た場合はtrueを、利益が出た場合はfalseを返します...

if (LossLastPose(Symbol(), OP_BUY, Magic)) {код, если последняя позиция закрылась с убытком}
else {Код, если последняя позиция закрылась с прибылью}

Magic変数はEAマジックで、EAのグローバル変数に 書き込まれます。

 
artmedia70:

私たちはこのように呼んでいます。

現在のシンボルで最後に決済された買いポジションを確認する。この関数は、損失が出た場合はtrueを、利益が出た場合はfalseを返します...

Magic変数は、EAのグローバル変数に書かれているEAのマジコンです。



ありがとうございました。