絵馬クロス! - ページ 17 1...101112131415161718192021222324...86 新しいコメント hellkkas 2006.02.24 13:51 #161 Audio: VIVA codersguru !!!!---Hi hellkas where are you, neet to see these one my friend. Hi Audio my friend... このEAは本当に素晴らしいです...SuperCodersGuruにとても感謝しています。 簡単な質問があります。 このEA v2をフォワードテストしているのですが、何か変なことに気づきました... 私は異なるプラットフォームで4つの異なる設定をしていますが、すべて同じブローカー(NorthFinance)で、昨日は1つのポジションしか開いておらず、それが普通だと思っていましたが、今日は同じポジションがまだ開いていて、おかしいと思いました。プラットフォームを再起動すると、新しいポジションがオープンしました。 なぜEAは私がプラットフォームを再起動するまで取引を停止するのでしょうか? ありがとうございます。 ファイル: emacross.htm 22 kb Hendrick 2006.02.24 18:23 #162 備考 まだこのEAを使っています。トレンドに逆らったトレードで負けることが多いことに気がつきました。このEAで、トレンドに沿ったトレードだけを行うオプションを作ることは可能でしょうか? これからもよろしくお願いします。 Ahmed Soliman 2006.02.24 18:37 #163 逆転の発想!? Hendrick: まだこのEAを使っています。トレンドに逆らったトレードで負けることが多いことに気がつきました。このEAにトレンドに沿ったトレードだけを行うオプションを作ることは可能でしょうか? これからも良い仕事をお願いします。 ヘンドリック このオプションはすでに含まれています! トレンドに従いたい場合は、reversaloptionを falseに 設定するだけです。 Hendrick 2006.02.24 19:30 #164 おっと! codersguru: ヘンドリック。このオプションはすでに含まれています トレンドに乗りたいなら、reversaloptionを falseに 設定すればいいだけです。 おっと。ごめんなさいGuru。 Audio 2006.02.25 01:13 #165 hellkas: こんにちは、オーディオ、私の友人... このEAは本当に素晴らしいです...。SuperCodersGuruにとても感謝しています。 簡単な質問があります。 このEA v2をフォワードテストしているのですが、奇妙なことに気づきました... 私は異なるプラットフォームで4つの異なる設定をしていますが、すべて同じブローカー(NorthFinance)で、昨日は1つのポジションしか開いておらず、それが普通だと思っていましたが、今日は同じポジションがまだ開いていて、おかしいと思いました。プラットフォームを再起動すると、新しいポジションがオープンしました。 なぜEAはプラットフォームを再起動するまで取引を停止するのでしょうか? サンクス こんにちは、お久しぶりです!お元気でしたか?このような場合、Codersguruがより良い方法で返答してくれると思います。 demag 2006.02.25 01:21 #166 こんにちは、CodersGuruです。 あなたのEAにアイディアがあります。TP、TS、SLを削除して、できるだけシンプルにしたいと思います。そうですね、クレイジーですね。 そして、単純にクロスの間のMAをトレードさせます。 1,アップクロスで、1バー待って、ロングする。 2、次のダウンクロスで取引を終了します。 3、もう一本待って、MAがまだ下ならショートを建てる。 設定するのはロットサイズだけです。 MAが反対方向にクロスしたら、すぐに取引を終了する。 これは、ケーブルのようなトレンドのあるペアで、小さなスプレッドで使わなければならない。なぜなら、大きなスプレッドのペアは、マーケットがレンジになり始めると、利益を取ってしまうからだ。 おかしな話かもしれませんが、外部からの影響をまったく受けずに、純粋に価格変動だけを頼りに取引を行うことになります。事実上、マーケットが自分自身で取引しているようなものです。 時間枠とMAの設定で遊んでみるのも面白いかもしれませんね。 今のところ、TP,SL,TSをオフにするオプションを入れています。 //+------------------------------------------------------------------+ //| EMA_CROSS.mq4 |。 //| コーダーの達人| //|https://www.mql5.com/en/forum| //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| TODO: マネーマネージメント・ルーチンを追加する。 //+------------------------------------------------------------------+ #property copyright "コーダーの達人" #property link "https://www.forex-tsd.com" //---- 入力パラメータ extern double TakeProfit=300; extern bool UseTakeProfit = false; extern double Lots=1; extern double TrailingStop=15; extern bool UseTrailingStop = false; extern double TrailingStop=15; extern bool UseTrailingStop = false; extern double StopLoss=100; extern bool UseTrailingStop = false; extern double StopLoss=100; extern bool UseStopLoss = false; extern int ShortEma = 10; extern int LongEma = 80; //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } bool isNewSymbol(string current_symbol) { //開いた注文を全てループし、シンボルを比較する int total = OrdersTotal(); for(int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); Print( "OrderSymbol = " + OrderSymbol() + ": Symbol = " + current_symbol); string selected_symbol = OrderSymbol(); if (current_symbol == selected_symbol) return (False); } return (True); } int Crossed (double line1 , double line2) { static int last_direction = 0; static int current_direction = 0; //最初のロードでは動作しないので、最初のクロスを待つ! static bool first_time = true; if(first_time == true) { first_time = falseです。 return (0); if(line1>line2)current_direction = 1; //上方向 if(line1<line2)カレント_ディレクション = 2; //ダウン if(current_direction != last_direction) //変更されました。 { last_direction = current_direction; return (last_direction); } それ以外 { return (0); //変更なし } } //+------------------------------------------------------------------+ //| エキスパートスタート機能 //+------------------------------------------------------------------+ int start() { //---- int cnt, ticket, total; double SEma, LEma; if(Bars<100) { Print("bars less than 100"); return(0); } if(テイクプロフィット<10) { Print("TakeProfitが10未満"); return(0); // TakeProfitのチェック } SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0)。 LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0); 静的 int isCrossed = 0; isCrossed = Crossed (LEma,SEma); total = OrdersTotal(); if(total < 1 || isNewSymbol(Symbol())) { if(isCrossed == 1 ) { if(UseStopLoss) ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,「EMA_CROSS」12345,0,Green).のようになります。 さもなくば ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point, "EMA_CROSS",12345,0,Green)。 if(チケット>0) { if(オーダーセレクト(チケット,SELECT_BY_TICKET,MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice()); else Print("BUY注文の開始エラー :",GetLastError())。 return(0); } if(isCrossed == 2) { if(UseStopLoss) ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,「EMA_CROSS」12345,0,赤).を指定します。 さもなくば ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, "EMA_CROSS", 12345,0,Red); if(ticket>0) { if(オーダーセレクト(チケット,SELECT_BY_TICKET,MODE_TRADES))Print("SELL order opened : ",OrderOpenPrice()); else Print("SELL注文の開始エラー :",GetLastError()); return(0); return(0); } for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); //OrderPrint(); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())) { if(OrderType()==OP_BUY) // ロングポジションが開かれる { // クローズすべきでしょうか? /* 削除されました - トレーリングストップのみのクローズ if(isCrossed == 2) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // ポジションクローズ return(0); // 終了 } */ // トレーリングストップのチェック if(TrailingStop>0){ if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(オーダーストップロス()<買値-売値*トレイリングストップ) { オーダーモディファイ(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } else // ショートポジションに移動 { // クローズすべきか? /* 削除 - トレーリングストップはクローズのみ if(isCrossed == 1) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // クローズポジション return(0); // 終了 } */ // トレーリングストップのチェック if(TrailingStop>0){ if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)))をチェックします。| (OrderStopLoss()==0))の場合 { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red).OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProtect(),0,Red); return(0); } } } } } } return(0); } //+----------------------------------------------------------------+ 今ひとつわからないのが、トレードの終了方法です。TSを無効化したということでよろしいでしょうか? コードの改変はお気になさらないで下さいね。 ありがとうございます。 コーディングの方法は? 生のアイデア Ema Cross! gkozlyk 2006.02.25 06:41 #167 その後にバーを開き、次のクロスで閉じるというのは良いアイデアだと思います(トレーリング・ストップロスを使えば利益を確定しやすいかもしれません)。特に、主要なペアで市場が再びトレンドになり始めたときは、カウンタートレンドよりもプロトレンドの方がずっと理にかなっています。 横ばい/横ばい相場では、カウンタートレンドのトレーダーは理にかなっていますが、よりリスクが高く、プロトレンドのトレーダーがすぐに取引を行うのとは対照的に、プラスになるまでに3ヶ月(日足チャート)待つ必要があるかもしれません。 MA_Crossはストップロスを+20くらいで利益確定してくれるので、一度トレードが利益になれば、もう証拠金を持つ必要がないところが気に入っています。 グラハム demag 2006.02.25 10:05 #168 グラハムさん、こんにちは。 はい、このアイデアは、よりトレンドの強いペアをいくつか見たときに思いつきました。多くの場合、ロングでもショートでも、常にピップが稼動しています。 私は単純にそれを利用したいのです。 この行の状態をfalseからtrueに変更するだけで、トレーリングストップを使用するオプションがあります。 "外部 bool UseTrailingStop = false;" しかし、私はコーディングの全くの初心者なので(CodersGuruに感謝 )、プログラムが現在どのように取引を終了しているのかよくわかりません。ストップロスを探しているのでしょうか?私はまだ注文の決済を勉強しているところです。 また、5分、15分、30分、1時間足などの小さなTFで、MAを小さくして小さなトレンドを拾うような使い方も考えています。 Ahmed Soliman 2006.02.25 13:24 #169 バグ!? hellkas: こんにちはオーディオ私の友人... このEAは本当に素晴らしいです。SuperCodersGuruにとても感謝しています。簡単な質問があります。このEA v2をフォワードテストしているのですが、奇妙なことに気づきました...私は異なるプラットフォームで4つの異なる設定をしていますが、すべて同じブローカー(NorthFinance)で、昨日は1つのポジションしか開いておらず、それが普通だと思っていましたが、今日は同じポジションがまだ開いていて、おかしいと思いました。プラットフォームを再起動すると、新しいポジションがオープンしました。なぜEAは私がプラットフォームを再起動するまで取引を停止するのでしょうか? サンクス hellkasさん ご投稿ありがとうございます。 月曜日に確認 しなければなりません。 Ahmed Soliman 2006.02.25 13:38 #170 1...101112131415161718192021222324...86 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Hi Audio my friend...
このEAは本当に素晴らしいです...SuperCodersGuruにとても感謝しています。
簡単な質問があります。
このEA v2をフォワードテストしているのですが、何か変なことに気づきました...
私は異なるプラットフォームで4つの異なる設定をしていますが、すべて同じブローカー(NorthFinance)で、昨日は1つのポジションしか開いておらず、それが普通だと思っていましたが、今日は同じポジションがまだ開いていて、おかしいと思いました。プラットフォームを再起動すると、新しいポジションがオープンしました。
なぜEAは私がプラットフォームを再起動するまで取引を停止するのでしょうか?
ありがとうございます。
備考
まだこのEAを使っています。トレンドに逆らったトレードで負けることが多いことに気がつきました。このEAで、トレンドに沿ったトレードだけを行うオプションを作ることは可能でしょうか?
これからもよろしくお願いします。
逆転の発想!?
まだこのEAを使っています。トレンドに逆らったトレードで負けることが多いことに気がつきました。このEAにトレンドに沿ったトレードだけを行うオプションを作ることは可能でしょうか? これからも良い仕事をお願いします。
ヘンドリック
このオプションはすでに含まれています!
トレンドに従いたい場合は、reversaloptionを falseに 設定するだけです。
おっと!
ヘンドリック。
このオプションはすでに含まれています
トレンドに乗りたいなら、reversaloptionを falseに 設定すればいいだけです。おっと。ごめんなさいGuru。
こんにちは、オーディオ、私の友人...
このEAは本当に素晴らしいです...。SuperCodersGuruにとても感謝しています。
簡単な質問があります。
このEA v2をフォワードテストしているのですが、奇妙なことに気づきました...
私は異なるプラットフォームで4つの異なる設定をしていますが、すべて同じブローカー(NorthFinance)で、昨日は1つのポジションしか開いておらず、それが普通だと思っていましたが、今日は同じポジションがまだ開いていて、おかしいと思いました。プラットフォームを再起動すると、新しいポジションがオープンしました。
なぜEAはプラットフォームを再起動するまで取引を停止するのでしょうか?
サンクスこんにちは、お久しぶりです!お元気でしたか?このような場合、Codersguruがより良い方法で返答してくれると思います。
こんにちは、CodersGuruです。
あなたのEAにアイディアがあります。TP、TS、SLを削除して、できるだけシンプルにしたいと思います。そうですね、クレイジーですね。
そして、単純にクロスの間のMAをトレードさせます。
1,アップクロスで、1バー待って、ロングする。
2、次のダウンクロスで取引を終了します。
3、もう一本待って、MAがまだ下ならショートを建てる。
設定するのはロットサイズだけです。
MAが反対方向にクロスしたら、すぐに取引を終了する。
これは、ケーブルのようなトレンドのあるペアで、小さなスプレッドで使わなければならない。なぜなら、大きなスプレッドのペアは、マーケットがレンジになり始めると、利益を取ってしまうからだ。
おかしな話かもしれませんが、外部からの影響をまったく受けずに、純粋に価格変動だけを頼りに取引を行うことになります。事実上、マーケットが自分自身で取引しているようなものです。
時間枠とMAの設定で遊んでみるのも面白いかもしれませんね。
今のところ、TP,SL,TSをオフにするオプションを入れています。
//+------------------------------------------------------------------+
//| EMA_CROSS.mq4 |。
//| コーダーの達人|
//|https://www.mql5.com/en/forum|
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| TODO: マネーマネージメント・ルーチンを追加する。
//+------------------------------------------------------------------+
#property copyright "コーダーの達人"
#property link "https://www.forex-tsd.com"
//---- 入力パラメータ
extern double TakeProfit=300;
extern bool UseTakeProfit = false;
extern double Lots=1;
extern double TrailingStop=15;
extern bool UseTrailingStop = false; extern double TrailingStop=15; extern bool UseTrailingStop = false;
extern double StopLoss=100; extern bool UseTrailingStop = false; extern double StopLoss=100;
extern bool UseStopLoss = false;
extern int ShortEma = 10;
extern int LongEma = 80;
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
bool isNewSymbol(string current_symbol)
{
//開いた注文を全てループし、シンボルを比較する
int total = OrdersTotal();
for(int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
Print( "OrderSymbol = " + OrderSymbol() + ": Symbol = " + current_symbol);
string selected_symbol = OrderSymbol();
if (current_symbol == selected_symbol)
return (False);
}
return (True);
}
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
//最初のロードでは動作しないので、最初のクロスを待つ!
static bool first_time = true;
if(first_time == true)
{
first_time = falseです。
return (0);
if(line1>line2)current_direction = 1; //上方向
if(line1<line2)カレント_ディレクション = 2; //ダウン
if(current_direction != last_direction) //変更されました。
{
last_direction = current_direction;
return (last_direction);
}
それ以外
{
return (0); //変更なし
}
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
//----
int cnt, ticket, total;
double SEma, LEma;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(テイクプロフィット<10)
{
Print("TakeProfitが10未満");
return(0); // TakeProfitのチェック
}
SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0)。
LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);
静的 int isCrossed = 0;
isCrossed = Crossed (LEma,SEma);
total = OrdersTotal();
if(total < 1 || isNewSymbol(Symbol()))
{
if(isCrossed == 1 )
{
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,「EMA_CROSS」12345,0,Green).のようになります。
さもなくば
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point, "EMA_CROSS",12345,0,Green)。
if(チケット>0)
{
if(オーダーセレクト(チケット,SELECT_BY_TICKET,MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice());
else Print("BUY注文の開始エラー :",GetLastError())。
return(0);
}
if(isCrossed == 2)
{
if(UseStopLoss)
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,「EMA_CROSS」12345,0,赤).を指定します。
さもなくば
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point, "EMA_CROSS", 12345,0,Red);
if(ticket>0)
{
if(オーダーセレクト(チケット,SELECT_BY_TICKET,MODE_TRADES))Print("SELL order opened : ",OrderOpenPrice());
else Print("SELL注文の開始エラー :",GetLastError());
return(0);
return(0);
}
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//OrderPrint();
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()))
{
if(OrderType()==OP_BUY) // ロングポジションが開かれる
{
// クローズすべきでしょうか?
/* 削除されました - トレーリングストップのみのクローズ
if(isCrossed == 2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // ポジションクローズ
return(0); // 終了
}
*/
// トレーリングストップのチェック
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(オーダーストップロス()<買値-売値*トレイリングストップ)
{
オーダーモディファイ(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // ショートポジションに移動
{
// クローズすべきか?
/* 削除 - トレーリングストップはクローズのみ
if(isCrossed == 1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // クローズポジション
return(0); // 終了
}
*/
// トレーリングストップのチェック
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)))をチェックします。| (OrderStopLoss()==0))の場合
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red).OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProtect(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
//+----------------------------------------------------------------+
今ひとつわからないのが、トレードの終了方法です。TSを無効化したということでよろしいでしょうか?
コードの改変はお気になさらないで下さいね。
ありがとうございます。
その後にバーを開き、次のクロスで閉じるというのは良いアイデアだと思います(トレーリング・ストップロスを使えば利益を確定しやすいかもしれません)。特に、主要なペアで市場が再びトレンドになり始めたときは、カウンタートレンドよりもプロトレンドの方がずっと理にかなっています。 横ばい/横ばい相場では、カウンタートレンドのトレーダーは理にかなっていますが、よりリスクが高く、プロトレンドのトレーダーがすぐに取引を行うのとは対照的に、プラスになるまでに3ヶ月(日足チャート)待つ必要があるかもしれません。
MA_Crossはストップロスを+20くらいで利益確定してくれるので、一度トレードが利益になれば、もう証拠金を持つ必要がないところが気に入っています。
グラハム
グラハムさん、こんにちは。
はい、このアイデアは、よりトレンドの強いペアをいくつか見たときに思いつきました。多くの場合、ロングでもショートでも、常にピップが稼動しています。
私は単純にそれを利用したいのです。
この行の状態をfalseからtrueに変更するだけで、トレーリングストップを使用するオプションがあります。
"外部 bool UseTrailingStop = false;"
しかし、私はコーディングの全くの初心者なので(CodersGuruに感謝
)、プログラムが現在どのように取引を終了しているのかよくわかりません。ストップロスを探しているのでしょうか?私はまだ注文の決済を勉強しているところです。 
また、5分、15分、30分、1時間足などの小さなTFで、MAを小さくして小さなトレンドを拾うような使い方も考えています。
バグ!?
こんにちはオーディオ私の友人...
このEAは本当に素晴らしいです。SuperCodersGuruにとても感謝しています。
簡単な質問があります。
このEA v2をフォワードテストしているのですが、奇妙なことに気づきました...
私は異なるプラットフォームで4つの異なる設定をしていますが、すべて同じブローカー(NorthFinance)で、昨日は1つのポジションしか開いておらず、それが普通だと思っていましたが、今日は同じポジションがまだ開いていて、おかしいと思いました。プラットフォームを再起動すると、新しいポジションがオープンしました。
なぜEAは私がプラットフォームを再起動するまで取引を停止するのでしょうか?
サンクスhellkasさん
ご投稿ありがとうございます。