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

 
kolyango :

StopLoss 및 TakeProfit이 이미 설정되었습니다! 설정된 손절매가 주문의 시작 가격보다 낮으면 실제 가격이 시작 가격에서 80포인트 이상인 경우 시작 가격보다 50포인트(손익분기점)만큼 손절매를 재정렬하기만 하면 됩니다. 명령. 그리고 StopLoss와 TakeProfit을 끊임없이 재정렬하지 마십시오!!!

Kolyan, 당신은 생각하기 싫어서 나를 지치게합니다.
 
DhP :

Kolyan, 당신은 생각하기 싫어서 나를 지치게합니다.

네, 최근에 MQL4를 배우기 시작해서 잘 모르겠습니다...
 

질문이 있습니다. H1 차트에서 각 틱은 새로운 막대가 완전히 형성된 후에 나타납니다. 시간당 1회. 거래 주문 은 다음과 같습니다.

구매에:


OrderSend(Symbol(),OP_BUY,LOT,Ask,slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",3,Green); // Открытие BUY
Alert (GetLastError()); // Выводит сообщение об ошибке

판매:


OrderSend(Symbol(),OP_SELL,LOT,Bid,slippage,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",3,Red); // Открытие SELL
Alert (GetLastError()); // Выводит сообщение об ошибке

그리고 가끔 오류 129가 나오고 모든 거래 주문이 실행되는 것은 아니라는 것을 알아차렸습니다. 소수점 이하 자릿수라고 생각하시면 됩니다. Digits 를 추가해야 한다고 생각합니다. 하지만 정확히 어디에? 또는 하루에 한 번 어드바이저가 실행되더라도 항상 실행되도록 거래 주문을 형성하는 것이 더 올바른 방법은 무엇입니까? 기능을 추가해야 합니까?
RefreshRates () ; // Обновим данные

거래 주문 전에? 다음과 같이 다소:

RefreshRates(); // Обновим данные

OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",3,Green); // Открытие BUY
Alert (GetLastError()); // Выводит сообщение об ошибке

어떻게 하면 더 정확하고 어떤 시간 프레임에서도 항상 완벽하게 실행하는 방법은 무엇입니까?

 

그러한 조건을 작성하는 방법? 실제 가격 >= OrderOpenPrice() 60p인 경우 (실제 가격이 오픈 주문 가격보다 60p 크거나 같을 경우)

그럼 맞을까요?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))

 
kolyango :

그러한 조건을 작성하는 방법? 실제 가격 >= OrderOpenPrice() 60p인 경우 (실제 가격이 오픈 주문 가격보다 60p 크거나 같을 경우)

그럼 맞을까요?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))



if ( Ask > (OrderOpenPrice()+(- 0.5+ Dist)* Point) )



 
kolyango :

그러한 조건을 작성하는 방법? 실제 가격 >= OrderOpenPrice() 60p인 경우 (실제 가격이 오픈 주문 가격보다 60p 크거나 같을 경우)

그럼 맞을까요?

if ((NormalizeDouble(Ask,Digits))>=(OrderOpenPrice()+Dist*Point))

double pa=MarketInfo( Symbol (),MODE_ASK);
int     pt=MarketInfo( Symbol (),MODE_POINT);
int     dg=MarketInfo( Symbol (),MODE_DIGITS);

if ( NormalizeDouble (pa-OrderOpenPrice()+ 60 *pt,dg)>= 0 ) {     // если Ask больше либо равен цене открытия выбранного ордера + 60 пунктов
    // ... код, обрабатывающий истинностть выражения оператора if ...
   }
 
artmedia70 :



Artem, 대답하지 말아야 할 질문이 있습니다.

누군가는 질문하기 전에 생각해야 합니다.

메리 크리스마스!!!

 
Vinin :


Artem, 대답하지 말아야 할 질문이 있습니다.

누군가는 질문하기 전에 생각해야 합니다.

메리 크리스마스!!!

안녕, 친구!!! 감사합니다! :)))))
누군가에게 크리스마스의 기적이 되길... :)
 
친애하는 MQL4 전문가 여러분
간단한 지표 작성을 도와주세요.

1) 갭업 인디케이터


어제의 고가가 오늘의 저가보다 낮으면 표시기는 오늘의 시가를 호출합니다.
조건이 충족되지 않으면 표시기가 이전 값을 유지합니다.

2) 갭 다운 표시기

오늘의 고가가 어제의 고가보다 낮으면 표시기는 오늘의 시가를 호출합니다.
조건이 충족되지 않으면 표시기가 이전 값을 유지합니다.

3) 지역 최대 및 최소 표시

어제의 최고가가 어제의 최고보다 작고 어제의 최고가 오늘의 최고보다 큰 경우, 조건이 충족되지 않으면 표시기는 어제의 최고가를 호출하고 표시기는 이전 값을 중지합니다. 즉, 저항선의 수준을 유지

메타스톡에서는 If((Ref(H,-1) >Ref(H,0)) AND (Ref(H,-2) < Ref(H,-1) ), Ref( H,-1) 가 분명합니다. , 이전) ; 하지만 MQL4에서는 완전히 새로운 사람입니다.

당신의 도움에 미리 감사드립니다

 
오류 4109 거래가 허용되지 않습니다. 어떻게 고치는 지?