KARAUL!!!!あと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 ディスカバリーでのMetaTrader 5の実験 Experiments with MetaTrader 5 Виктор Павлюк 2012.09.21 19:17 #32 fyords:ここにその理由が書かれています。では、どのようなことが書かれているのでしょうか。そして、それを参考にしながら。 10013 トレード_リコード_インバリッド 不正確なリクエスト 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 mql 5 は、あなたのために書かれたものです。オブジェクト指向。クトレードを 継承して、幸せになる。車輪の再発明をしないこと。 Valerii Mazurenko 2012.09.21 19:42 #36 IceBerg:mql 5 は、あなたのために書かれたものです。オブジェクト指向。クトレードを継承して、幸せになる。車輪の再発明をしないこと。終了2時間前のバカなアドバイス - OrderSendを理解するよりも、標準ライブラリを 理解する方が難しい。すでに不具合は修正されています。あとは(他にエラーがなければ)送信するだけです。 Dmitriy Parfenovich 2012.09.21 19:43 #37 IceBerg:mql 5 は、あなたのために書かれたものです。オブジェクト指向。クトレードを継承して、幸せになる。車輪の再発明をしないこと。エラーなしで書くのはつまらない :)2、3回踏んでから拾ってください。 Виктор Павлюк 2012.09.21 19:45 #38 皆さん、ありがとうございました。を取り除くにはどうすればよいですか?2012.09.21 22:42:08 Core 1 2012.05.08 13:00:00資金 不足 [即買い 5.00 EURUSD at 1.30227 sl: 1.29227 tp: 1.30765] ですね。年内テスト抜き Dmitriy Parfenovich 2012.09.21 19:46 #39 pavivas:皆さん、ありがとうございました。また、どのように削除するのですか?2012.09.21 22:42:08 Core 1 2012.05.08 13:00:00 資金不足 [即買い 5.00 EURUSD at 1.30227 sl: 1.29227 tp: 1.30765] ですね。その年のテストに取って代わるものではありません。 敷地面積を5.00以下にする。 Виктор Павлюк 2012.09.21 19:47 #40 fyords:すぐに間違えずに書くのはつまらないですからね :)熊手を1、2回踏んで、それを拾っていくんです。それが失敗から学ぶ方法 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? 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
トレード_リコード_インバリッド
不正確なリクエスト
err_trade_send_failed
4756
取引要求の送信に失敗しました
アスカではなくビッドでショート+エントリー価格より上でストップ、下で持ち越し。
でした。
なった。
長所と短所も変わりました(太字で強調されていますが、画面上では目立ちません)。
グッドラック
果ては
mql 5 は、あなたのために書かれたものです。オブジェクト指向。クトレードを 継承して、幸せになる。車輪の再発明をしないこと。
mql 5 は、あなたのために書かれたものです。オブジェクト指向。クトレードを継承して、幸せになる。車輪の再発明をしないこと。
終了2時間前のバカなアドバイス - OrderSendを理解するよりも、標準ライブラリを 理解する方が難しい。
すでに不具合は修正されています。あとは(他にエラーがなければ)送信するだけです。
mql 5 は、あなたのために書かれたものです。オブジェクト指向。クトレードを継承して、幸せになる。車輪の再発明をしないこと。
エラーなしで書くのはつまらない :)
2、3回踏んでから拾ってください。
皆さん、ありがとうございました。
を取り除くにはどうすればよいですか?
2012.09.21 22:42:08 Core 1 2012.05.08 13:00:00資金 不足 [即買い 5.00 EURUSD at 1.30227 sl: 1.29227 tp: 1.30765] ですね。
年内テスト抜き
皆さん、ありがとうございました。
また、どのように削除するのですか?
2012.09.21 22:42:08 Core 1 2012.05.08 13:00:00 資金不足 [即買い 5.00 EURUSD at 1.30227 sl: 1.29227 tp: 1.30765] ですね。
その年のテストに取って代わるものではありません。
すぐに間違えずに書くのはつまらないですからね :)
熊手を1、2回踏んで、それを拾っていくんです。
それが失敗から学ぶ方法