// Amount of long / short trades int longs = 0; int shorts = 0; double j;
for(j=OrdersTotal()-1;j>=0; j--) { if(OrderType()==OP_BUY) longs++; // Check # of long trades. if(OrderType()==OP_SELL) shorts++; // Check # of short trades }
// place orders if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY; if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
// Signal Begin(Exit Buy) if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
// Amount of long / short trades int longs = 0; int shorts = 0; double j;
for(j=OrdersTotal()-1;j>=0; j--) { if(OrderType()==OP_BUY) longs++; // Check # of long trades. if(OrderType()==OP_SELL) shorts++; // Check # of short trades }
// place orders if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY; if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
// Signal Begin(Exit Buy) if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
double BU1=iMA(Symbol(),0,ShortSma,0,MODE_SMA,PRICE_CLOSE,i+1).BU1=iMA(Symbol(),0,ShortSma,0,MODE_SMA,PRICE_CLOSE,i+1);
double BL1=iMA(Symbol(),0,LongSma,0,MODE_SMA,PRICE_CLOSE,i); double BL1=iMA(Symbol(),0,LongSma,0,MODE_SMA,PRICE_CLOSE,i);
文字列SBUY="false";文字列SSEL="false";
if(BU1<Close[1]&&BL1<Close[1])SBUY="true";if(BL1>Close[1]&&BU1>Close[1])SSEL="true";
TP後のTradeがおかしかったのですが、これで動きます。
Mladenさん、ありがとうございました。
こんにちは、MLadenさん。
この単語はどう訳せばいいのでしょうか。
http://forexsystemsru.com/1075962-post327.html
クラスター分析
について
mladenさん
MTFを作れますか?
よろしくお願いします。
親愛なるコーダーの皆さん、こんにちは。
私はおそらく単純な質問を持っていますが、私は上の瞬間に立ち往生している。
私のEAは問題なく買い注文と売り注文 を出すのですが、SIGNAL_CLOSEBUYやSIGNAL_CLOSESELLになると
SIGNAL_CLOSEBUYまたはSIGNAL_CLOSESELLになると、注文をクローズしないのです。
ここで、私はRSI_Filterを売買注文を閉じるためのトリガーとして使用します。
私は私のコードをコピーしました、私は誰かが見てみることができれば非常に幸せです。
よろしくお願いします。
#define SIGNAL_NONE 0
// Signal Begin(Exit Buy)#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MaxShortTrades = 1;
extern int MaxLongTrades = 1;
int Order = SIGNAL_NONE;
// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);
// Trade Signal Indicator
double NLD1,NLD2;
NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);
// Amount of long / short trades
int longs = 0;
int shorts = 0;
double j;
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) longs++; // Check # of long trades.
if(OrderType()==OP_SELL) shorts++; // Check # of short trades
}
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY;
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
// Signal Begin(Exit Sell)
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
親愛なるコーダーの皆さん、こんにちは。
私はおそらく単純な質問を持っていますが、私は上の瞬間に立ち往生している。
私のEAは問題なく買い注文と売り注文を出すのですが、SIGNAL_CLOSEBUYやSIGNAL_CLOSESELLになると
SIGNAL_CLOSEBUYまたはSIGNAL_CLOSESELLになると、注文をクローズしないのです。
ここで、私はRSI_Filterを売買注文を閉じるためのトリガーとして使用します。
私は私のコードをコピーしました、私は誰かが見てみることができれば非常に幸せです。
よろしくお願いします。
#define SIGNAL_NONE 0
// Signal Begin(Exit Buy)#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MaxShortTrades = 1;
extern int MaxLongTrades = 1;
int Order = SIGNAL_NONE;
// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);
// Trade Signal Indicator
double NLD1,NLD2;
NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);
// Amount of long / short trades
int longs = 0;
int shorts = 0;
double j;
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) longs++; // Check # of long trades.
if(OrderType()==OP_SELL) shorts++; // Check # of short trades
}
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY;
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
// Signal Begin(Exit Sell)
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
あなたが先に進む前に解決しなければならない2つの問題。
この先、解決しなければならない2つの問題。
ムラデン様。
有益な提案をありがとうございました。
私があなたを正しく理解した場合、私は以下のコードのようなものを実装する必要があります。
EAが閉じる必要がある "buy_ticket "を選択するために。このコードはまだテストされておらず、一種の「擬似状態」です。
int buy_ticket=0;
int sell_ticket=0;
int ticket;
// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()== OP_BUY)
buy_ticket=OrderTicket();
else
if(OrderType() == OP_SELL)
sell_ticket=OrderTicket();
}
}
// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==CLOSE_BUY && buy_ticket!=0)
{
if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
else
if(Order==CLOSE_SELL && sell_ticket!=0)
{
if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
ムラデン様。
有益な提案をありがとうございました。
もし私が正しく理解したなら、以下のコードのようなものを実装する必要があります。
EAがクローズする必要がある "buy_ticket "を選択するために。このコードはまだテストされておらず、一種の「擬似状態」です。
int buy_ticket=0;
int sell_ticket=0;
int ticket;
// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()== OP_BUY)
buy_ticket=OrderTicket();
else
if(OrderType() == OP_SELL)
sell_ticket=OrderTicket();
}
}
// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==CLOSE_BUY && buy_ticket!=0)
{
if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
else
if(Order==CLOSE_SELL && sell_ticket!=0)
{
if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
同時に1つの注文(同じマジック、シンボルの意味)しか開いていませんか?
もしそうなら、それは動作するでしょう。
親愛なる皆様へ。
添付のEAは常に固定ロットで注文を出しています(0.10で注文を出して います)。
オープンオーダーのロット値を変更したり、コントロール することはできません。
設定に"Lots " と "MaximumRisk " の値がありますが、注文のロット値には有効 ではありません!
助けてください。
こんにちは、MLadenさん。
この写真のような空のサブウィンドウを 作れませんか?
について
こんにちは、Mladenさん、私はあなたの
stepma_pdf_4_4.ex4とhistgramをダウンロードしました。
をMT4にコピーしました。チャートウインドウにドラッグして表示
以下のようなメッセージが表示されるのですが、画像でご確認ください。
このインジケータの使い方を教えてください。
Lea
ps. averages_-_mtf__alerts_7_4.ex4とヒストグラムでも同じことが起こりました。