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

 
harvest :
스레드 신사는 열린 위치를 손익분기점으로 변환하는 기능의 예를 제공할 수 있습니다(진드기에 대한 작업), 어드바이저에는 후행이 있습니다. 이 후행의 시작은 사용으로 전송하는 기능 후에만 가능합니다. 미리 감사드립니다.


예고편에서-Yu.Dzyuban의 트롤 라이브러리, 특히 트롤 어업이 이익에서만 발생하는 경우 문제를 해결하는 방법을 참조하십시오. 변수 trlinloss = false의 값으로 손실 영역에서 추적할지 여부. 이 예에 따라 트롤 기능을 수정하면 됩니다.

파일:
[Deleted]  

친구 여러분, 왜 고전적인 Martin이 작동하지 않는지 말씀해 주십시오. 구매에 대해서만 거래를 엽니 다 !!! 난 이미 한 달 동안 그와 잤어요 - 감정이 없습니다! 테스터에서는 잘 작동하지만 데모에서는 작동하지 않습니다. 또 다른 흥미로운 점은 - T / S와 T / P 1000을 넣었습니다 - 구매 전용으로 열리고 200 - 매매를 위해 ... 젠장, 차이점이 무엇입니까?!

여기 코드가 있습니다 plz 도움말

 //+------------------------------------------------------------------+ 
//| StMartin.mq4 | 
//| Sergey Kodolov | 
//| 84232676421@mail.ru | 
//+------------------------------------------------------------------+ 
#property copyright "Sergey Kodolov" 
#property link "84232676421@mail.ru" 

     extern int TP = 1000 ; 
     extern int TS = 1000 ; 
     extern double lots = 0.1 ; 

     double volumz; 
     int total,ticket; 
     int slip = 3 ; 
     int Magic = 7 ; 

 


//+------------------------------------------------------------------+ 
//| expert initialization function | 
//+------------------------------------------------------------------+ 
int init() 
  { 
//---- 

   ticket = OrderSend ( Symbol (),OP_BUY,lots,Ask,slip,Bid-TS* Point ,Bid+TP* Point , "First order" ,Magic, 0 , Yellow ); //открываем первый ордер 
 
//---- 
   return ( 0 ); 
  } 
//+------------------------------------------------------------------+ 
//| expert deinitialization function | 
//+------------------------------------------------------------------+ 
int deinit() 
  { 
//---- 

//---- 
   return ( 0 ); 
  } 
//+------------------------------------------------------------------+ 
//| expert start function | 
//+------------------------------------------------------------------+ 
int start() 
  { 
//---- 



OrderOpenFunction(); 

//---- 
   return ( 0 ); 
  } 
//+------------------------------------------------------------------+ 

void OrderOpenFunction()
{
   total = OrdersTotal ();
   if (total < 1 ) 
   { 
       OrderSelect ( 0 ,SELECT_BY_POS,MODE_HISTORY); 
      volumz = OrderLots (); 
       if ( OrderProfit ()< 0 ) 
      { 
         if ( OrderType () == OP_BUY) 
         { 
             double lot1 = volumz* 2 ; 
            ticket = OrderSend ( Symbol (),OP_SELL,lot1,Bid,slip,Ask+TS* Point ,Ask-TP* Point , 0 ,Magic, 0 , Red ); 
         } 
         if ( OrderType () == OP_SELL) 
         { 
             double lot2 = volumz* 2 ; 
            ticket = OrderSend ( Symbol (),OP_BUY,lot2,Ask,slip,Bid-TS* Point ,Bid+TP* Point , 0 ,Magic, 0 , Green ); 
         } 
      } 
       if ( OrderProfit ()> 0 ) 
      { 
         if ( OrderType () == OP_BUY) 
         { 
            ticket = OrderSend ( Symbol (),OP_BUY,lots,Ask,slip,Bid-TS* Point ,Bid+TP* Point , 0 ,Magic, 0 , Green ); 
         } 
         if ( OrderType () == OP_SELL) 
         { 
            ticket = OrderSend ( Symbol (),OP_SELL,lots,Bid,slip,Ask+TS* Point ,Ask-TP* Point , 0 ,Magic, 0 , Red ); 
         } 
      } 
   } 
}      
  
 
Alp :

그러면 더욱 이해할 수 없게 됩니다. 내가 유로를 1,000,000(1kk) 달러에 산다고 가정해 봅시다(중개인이 여기에 100을 곱하면 결과적으로 거래는 100kk가 됨). 차트가 100포인트 상승하고 즉시 매도하여 10,000 흑자 상태가 됩니다. 달러, 음, 중개인 수수료와 스프레드가 있습니다. 결과적으로 내 주머니에 $ 6,000가 있습니다. (글쎄, 세일 후 다시 100포인트 떨어질 것이 뻔하다.) 이건 말도 안 돼!!!! 그는 여전히 넘어질 수 있습니까? 그렇지 않으면 초대형 플레이어가 실제로 아무 것도 하지 않고 수십억 달러를 벌었을 것입니다.


그럼 모르겠다..

일반적으로 요점은 아마도 눈에 띄는 가격 변동을 위해 매우 많은 양을 사거나 팔아야 한다는 것입니다. 이러한 금액으로 신용 레버리지는 저와 같이 1/200이 아니라 비유적으로 1/2입니다. 여기서 브로커의 수수료와 스프레드는 매우 중요합니다. 글쎄, 이것은 순전히 개인적인 것입니다. 이런 말도 안되는 글을 쓸 수 있다니...

 
한 가지 놀라운 사실이 있습니다. 이전에 여기에 코드를 게시했는데 오류가 있었는데 수정하는 데 도움을 주었고 Sepulca 덕분에 전체 코드가 작동하는 데 도움이 되었습니다. 아래의 다른 줄은 동일한 주문을 주문 선택하는 데 오류가 있었나요? 가능하시다면 한 번 봐주세요. 궁금합니다.
 for (  i= 0 ;i<= OrdersHistoryTotal ();i++){
     OrderSelect (i ,SELECT_BY_POS,MODE_HISTORY);
     if ( OrderMagicNumber ( )== magic) { if ( OrderSymbol ()== Symbol ()) {





 current = OrderOpenTime ();   Alert ( " current = OrderOpenTime(); " ,  current); Alert ( " max " , max );
      
       if (current > max) 
      {                    
         max = current;      
         ticket = OrderTicket ();   Alert ( " ticket = OrderTicket();  " , ticket );
      }}}}


       if (ticket>- 1 ){
       OrderSelect ( ticket,SELECT_BY_TICKET,MODE_HISTORY); Alert ( "SELL Select error HISTORYticket " , GetLastError ( )  ) ;
Dimka-novitsek :

너 뭐야! 왜 안 돼? 검색 당시 미결 주문이 없었습니다! 내가 이해하지 못한 건 아닐까?

그리고 무차별 대입 주기도 역사입니다! 내가 int 티켓 변수를 할당하는 곳

그리고 swears, 죄송합니다, 그래서 2012.02.04 11:28:47 2011.12.06 16:35 antibes EURUSD,M30: Alert: SELL Select error HISTORYticket 4105

언제 MODE_HISTORY에서 MODE_TRADES로 이동합니까?

그리고 가장 중요한 것은 결국 내가 주문 선택의 도움으로 역사에서도 동일한 주문을 선택하고 처음에는 선택된다는 것입니다. 그렇지 않으면 작업할 수 없었을 것입니다!! 논리가 없다!!!!!! 깜놀..

[Deleted]  
그런 어드바이저나 대본을 어디서 구하는지 알려주실 수 있나요... 가격의 양면에서 가격에서 5~7p 떨어진 곳에 한 무리의 주문(9~11개)이 들어갑니다. 작동 시간은 엄격하게 제한됩니다. 이와 관련하여 매우 자주 주문이 연결되지 않고 삭제됩니다. 아침 일찍 주문을 하는 시간은 원칙적으로 시장이 들쭉날쭉합니다. 가격이 주문 그룹 중 하나에 가까워지면 두 번째 주문 그룹이 가격을 따르기를 바랍니다. 즉, TP 및 SL과 함께 보류 중인 주문 의 추적이 필요합니다. 그게 가능한가요?? 미리 대단히 감사합니다.
 

도움이 필요하다!

EA에는 다음 블록(이벤트 카운터)이 있습니다.

if (isCloseLastPosByStop()==True) //마지막 주문이 Stop에 의해 종료된 경우

{
N=N+1;
경고 (N, "무스");
} 그렇지 않으면 N=0;

질문: 화면에 정보를 표시하는 대신 파일(엑셀)에 데이터를 쓰는 방법은 무엇입니까?

 

안녕하세요

화살표가 그려지지 않는 이유를 알려주세요. 코드:

ObjectCreate("미니다운", OBJ_ARROW , 0, 시간[1], 열기[1]);
ObjectSet("미니다운", OBJPROP_ARROWCODE, 241);
ObjectSet("미니다운", OBJPROP_COLOR, 노란색);

 

EURUSD = 1.44757, GBPUSD = 1.63366이라고 가정하면 서로 가까이 있는지 확인해야 합니다.

설명하겠습니다:

a=GBPUSD/ EURUSD = 1.12855336874901 약 1.12855,

저것들. 거래의 가치가 거의 같도록 통화를 사고파고 싶다면,

EURUSD*a 를 매수/매도해야 하는데 그런 로트가 없어서 어떻게 구현해야 하는지, 로트를 어떻게 계산해야 하는지 궁금합니다.

문제 도움말의 본질을 이해한 사람.

 
TG :
오픈 포지션, 즉 자기자본으로 최대 허용 로트를 계산하는 기능을 공유해 주세요. 그렇지 않으면 표준은 위험을 고려하지만 거래가 있으면 열 돈이 충분하지 않습니다.

나는 한 번 맞춤 고문을 위해 다음과 같이 썼습니다.

 //+----------------------------------------------------------------------------+
double CorrectLots( double lt, int Part= 2 ) {
   double ltcorr, Money, MoneyCorr;
   double dig      = MarketInfo ( Symbol (),MODE_DIGITS);
   double MaxLot   = MarketInfo ( Symbol (),MODE_MAXLOT);
   double MinLot   = MarketInfo ( Symbol (),MODE_MINLOT);
   double StpLot   = MarketInfo ( Symbol (),MODE_LOTSTEP);
   double OneLot   = MarketInfo ( Symbol (),MODE_MARGINREQUIRED);
   double TradeMrg = NormalizeDouble ( AccountFreeMargin ()/Part,dig);     // Свободные средства, разрешенные к торговле
   
   lt= MathAbs (lt);
   ltcorr=lt;                                       // Зададим начальное значением ltcorr равным значению lt
   if (lt>=MaxLot) ltcorr=MaxLot;                   // Проверим превышение допустимых ...
   if (lt<=MinLot) ltcorr=MinLot;                   // ... значений лота
   Money=lt*OneLot;                                 // Вычисляем стоимость открываемой позы
   if (Money<TradeMrg) return (ltcorr);             // Если свободных средств больше, чем цена позиции -  возвращаем неизменённый лот
   else if (Money>=TradeMrg) {                     // Если цена позиции равна или больше, чем есть свободных средств, то ...
      ltcorr= MathAbs ( MathFloor (TradeMrg/OneLot/StpLot)*StpLot);         // ... рассчитаем допустимый лот
      MoneyCorr=ltcorr*OneLot;                      
       Print ( "Func CorrectLots: лот " ,lt, " скорректирован до " , DoubleToStr (ltcorr, 2 ),
             " Стоимость до корректировки = " , DoubleToStr (Money,dig),
             " Стоимость после корректировки = " , DoubleToStr (MoneyCorr,dig)
            ); 
       return (ltcorr);                                                   // ... и вернём его значение
      }
   Print ( "Func CorrectLots: лот вернули без изменений" );
   return (ltcorr);                                 // Возврат изначального лота в непредусмотренных случаях с сообщением
}
//+----------------------------------------------------------------------------+

로트를 조정하려면 함수를 호출해야 하며, lt 매개변수 로 포지션을 개설 하려는 로트를 삽입하고 Part 매개변수 대신 거래에 사용되는 무료 자금을 나누는 숫자를 입력해야 합니다. 저것들. 자유 마진의 절반만 거래하려면 부품이 2, 3분의 1이면 3, 4분의 1이 되어야 합니다.

double Lot=CorrectLots( 0.1 , 2 );

함수를 호출한 후, OrderSend() 함수의 매개변수로 Lot를 삽입하십시오.

이 기능은 Expert Advisor에서 하드 마틴으로 로트를 완벽하게 제한했으며 병합을 허용하지 않았습니다. 진실·수익성 하락…

[Deleted]  
이전 질문에 답변해 주세요. 무엇이 잘못되었는지 이해하지 못합니다 =(