조건이 나타날 때 주문을 교육하기 위해 Expert Advisor를 쓰고 있습니다. 작업은 간단합니다. 하나의 포지션만 거래하는 것입니다. 따라서 가격이 MA10보다 높으면 매수, 더 낮으면 매도합니다. 또한, 나는 또한 주문 마법을 사용할 가능성을 테스트하고 있습니다. 전문가가 자신이 내린 주문을 정확히 마감할 수 있도록 하기 위해서입니다. 그리고, 매매 조건의 두 번째 버전이 있습니다(아직 추가하지 않았습니다). 그리고 그 자신이 주문이 속하는 조건을 결정하도록 - 마술은 위치를 여는 기능에 설정됩니다. 또한 조건에 따라 초반에 포지션이 있는지 없는지 판단하고 매수조건 검색으로 이동하거나 매도조건 검색으로 이동해야 합니다.
코드는 다음과 같습니다.
// Мувинг и цена double MA10; double Price; // Есть или нет позиция и ее номер int Pos; int Magic; double Lot=0.1; double SL; double TP; int Slippage=3;
//-------------------------------------------------------------------- // Поиск условий для покупки и продажи //--------------------------------------------------------------------
И вот он, зараза, несмотря на то, что должен торговать только одной позицией (есть - ищем условия на продажу, нет - ищем условия на покупку), открывает большое количество позиций, и потом их не закрывает. Я уже голову поломал. Подскажите, что не так?
브로커의 MT에서 CSV 파일(1999년 1분)을 내보냈습니다. 다른 브로커를 MT로 가져오려고 했습니다. 1분 남았습니다.
1999년부터 문제 없습니다. 하지만 2nd MT에서 5분, 15분 등을 얻는 방법을 이해하지 못합니다. 차트? - 즉. 가져오기 1분 후 로 전환
5분 차트를 보면 MT가 이미 가지고 있는 1분에서 변환하는 대신 인터넷에서 다운로드하려고 하는 것 같습니다.
과부하된 MT - 도움이 되지 않았습니다.
- 1MIN을 더 높은 시간 프레임으로 변환하는 일반적인 솔루션이 있습니까?
글쎄, 자연스럽게 이력서가있을 것입니다. 왜 갑자기 분에서 변환되어야합니까?
원본 CSV를 가져 와서 자체 작성 프로그램으로 실행하여 출력 파일의 모든 표준 시간 프레임을 가져와 가져올 수 있습니다.
안녕하세요!
어떤 식으로든 간단한 알고리즘을 구현할 수 없습니다.
매수/매도 후 2바 후 주문을 마감합니다.
나는 타이머보다 더 좋은 것을 생각할 수 없지만 타이머에는 시간 프레임에 대한 링크가 있으며 n개의 막대에서 필요합니다.
안녕하세요, 제가 스스로 대답할 수 없는 질문을 거듭 거듭 말씀드립니다.
조건이 나타날 때 주문을 교육하기 위해 Expert Advisor를 쓰고 있습니다. 작업은 간단합니다. 하나의 포지션만 거래하는 것입니다. 따라서 가격이 MA10보다 높으면 매수, 더 낮으면 매도합니다. 또한, 나는 또한 주문 마법을 사용할 가능성을 테스트하고 있습니다. 전문가가 자신이 내린 주문을 정확히 마감할 수 있도록 하기 위해서입니다. 그리고, 매매 조건의 두 번째 버전이 있습니다(아직 추가하지 않았습니다). 그리고 그 자신이 주문이 속하는 조건을 결정하도록 - 마술은 위치를 여는 기능에 설정됩니다. 또한 조건에 따라 초반에 포지션이 있는지 없는지 판단하고 매수조건 검색으로 이동하거나 매도조건 검색으로 이동해야 합니다.
코드는 다음과 같습니다.
// Мувинг и цена
double MA10;
double Price;
// Есть или нет позиция и ее номер
int Pos;
int Magic;
double Lot=0.1;
double SL;
double TP;
int Slippage=3;
//--------------------------------------------------------------------
void start()
{
MA10 = iMA(NULL,0,10,0,0,0,0);
Price = Bid;
CheckPos();
}
//--------------------------------------------------------------------
void CheckPos()
{
if(Pos==0)
CheckBuy();
CheckSell();
}
//--------------------------------------------------------------------
// Поиск условий для покупки и продажи
//--------------------------------------------------------------------
void CheckBuy()
{
if (NormalizeDouble(Price,Digits) > NormalizeDouble(MA10,Digits))
Magic=10;
Buy();
return;
}
//--------------------------------------------------------------------
void CheckSell()
{
if (NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits))
Sell();
return;
}
//--------------------------------------------------------------------
// Выставление ордеров
//--------------------------------------------------------------------
void Buy()
{
string Symb=Symbol();
Pos=1;
OrderSend(Symb, OP_BUY, Lot, Ask, Slippage, SL, TP, NULL, Magic);
return;
}
//--------------------------------------------------------------------
void Sell()
{
Pos=0;
OrderClose(Magic, Lot, Bid, Slippage);
return;
}
그리고 그는 감염이 하나의 포지션만 거래해야 한다는 사실에도 불구하고(있는 경우 - 우리는 판매 조건을 찾고 있고, 아니요 - 우리는 구매 조건을 찾고 있습니다) 많은 수의 포지션을 열고 , 그런 다음 닫지 않습니다. 나는 이미 내 머리를 부러뜨렸다. 무슨 일이야?
안녕하세요!
어떤 식으로든 간단한 알고리즘을 구현할 수 없습니다.
매수/매도 후 2바 후 주문을 마감합니다.
나는 타이머보다 더 좋은 것을 생각할 수 없지만 타이머에는 시간 프레임에 대한 링크가 있으며 n개의 막대에서 필요합니다.
열린 주문을 살펴보고 언제 열렸는지 확인하고 현재 시간과 비교하면 두 개의 막대가 지나고 닫힙니다.글쎄, 자연스럽게 이력서가있을 것입니다. 왜 갑자기 분에서 변환되어야합니까?
원본 CSV를 가져 와서 자체 작성 프로그램으로 실행하여 출력 파일의 모든 표준 시간 프레임을 가져와 가져올 수 있습니다.
MT5와 혼동되는 것 같습니다. 1분에서 더 높은 시간 프레임이 생성되는 것 같지만 MT4에서는 모든 것이 이전과 동일합니다.
CodeBase의 스크립트가 있고 마침표 변환기가 호출됩니다.
고맙습니다!
차트를 위한 기간 변환기는 할 수 있지만 테스터에게 제공할 수는 없습니다.
앗, 작동원리를 보니 아직 녹음된 히스토리 파일 이 그곳에 기록되어 있습니다. https://www.mql5.com/ru/code/8560
И вот он, зараза, несмотря на то, что должен торговать только одной позицией (есть - ищем условия на продажу, нет - ищем условия на покупку), открывает большое количество позиций, и потом их не закрывает. Я уже голову поломал. Подскажите, что не так?
CheckBuy에서 미결 주문이 0보다 크면 추가한 다음 종료합니다.
CheckBuy에서 미결 주문이 0보다 크면 추가한 다음 종료합니다.
네, 추가하겠습니다. 고맙습니다.
하지만 여전히 - 그는 왜 내 포지션을 사나요? 결국 처음에는 자리가 있으면 여기로 가지 말고 거기로 가라는 말을 즉시 듣습니다. 그는 계획대로 이 코드 조각에 들어가지 않아야 합니다. 또는 내가 이해하지 못하는 것은 무엇입니까?
네, 추가하겠습니다. 고맙습니다.
하지만 여전히 - 그는 왜 내 포지션을 사나요? 결국 처음에는 자리가 있으면 여기로 가지 말고 거기로 가라는 말을 즉시 듣습니다. 그는 계획대로 이 코드 조각에 들어가지 않아야 합니다. 또는 내가 이해하지 못하는 것은 무엇입니까?
지금은 코드를 자세히 살펴보았지만 0.5리터 없이는 코드를 파악할 수 없습니다. 이제 ICQ를 던지고 거기서 무엇을 만들었는지 설명하겠습니다.