int magic = 428;//전문가의 매직 넘버 extern double volume = 0.1;//주문량 extern int 슬리피지 = 3;//슬립페이지 int OPB;//주문한 구매 주문의 레이블 int OPS;//판매 주문의 레이블 int Profit=1;//오픈 주문의 이익 수준 string comB = "구매 경향 항목";//주문 주석 string comS = "판매 동향 입력";//주문 댓글 double StochasticCAD;//USDCAD의 현재 막대에서 주 스토캐스틱 라인의 위치 double StochasticAUD;//AUDUSD에 대한 현재 막대의 주요 스토캐스틱 라인의 위치
double SARCAD; // USDCAD 표시기의 현재 위치 double SARCCAD; // USDCAD의 표시기 위치 표시줄 double SARAUD;//AUDUSD 표시기의 현재 위치 double SARСAUD;//표시 위치 막대를 AUDUSD로 되돌립니다.
정수 시작() {
//______________________________ 변수 값의 정의 _______________________
이중 입찰CAD =MarketInfo("USDCAD",MODE_BID); 이중 AskCAD = MarketInfo("USDCAD",MODE_ASK); doublebidAUD =MarketInfo("AUDUSD",MODE_BID); 이중 AskAUD =MarketInfo("AUDUSD",MODE_ASK);
//______________________________ 주문 검색 및 마감 _______________________________________
정수 나; for(i=0; i<=OrdersTotal(); i++) { if(주문선택(i,SELECT_BY_POS,MODE_TRADES)==거짓) break;//주문 번호 i가 존재하지 않으면 검색을 중지합니다.
if (OrderSymbol() != "GBPUSD" || OrderMagicNumber() != magic) // 주문이 이 쌍의 주문이 아닌 경우 Expert Advisor가 있는 계속하다; // 건너뛰고 그 뒤의 다음 순서를 봅니다.
int magic = 428;//전문가의 매직 넘버 extern double volume = 0.1;//주문량 extern int 슬리피지 = 3;//슬립페이지 int OPB;//주문한 구매 주문의 레이블 int OPS;//판매 주문의 레이블 int Profit=1;//오픈 주문의 이익 수준 string comB = "구매 경향 항목";//주문 주석 string comS = "판매 동향 입력";//주문 댓글 double StochasticCAD;//USDCAD의 현재 막대에서 주 스토캐스틱 라인의 위치 double StochasticAUD;//AUDUSD에 대한 현재 막대의 주요 스토캐스틱 라인의 위치
double SARCAD; // USDCAD 표시기의 현재 위치 double SARCCAD; // USDCAD의 표시기 위치 표시줄 double SARAUD;//AUDUSD 표시기의 현재 위치 double SARСAUD;//표시 위치 막대를 AUDUSD로 되돌립니다.
정수 시작() {
//______________________________ 변수 값의 정의 _______________________
이중 입찰CAD =MarketInfo("USDCAD",MODE_BID); 이중 AskCAD = MarketInfo("USDCAD",MODE_ASK); doublebidAUD =MarketInfo("AUDUSD",MODE_BID); 이중 AskAUD =MarketInfo("AUDUSD",MODE_ASK);
//______________________________ 주문 검색 및 마감 _______________________________________
정수 나; for(i=0; i<=OrdersTotal(); i++) { if(주문선택(i,SELECT_BY_POS,MODE_TRADES)==거짓) break;//주문 번호 i가 존재하지 않으면 검색을 중지합니다.
if (OrderSymbol() != "GBPUSD" || OrderMagicNumber() != magic) // 주문이 이 쌍의 주문이 아닌 경우 Expert Advisor가 있는 계속하다; // 건너뛰고 그 뒤의 다음 순서를 봅니다.
int magic = 428;//магический номер экспертаexterndouble volume = 0.1;//объем выставляемого ордераexternint slippage = 3;//проскальзываниеint OPB;//метка выставляемого ордера на покупкуint OPS;//метка выставляемого ордера на продажуint Profit=1;//уровень профита открытых ордеровstring comB = "Вход по тренду на Buy";//комментарий ордераstring comS = "Вход по тренду на Sell";//комментарий ордераdouble StochasticCAD;//положение основной линии Стохастики на текущем баре по USDCADdouble StochasticAUD;//положение основной линии Стохастики на текущем баре по AUDUSDdouble SARCAD;//текущее положение индикатора по USDCADdouble SARСCAD;//положение индикатора бар назад по USDCADdouble SARAUD;//текущее положение индикатора по AUDUSDdouble SARСAUD;//положение индикатора бар назад по AUDUSDdouble bidCAD;
double askCAD;
double bidAUD;
double askAUD;
int start()
{
//______________________________определение значений переменных_______________________
StochasticCAD = iStochastic("USDCAD",30,5,3,3,1,1,0,0);
StochasticAUD = iStochastic("AUDUSD",30,5,3,3,1,1,1,0);
SARCAD=iSAR("USDCAD",30,0.02,0.2,0);
SARСCAD=iSAR("USDCAD",30,0.02,0.2,1);
SARAUD=iSAR("AUDUSD",30,0.02,0.2,0);
SARСAUD=iSAR("AUDUSD",30,0.02,0.2,1);
bidCAD =MarketInfo("USDCAD",MODE_BID);
askCAD =MarketInfo("USDCAD",MODE_ASK);
bidAUD =MarketInfo("AUDUSD",MODE_BID);
askAUD =MarketInfo("AUDUSD",MODE_ASK);
//______________________________поиск и закрытие ордеров_______________________________________ int i;
for(i=0; i<=OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
break;// если ордер номер i не существует, прекращаем переборif (OrderSymbol() != "GBPUSD" || OrderMagicNumber() != magic) // если ордер не с этой пары, на которой стоит наш экспертcontinue; // пропускаем его и смотрим на следующий за ним ордер//_______закрытие Buy_______ if (OrderType() == OP_BUY && OrderProfit()>=Profit)
// если ордер бай
{
OPB=1;
if(StochasticCAD==0 || StochasticAUD==100 || SARCAD<bidCAD || SARAUD>askAUD)//и рынок близок к развороту
{
OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Wheat); // закроем его, если он в профите
OPB=0;
}
}
else
{
//_______закрытие Sell_______ if(OrderType() == OP_SELL && OrderProfit()>=Profit)// если ордер селл
{OPS=1;
if(StochasticCAD==100 || StochasticAUD==0 || SARCAD>askCAD || SARAUD<bidAUD)//и рынок близок к развороту
{
OrderClose(OrderTicket(),OrderLots(),Ask,slippage,PaleTurquoise); // закроем его, если он в профите
OPS=0;
}
}
}
}
//______________выставление ордеров______________________________________________________________________if (SARCAD>askCAD && SARСCAD<bidCAD && SARAUD<bidAUD && SARСAUD>askAUD && OPB<1)//определим условия
{ //_______Buy_______ if(!IsTradeAllowed())
{
Alert("занят торговый поток, повторим попытку бай...");
return(-1);
}
OPB =OrderSend("GBPUSD",OP_BUY,volume,Ask,slippage,0,0,comB,magic,0,Red); //выставим ордерif(OPB == -1)
{
Alert("GBPUSD"," ошибка: бай", GetLastError());
return(-1);
}
if(OPB > 1)
Alert ("GBPUSD","Выставили ордер на покупку!");
}
else
{//_______Sell_______if (SARСCAD>askCAD && SARCAD<bidCAD && SARСAUD<bidAUD && SARAUD>askAUD && OPS<1)//определим условия
{
if(!IsTradeAllowed())
{
Alert("занят торговый поток, повторим попытку селл...");
return(-1);
}
OPS=OrderSend("GBPUSD",OP_SELL,volume,Bid,slippage,0,0,comS,magic,0,Blue); //выставим ордерif(OPS == -1)
{
Alert("GBPUSD"," ошибка: селл", GetLastError());
return(-1);
}
if(OPS > 1)
Alert ("GBPUSD","Выставили ордер на продажу!");
}
}
return(0);//выход
}
테스터의 속도가 3년차로 갈수록 떨어지는 이유는?
그런 문제가 있습니다. 고문이 일년에 많은 트랜잭션을 수행하는 경우에도 마찬가지입니다. 최종 결과를 표시하기 위해 많은 데이터가 저장되거나 표시기 버퍼 가 메모리를 차지할 수 있습니다.
일반적으로 나는 보았다-모르겠다, 참으라-전반적으로 10년 동안의 시험이지만 1년 동안 최적화한 다음 최적의 매개변수를 선택하는 것이 낫다
다양한 십자가를 분석한 다음 다른 쌍을 주문하고 싶습니다.
int magic = 428;//전문가의 매직 넘버
extern double volume = 0.1;//주문량
extern int 슬리피지 = 3;//슬립페이지
int OPB;//주문한 구매 주문의 레이블
int OPS;//판매 주문의 레이블
int Profit=1;//오픈 주문의 이익 수준
string comB = "구매 경향 항목";//주문 주석
string comS = "판매 동향 입력";//주문 댓글
double StochasticCAD;//USDCAD의 현재 막대에서 주 스토캐스틱 라인의 위치
double StochasticAUD;//AUDUSD에 대한 현재 막대의 주요 스토캐스틱 라인의 위치
double SARCAD; // USDCAD 표시기의 현재 위치
double SARCCAD; // USDCAD의 표시기 위치 표시줄
double SARAUD;//AUDUSD 표시기의 현재 위치
double SARСAUD;//표시 위치 막대를 AUDUSD로 되돌립니다.
정수 시작()
{
//______________________________ 변수 값의 정의 _______________________
StochasticCAD = iStochastic("USDCAD",30,5,3,3,1,1,0,0);
StochasticAUD = iStochastic("AUDUSD",30,5,3,3,1,1,1,0);
SARCAD=iSAR("USDCAD",30,0.02,0.2,0);
SACCAD=iSAR("USDCAD",30,0.02,0.2,1);
SARAUD=iSAR("AUDUSD",30,0.02,0.2,0);
SARСAUD=iSAR("AUDUSD",30,0.02,0.2,1);
이중 입찰CAD =MarketInfo("USDCAD",MODE_BID);
이중 AskCAD = MarketInfo("USDCAD",MODE_ASK);
doublebidAUD =MarketInfo("AUDUSD",MODE_BID);
이중 AskAUD =MarketInfo("AUDUSD",MODE_ASK);
//______________________________ 주문 검색 및 마감 _______________________________________
정수 나;
for(i=0; i<=OrdersTotal(); i++)
{
if(주문선택(i,SELECT_BY_POS,MODE_TRADES)==거짓)
break;//주문 번호 i가 존재하지 않으면 검색을 중지합니다.
if (OrderSymbol() != "GBPUSD" || OrderMagicNumber() != magic) // 주문이 이 쌍의 주문이 아닌 경우 Expert Advisor가 있는
계속하다; // 건너뛰고 그 뒤의 다음 순서를 봅니다.
//__________ 마감 매수____
if (OrderType() == OP_BUY && OrderProfit()>=이익)
// 주문이 매수인 경우
{
OPB=1;
if(StochasticCAD==0 || StochasticAUD==100 || SARCAD<bidCAD || SARAUD>askAUD)//시장이 반전에 가깝습니다.
{
OrderClose(OrderTicket(),OrderLots(), 입찰, 미끄러짐, 밀); // 이익이면 닫는다.
OPB=0;
}
}
또 다른
{
//__________ 마감 매도__________
if(OrderType() == OP_SELL && OrderProfit()>=Profit)// 매도 주문인 경우
{OPS=1;
if(StochasticCAD==100 || StochasticAUD==0 || SARCAD>askCAD || SARAUD<bidAUD)//시장이 반전에 가깝습니다.
{
OrderClose(OrderTicket(),OrderLots(),Ask,slippage,PaleTurquoise); // 이익이면 닫는다.
작전 = 0;
}
}
}
}
//______________ 명령을 내리기 ______________________________________________________________________
if (SARCAD>askCAD && SARCCAD<bidCAD && SARAUD<bidAUD && SARСAUD>askAUD && OPB<1)//조건 정의
{ //_______구입하다_______
if(!IsTradeAllowed())
{
Alert("거래 스레드가 사용 중입니다. 다시 구매를 시도하십시오...");
리턴(-1);
}
OPB =OrderSend("GBPUSD",OP_BUY,볼륨,묻기,슬립 페이지,0,0,comB,매직,0,빨간색); //주문을 넣다
if(OPB == -1)
{
Alert("GBPUSD","오류: 구매", GetLastError());
리턴(-1);
}
if(OPB > 1)
Alert("GBPUSD","구매 주문 완료!");
}
또 다른
{//______팔다_______
if (SARCCAD>askCAD && SARCAD<bidCAD && SARCAUD<bidAUD && SARAUD>askAUD && OPS<1)//조건 정의
{
if(!IsTradeAllowed())
{
Alert("거래 쓰레드가 바빠서 다시 매도를 해보자...");
리턴(-1);
}
OPS=OrderSend("GBPUSD",OP_SELL,거래량,Bid,Slippage,0,0,comS,magic,0,Blue); //주문을 넣다
if(OPS == -1)
{
Alert("GBPUSD","오류: 판매", GetLastError());
리턴(-1);
}
if(OPS > 1)
Alert("GBPUSD","판매 주문 완료!");
}
}
return(0);//종료
}
테스트할 때 아무것도 표시되지 않습니다. 결과가 없습니다.
로그에는 다음과 같은 오류 집합이 포함되어 있습니다.
무슨 일이야???
다양한 십자가를 분석한 다음 다른 쌍을 주문하고 싶습니다.
int magic = 428;//전문가의 매직 넘버
extern double volume = 0.1;//주문량
extern int 슬리피지 = 3;//슬립페이지
int OPB;//주문한 구매 주문의 레이블
int OPS;//판매 주문의 레이블
int Profit=1;//오픈 주문의 이익 수준
string comB = "구매 경향 항목";//주문 주석
string comS = "판매 동향 입력";//주문 댓글
double StochasticCAD;//USDCAD의 현재 막대에서 주 스토캐스틱 라인의 위치
double StochasticAUD;//AUDUSD에 대한 현재 막대의 주요 스토캐스틱 라인의 위치
double SARCAD; // USDCAD 표시기의 현재 위치
double SARCCAD; // USDCAD의 표시기 위치 표시줄
double SARAUD;//AUDUSD 표시기의 현재 위치
double SARСAUD;//표시 위치 막대를 AUDUSD로 되돌립니다.
정수 시작()
{
//______________________________ 변수 값의 정의 _______________________
StochasticCAD = iStochastic("USDCAD",30,5,3,3,1,1,0,0);
StochasticAUD = iStochastic("AUDUSD",30,5,3,3,1,1,1,0);
SARCAD=iSAR("USDCAD",30,0.02,0.2,0);
SACCAD=iSAR("USDCAD",30,0.02,0.2,1);
SARAUD=iSAR("AUDUSD",30,0.02,0.2,0);
SARСAUD=iSAR("AUDUSD",30,0.02,0.2,1);
이중 입찰CAD =MarketInfo("USDCAD",MODE_BID);
이중 AskCAD = MarketInfo("USDCAD",MODE_ASK);
doublebidAUD =MarketInfo("AUDUSD",MODE_BID);
이중 AskAUD =MarketInfo("AUDUSD",MODE_ASK);
//______________________________ 주문 검색 및 마감 _______________________________________
정수 나;
for(i=0; i<=OrdersTotal(); i++)
{
if(주문선택(i,SELECT_BY_POS,MODE_TRADES)==거짓)
break;//주문 번호 i가 존재하지 않으면 검색을 중지합니다.
if (OrderSymbol() != "GBPUSD" || OrderMagicNumber() != magic) // 주문이 이 쌍의 주문이 아닌 경우 Expert Advisor가 있는
계속하다; // 건너뛰고 그 뒤의 다음 순서를 봅니다.
//__________ 마감 매수____
if (OrderType() == OP_BUY && OrderProfit()>=이익)
// 주문이 매수인 경우
{
OPB=1;
if(StochasticCAD==0 || StochasticAUD==100 || SARCAD<bidCAD || SARAUD>askAUD)//시장이 반전에 가깝습니다.
{
OrderClose(OrderTicket(),OrderLots(), 입찰, 미끄러짐, 밀); // 이익이면 닫는다.
OPB=0;
}
}
또 다른
{
//__________ 마감 매도__________
if(OrderType() == OP_SELL && OrderProfit()>=Profit)// 매도 주문인 경우
{OPS=1;
if(StochasticCAD==100 || StochasticAUD==0 || SARCAD>askCAD || SARAUD<bidAUD)//시장이 반전에 가깝습니다.
{
OrderClose(OrderTicket(),OrderLots(),Ask,slippage,PaleTurquoise); // 이익이면 닫는다.
작전 = 0;
}
}
}
}
//______________ 명령을 내리기 ______________________________________________________________________
if (SARCAD>askCAD && SARCCAD<bidCAD && SARAUD<bidAUD && SARСAUD>askAUD && OPB<1)//조건 정의
{ //_______구입하다_______
if(!IsTradeAllowed())
{
Alert("거래 스레드가 사용 중입니다. 다시 구매를 시도하십시오...");
리턴(-1);
}
OPB =OrderSend("GBPUSD",OP_BUY,볼륨,Ask,slippage,0,0,comB,magic,0,Red); //주문을 넣다
if(OPB == -1)
{
Alert("GBPUSD","오류: 구매", GetLastError());
리턴(-1);
}
if(OPB > 1)
Alert("GBPUSD","구매 주문 완료!");
}
또 다른
{//______팔다_______
if (SARCCAD>askCAD && SARCAD<bidCAD && SARCAUD<bidAUD && SARAUD>askAUD && OPS<1)//조건 정의
{
if(!IsTradeAllowed())
{
Alert("거래 쓰레드가 바빠서 다시 매도를 해보자...");
리턴(-1);
}
OPS=OrderSend("GBPUSD",OP_SELL,거래량,Bid,Slippage,0,0,comS,magic,0,Blue); //주문을 넣다
if(OPS == -1)
{
Alert("GBPUSD","오류: 판매", GetLastError());
리턴(-1);
}
if(OPS > 1)
Alert("GBPUSD","판매 주문 완료!");
}
}
return(0);//종료
}
테스트할 때 아무것도 표시되지 않습니다. 결과가 없습니다.
로그에는 다음과 같은 오류 집합이 포함되어 있습니다.
무슨 일이야???
시작하려면 "Control + Alt + M" 키를 동시에 눌러 창에 코드를 붙여넣는 방법을 배우십시오.
또한 로그에서 해당 오류 메시지 를 두 번 클릭해 보십시오. 몇 가지 아이디어를 얻을 수 있습니다.
시작하려면 "Control + Alt + M" 키를 동시에 눌러 창에 코드를 붙여넣는 방법을 배우십시오. 그러면 사람들이 탐색하고 말도 안 되는 권장 사항을 제공할 수 있습니다.
또한 로그에서 해당 오류 메시지를 두 번 클릭해 보십시오. 몇 가지 아이디어를 얻을 수 있습니다.
컴파일러가 아닌 테스터의 로그에 있는 오류...(먼저 보고 주석을 달면 그림에서 실제로 볼 수 있습니다...). 더블클릭하면 아무것도 안됨...
모든 진드기에 대한 테스트? 역사 문제
모든 진드기에 대한 테스트? 역사 문제
저것들. 분석에 관련된 모든 쌍의 기록을 다시 로드해야 합니까?
저것들. 분석에 관련된 모든 쌍의 기록을 다시 로드해야 합니까?
아마도. 물론 DC가 지원한다면.
테스터에서 현재 계측기의 위치를 열 수 있으며 다른 계측기에는 여러 가지 제한 사항이 있음을 잊지 마십시오.
아마도. 물론 DC가 지원한다면.
테스터에서 현재 계측기의 위치를 열 수 있으며 다른 계측기에는 여러 가지 제한 사항이 있음을 잊지 마십시오.
DC 란 무엇입니까? 그리고 다른 악기에 대한 제한 사항은 무엇입니까?
DC 란 무엇입니까? 그리고 다른 악기에 대한 제한 사항은 무엇입니까?
DC - 거래 센터
다른 악기에 대한 테스터에서는 제로 바 에서만 시가를 얻을 수 있고 , 다른 악기에 대한 틱은 모델링되지 않으며, 시장 환경은 실질적으로 접근할 수 없습니다.
다른 상품에 대한 거래는 열리지 않습니다.
다중 통화 분석을 올바르게 수행해야 하는 경우 MT5를 사용하는 것이 좋습니다. 다중 통화 테스터가 있습니다.