[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 1079

 

뭔가 작동하고 싶지 않습니다. 도와주세요, 제발.

수표의 개념은 다음과 같습니다. 양초가 특정 값보다 크면 추가 거래를 금지합니다.

bool 거래=참;

//----------start()에서 시작

{.......

if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1) CheckForOpen(); //--------(미결 주문 없음) AND(양초 이하)인 경우 주문을 엽니다.

if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==-1) Trade=false; //--------- (미결 주문이 없는 경우) 및 (양초가 이상으로 판명된 경우) Trade false 값을 할당합니다.

......}

//------- Trade는 CheckForOpen() 함수에서 사용됩니다.

void CheckForOpen() //-------------------조건 확인 및 주문 열기

{인트레스;

if( Trade && A()==-1 && B()==-1) //--------- 시작 조건 확인

{ res=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,Ask+SL*Point,Bid-TP*Point,"",MAGICMA,0,Red); //---------조건이 충족되면 주문이 열립니다.

거래=거짓; } //--------Trade에는 거래 금지 값이 할당됩니다. 그리고 여기에서 작동합니다. 주문이 테이크에 의해 마감되면 새로운 특정 조건이 발생할 때까지 기다리며 이전 조건은 여전히 유효합니다(이전에는 고문이 계속해서 주문을 열었습니다).

.......}

//--------------------------촛불 높이 확인

정수 CheckVolume()

{ 이중 볼륨=높음[1]-낮음[1]; //------촛불의 높이 측정

if (볼륨 <= CandleVolume*Point) return (1); //----------촛불이 다음보다 작은 경우

if (volume > CandleVolume*Point) return (-1);//------------촛불이 다음보다 크면

반환(0);}

나는 또한 버전을 시도했지만 작동하지 않았습니다.

무효 시작()

{.....

if(CalculateCurrentOrders(Symbol())==0 && CheckVolume()==1) CheckForOpen();

.....}

.....

정수 CheckVolume()

{ 이중 볼륨=높음[1]-낮음[1]; //------촛불의 높이 측정

if (볼륨 <= CandleVolume*Point) return (1); //----------촛불이 다음보다 작은 경우

if (볼륨 > CandleVolume*Point) {Trade=false; return (-1);}//------------양초가 다음보다 큰 경우

반환(0);}

 
dzhini :

뭔가 작동하고 싶지 않습니다.


지표가 먼저 할 수 있습니까?
 
Vinin :

지표가 먼저 할 수 있습니까?
그리고 그것 없이는 대처할 방법이 없습니까?
 

이해를 도와주세요! 인쇄가 한 번 표시되도록 만드는 방법, 그렇지 않으면 인쇄가 매 틱마다 사라집니다.



 while ( OrdersTotal () != 0 && OrderSelect (index, SELECT_BY_POS, MODE_TRADES)){
     if (OrderType() == OP_BUY)
     {
       Print ( "-------   " ,OrderSymbol(), " " , " BUY " ,OrderLots(), " trade was opened at " , OrderOpenPrice(), "; Stop loss:" , OrderStopLoss(),
          "; Take profit:" , OrderTakeProfit(), "; Ticket:" , OrderTicket(), "; Open time:" , OrderOpenTime());
                       return ( 0 );
                }
     if (OrderType() == OP_SELL)
      {
       Print ( "-------   " ,OrderSymbol(), " " , " SELL " ,OrderLots(), " trade was opened at " , OrderOpenPrice(), "; Stop loss:" , OrderStopLoss(),
          "; Take profit:" , OrderTakeProfit(), "; Ticket:" , OrderTicket(), "; Open time:" , OrderOpenTime());
                      
       }
index++;
 
itum :

이해를 도와주세요! 프린트가 한 번만 표시되도록 하는 방법, 그렇지 않으면 매 틱마다 프린트가 사라집니다.


주문을 열 때 이 인쇄물을 표시하십시오.
 
sergeev :
주문을 열 때 이 인쇄물을 표시하십시오.


수동으로 또는 다른 고문이 개설한 기존 주문에 대한 정보를 표시 해야 합니다.

 
itum :


수동으로 또는 다른 고문이 개설한 기존 주문에 대한 정보를 표시해야 합니다.

그런 다음 화면에 주석으로 표시합니다. 논평
 

이 오류는 무엇입니까? 터미널에서 테스트 이메일을 보내면 오류가 발생합니다.

- 2010.12.28 18:23:55 메일: 530 5.7.0 먼저 STARTTLS 명령을 실행해야 합니다. y1sm3265289fak.15

 
dzhini :
그리고 그것 없이는 대처할 방법이 없습니까?

물론 할 수 있지만 표시기를 사용하면 알고리즘의 작동을 시각적으로 쉽게 확인할 수 있습니다.
 
itum :


수동으로 또는 다른 고문이 개설한 기존 주문에 대한 정보를 표시해야 합니다.


또는 인쇄 카운터를 만들 수 있습니다. 정수 변수를 선언합니다. 다음으로 주문이 없는지 확인한 다음 재설정합니다. 추가 확인 - 변수가 0이고 시장에 주문이 있으면 주문 데이터를 인쇄하고 이 변수를 1만큼 늘립니다. 주문이 마감되는 즉시 변수는 다시 0이 됩니다. 이것은 코드가 적어도 하나의 주문이 나타날 때까지 기다리고 그에 대한 정보를 로그에 출력한다는 것을 의미합니다.