コーディングの方法は? - ページ 144 1...137138139140141142143144145146147148149150151...347 新しいコメント Michel 2008.11.12 15:40 #1431 これは間違っています : if(totalOrders==0 && Magic==OrderMagicNumber() &&) OrderSelect(i-1 , SELECT_BY_POS,MODE_HISTORY)==true) というのは、OrderSelect() の前に OrderMagicNumber() を呼び出しているので、おそらく前の呼び出しを参照しているのでしょう。 Roger09 2008.11.12 16:54 #1432 EBK: あ、すみません、私の意見が間違っていました。資本がある値を下回るとEA取引(またはEA取引の一部)を停止するようなコードを書きたい(でもできない)のですが、どうしたらいいですか? Roger09さん、ありがとうございました。でも、チャート上に自己資本を表示する必要はありません。 以下のEAを試してみてください。 CloseAllBuySell - MQL4コードベース そのアイデアを使って、次のようなコードを作ってみてください。 if (AccountEquity()<YourValue) closeallorders(); Beno 2008.11.15 14:25 #1433 どなたか、サンプルのMoving Average EAにEMA trailing stopを追加していただけませんか? EMAのトレーリングを1に設定 そして、エントリーを次のように変更してください。 買い=Open[1]>ma && Close[1]>ma。 売り=Open[1]<ma && Close[1]<maとします。 これで、非常に優れたシンプルなスキャルパーになるはずです。 ありがとうございました。 ベノ ファイル: ematrailingstop_v1.mq4 5 kb 削除済み 2008.11.15 23:58 #1434 Roger09 2008.11.16 17:29 #1435 プログラム冒頭に追加 extern int pips=2;//(or your number of pips) と置き換えます。 if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice())) sl = OrderOpenPrice() ; if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice())) sl = OrderOpenPrice() ;[/CODE] to [CODE]if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice())) sl = OrderOpenPrice() +pips*Point; if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice())) sl = OrderOpenPrice() -pips*Point; 削除済み 2008.11.17 17:28 #1436 どなたか、このインジケーターに新しい矢印を引いたときのアラートを入れるのを手伝っていただけませんか? ありがとうございます。 ファイル: hilow3.mq4 2 kb Roger09 2008.11.17 23:44 #1437 いいえ、修正してください extern int pips=2; //+------------------------------------------------------------------+ //| スクリプトプログラム開始関数 //+------------------------------------------------------------------+ int start() { //---- 文字列 curr = Symbol(); int ot = OrdersTotal(); int ords[200]、ordType[200]、ordTicket[200]; double ordLots[200]; string ordComments[200]; int ix=0; for (int i=0; i<ot; i++) { int o = OrderSelect(i, SELECT_BY_POS); if (OrderSymbol() == Symbol()) if ((OrderType() == OP_BUY))|| (OrderType() == OP_SELL)) { double sl = 0; if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice())) sl = OrderOpenPrice() +pips*Point; if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice())) sl = OrderOpenPrice() -pips*Point; if (sl != 0+10) 注文変更(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0); } } //---- return(0); コーディングのヘルプ How to code? どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 削除済み 2008.11.18 01:36 #1438 OK、コードは今、次のようになります。 extern int pips=10;// //+------------------------------------------------------------------+ //| スクリプトプログラム開始関数 //+------------------------------------------------------------------+ int start() { //---- 文字列 curr = Symbol(); int ot = OrdersTotal(); int ords[200]、ordType[200]、ordTicket[200]; double ordLots[200]; string ordComments[200]; int ix=0; for (int i=0; i<ot; i++) { int o = OrderSelect(i, SELECT_BY_POS); if (OrderSymbol() == Symbol()) if ((OrderType() == OP_BUY))|| (OrderType() == OP_SELL)) { double sl = 0; if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice())) sl = OrderOpenPrice() +pips*Point; if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice())) sl = OrderOpenPrice() -pips*Point; if (sl != 0) OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0); } } //---- return(0); } //+------------------------------------------------------------------+ コーディングのヘルプ どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - How to code? 削除済み 2008.11.18 01:37 #1439 Roger09さん、こんにちは。 このコードについてのヘルプに感謝します。私のスクリプトコードは現在以下のようになります(この返信のためだけに赤で示した変更を加えました、MQ4のコードはそこにあった残りのコードと同じように見えます)。 //+------------------------------------------------------------------+ //| スクリプトプログラム開始機能 //+------------------------------------------------------------------+ int start() { //---- extern int pips=2;// string curr = Symbol(); int ot = OrdersTotal(); int ords[200], ordType[200], ordTicket[200]; double ordLots[200]; string ordComments[200]; int ix=0; for (int i=0; i<ot; i++) { int o = OrderSelect(i, SELECT_BY_POS); if (OrderSymbol() == Symbol()) if ((OrderType() == OP_BUY))|| (OrderType() == OP_SELL)) { double sl = 0; if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice())) sl = OrderOpenPrice() +pips*Point; if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice())) sl = OrderOpenPrice() -pips*Point; if (sl != 0) OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0); } } //---- return(0)です。 私がそれを正しく持っている場合、あなたは私に知らせることができますか?私はここで盲目的に飛んでいるので、私に我慢してください。 How to code? コーディングのヘルプ どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Roger09 2008.11.18 04:31 #1440 実際、それは動作するでしょうが、このコードは良くありません。残念ながら、私はあなたの主な目標を知らないので、他のものを推薦することはできません。 1...137138139140141142143144145146147148149150151...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これは間違っています : if(totalOrders==0 && Magic==OrderMagicNumber() &&)
OrderSelect(i-1 , SELECT_BY_POS,MODE_HISTORY)==true)
というのは、OrderSelect() の前に OrderMagicNumber() を呼び出しているので、おそらく前の呼び出しを参照しているのでしょう。
あ、すみません、私の意見が間違っていました。
資本がある値を下回るとEA取引(またはEA取引の一部)を停止するようなコードを書きたい(でもできない)のですが、どうしたらいいですか?
Roger09さん、ありがとうございました。でも、チャート上に自己資本を表示する必要はありません。以下のEAを試してみてください。
CloseAllBuySell - MQL4コードベース
そのアイデアを使って、次のようなコードを作ってみてください。
if (AccountEquity()<YourValue) closeallorders();
どなたか、サンプルのMoving Average EAにEMA trailing stopを追加していただけませんか?
EMAのトレーリングを1に設定
そして、エントリーを次のように変更してください。
買い=Open[1]>ma && Close[1]>ma。
売り=Open[1]<ma && Close[1]<maとします。
これで、非常に優れたシンプルなスキャルパーになるはずです。
ありがとうございました。
ベノ
プログラム冒頭に追加
extern int pips=2;//(or your number of pips)
と置き換えます。
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() ;[/CODE]
to
[CODE]if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;どなたか、このインジケーターに新しい矢印を引いたときのアラートを入れるのを手伝っていただけませんか?
ありがとうございます。
いいえ、修正してください
extern int pips=2;
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数
//+------------------------------------------------------------------+
int start()
{
//----
文字列 curr = Symbol();
int ot = OrdersTotal();
int ords[200]、ordType[200]、ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY))|| (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
if (sl != 0+10)
注文変更(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
OK、コードは今、次のようになります。
extern int pips=10;//
//+------------------------------------------------------------------+
//| スクリプトプログラム開始関数
//+------------------------------------------------------------------+
int start()
{
//----
文字列 curr = Symbol();
int ot = OrdersTotal();
int ords[200]、ordType[200]、ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY))|| (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Roger09さん、こんにちは。
このコードについてのヘルプに感謝します。私のスクリプトコードは現在以下のようになります(この返信のためだけに赤で示した変更を加えました、MQ4のコードはそこにあった残りのコードと同じように見えます)。
//+------------------------------------------------------------------+
//| スクリプトプログラム開始機能
//+------------------------------------------------------------------+
int start()
{
//----
extern int pips=2;//
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY))|| (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;
if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0)です。
私がそれを正しく持っている場合、あなたは私に知らせることができますか?私はここで盲目的に飛んでいるので、私に我慢してください。
実際、それは動作するでしょうが、このコードは良くありません。残念ながら、私はあなたの主な目標を知らないので、他のものを推薦することはできません。