絵馬クロス! - ページ 4 1234567891011...86 新しいコメント Ahmed Soliman 2006.02.06 18:29 #31 絵馬クロスバージョン? SpecII: こんにちは。EMACross D1 TFからのマイフォワードテスト 乾杯 こんにちは、SpecIIさん。 教えていただき、ありがとうございました EMA_CROSSのバージョンは何ですか? Ahmed Soliman 2006.02.06 18:59 #32 マルチ・ペア!? SpecII: こんにちは、Codersguru私はバージョンNO SLを使用していますが、複数ペアのためにコードを修正し、ダブルロットのバグを作りました。 後日、ダブルロット用のバグを修正します。 乾杯 ありがとうございます。複数ペアのコードを見ることができますか? SpecII 2006.02.06 19:34 #33 codersguru: いつもありがとうございます!複数のペアのコードを見ることができますか? こんにちは、私はコードを投稿しています。 ありがとうございます。 //+------------------------------------------------------------------+ //| EMA_CROSS.mq4 | //| Coders Guru | //| https://www.forex-tsd.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| TODO: Add Money Management routine | //+------------------------------------------------------------------+ #property copyright "Coders Guru" #property link "https://www.forex-tsd.com" //---- input parameters extern double TakeProfit=130; extern double Lots=1; extern double TrailingStop=20; extern int ShortEma = 10; extern int LongEma = 80; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } int Crossed (double line1 , double line2) { static int last_direction = 0; static int current_direction = 0; //Don't work in the first load, wait for the first cross! static bool first_time = true; if(first_time == true) { first_time = false; return (0); } if(line1>line2)current_direction = 1; //up if(line1<line2)current_direction = 2; //down if(current_direction != last_direction) //changed { last_direction = current_direction; return (last_direction); } else { return (0); //not changed } } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int OrdersPerSymbol=0; //---- int cnt, ticket; double SEma, LEma; if(Bars<100) { Print("bars less than 100"); return(0); } if(TakeProfit<10) { Print("TakeProfit less than 10"); return(0); // check TakeProfit } OrdersPerSymbol=0; for(cnt=OrdersTotal();cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol()==Symbol() ) { OrdersPerSymbol++; } } SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0); LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0); static int isCrossed = 0; isCrossed = Crossed (LEma,SEma); // total = OrdersTotal(); if(OrdersPerSymbol < 1) { if(isCrossed == 1) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } if(isCrossed == 2) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()); return(0); } return(0); } for(cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); //OrderPrint(); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) // long position is opened { // should it be closed? /* REMOVED - Trailling stop only close if(isCrossed == 2) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position return(0); // exit } */ // check for trailing stop if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } else // go to short position { // should it be closed? /* REMOVED - Trailling stop only close if(isCrossed == 1) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position return(0); // exit } */ // check for trailing stop if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } return(0); } //+------------------------------------------------------------------+ コーディングの方法は? Ema Cross! Trailing stop in my SpecII 2006.02.06 19:42 #34 codersguru: SpecIIさん、こんにちは。シェアしていただき、ありがとうございます EMA_CROSSのバージョンは何ですか? こんにちは、Codersguru 私はバージョンNO SLを使用していますが、複数のペアのためにコードを修正し、ダブルロットのバグを作りました。 後でダブルロットのバグを修正します。 乾杯 newoptionz 2006.02.06 21:48 #35 インバース 私には逆張りのように見えます。 このコードは、長いEMAが短いEMAより大きくなったら買うように設定されています。 そして、長いEMAが短いEMAの下に移動したときに売るように設定されています。 他のところでは正反対のことをするように教えられているので、それが成功の理由なのでしょう。 また、最初のバージョンのEAでは複数回のトレードが発生しますが、2番目のバージョンではまだ試していません。 これは履歴データが正しくないためでしょうか? 今夜テストしてみます。 ありがとうございます。 newoptionz 2006.02.06 22:01 #36 だから だから、セマがレマの下に移動したら買い セマがレマを上回ったら売るということです。 それとも、また混乱してるのかな? newoptionz 2006.02.07 12:12 #37 eaをアタッチするとき EAをチャートに貼り付けると'X'が出ますが、EA上にも私にも笑顔がありません。 再生エキスパートボタンを押す必要がありました。 BrunoFX 2006.02.07 20:51 #38 こんにちは。 私はこのEAを口座デモでテストする気満々です。 第一印象は非常に良いです。 今のところ、4つのダイアグラムを開いているにもかかわらず、1つのペアしか開きません。 しかし、取引の各開始で、それは良い正の方向 であり、それは残りの部分です。 私は昨日からあなたを添付文。 ファイル: statement-ema-cross-daily-07.02.06.htm 6 kb statement-emacross.07.02.2006.htm 7 kb Kale 2006.02.07 20:53 #39 BrunoFX: こんにちは、私はこのEAをデモ口座でテストしているところです。 第一印象は非常に良いです。 今のところ、4つのダイアグラムを開いているにもかかわらず、1つのペアしか開きません。 しかし、取引の各開始で、それは良い正の方向であり、それは残りの部分です。 私は昨日からあなたを添付文。 このEAをマジックナンバーを使用するように改造しました。これにより、一度に複数のペアを取引できるようになります。MAIGCパラメータはペアごとに異なるように変更してください。 ファイル: ema_cross_2_1.mq4 6 kb BrunoFX 2006.02.07 21:03 #40 Kalenzoさん、こんにちは。 いつも迅速かつ効果的な修正をありがとうございます。 1234567891011...86 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
絵馬クロスバージョン?
こんにちは。
EMACross D1 TFからのマイフォワードテスト
乾杯こんにちは、SpecIIさん。
教えていただき、ありがとうございました
EMA_CROSSのバージョンは何ですか?
マルチ・ペア!?
こんにちは、Codersguru
私はバージョンNO SLを使用していますが、複数ペアのためにコードを修正し、ダブルロットのバグを作りました。
後日、ダブルロット用のバグを修正します。
乾杯いつもありがとうございます
こんにちは、私はコードを投稿しています。
ありがとうございます。
//| EMA_CROSS.mq4 |
//| Coders Guru |
//| https://www.forex-tsd.com |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| TODO: Add Money Management routine |
//+------------------------------------------------------------------+
#property copyright "Coders Guru"
#property link "https://www.forex-tsd.com"
//---- input parameters
extern double TakeProfit=130;
extern double Lots=1;
extern double TrailingStop=20;
extern int ShortEma = 10;
extern int LongEma = 80;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
//Don't work in the first load, wait for the first cross!
static bool first_time = true;
if(first_time == true)
{
first_time = false;
return (0);
}
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
if(current_direction != last_direction) //changed
{
last_direction = current_direction;
return (last_direction);
}
else
{
return (0); //not changed
}
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int OrdersPerSymbol=0;
//----
int cnt, ticket;
double SEma, LEma;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
OrdersPerSymbol=0;
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() )
{
OrdersPerSymbol++;
}
}
SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);
LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);
static int isCrossed = 0;
isCrossed = Crossed (LEma,SEma);
// total = OrdersTotal();
if(OrdersPerSymbol < 1)
{
if(isCrossed == 1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
if(isCrossed == 2)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//OrderPrint();
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
/* REMOVED - Trailling stop only close
if(isCrossed == 2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
*/
// check for trailing stop
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
// should it be closed?
/* REMOVED - Trailling stop only close
if(isCrossed == 1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
*/
// check for trailing stop
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+SpecIIさん、こんにちは。
シェアしていただき、ありがとうございます
EMA_CROSSのバージョンは何ですか?こんにちは、Codersguru
私はバージョンNO SLを使用していますが、複数のペアのためにコードを修正し、ダブルロットのバグを作りました。
後でダブルロットのバグを修正します。
乾杯
インバース
私には逆張りのように見えます。
このコードは、長いEMAが短いEMAより大きくなったら買うように設定されています。
そして、長いEMAが短いEMAの下に移動したときに売るように設定されています。
他のところでは正反対のことをするように教えられているので、それが成功の理由なのでしょう。
また、最初のバージョンのEAでは複数回のトレードが発生しますが、2番目のバージョンではまだ試していません。 これは履歴データが正しくないためでしょうか?
今夜テストしてみます。
ありがとうございます。
だから
だから、セマがレマの下に移動したら買い
セマがレマを上回ったら売るということです。
それとも、また混乱してるのかな?
eaをアタッチするとき
EAをチャートに貼り付けると'X'が出ますが、EA上にも私にも笑顔がありません。
再生エキスパートボタンを押す必要がありました。
こんにちは。
私はこのEAを口座デモでテストする気満々です。 第一印象は非常に良いです。 今のところ、4つのダイアグラムを開いているにもかかわらず、1つのペアしか開きません。 しかし、取引の各開始で、それは良い正の方向 であり、それは残りの部分です。 私は昨日からあなたを添付文。
こんにちは、私はこのEAをデモ口座でテストしているところです。 第一印象は非常に良いです。 今のところ、4つのダイアグラムを開いているにもかかわらず、1つのペアしか開きません。 しかし、取引の各開始で、それは良い正の方向であり、それは残りの部分です。 私は昨日からあなたを添付文。
このEAをマジックナンバーを使用するように改造しました。これにより、一度に複数のペアを取引できるようになります。MAIGCパラメータはペアごとに異なるように変更してください。
Kalenzoさん、こんにちは。
いつも迅速かつ効果的な修正をありがとうございます。