double STC2_c=iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar+1); if((STC1_c),0, "FastLength,SlowLength,StcPeriod,MacdPrice, Interpolate,0,bar+1).This case is not found;
For the rest : we all should hope and pray.新しいビルドになるたびに、バックテストはどんどん遅くなっています(ビルド840の不満を参照)。できることはあまりありません。ビジュアルバックテストが通常のバックテストより速いというところまで来ており(ビルド788は私が使っているものです)、そこには全くロジックがありません。
NonLag_Schaff_TrendCycleインジケータを実装 します。
こんにちは、プロコダーの皆様。
NonLag_Schaff_TrendCycleというインジケータの実装をどなたか手伝っていただけないでしょうか。
インジケーターのエクスターン
extern int FastLength = 23;
extern int SlowLength = 50;
extern int StcPeriod = 10;
extern int MacdPrice = PRICE_CLOSE;
extern bool Interpolate = true;
extern bool MultiColor = true;
インジケーターバッファ
指標バッファ: IndicatorBuffers(8);
SetIndexBuffer(0,stcBuffer)を設定します。
SetIndexBuffer(1,stcBufferUA)。
SetIndexBuffer(2,stcBufferUB)。
SetIndexBuffer(3,macdBuffer)を設定します。
SetIndexBuffer(4,fastKBuffer)を設定します。
SetIndexBuffer(5,fastDBuffer)を設定します。
SetIndexBuffer(6,fastKKBuffer)を設定します。
SetIndexBuffer(7,trend)とします。
というようなことをやってみる。
double STC1_c=iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar) とします。
double STC2_c=iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar+1); if((STC1_c),0, "FastLength,SlowLength,StcPeriod,MacdPrice, Interpolate,0,bar+1).This case is not found;
if((STC1_c>15 && STC2_c85 && STC2_c BUY)・・・(STC1_c>15 && STC2_c85 && STC2_c BUY)
if((STC1_c15)||(STC1_c85)) -> 売り
しかし、エラーメッセージが出ます。
Error:NonLag_Schaff_TrendCycle は削除されました。
バッファの読み方を間違えているのかもしれません。どなたかご指摘をお願いします。
ありがとうございました。Nonlag Schaf TrendCycleの最初のパラメータは"TimeFrame "です。iCustomの呼び出しでそれが欠落しています。iCustom()呼び出しは次のようにする必要があります。
iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar);
ヘルプが必要
こんにちは、mladenです。
いつもお世話になっております。
このインジケータを作ろうとしたのですが、表示されません。
なので、plsは再び私を助ける
ありがとうございました。
mtf_rsi_candle_all_in_one.mq4です。
Mladenさん、こんにちは。
どうもありがとうございました。現在、動作しています。
よろしくお願いします。
トーマス
nonlag schafのトレンドサイクルの最初のパラメータは "TimeFrame "です。iCustomの呼び出しでこれが欠けています。iCustom()は次のようにします: iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar).Of, the iCustom(Symbol_Schaff_TrendCycle),"",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar);
こんにちは、Mladen!
新しいビルドにすると、最適化が長くなります。
ビルド670に戻った場合、最適化の速度は良好です。
何が問題なのでしょうか?
エキスパートtsi.mq4
tsi.mq4
こんにちは、Mladen!
新しいビルドが長い場合、最適化を行います。
ビルド670に戻った場合、最適化速度は良好です。
何が問題なのでしょうか?
エキスパートtsi.mq4
tsi.mq4最初のTSIインジケータでは、次のようになる行を削除します。
#property strict
その行で、それは動作しません
______________
残りの部分については、私たちは皆、希望と祈りを持っています。新しいビルドが出るたびに、バックテストはどんどん遅くなっています(ビルド840の苦情を参照)。あまりやることがありません。ビジュアルバックテストの方が通常のバックテストより速いというところまで来ており(ビルド788は私が使用しているものです)、そこには全くロジックがありません。
こんにちは、Pro Codersです。
私のEAは、トレンドが変化した後、なぜかポジションを閉じ、新しいポジションを開きません。どなたか見ていただけませんか?
よろしくお願いします。
//----------------------- LOAD INDICATORS FOR CLOSING POSITIONS
double STC0_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar+2);
double STC1_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar+1);
double STC2_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar);
// for(int i=0;i<OrdersTotal(); i++)
for(int i=OrdersTotal()-1;i>=0 ; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!= MAGIC)continue;
if(OrderSymbol()!= s_symbol) continue;
//----------------------- CLOSE BUY CONDITION
if(STC1_c!=STC2_c) // Check trend
{
if(OrderType()==OP_BUY)
{
if(STC1_c>STC0_c&&STC2_c<STC1_c)
{
bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseBuy);
if(buyClose==false)
{
int ErrorCode = GetLastError();
string ErrDesc = ErrorDescription(ErrorCode);
string ErrAlert= StringConcatenate("Close Buy Order - Error ",ErrorCode,": ",ErrDesc);
if(ShowAlerts == true) Alert(ErrAlert);
string ErrLog=StringConcatenate("Bid: ",MarketInfo(s_symbol,MODE_BID)," Lots: ",OrderLots()," Ticket: ",OrderTicket());
Print(ErrLog);
}
break;
} // mod
}
}
//----------------------- CLOSE SELL CONDITION
if(STC1_c!=STC2_c)
{
if(OrderType()==OP_SELL)
{
if(STC1_cSTC1_c)
{
bool sellClose= OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_ASK),Slippage*pipMultiplier,clCloseSell);
if(sellClose == false)
{
ErrorCode = GetLastError();
ErrDesc = ErrorDescription(ErrorCode);
ErrAlert=StringConcatenate("Close Sell Order - Error ",ErrorCode,": ",ErrDesc);
if(ShowAlerts==true) Alert(ErrAlert);
ErrLog=StringConcatenate("Ask: ",MarketInfo(s_symbol,MODE_ASK)," Lots: ",OrderLots()," Ticket: ",OrderTicket());
Print(ErrLog);
}
break;
} // mod
}
}
}
}
こんにちは、Pro Codersです。
私のEAは、トレンドが変わった後、なぜかポジションを閉じ、新しいポジションを開きません。どなたか見ていただけませんか?
よろしくお願いします。
//----------------------- LOAD INDICATORS FOR CLOSING POSITIONS
double STC0_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar+2);
double STC1_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar+1);
double STC2_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar);
// for(int i=0;i<OrdersTotal(); i++)
for(int i=OrdersTotal()-1;i>=0 ; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!= MAGIC)continue;
if(OrderSymbol()!= s_symbol) continue;
//----------------------- CLOSE BUY CONDITION
if(STC1_c!=STC2_c) // Check trend
{
if(OrderType()==OP_BUY)
{
if(STC1_c>STC0_c&&STC2_c<STC1_c)
{
bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseBuy);
if(buyClose==false)
{
int ErrorCode = GetLastError();
string ErrDesc = ErrorDescription(ErrorCode);
string ErrAlert= StringConcatenate("Close Buy Order - Error ",ErrorCode,": ",ErrDesc);
if(ShowAlerts == true) Alert(ErrAlert);
string ErrLog=StringConcatenate("Bid: ",MarketInfo(s_symbol,MODE_BID)," Lots: ",OrderLots()," Ticket: ",OrderTicket());
Print(ErrLog);
}
break;
} // mod
}
}
//----------------------- CLOSE SELL CONDITION
if(STC1_c!=STC2_c)
{
if(OrderType()==OP_SELL)
{
if(STC1_cSTC1_c)
{
bool sellClose= OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_ASK),Slippage*pipMultiplier,clCloseSell);
if(sellClose == false)
{
ErrorCode = GetLastError();
ErrDesc = ErrorDescription(ErrorCode);
ErrAlert=StringConcatenate("Close Sell Order - Error ",ErrorCode,": ",ErrDesc);
if(ShowAlerts==true) Alert(ErrAlert);
ErrLog=StringConcatenate("Ask: ",MarketInfo(s_symbol,MODE_ASK)," Lots: ",OrderLots()," Ticket: ",OrderTicket());
Print(ErrLog);
}
break;
} // mod
}
}
}
}
このコードでは、ポジションを開くコードは全くありません。
まずTSIインジケータで、次のような行を削除します。
#property strict
この行では、動作しません
______________
For the rest : we all should hope and pray.新しいビルドになるたびに、バックテストはどんどん遅くなっています(ビルド840の不満を参照)。できることはあまりありません。ビジュアルバックテストが通常のバックテストより速いというところまで来ており(ビルド788は私が使っているものです)、そこには全くロジックがありません。回答ありがとうございました
クリア私は古いビルドに滞在しています。
このコードでは、ポジションをオープンするようなコードは全くありません(OrderSend()関数は全く使われていません)。
Mladenさん、こんにちは。
OpenSell()」を呼び出している下のコードを見てください。
//+------------------------------------------------------------------+
//| OPEN BUY / OPEN SELL
//+------------------------------------------------------------------+
//----------------------- BUY CONDITION
for(i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL) break;
{
if(STC1!=STC2)
{
/*if(STC1STC1)BUY="true";*/
if(STC1STC1)
/*if((STC115) || (STC185)) // code for buy */
OpenBuy();
return(0);
}
openedOrders++;
}
//----------------------- SELL CONDITION
// if(STC1>STC0&&STC2<STC1)SELL="true";
//if((STC1>15 && STC285 && STC2<85)) // code for sell
if(STC1>STC0&&STC2<STC1) // code for sell
{
OpenSell();
return(0);
}
}
//----------------------- OPEN SELL
void OpenSell()
{
double lsStop = 0; if(sStopLoss>0) lsStop = NormalizeDouble(MarketInfo(s_symbol,MODE_BID)+sStopLoss *pPoint*pipMultiplier,digit);
double lsTake = 0; if(sTakeProfit>0) lsTake = NormalizeDouble(MarketInfo(s_symbol,MODE_BID)-sTakeProfit*pPoint*pipMultiplier,digit);
if(AccountFreeMargin()<(100*Lots)) { Print("We have no money. Free Margin = ",AccountFreeMargin()); return; }
// ECN
if(!EcnBroker)
dummyResult=OrderSend(s_symbol,OP_SELL,LotsOptimized(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,lsStop,lsTake,ExpertName,MAGIC,0,clOpenSell);
else
{
int sellTicket = OrderSend(s_symbol,OP_SELL,LotsOptimized(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,0,0,ExpertName,MAGIC,0,clOpenSell);
if(sellTicket >= 0)
bool sellOrderMod=OrderModify(sellTicket,OrderOpenPrice(),lsStop,lsTake,0,CLR_NONE);
if(sellOrderMod==false)
{
int ErrorCode = GetLastError();
string ErrDesc = ErrorDescription(ErrorCode);
string ErrAlert=StringConcatenate("Modify Sell Order - Error ",ErrorCode,": ",ErrDesc);
if(ShowAlerts==true) Alert(ErrAlert);
string ErrLog=StringConcatenate("Ask: ",MarketInfo(s_symbol,MODE_ASK)," Bid: ",MarketInfo(s_symbol,MODE_BID)," Ticket: ",sellTicket," Stop: ",lsStop," Profit: ",lsTake);
Print(ErrLog);
}
}
}
親愛なるmladen、mrtoolsは、上記の投稿でfxultratrend指標に関する私の質問に対するあなたの返事を見るのを待っています。
私を失望させないことを願っています。
ありがとうございます。