오류, 버그, 질문 - 페이지 1418

 
안녕하세요!
최근에 프로그래밍을 시작했는데 StopLoss가 설정되지 않은 문제가 발생했습니다. 어디가 잘못되었는지 말해줘?
정수 시작()
{
if(CountTrades()==0)
{
이중 ima=iMA(Symbol(),PERIOD_H1,14,0,MODE_SMA, PRICE_CLOSE ,1);
if(질문>이마)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"",Magic,0,Blue);
if(티켓>0)
{
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
bool modify1=OrderModify(티켓,OrderOpenPrice(),0,TP,0);
{
SL=NormalizeDouble(Ask-StopLoss*Point,Digits);
bool modify=OrderModify(티켓,주문열기가격(),SL,0,0);
}
}
}
그렇지 않으면(입찰가<ima)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"",Magic,0,Red);
if(티켓>0)
{
TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);
bool modify1=OrderModify(티켓,OrderOpenPrice(),0,TP,0);
{
SL=NormalizeDouble(Bid+StopLoss*Point,Digits);
bool modify=OrderModify(티켓,주문열기가격(),SL,0,0);
}
}
}
또 다른
{
int order_type=FindLastOrderType();
if(주문 유형==OP_BUY)
{
가격=FindLastPrice(OP_BUY);
if(Ask<=price-Step*Point)
{
lastlot = FindLastLots(OP_BUY);
lastlot = NormalizeDouble(lastlot * 승수, 2);
ticket=OrderSend(Symbol(),OP_BUY,lastlot,Ask,Slippage,0,0,"",Magic,0,Blue);
if(티켓>0)
주문 수정(OP_BUY);
}
}
else if(order_type==OP_SELL)
{
가격=최종가격 찾기(OP_SELL);
if(입찰가<=가격+단계*포인트)
{
lastlot=FindLastLots(OP_SELL);
}
lastlot=NormalizeDouble(lastlot*승수,2);
ticket=OrderSend(Symbol(),OP_SELL,lastlot,Bid,Slippage,0,0,"",Magic,0,Red);
if(티켓>0)
주문 수정(OP_SELL);
}
}
}
리턴(0);
}
미리 감사드립니다)))
 
Сергей Верещак :
if(질문>이마)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"",Magic,0,Blue);
if(티켓>0)
{
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
bool modify1=OrderModify(티켓,OrderOpenPrice(),0,TP,0); 이익실현을 설정하고 손절매를 0으로 설정합니다.
{
SL=NormalizeDouble(Ask-StopLoss*Point,Digits);
bool modify=OrderModify(티켓,주문오픈가격(),SL,0,0); 손절매를 설정하고 이익실현을 0으로 설정합니다. 즉, 이전에 설정된 것을 삭제합니다.
}
}
}

미리 감사드립니다)))
파고, 팁을 주었다 ...
 
Vladimir Pastushak :
파고, 팁을 주었다 ...
볼로디아 감사합니다. 붐 파헤쳐, 그래서 빨리 알아낼게))))
 
Vladimir Pastushak :
파고, 팁을 주었다 ...

그런 다음 "새로운" MQL4 및 MQL5의 표준으로 가져오겠습니다.

 //TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
TP= NormalizeDouble (Ask+TakeProfit* _Point , _Digits );
 
Alexey Volchanskiy :

그런 다음 "새로운" MQL4 및 MQL5의 표준으로 가져오겠습니다.

 //TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
TP= NormalizeDouble (Ask+TakeProfit* _Point , _Digits );

올해 5월 15일부터 Renat Fatkhullin의 게시물이 있습니다. 여기에 다음 텍스트가 있습니다.

사용되지 않는 상태를 표시하려면 밑줄을 긋습니다. 전역 수준에서 선언된 이러한 간단한 변수는 사용할 수 없지만 일반 지역 변수 처럼 보입니다.

언어와 코드의 순수성을 위해 Symbol(), Period()로 전환해야 합니다. 여기에는 사려 깊고 오래된 유산을 제거하는 것이 있습니다.

필요한 경우 인용된 순간이 있는 게시물을 검색할 수 있습니다. 커뮤니티 회원 중 한 사람의 질문에 대한 Renat의 답변은 다음과 같이 시작되었습니다.

MT4에서 변수 Point, Digits... MT5에서 이러한 동일한 변수는 밑줄로 시작합니다...


P./S.: 따라서 밑줄이 더 이상 사용되지 않는 상태(사용되지 않거나 승인되지 않았거나 향후 사용에 권장되지 않음)라는 사실에 따라 밑줄 없이 Point() 및 Digits()를 사용합니다. /*또한 MQL4에서 이름 뒤에 괄호를 사용하여 Point()Digits() 를 사용합니다. MQL5에서와 같이 작동 중에 오류를 생성하지 않으며 컴파일 중에 오류 및 경고를 생성하지 않습니다.*/

 

안녕하세요! 매우 흥미로운 질문이 있습니다. 제 컴퓨터에는 3개의 MT4 플랫폼이 있습니다. 1번은 실제 계정이 열리는 주요 플랫폼입니다. 2 번과 3 번은 보조이며 테스트 고문 을 위해 데모 계정이 열립니다. https://www.mql5.com 사이트에서 신호를 복사하려고 할 때(원하는 신호를 선택하고 복사 시작을 클릭하면 비문이 표시된 창이 나타납니다. MetaTrader4를 시작하고 플랫폼에 가입하고 이를 클릭합니다. 비문), 원하는 1번 플랫폼 대신 3번 플랫폼이 열립니다. 그것을 고치는 방법? 정확히 1번 플랫폼이 열리도록 하는 방법은 무엇입니까?

 
Mihail Kuzmin :

안녕하세요! 매우 흥미로운 질문이 있습니다. 제 컴퓨터에는 3개의 MT4 플랫폼이 있습니다. 1번은 실제 계정이 열리는 주요 플랫폼입니다. 2 번과 3 번은 보조이며 테스트 고문 을 위해 데모 계정이 열립니다. https://www.mql5.com 사이트에서 신호를 복사하려고 할 때(원하는 신호를 선택하고 복사 시작을 클릭하면 비문이 표시된 창이 나타납니다. MetaTrader4를 시작하고 플랫폼에 가입) 플랫폼 번호. 원하는 플랫폼 1번 대신 3번이 열립니다. 그것을 고치는 방법? 정확히 1번 플랫폼이 열리도록 하는 방법은 무엇입니까?

여러 터미널의 "동물원"이 있는 경우 복사하려는 터미널에서 직접 신호를 찾아야 합니다.
 
Karputov Vladimir :
여러 터미널의 "동물원"이 있는 경우 복사하려는 터미널에서 직접 신호를 찾아야 합니다.
터미널에서 작동하지 않으면 오류가 발생합니다 ...
 
Mihail Kuzmin :
터미널에서 작동하지 않으면 오류가 발생합니다 ...
오류가 정확히 무엇입니까? 어떤 순서로 하고 계신가요?
 
Karputov Vladimir :
오류가 정확히 무엇입니까? 어떤 순서로 하고 계신가요?

신호 열의 터미널에서 원하는 신호를 선택한 다음 기호를 클릭하여 20 USD에 서명한 다음 암호를 입력하라는 창이 표시됩니다. 암호를 입력하면 비문이 나타납니다. 구독에 실패했습니다.

한 달 전에 사이트를 통해 시그널에 가입했고, 정확히 내가 필요로 하는 1번 플랫폼이 열렸습니다. 이번에는 어떤 이유로 완전히 다른 플랫폼이 열립니다.