[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 559

 
TG :
오픈 포지션(자본)을 고려하여 보증금에 대한 최대 허용 오프닝 로트를 계산하는 기능을 알려주세요. 미리 감사드립니다.

 double maxlot = MarketInfo ( Symbol (), MODE_MAXLOT);

double requiredlots = AccountFreeMargin () / MarketInfo ( Symbol (), MODE_MARGINREQUIRED);

maxlot = MathMin (maxlot, requiredlots); // Максимальный объем, на который можно открыться

// Далее необходимо maxlot нормализовать под спецификацию контрактов, прежде чем вставлять в приказ
 

인사말.

칠면조 식별 도움말: http://findicators.com/wp-content/uploads/2009/04/heiken-ashi.jpg

헤이켄아시라고 하는데, 대충 계산해도 그 패턴이 깨집니다. 아마도 누군가가 그것이 무엇인지 알고 있습니까?

감사합니다.

 
ns88ns :

인사말.

칠면조 식별 도움말: http://findicators.com/wp-content/uploads/2009/04/heiken-ashi.jpg

헤이켄아시라고 하는데, 대충 계산해도 그 패턴이 깨집니다. 아마도 누군가가 그것이 무엇인지 알고 있습니까?

감사합니다.


그것은 가장 또는 오히려 그 수정입니다. 이동 중에도 구축
 
Vinin :

그것은 가장 또는 오히려 그 수정입니다. 이동 중에도 구축


고맙습니다...

나는 이미 그것을 알아 냈습니다. 그러나 나는 이해하지 못했습니다.이 경우 XA가 범위의 중앙에서 바보처럼 MA에 번지거나 다른 방식으로 ... 글쎄, 더 이상 중요하지 않습니다.

 
표시기를 반자동으로 수정하는 데 도움이 됩니다.

나는 손으로 간단한 선을 그립니다. 예를 들어 그 이름은 Trendline 42864입니다. 다음 줄을 생성할 때 코드가 생성된 각 줄의 이름을 바꾸고, 색상을 바꾸고, 두께를 설정하는 등의 작업을 수행하도록 만드는 방법입니다.

왜 필요합니까? 표시기가 있으므로 반자동으로 만들어야합니다. 저것들. 나는 추세선을 수동으로 그립니다. 코드는 그것을 다시 칠하고 데이터를 기반으로 수직선과 수평선을 그려야 합니다. 그래서 각각을 그릴 필요가 있습니다.

인디케이터를 부착하고 있습니다. 원칙은 두 점에 선을 긋고 이 두 점에서 두 배의 거리를 이동하면 선이 끝나고 추세가 멈추고 불확실성에 빠지는 것입니다. 나는 이 라인의 기계가 이 단계에서 원칙적으로 수행되도록 노력할 필요가 없다고 즉시 말합니다. 반자동이 필요합니다.

파일:
 

안녕하세요. 두 주문을 동시에 수정하려고 할 때 매도 주문의 경우 - 다음을 설정하고,

매수-세트 등의 경우 매도 주문만 수정되며 매수는 조회되지 않습니다. 무엇을 할 수 있는지 말해줘

이유가 될까요?

 void FirstSellLockBuyModifi()
{
 double lock_buy_tp = NormalizeDouble ((FirsSellLockBuyAvP()+TakeProfit* Point ), Digits );
 int spread = MarketInfo ( Symbol (),MODE_SPREAD);
 double first_sell_sl = NormalizeDouble ((lock_buy_tp+spread* Point ), Digits );        
 for ( int i = 0 ; i <= OrdersTotal (); i ++)
    {
     OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
     if ( OrderSymbol ()!= Symbol ()) continue ;
     if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==MagicNumber)
     if ( OrderType ()==OP_SELL && OrderOpenPrice ()==FirstSellPrice())
       { Print ( "Мод-ция ордера FIRST SELL" );
         OrderModify ( OrderTicket (), OrderOpenPrice (),first_sell_sl, OrderTakeProfit (), 0 , CLR_NONE );
        error= GetLastError ();
         if (error != 0 ) Print ( "Мод-ция ордера FIRST SELL № " , OrderTicket (), " ошибка № " ,error);
       }
     if ( OrderType ()==OP_BUY)
       { Print ( "Мод-ция ордера LOCK BUY" );
         OrderModify ( OrderTicket (), OrderOpenPrice (), OrderStopLoss (),lock_buy_tp, 0 , CLR_NONE );
        error= GetLastError ();
         if (error != 0 ) Print ( "Мод-ция ордера LOCK BUY № " , OrderTicket (), " ошибка № " ,error);
       }
    }
 return ( 0 );
}
 
TEXX :

안녕하세요. 두 주문을 동시에 수정하려고 할 때 매도 주문의 경우 - 다음을 설정하고,

매수-세트 등의 경우 매도 주문만 수정되며 매수는 조회되지 않습니다. 무엇을 할 수 있는지 말해줘

이유가 될까요?

여기에서 무슨 일이 일어나고 있는지 완전히 가능합니다.

 for ( int i = 0 ; i <= OrdersTotal (); i ++)

++ 앞의 공백이 명확하지 않은 이유는 무엇입니까?

그러나 주요 실수는 둘 이상의 주문을 동시에 수정하는 것입니다. 서버에서 실행할 수 없기 때문에 두 번째 주문을 수정하려고 할 때 거래 흐름이 닫힙니다. 테스터에서는 이 상황이 문제 없이 통과할 수 있지만.

 
TEXX :

안녕하세요. 두 주문을 동시에 수정하려고 할 때 매도 주문의 경우 - 다음을 설정하고,

매수-세트 등의 경우 매도 주문만 수정되며 매수는 조회되지 않습니다. 무엇을 할 수 있는지 말해줘

이유가 될까요?

     
 for ( int i = 0 ; i <= OrdersTotal (); i ++)  // 1 ошибка
  
     OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
     if ( OrderSymbol ()!= Symbol ()) continue ; // нет смысла
     if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==MagicNumber)  // после неё нет открывающейся скобки
  
   if ( OrderType ()==OP_SELL && OrderOpenPrice ()==FirstSellPrice())
       { Print ( "Мод-ция ордера FIRST SELL" );
         OrderModify ( OrderTicket (), OrderOpenPrice (),first_sell_sl, OrderTakeProfit (), 0 , CLR_NONE );
        error= GetLastError ();
         if (error != 0 ) Print ( "Мод-ция ордера FIRST SELL № " , OrderTicket (), " ошибка № " ,error);
       }

     if ( OrderType ()==OP_BUY)
       { Print ( "Мод-ция ордера LOCK BUY" );
         OrderModify ( OrderTicket (), OrderOpenPrice (), OrderStopLoss (),lock_buy_tp, 0 , CLR_NONE );
        error= GetLastError ();
         if (error != 0 ) Print ( "Мод-ция ордера LOCK BUY № " , OrderTicket (), " ошибка № " ,error);
       }

어떤 오류가 발생합니까?
 
sergeev :
어떤 오류가 발생합니까?


사실 가끔 에러가 나는게 아니라 그냥 매수가 수정이 안되고 그게 다이고 매도를 주석처리 하면 수정이 됩니다....
 

부정적인 결과 - 결국 결과이기도 하고 덜 중요한 지표는 아니지만 그러한 그림을 보면(파운드 기준으로 일반적으로 1로트에서 100,000에서 2,000으로 잃습니다)...... 즉, 판매를 위해 구매 코드를 다시 작성하고 이익을 위해 중지하는 등의 포인트가 있습니까?

당신의 의견?