CU = 0; CD = 0; if (L0[i] >= L1[i]) CU = L0[i] - L1[i]とする。 さもなくば CD = L1[i] - L0[i]とする。 if (L1[i] >= L2[i]) CU = CU + L1[i] - L2[i]である。 さもなくば CD = CD + L2[i] - L1[i]とする。 if (L2[i] >= L3[i]) CU = CU + L2[i] - L3[i]です。 さもなくば CD = CD + L3[i] - L2[i]である。
if (CU + CD != 0) Filter[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0; } return(0)です。
//+------------------------------------------------------------------+ //| エキスパートスタート機能 //+------------------------------------------------------------------+ int start() { if (注文合計()>0) { CU = 0; CD = 0; { OrderSelect(SELECT_BY_POS); if (OrderSymbol()==Symbol()) { if (OrderType()== OP_BUY) { if ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i])。 OrderClose(OrderTicket(),OrderLots())です。 else CU++; } if (OrderType()== OP_SELL) { if (CD = L1[i] - L0[i],CD=CD+L2[i]-L1[i],CD=CD+L3[i]-L2[i])とする。 オーダークローズ(OrderTicket(),OrderLots()) さもなければCD++。 } } }
if (CU > CD && CU == 0) { OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,); } if (CU < CD && CD ==0) { OrderSend(Symbol(),OP_SELL,lots,Bid,0/*(Bid+StopLoss*Point)*/,0,); }
二度とスパムをしないで頂きたい。1つのスレッドに1つの書き込みがあれば、十分聞き分けられる。他は削除しました。
これ以上スパムをしないでください。1つのスレッドに1つの書き込みがあれば、十分聞き分けられる。残りは削除しました。
//+------------------------------------------------------------------+
//|Laguerre+.mq4||Laguerre+.mq4||Laguerre+.mq4
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
//---- 入力パラメータ
extern int TrailingStop=0;
extern int StopLoss=0;
extern double lots=0.1;
extern double gamma = 0.7;
extern int Price_Type=0;
//---- バッファ
double Filter[];
double L0[]です。
double L1[];;
double L2[]。
double L3[]です。
//+------------------------------------------------------------------+
//| カスタムインジケータ 初期化関数
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5)です。
//---- インジケータ
SetIndexStyle(0, DRAW_LINE)を設定します。
SetIndexDrawBegin(0, 1)を設定します。
SetIndexLabel(0, "LaguerreFilter")を設定します。
SetIndexBuffer(0,Filter)を設定します。
SetIndexBuffer(1, L0)を設定します。
SetIndexBuffer(2, L1)を設定します。
SetIndexBuffer(3, L2)を設定します。
SetIndexBuffer(4, L3)を設定します。
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")";
IndicatorShortName(short_name)。
return(0)です。
}
//+------------------------------------------------------------------+
//| カストマーインジケーター初期化機能
//+------------------------------------------------------------------+
int deinit()
{
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+
int start()
{
int制限。
int counted_bars = IndicatorCounted();
ダブルCU、CD
//---- 最後にカウントされたバーが再カウントされます。
if (counted_bars>0)
counted_bars--。
さもなくば
counted_bars = 1;
limit = Bars - counted_bars;
//---- RSIの計算
for (int i=limit; i>=0; i--)
{
double Price=iMA(NULL,0,1,0,0,Price_Type,i);
L0[i] = (1.0 - gamma)*Price + gamma*L0[i+1];
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1] とする。
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1] とする。
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1] とする。
CU = 0;
CD = 0;
if (L0[i] >= L1[i])
CU = L0[i] - L1[i]とする。
さもなくば
CD = L1[i] - L0[i]とする。
if (L1[i] >= L2[i])
CU = CU + L1[i] - L2[i]である。
さもなくば
CD = CD + L2[i] - L1[i]とする。
if (L2[i] >= L3[i])
CU = CU + L2[i] - L3[i]です。
さもなくば
CD = CD + L3[i] - L2[i]である。
if (CU + CD != 0)
Filter[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0;
}
return(0)です。
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
if (注文合計()>0)
{
CU = 0;
CD = 0;
{
OrderSelect(SELECT_BY_POS);
if (OrderSymbol()==Symbol())
{
if (OrderType()== OP_BUY)
{
if ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i])。
OrderClose(OrderTicket(),OrderLots())です。
else CU++;
}
if (OrderType()== OP_SELL)
{
if (CD = L1[i] - L0[i],CD=CD+L2[i]-L1[i],CD=CD+L3[i]-L2[i])とする。
オーダークローズ(OrderTicket(),OrderLots())
さもなければCD++。
}
}
}
if (CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,);
}
if (CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0/*(Bid+StopLoss*Point)*/,0,);
}
//----
return(0)です。
}
//+------------------------------------------------------------------+
どんな複雑なものでもアドバイザーとして書きます。というのが大きなポイントです。どのように使うか 気にしない:売れるだろう-気にしない(お金を要求しない)。
P.S.インジケーターが必要な場合は、それを使用するストラテジーを教えてください。
こんにちは!MTD 4の取引ロボットが必要です。私は取引の例と写真を送ることができます。money3@inbox.ru 写真と説明文を添えて、メールに記載されたすべての詳細を転送します。
こんにちは!MTD 4上の取引ロボットが必要です。私は取引の例と画像を送信することができます。money3@inbox.ru 写真と説明文を添えて、詳細をメールにてお送りします。
2回のスタート。教科書を読み直し、典型的なEAの構造を分解する。
では、間違いがわかるように訂正していただけますか?
では、間違いでないことがわかるように、エラーを修正してもらえますか?