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

 
noob1 :
안녕하세요. 누가 알겠습니까? 보류 주문을 한 후 매수 및 매도에 대해 각각 1번째 막대의 저점과 고점에서 StopLos를 계산하려고 합니다. 그것은 단지 0, 1 오류 130의 결과일 뿐입니다. 미리 감사드립니다.
저 티켓이요? 음, 정지 손실까지의 거리가 너무 작을 수 있습니다.
 
simpleton :

OrderOpenPrice()가 SL에 너무 가깝고 정류장이 "가격의 잘못된 쪽에" 배치되어 있는지 확인합니다. 여기에서 읽을 수 있습니다:

StopLoss 및 TakeProfit 가격은 시장에 너무 근접할 수 없습니다. 최소 정지 거리는 MODE_STOPLEVEL 매개변수와 함께 MarketInfo() 함수를 사용하여 얻을 수 있습니다. 잘못된 정지와 비정규 정지의 경우 오류 130(ERR_INVALID_STOPS)이 생성됩니다.

이 경우, 즉, 보류 중인 주문의 경우 "시장"은 "보류 중인 시가"입니다.

변경, 쟁기질하는 것 같습니다. 고맙습니다.
 
MT에서 컴퓨터의 현재 IP 주소를 찾는 방법을 알려주십시오.
 
Heroix :
MT에서 컴퓨터의 현재 IP 주소를 찾는 방법을 알려주십시오.
http://ipecho.net/plain 에 WebRequest하고 결과 파일에서 읽습니다. 또는 WinAPI.
 

전략 테스터에서 명령 MarketInfo (Symbol(),MODE_TICKVALUE) = 0 (!) 이것은 예를 들어 상품이 EURUSD이고 잔액 통화가 RUR ....인 상황 및 기타 조합에서 발생합니다. 잔액 통화는 통화 쌍의 두 번째 통화 이름과 일치해야 함을 이해했습니다. 그렇지 않으면 명령이 ZERO 값을 제공합니다(전략 테스터에서).결과적으로 원하는 조합으로 테스트할 수 없습니다. 이 문제를 해결하는 방법은 무엇입니까?

 
ikatsko :

전략 테스터에서 명령 MarketInfo(Symbol(),MODE_TICKVALUE) = 0 (!) 이것은 예를 들어 상품이 EURUSD이고 잔액 통화가 RUR ....인 상황 및 기타 조합에서 발생합니다. 잔액 통화가 통화 쌍의 두 번째 통화 이름과 일치해야 함을 이해했습니다. 그렇지 않으면 명령이 ZERO 값을 제공합니다(전략 테스터에서).결과적으로 원하는 조합으로 테스트할 수 없습니다. 이 문제를 해결하는 방법은 무엇입니까?

강조 표시된 것은 잘못되었습니다! 내 계산은 EURUSD, GBP USD 등을 사용하여 유로로 이루어집니다. 켜져 있을 때만 첫 번째 데이터가 도착할 때까지 0을 제공할 수 있으므로 TICKVALUE 로 계산하기 전에 조건을 설정합니다. if != 0;

그리고 테스터에서는 MarketInfo() 가 작동하지 않을 수 있으므로 대략적인 틱 가격을 알고 있으므로 IsTesting() || IsOptimization() || IsVisualMode().

 

도와주세요 동시에 두 쌍으로 올빼미 거래를 만들려고합니다.

첫 번째 쌍의 경우 변수가 다음과 같을 경우

더블 a = NormalizeDouble(iOpen(NULL, PERIOD_CURRENT , 0), 숫자);

그럼 두 번째는?

또는 다음과 같은 첫 번째 기호로 거래를 시작하는 코드

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",0,0,Green);

두 번째 문자의 코드는 어떻게 생겼을까

 
pavlicos :

부엉이를 동시에 두 쌍으로 거래하려고 하는 것을 도와주세요.

첫 번째 쌍의 경우 변수가 다음과 같을 경우

더블 a = NormalizeDouble(iOpen(NULL,PERIOD_CURRENT, 0), 숫자);

그럼 두 번째는?

또는 다음과 같은 첫 번째 기호로 거래를 시작하는 코드

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",0,0,Green);

두 번째 문자의 코드는 어떻게 생겼습니까?

NULL 또는 Symbol() 은 차트 쌍을 의미합니다. 구별하기 위해 문자열 mySymbol = Symbol()을 사용하고 해당 차트에 어드바이저 사본 2개를 걸고 충실도를 위해 다른 마법을 할당할 수 있습니다! 행운을 빕니다!
 
pavlicos :

도와주세요 동시에 두 쌍으로 올빼미 거래를 만들려고합니다.

첫 번째 쌍의 경우 변수가 다음과 같을 경우

더블 a = NormalizeDouble(iOpen(NULL,PERIOD_CURRENT, 0), 숫자);

그럼 두 번째는?

또는 다음과 같은 첫 번째 기호로 거래를 시작하는 코드

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",0,0,Green);

두 번째 문자의 코드는 어떻게 생겼을까

 // в OnTick()
double open_nzdusd_CUR=GetNormalizeOpenPriceBySymbol( "NZDUSD" , Period (), 0 );     // цена открытия текущей свечи NZDUSD
double open_audusd_M15=GetNormalizeOpenPriceBySymbol( "AUDUSD" , PERIOD_M15 , 1 );   // цена открытия прошлой свечи AUDUSD на M15
//+------------------------------------------------------------------+

// функция вне тела OnTick()
//+------------------------------------------------------------------+
double GetNormalizeOpenPriceBySymbol( string sy, int timeframe, int shift) {
   int digits=( int ) SymbolInfoInteger (sy, SYMBOL_DIGITS );
   return ( NormalizeDouble (iOpen(sy,timeframe,shift),digits));
}
//+------------------------------------------------------------------+

오프닝과 함께 다음은 개념 자체입니다.

 string symbol= "AUDUSD" ;
double ask= SymbolInfoDouble (symbol, SYMBOL_ASK );
double bid= SymbolInfoDouble (symbol, SYMBOL_BID );
double pt= SymbolInfoDouble (symbol, SYMBOL_POINT );
int spread=( int ) SymbolInfoInteger (symbol, SYMBOL_SPREAD );
int digits=( int ) SymbolInfoInteger (symbol, SYMBOL_DIGITS );
int value=( int ) SymbolInfoInteger (symbol, SYMBOL_TRADE_STOPS_LEVEL );
int level=(value== 0 )?spread* 2 :value;
//---
double sl_b=(StopLoss== 0 )? 0 : NormalizeDouble ( fmin (ask-StopLoss*pt,ask-(level+ 1 )*pt),digits);
double tp_b=(TakeProfit== 0 )? 0 : NormalizeDouble ( fmax (ask+TakeProfit*pt,ask+(level+ 1 )*pt),digits);
ticket_b= OrderSend (symbol,OP_BUY,Lots,ask, 3 ,sl_b,tp_b, "" , 0 , 0 , clrGreen );
//---
double sl_s=(StopLoss== 0 )? 0 : NormalizeDouble ( fmax (bid+StopLoss*pt,bid+(level+ 1 )*pt),digits);
double tp_s=(TakeProfit== 0 )? 0 : NormalizeDouble ( fmin (bid-TakeProfit*pt,bid-(level+ 1 )*pt),digits);
ticket_s= OrderSend (symbol,OP_SELL,Lots,bid, 3 ,sl_s,tp_s, "" , 0 , 0 , clrRed );

무역 서버 반환 코드 를 확인하지 않고.

 
오늘 터미널의 내비게이터가 갑자기 화면 전체 너비로 확장되어 차트가 가려졌습니다! 항상 Market Watch와 같은 너비였습니다! 원래 크기로 되돌리는 방법을 찾고 있는데 찾을 수 없습니다! 새로운 재앙에 대처하는 방법을 아는 사람을 도와주세요! 고맙습니다!