전문 고문 - 기타 질문 - 페이지 16

 

시장 폐쇄!

#1 - OnTick(), Start()로 Button Object 를 호출하지 않는데 정상인가요?
#2
-
버튼 개체 'ANCHOR_RIGHT_UPPER'에 적용할 수 있나요?
#3 - 그래서, 나는 여전히 이 문제 #145 에 대한 도움이 필요합니다. 제발요.

감사해요!

 

#1 - I never call Button Object by OnTick(), Start(), so is it normal?

#2 - 버튼 개체 'ANCHOR_RIGHT_UPPER'에 적용할 수 있나요?

아니요, 앵커 포인트는 ANCHOR_LEFT_UPPER로 고정됩니다.

#3 - 그래서, 나는 여전히 이 문제 #145 에 대한 도움이 필요합니다. 제발요.

예, 맞습니다 - EventSetMillisecondTimer(250)

 
honest_knave :


아니요, 앵커 포인트는 ANCHOR_LEFT_UPPER로 고정됩니다.
예, 맞습니다 - EventSetMillisecondTimer(250)

감사합니다. 큰 감사합니다.
 

#Profit Orders Counting - 오픈

나는 모든 것을 하나의 값으로 계산하기 위해 모든 수익성 있는 위치를 얻으려고 합니다.
그것은 나에게 별도로 가치를 제공합니다.

나는 정말로 정신을 잃었다. 나는 몇 가지 방법을 시도하고 그것에 대해 많이 연구했지만 좋은 결과가 없었습니다.
제발 도와주세요. 가능하다면 이익 계산 에 대해 좀 더 설명해주시면 감사하겠습니다.

곧 좋은 답변을 들을 수 있기를 바랍니다.

void profitcalcfnc()
{
     double trueprofit = 0 ;
     for ( int i = OrdersTotal () - 1 ; i >= 0 ; i-- )
    {
         if   ( ! OrderSelect ( i, SELECT_BY_POS , MODE_TRADES ) ) continue ;
         if   ( closeothers == false && OrderSymbol () != Symbol () ) continue ;
        trueprofit = OrderProfit () + OrderSwap () + OrderCommission ();
         if   ( trueprofit >= 0 )
        {
             Print ( "Profit: " , trueprofit );
             ObjectSetString   ( 0 , "all profit counting object" , OBJPROP_TEXT , DoubleToString ( trueprofit, 2 ) );
        }
    }
     //---
     return ;
}

미리 감사드립니다.

 
trueprofit = OrderProfit () + OrderSwap () + OrderCommission ();

값을 추가하는 대신 루프의 각 반복에서 trueprofit 값을 덮어씁니다.

이것을 기억:

profit = OrderProfit ();

다음과 같이 변경되었습니다.

profit_buy += OrderProfit ();
루프의 각 반복(각 순서)에서 수행하려는 작업과 루프 이후(모든 순서를 확인한 후) 수행하려는 작업 사이를 명확하게 해야 합니다.
 
honest_knave :
루프의 각 반복(각 순서)에서 수행하려는 작업과 루프 이후(모든 순서를 확인한 후) 수행하려는 작업 사이를 명확하게 해야 합니다.

빠른 답변 감사합니다.
너무 피곤해서 죄송합니다. (나는 내가 무엇을 할 수 있는지 이해할 없다.)

나는 나의 관심사(얼마나 할 수 있는지)를 조금 더 설명해야 합니다.
따라서 2가지 기능이 있습니다.

  1. 나는 그들 중 첫 번째를 버튼 기능 에 사용합니다. 이 기능을 클릭하면 모든 수익성 있는 위치가 닫힙니다. 지금까지 잘 작동합니다. (나는 그것을 충분히 테스트할 수 없다 - 나의 브로커는 거래가 불가능하다)
  2. 나는 그 중 두 번째를 레이블 기능 에 사용합니다. 하나는 하나 의 레이블 개체에서 모든 수익성 있는 값을 표시할 수 있습니다. (하지만 난 할 수 없어)

마지막으로 이 ( 내 최신 주석 코드) 이익 계산 기능이 두 가지 유형의 주문 " OP_SELL 및 OP_BUY "를 모두 수익성 있게 계산할 수 있기를 바랍니다.

미리 감사드립니다.

 

하나의 레이블에 모든 수익성 있는 값을 표시하는 방법은 무엇입니까?

모두 합산된 AcountProfit() 또는 각각의 개별 OrderProfit()을 의미합니까?

다음과 같은 것이 필요한 경우:


이 문서를 참조하십시오.

https://www.mql5.com/en/articles/2723

Graphical Interfaces X: Updates for Easy And Fast Library (Build 3)
Graphical Interfaces X: Updates for Easy And Fast Library (Build 3)
  • 2016.10.17
  • Anatoli Kazharski
  • www.mql5.com
The next version of the Easy And Fast library (version 3) is presented in this article. Fixed certain flaws and added new features. More details further in the article.
 

귀하의 의견에 감사드립니다.
혼란을 드려 죄송합니다.

아니, 나는 그것과 조금 다를 필요가 있다고 생각합니다.
나는 내 문제를 명확히하려고 노력할 것입니다.

EURUSD에는 3개의 포지션이 있습니다. 그 중 2개는 수익성 있는 포지션이고, 그 중 1개는 손실 포지션입니다. 그래서 나는 그들 중 2개만 계산하면 됩니다.
예: 각각이 +1.00(2개의 수익성 있는 위치 = +2.00)인 경우 모든 수익성 있는 위치 값을 가져와야 합니다.

Print ( "Profit: " , 2.00 ); // absolutely no separately - I just need - could adds profitable values 1.00 + 1.00 = 2.00

나는 내가 말하려는 것을 돕기 위해 탭 아래에 빠르게 만들었습니다. ( 이 댓글 이미지 파일 아래 )
( 모국어가 아닌 영어 - 가끔 어려움을 겪습니다 )

모두 제일 좋다.

무역 패널 탭 이미지 파일

 
double totalprofit=0;

// in your orderselect loop put
if(OrderProfit()>0)
{
  totalprofit=totalprofit+OrderProfit();
}
 

#Profit Orders Counting - 마감

Marco vd Heijden :
if ( OrderProfit ()> 0 )
{
  totalprofit=totalprofit+ OrderProfit ();
}

나는 당신의 훌륭한 예제 코드 후에 내 문제를 해결합니다.
좋은 사람, 큰 감사합니다!



정직한_knave :

값을 추가하는 대신 루프의 각 반복에서 trueprofit 값을 덮어씁니다.
이것을 기억:
루프의 각 반복(각 순서)에서 수행하려는 작업과 루프 이후(모든 순서를 확인한 후) 수행하려는 작업 사이를 명확하게 해야 합니다.

코드 스크립트 아래 완료 직후.
다시 한 번 귀하의 의견을 확인 하고 귀하가 저에게 설명하는 것을 알고 있습니다. 그러나 나의 영어는 그것을 이해하는 것을 막는다.

남성 여러분 모두에게 최선을 다하십시오.

void calc()
{
     double trueprofit  = 0 ;
     double totalprofit = 0 ;

     for ( int i = OrdersTotal () - 1 ; i >= 0 ; i-- )
    {
         if   ( ! OrderSelect ( i, SELECT_BY_POS , MODE_TRADES ) ) continue ;
         if   ( closeothers != true && OrderSymbol () != Symbol () ) continue ;

        trueprofit = OrderProfit () + OrderSwap () + OrderCommission ();
         if   ( trueprofit >= 0 )
        {
            totalprofit += OrderProfit () + OrderSwap () + OrderCommission ();
             Print ( "Profit: " , DoubleToString ( totalprofit, 2 ) );
             ObjectSetString   ( 0 , _Checkthisout_name_Label, OBJPROP_TEXT , "Total Profit: " + DoubleToString ( totalprofit, 2 ) );
        }
    }
     //---
     return ;
}

이 코드 스크립트가 잘 작동하기를 바랍니다. 위의 코드에 잘못된 것이 있으면 알려주십시오.
모든 것에 감사드립니다.

사유: