//+------------------------------------------------------------------+//| Проверяет был ли открыт последний ордер на этой же свече |//| Checks whether the opened last the order on the same candle |//+------------------------------------------------------------------+bool IfOrdOpClSelfBar(int magik = 0, int bar = 0, int typ = -1,string sy = "",int per = 0){
if(sy == ""){sy = Symbol();}
if(per==0){per=Period();}
for(int i = OrdersTotal(); i>=0; i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()!=sy){continue;}
if(OrderType()==typ||typ==-1){
if(OrderMagicNumber()==magik||magik==0){
if(OrderOpenTime()>=iTime(sy,per,bar)){return(true);}
}
}
}
}
for(i = OrdersHistoryTotal(); i>=0; i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
if(OrderSymbol()!=sy){continue;}
if(OrderType()==typ||typ==-1){
if(OrderMagicNumber()==magik||magik==0){
if(OrderOpenTime()>=iTime(sy,per,bar)){return(true);}
}
}
}
}
return(false);
}
mql5で書き直そうとしています。しかし、それは働こうとしない。どうやって強制するのか?:)
//+------------------------------------------------------------------+//| Проверяет был ли открыт последний ордер на этой же свече |//| Checks whether the opened last the order on the same candle |//+------------------------------------------------------------------+bool IfOrdOpClSelfBar(ENUM_ORDER_TYPE type)
{
for(int i = OrdersTotal(); i>=0; i--){
if(OrderSelect(OrderGetTicket(i)) >0)
{
if(OrderGetString(ORDER_SYMBOL)!=_Symbol){continue;}
if(OrderGetInteger(ORDER_TYPE)==type)
{
if(OrderGetInteger(ORDER_MAGIC) == magicN)
{
if(OrderGetInteger(ORDER_TIME_SETUP) >= iTime(NULL,Period(),0)){return(true);}
}
}
}
}
for(int i = HistoryOrdersTotal(); i>=0; i--){
if(HistoryOrderSelect(OrderGetTicket(i)) >0)
{
if(OrderGetString(ORDER_SYMBOL)!=_Symbol){continue;}
if(OrderGetInteger(ORDER_TYPE)==type)
{
if(OrderGetInteger(ORDER_MAGIC) == magicN)
{
if(OrderGetInteger(ORDER_TIME_SETUP) >= iTime(NULL,Period(),0)){return(true);}
}
}
}
}
return(false);
}
ありがとうございました。
そして、これは古いコードですが、写真で見ると、TrailingStop です。
テスターのOnInitのEventSetTimerは、最初のティックの日の初めからではなく、テスト間隔の最初の日付、つまりバランストランザクションからカウントダウンします。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
mql4言語の特徴、TipsとTricks
fxsaber, 2019.02.12 13:12
多次元配列 に対するArrayResizeの機能5のキムの機能を見ることができたらどんなにいいだろう。ヒントをお願いします。キムの中にこんな関数がありました。
mql5で書き直そうとしています。しかし、それは働こうとしない。どうやって強制するのか?:)
5のキムの機能を見ることができたらどんなにいいだろう。ヒントをお願いします。キムの中にこんな関数がありました。
mql5で書き直そうとしています。しかし、それは働こうとしない。どうやって強制するのか?:)
トレーディング、自動売買システム、ストラテジーテスターに関するフォーラム
ライブラリ:MT4Orders
fxsaber, 2019.01.13 17:23
キムさんのMT4での機能はかなり人気があるので、彼のサイトからすべてのソースをダウンロードし、MT5での簡単な「コンバータ」を書きました。松葉づえをありがとうございます、とても良いです :)でも、理解のために5円玉を覚えて、夢中になっているので、根本的にナックルを整理して、手で扱うことが大事なんです。
何百万ものティックを解析している間、定期的にメモリの消費量を見ることにしました。
変更を加えてから、実行速度が何度も落ちていることに気がつきました。
理由:TerminalInfoIntegerの使用 方法のバリエーションによっては、実行に非常に長い時間がかかるため。
気をつけてください。非常に高価な機能です。
TERMINAL_MEMORY_AVAILABLEも。
TERMINAL_MEMORY_PHYSICALおよびTERMINAL_MEMORY_TOTALは,最初のリクエストの後にキャッシュされる。それ以降のクエリでは、キャッシュされた値が返されます。