포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 608

 
solnce600 :

모두에게 좋은 하루!

다음 조건 을 인코딩하는 가장 좋은 방법을 알려주세요

예외 없이 1부터 20까지의 모든 캔들이 약세라면 (각 캔들의 시가와 종가 사이의 포인트 수는 중요하지 않음)

주문을 엽니다.

고맙습니다.


글쎄, "무릎에"만 쓴다면.

if (f) OrderSend (...); // открыть ордер Sell


bool f()
{
   for ( int i = 1 ; i <= 20 ; i++)
    {
     if ( Open [i] < Close [i]) return ( false );
    }
     return ( true );
}
 
AlexeyVik :

글쎄, "무릎에"만 쓴다면.


정말 감사합니다.
 
fmv_for_a_way :

시민 여러분, 왜 알파리 터미널에서 주문을 할 수 없는지 누가 알겠습니까?

OrderSend 기능은 다음과 같습니다.

0과 같은 매개변수가 없습니다. 확인했습니다.

터미널 조건에 따른 정지 및 이익을 위한 최소 거리 = 0.1

터미널은 오류 130을 제공하고 잘못된 중지 또는 이익에 대해 씁니다.

매개변수 SL 및 TP는 각각 11 및 1입니다(정규화 후).

Aforex, Diven FX, ForexClub, AlfaForex 터미널에서는 동일한 코드로 문제가 없습니다.

매수의 경우 매도 및 매수는 입찰 가격에서 계산됩니다. 이것은 한 번입니다.

둘째, 스탑 오더 가격을 계산한 후에는 정규화해야 합니다. 이전의 SL과 TP가 정규화되었다는 사실은 넌센스입니다. 그런 다음 거래 주문 자체에서 표현식의 정규화되지 않은 값을 대체합니다.

셋째, 모든 가격은 거래 작업을 수행할 때 요구 사항 및 제한 사항을 준수해야 합니다. 예를 들어, StopLevel 레벨은 중지 주문의 크기보다 클 수 있습니다.

 

왜 이런 일이 발생하는지 알려주세요.

주문이 성공적으로 열리는 동시 실행에는 세 가지 조건 (굵게 강조 표시됨) 이 있습니다.

정수 시작()

{

int ot = 주문 합계() ;

int index=iHighest(NULL,0,MODE_HIGH,20,1);
int index1=iLowest(NULL,0,MODE_HIGH,20,1);
int index3=iLowest(NULL,0,MODE_HIGH,40,20);

if(낮음[색인1]==낮음[1])

if(높음[인덱스]==높음[20])

if(낮음[인덱스3]==낮음[40]

if ( 영상 ==낮음[40])

만약 (ot==0)

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point,"jfh",123);

문제

네 번째 조건(빨간색으로 강조 표시됨)을 추가하는 즉시 네 번째 조건만 실행될 때 주문이 열립니다.

그리고 프로그램은 앞의 세 가지 조건을 무시합니다 .

&& 를 통해 조건을 작성하려고했습니다 .... 도움이되지 않습니다

4가지 조건이 동시에 충족될 때 주문을 개설하는 방법.

고맙습니다.

 
solnce600 :

왜 이런 일이 일어나는지 알려주세요.

주문이 성공적으로 열리는 동시 실행에는 세 가지 조건 (굵게 강조 표시됨) 이 있습니다.

정수 시작()

{

int ot = 주문 합계();

int index=iHighest(NULL,0,MODE_HIGH,20,1);
int index1=iLowest(NULL,0,MODE_HIGH,20,1);
int index3=iLowest(NULL,0,MODE_HIGH,40,20);

if(낮음[색인1]==낮음[1])

if(높음[인덱스]==높음[20])

if(낮음[인덱스3]==낮음[40]

if ( 영상 ==낮음[40])

만약 (ot==0)

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point,"jfh",123);

문제

네 번째 조건(빨간색으로 강조 표시됨)을 추가하는 즉시 네 번째 조건만 실행될 때 주문이 열립니다.

그리고 프로그램은 앞의 세 가지 조건을 무시합니다 .

&&를 통해 조건을 작성하려고했습니다 .... 도움이되지 않습니다

4가지 조건이 동시에 충족되었을 때 주문이 열리도록 만드는 방법입니다.

고맙습니다.

알고리즘이 작동하도록 중괄호를 정렬하십시오.
 
artmedia70 :

매수, 정지 및 매수는 입찰 가격에서 계산됩니다. 이것은 한 번입니다.

둘째, 스탑 오더 가격을 계산한 후에는 정규화해야 합니다. 이전 SL과 TP가 정규화되었다는 사실은 넌센스입니다. 그런 다음 거래 주문 자체에서 표현식의 정규화되지 않은 값을 대체합니다.

셋째, 모든 가격은 거래 작업을 수행할 때 요구 사항 및 제한 사항을 준수해야 합니다. 예를 들어, StopLevel 레벨은 중지 주문의 크기보다 클 수 있습니다.



어제부터 Alpari에서 그들은 실행을 시장으로 옮겼습니다.

첫 구매/판매 sl=0;tp=0; 그런 다음 수정 sl=100;tp=300;

 
AlexeyVik :
알고리즘이 작동하도록 중괄호를 정렬하십시오.

고맙습니다.
 
pako :


어제부터 Alpari에서 실행이 시장으로 이전되었습니다.

첫 구매/판매 sl=0;tp=0; 그런 다음 수정 sl=100;tp=300;

그리고 거기에도 있습니다. 당연히 하나는 다른 하나와 모순되지 않습니다. 그는 요청에서 Bai에 대한 중지 명령을 고려합니다. 정규화하지 않습니다. StopLevel 거리 제한을 확인하지 않습니다.

요컨대 - 잡동사니.

 
좋아요, 질문이 삭제되었습니다. 멋지네요.
 
pako :


어제부터 Alpari에서 실행이 시장으로 이전되었습니다.

첫 구매/판매 sl=0;tp=0; 그런 다음 수정 sl=100;tp=300;


조언 해주셔서 감사합니다. 나는 이것을 정리할 것이다. 시장 실행으로의 전환은 보류 중인 주문 도 제로 스탑으로 배치되어야 하고 후속 수정으로 이익을 내야 한다는 것을 의미합니까?