경비원!!! 돕다. 4시간 45분 남았습니다! - 페이지 4 12345678 새 코멘트 Виктор Павлюк 2012.09.21 19:14 #31 //+------------------------------------------------------------------+//| Cempionat2010.mq5 |//| Victor Pavlyuk |//| |//+------------------------------------------------------------------+#property copyright "Victor Pavljuk"#property version "1.00"input int StartHour = 10;input int EndHour = 20;input double Lots = 5;//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void OnInit() { }//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void OnTick() { MqlTradeRequest request; MqlTradeResult result; MqlDateTime dt; bool bord=false, sord=false; bool bords=false, sords=false; int i; ulong ticket; datetime t[]; double h[], l[], ma[], atr_h[], atr_l[], lev_h, lev_l, Spread =NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_ASK) - SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits); request.symbol =Symbol(); request.volume =Lots; request.tp =0; request.deviation =0; request.type_filling=ORDER_FILLING_RETURN; TimeCurrent(dt); i=(dt.hour+1)*60; if(CopyTime(Symbol(),0,0,i,t)<i || CopyHigh(Symbol(),0,0,i,h)<i || CopyLow(Symbol(),0,0,i,l)<i) { Print("Не удалось скопировать таймсерию!"); return; } ArraySetAsSeries(t,true); ArraySetAsSeries(h,true); ArraySetAsSeries(l,true); lev_h=h[0]; lev_l=l[0]; for(i=1;i<ArraySize(t) && MathFloor(t[i]/86400)==MathFloor(t[0]/86400);i++) { if(h[i]>lev_h) lev_h=h[i]; if(l[i]<lev_l) lev_l=l[i]; } lev_h+=Spread+_Point; lev_l-=_Point; for(i=0;i<OrdersTotal();i++) { ticket=OrderGetTicket(i); if(OrderGetString(ORDER_SYMBOL)==Symbol()) { if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_STOP) { if(dt.hour>=StartHour && dt.hour<EndHour ) { Print("Есть ордер byu2!"); return; } else { request.action=TRADE_ACTION_REMOVE; request.order=ticket; OrderSend(request,result); return; } bords=true; } if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_STOP) { if(dt.hour>=StartHour && dt.hour<EndHour ) { Print("Есть ордер Sel2"); return; } else { request.action=TRADE_ACTION_REMOVE; request.order=ticket; OrderSend(request,result); return; } sords=true; } } } request.action=TRADE_ACTION_PENDING; if(dt.hour>=StartHour && dt.hour<EndHour) { if(bords==false ) { request.price=NormalizeDouble(lev_h,_Digits); request.sl=NormalizeDouble(lev_h-1000*_Point,_Digits); request.tp=NormalizeDouble(lev_h+138*_Point,_Digits); request.type=ORDER_TYPE_BUY_STOP; OrderSend(request,result); } if(sords==false ) { request.price=NormalizeDouble(lev_l,_Digits); request.sl=NormalizeDouble(lev_l+1000*_Point,_Digits); request.tp=NormalizeDouble(lev_l-138*_Point,_Digits); request.type=ORDER_TYPE_SELL_STOP; OrderSend(request,result); } } }//+------------------------------------------------------------------+не проходит тест даже советник 2010 годатогда работал KARAUL!!! HELP. 4 hours MQL5 Ordersend for Binary Buy and sell signals Виктор Павлюк 2012.09.21 19:17 #32 fyords : 이유는 다음과 같습니다. 그래서 거기에 뭐라고 쓰여있나요? 그리고 이 도움으로. 10013 TRADE_RETCODE_INVALID 잘못된 요청 ERR_TRADE_SEND_FAILED 4756 거래 요청을 보내지 못했습니다. Valerii Mazurenko 2012.09.21 19:26 #33 int OpenShort( double volume= 5 , int slippage= 10000 , string comment= "" , int magic= 888 ) { MqlTradeRequest my_trade; MqlTradeResult my_trade_result; my_trade.action= TRADE_ACTION_DEAL ; my_trade.symbol= Symbol (); my_trade.volume= NormalizeDouble (volume, 1 ); my_trade.price= NormalizeDouble ( Bid , _Digits ); my_trade.sl= NormalizeDouble ( Bid + StopLoss* _Point , _Digits ); my_trade.tp= NormalizeDouble ( Bid - TakeProfit* _Point , _Digits ); my_trade.deviation=slippage; my_trade.type= ORDER_TYPE_SELL ; my_trade.type_filling= ORDER_FILLING_RETURN ; my_trade.comment=comment; my_trade.magic=magic; ResetLastError (); if ( OrderSend (my_trade,my_trade_result)) { Print ( "Код результата операции - " ,my_trade_result.retcode); } else { Print ( "Код результата операции - " ,my_trade_result.retcode); Print ( "Ошибка открытия ордера = " , GetLastError ()); } return ( 0 ); } 우리는 매도 + 스톱이 아닌 입찰에 매도하고 진입 가격보다 높고 테이크는 낮습니다. 그것은: my_trade.sl= NormalizeDouble (Ask-StopLoss* _Point , _Digits ); my_trade.tp= NormalizeDouble (Ask+TakeProfit* _Point , _Digits ); 그것은되었다: my_trade.sl= NormalizeDouble ( Bid +StopLoss* _Point , _Digits ); my_trade.tp= NormalizeDouble ( Bid - TakeProfit* _Point , _Digits ); 장점과 단점도 바뀌었습니다(굵게 강조했지만 화면에서는 눈에 띄지 않습니다). 행운을 빕니다 Dmitriy Parfenovich 2012.09.21 19:28 #34 뿐만 아니라 MqlTradeRequest my_trade={ 0 }; MqlTradeResult my_trade_result={ 0 }; Aleksandr Burov 2012.09.21 19:41 #35 당신은 5 번째를 썼습니다! mql. 객체 지향. Ctrade 를 상속받으면 행복할 것입니다. 바퀴를 재발명하지 마십시오. Valerii Mazurenko 2012.09.21 19:42 #36 IceBerg : 당신은 5 번째를 썼습니다! mql. 객체 지향. Ctrade를 상속받으면 행복할 것입니다. 바퀴를 재발명하지 마십시오. 종료 2시간 전의 어리석은 조언 - 표준 라이브러리를 이해하는 것이 OrderSend를 이해하는 것보다 더 어렵습니다. 버그는 이미 수정되었습니다. 보내는 일만 남음(다른 오류가 없는 경우) Dmitriy Parfenovich 2012.09.21 19:43 #37 IceBerg : 당신은 5를 썼습니다! mql. 객체 지향. Ctrade를 상속받으면 행복할 것입니다. 바퀴를 재발명하지 마십시오. 오류 없이 바로 쓰기 지루하네요 :) 갈퀴를 몇 번 밟은 다음 집어들 필요가 있습니다. Виктор Павлюк 2012.09.21 19:45 #38 모두 도와주셔서 감사합니다 또한 제거하는 방법 2012.09.21 22:42:08 코어 1 2012.05.08 13:00:00 돈이 부족합니다 [즉시 구매 5.00 EURUSD at 1.30227 sl: 1.29227 tp: 1.30765] 그렇지 않으면 1년 동안 시험을 치르지 않습니다. Dmitriy Parfenovich 2012.09.21 19:46 #39 pavivas : 모두 도와주셔서 감사합니다 또한 제거하는 방법 2012.09.21 22:42:08 코어 1 2012.05.08 13:00:00 돈이 부족합니다 [즉시 구매 5.00 EURUSD at 1.30227 sl: 1.29227 tp: 1.30765] 그렇지 않으면 1년 동안 시험을 치르지 않습니다. 로트를 5.00 미만으로 줄입니다. Виктор Павлюк 2012.09.21 19:47 #40 fyords : 오류 없이 바로 쓰기 지루하네요 :) 갈퀴를 몇 번 밟은 다음 집어들 필요가 있습니다. 그래서 실수로부터 배워야 한다 12345678 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
//| Cempionat2010.mq5 |
//| Victor Pavlyuk |
//| |
//+------------------------------------------------------------------+
#property copyright "Victor Pavljuk"
#property version "1.00"
input int StartHour = 10;
input int EndHour = 20;
input double Lots = 5;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnInit()
{
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
MqlTradeRequest request;
MqlTradeResult result;
MqlDateTime dt;
bool bord=false, sord=false;
bool bords=false, sords=false;
int i;
ulong ticket;
datetime t[];
double h[], l[], ma[], atr_h[], atr_l[],
lev_h, lev_l,
Spread =NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_ASK) - SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits);
request.symbol =Symbol();
request.volume =Lots;
request.tp =0;
request.deviation =0;
request.type_filling=ORDER_FILLING_RETURN;
TimeCurrent(dt);
i=(dt.hour+1)*60;
if(CopyTime(Symbol(),0,0,i,t)<i || CopyHigh(Symbol(),0,0,i,h)<i || CopyLow(Symbol(),0,0,i,l)<i)
{
Print("Не удалось скопировать таймсерию!");
return;
}
ArraySetAsSeries(t,true);
ArraySetAsSeries(h,true);
ArraySetAsSeries(l,true);
lev_h=h[0];
lev_l=l[0];
for(i=1;i<ArraySize(t) && MathFloor(t[i]/86400)==MathFloor(t[0]/86400);i++)
{
if(h[i]>lev_h) lev_h=h[i];
if(l[i]<lev_l) lev_l=l[i];
}
lev_h+=Spread+_Point;
lev_l-=_Point;
for(i=0;i<OrdersTotal();i++)
{
ticket=OrderGetTicket(i);
if(OrderGetString(ORDER_SYMBOL)==Symbol())
{
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_STOP)
{
if(dt.hour>=StartHour && dt.hour<EndHour )
{
Print("Есть ордер byu2!");
return;
}
else
{
request.action=TRADE_ACTION_REMOVE;
request.order=ticket;
OrderSend(request,result);
return;
}
bords=true;
}
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_STOP)
{
if(dt.hour>=StartHour && dt.hour<EndHour )
{
Print("Есть ордер Sel2");
return;
}
else
{
request.action=TRADE_ACTION_REMOVE;
request.order=ticket;
OrderSend(request,result);
return;
}
sords=true;
}
}
}
request.action=TRADE_ACTION_PENDING;
if(dt.hour>=StartHour && dt.hour<EndHour)
{
if(bords==false )
{
request.price=NormalizeDouble(lev_h,_Digits);
request.sl=NormalizeDouble(lev_h-1000*_Point,_Digits);
request.tp=NormalizeDouble(lev_h+138*_Point,_Digits);
request.type=ORDER_TYPE_BUY_STOP;
OrderSend(request,result);
}
if(sords==false )
{
request.price=NormalizeDouble(lev_l,_Digits);
request.sl=NormalizeDouble(lev_l+1000*_Point,_Digits);
request.tp=NormalizeDouble(lev_l-138*_Point,_Digits);
request.type=ORDER_TYPE_SELL_STOP;
OrderSend(request,result);
}
}
}
//+------------------------------------------------------------------+
не проходит тест даже советник 2010 года
тогда работал
이유는 다음과 같습니다.
그래서 거기에 뭐라고 쓰여있나요? 그리고 이 도움으로.
10013
TRADE_RETCODE_INVALID
잘못된 요청
ERR_TRADE_SEND_FAILED
4756
거래 요청을 보내지 못했습니다.
우리는 매도 + 스톱이 아닌 입찰에 매도하고 진입 가격보다 높고 테이크는 낮습니다.
그것은:
그것은되었다:
장점과 단점도 바뀌었습니다(굵게 강조했지만 화면에서는 눈에 띄지 않습니다).
행운을 빕니다
뿐만 아니라
당신은 5 번째를 썼습니다! mql. 객체 지향. Ctrade 를 상속받으면 행복할 것입니다. 바퀴를 재발명하지 마십시오.
당신은 5 번째를 썼습니다! mql. 객체 지향. Ctrade를 상속받으면 행복할 것입니다. 바퀴를 재발명하지 마십시오.
종료 2시간 전의 어리석은 조언 - 표준 라이브러리를 이해하는 것이 OrderSend를 이해하는 것보다 더 어렵습니다.
버그는 이미 수정되었습니다. 보내는 일만 남음(다른 오류가 없는 경우)
당신은 5를 썼습니다! mql. 객체 지향. Ctrade를 상속받으면 행복할 것입니다. 바퀴를 재발명하지 마십시오.
오류 없이 바로 쓰기 지루하네요 :)
갈퀴를 몇 번 밟은 다음 집어들 필요가 있습니다.
모두 도와주셔서 감사합니다
또한 제거하는 방법
2012.09.21 22:42:08 코어 1 2012.05.08 13:00:00 돈이 부족합니다 [즉시 구매 5.00 EURUSD at 1.30227 sl: 1.29227 tp: 1.30765]
그렇지 않으면 1년 동안 시험을 치르지 않습니다.
모두 도와주셔서 감사합니다
또한 제거하는 방법
2012.09.21 22:42:08 코어 1 2012.05.08 13:00:00 돈이 부족합니다 [즉시 구매 5.00 EURUSD at 1.30227 sl: 1.29227 tp: 1.30765]
그렇지 않으면 1년 동안 시험을 치르지 않습니다.
오류 없이 바로 쓰기 지루하네요 :)
갈퀴를 몇 번 밟은 다음 집어들 필요가 있습니다.
그래서 실수로부터 배워야 한다