コーディングの方法は? - ページ 79 1...727374757677787980818283848586...347 新しいコメント nittany1 2008.03.24 07:32 #781 ありがとうございます。どちらの提案も、私が取り組んでいたものより良いものでしょう。 biosq 2008.03.24 20:48 #782 誰か助けてください・・・。 こんにちは... 私はここに誰かがこれをコーディングする方法を私を助けることができると思います。これはmartiangle EAと私は何をしたいです。 1 .2層目のポストが開いたとき、1層目のターゲットポイントを2層目のターゲットポイントに移動させたいです。 2.ピップスロックが必要です。1層目が開いて、例えば15ピップス(TP32)の利益を得た場合、EAはSL価格(例えば5ピップス)でロックをかけますので、価格が10ピップ反転するとそのポストは5ピップスの利益で自動的にクローズできます。 私は私の悪いenglish.Hopeのために非常に申し訳ありませんが、誰かがこのEAでコードを置くために私を助けることができます。ありがとうございました。 マティアングル_rsi_.mq4 聯絡 本当に助けが必要な人 ファイル: martiangle_rsi_.mq4 15 kb Beno 2008.03.25 20:39 #783 コメントについて 私は、画面に表示するコメントを設定しようとしていますが、あまりうまくいっていません。 私は、単一のペアのピップカウントを取得するために管理しているが、私は複数のペアの照合合計を表示するように見えることはできません。 どのようなヘルプも素晴らしいでしょう これは、そのコードの例です。 //================ FUNCTION getPipValue double getPipValue(double ord,int dir) { double val; RefreshRates(); if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits)) NormalizeDouble(Ask,Digits)); else val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits)); val = val/Point*co; return(val); } //== 関数終了 int getSpread() { int spread=MarketInfo(Symbol(),MODE_SPREAD).return(spread);etc; return(spread)。 } //=========================== FUNCTION getOpenOrders void getOpenOrders() { int nsl, nsd; 文字列 mngMagic, trailon; int totalorders = OrdersTotal(); for(int j=0; j<totalorders;j++)。 { OrderSelect(j, SELECT_BY_POS, MODE_TRADES); if((OrderType() == OP_BUY || OrderType() == OP_SELL) && (OrderSymbol() == Symbol) ) OrderSymbol() == Symbol()&&(MagicNumber==0 || MagicNumber ==) OrderMagicNumber()) { double val=getPipValue(OrderOpenPrice(),OrderType())。 //int val = OrderProfit()/(OrderLots()*10); } if(MagicNumber == 0) mngMagic = "すべての "+Symbol()+"トレード."; さもなくば mngMagic = "マジックナンバーが "+MagicNumber "の取引。 //RefreshRates(); Comment("残高:",AccountBalance(),",Account Equity:",AccountEquity(),", Account Profit:",AccountProfit(), "Order Open: ",OrderOpenPrice(), "ⅷピップ数:", val, "ⅳMy Account Cutoff Limit: ",Open_Loss_To_CloseTrades, "ⅳMnManaging:", mngMagic); 乾杯 How to code? 出口戦略ステップ・ストップとトレーリング・ストップの比較 [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. ralphronnquist 2008.03.25 20:55 #784 現在の注文の pips 値は、次のようにして得ることができます。 ( OrderClosePrice() - OrderOpenPrice() ) / MarketInfo( OrderSymbol(), MODE_POINT ) もし、"bid" と "ask" を使いたい場合は、注文記号に 関連したもの、すなわち、MarketInfo( OrderSymbol(), MODE_BID ) と MarketInfo( OrderSymbol(), MODE_ASK ) も使う必要がある。 Beno 2008.03.25 21:27 #785 RALPH.RONNQUIST ギデー 私はそれを使用しましたが、それは1つのペアのためにカウントされ、すべてのペアの合計ではありませんコードをありがとうございました。 私は様々なシナリオで実験してきたが、まだ動作していない 私は5つのペアで実行される3つのポジションを開くEAを持っている私は、各ペアのピップカウントを見ることができますが、集団ではありません。 ShahJB 2008.03.25 23:27 #786 Beno: RALPH.RONNQUISTGidday ありがとうございます。 私は様々なシナリオで実験されているが、まだ動作しません 私は5つのペアで実行される3つのポジションを開くEAを持っています私は各ペアのピップカウントを見ることができますが、集団ではありません。 さて、あなたはグローバル変数に精通している場合、あなたは各シンボルによって参照される各ペアのピップス情報を格納するためにそれらを使用することができます。総pips値を参照する別のグローバル変数を作成し、この特定のグローバル変数を呼び出し、pipsが増加するとそれを更新取得し、それを格納します。グローバル変数はMT4のメモリに格納されているので、各EAからアクセスすることができます。 もし必要であれば、私がコーディングのお手伝いをします。 Beno 2008.03.25 23:39 #787 Gidday ShahJB 私は前にコードでグローバル変数を見たことがあるが、私はそれらを経験したことがないので、はい、私はこれをコーディングするためにあなたの助けを受け入れたいと思いますそのように私は気が狂いそうです。 ShahJB 2008.03.26 00:04 #788 Beno: Gidday ShahJB 私は前にコードでグローバル変数を見たことがあるが、私はそれを経験したゼロだったので、はい、私はこれをコーディングするためにあなたの助けを受け入れたいと思いますそのように私を狂わせるように 早速、次のようなコードを書いてみました。まず、このコードを追加してみてください。試してみて、もし失敗したら私に連絡してください。私は少し睡眠を取る必要があります。 文字列 val_old_string = "val_old" + Symbol(); int val_old = GlobalVariableGet(val_old_string); if(val != val_old) { int pips_increment_decrement; int current_total_pips; string counter = "ピップスカウンター"; double pips_counter = GlobalVariableGet(counter); if (val>val_old) { pips_increment_decrement = val - val_old; current_total_pips = pips_increment_decrement + pips_counter; GlobalVariableSet(counter, current_total_pips); GlobalVariableSet(val_old_string, val); } さもなくば { pips_increment_decrement = val_old - val; current_total_pips = pips_counter - pips_increment_decrement; GlobalVariableSet(counter, current_total_pips); GlobalVariableSet(val_old_string, val); } } rlach3 2008.03.31 15:50 #789 なぜ動かないのか? こんにちは。 私はプログラミングの完全な初心者です。 このサイトの投稿や学習リソースのおかげで、いくつかのEAを構築する勇気が湧いてきました。そのうちの1つはトリガーの1つとしてLguerreを使用します(このサイトを参考にしました ;Expert Advisor Builder for MetaTrader 4)。私のEAの問題は、トリガーがヒットしたときに買い注文をオープンしないことです。前述のサイトを使っていくつかのEAを作りましたが、それらはロングとショートのポジションの注文をうまく実行しました(EAはRSIを使用しました)。添付のEA、3-28を見て、何が間違っているのか教えてください...取引が実行される前にヒットするレベルのフォーマットを間違って使っているのでしょうか?Laguerreは追加のパラメータが必要ですか? このために恥ずかしいほどの時間を費やしてしまい、あきらめる寸前です...どんな助けでも大歓迎です!!!! 答えは見つかったようです...しかし、なぜ私のEAでラゲールを掛ける必要があるのでしょうか? ファイル: 3-31.mq4 10 kb 削除済み 2008.03.31 21:45 #790 ポジションを閉じるときに問題が発生しました。助けてください 解決方法が分からない問題が発生しました。私のプログラムはいくつかのオープンオーダーを持っており、それらをすべて一緒に閉じますが、時々、いくつかのオーダーが満たされていないと思うので、それらが満たされるまで待ち続け、私のプログラムがロックされます。すべての未決済注文を閉じるための最良の方法は何でしょうか?よろしくお願いします。 以下はそのコードです。 int OrdersTotalLong() { int order_total = 0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i,SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUY) order_total++; } return(order_total); int MaxLongOrder() { int order = 0; double lotsbuyed = 0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i,SELECT_BY_POS, MODE_TRADES); if ((OrderType() == OP_BUY) && (OrderLots() > lotsbuyed)) { lotsbuyed = OrderLots(); order = i; } } return(order)。 } int CloseLong() { while (OrdersTotalLong() > 0) //開いている注文がなくなるまで(すべて閉じる)。 { if (OrderSelect(MaxLongOrder(), SELECT_BY_POS, MODE_TRADES) == false) continue; OrderClose(OrderTicket(),OrderLots(), Bid, 3, Green); } return(0); Need help closing orders コーディングのヘルプ How to code? 1...727374757677787980818283848586...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ありがとうございます。どちらの提案も、私が取り組んでいたものより良いものでしょう。
誰か助けてください・・・。
こんにちは...
私はここに誰かがこれをコーディングする方法を私を助けることができると思います。これはmartiangle EAと私は何をしたいです。
1 .2層目のポストが開いたとき、1層目のターゲットポイントを2層目のターゲットポイントに移動させたいです。
2.ピップスロックが必要です。1層目が開いて、例えば15ピップス(TP32)の利益を得た場合、EAはSL価格(例えば5ピップス)でロックをかけますので、価格が10ピップ反転するとそのポストは5ピップスの利益で自動的にクローズできます。
私は私の悪いenglish.Hopeのために非常に申し訳ありませんが、誰かがこのEAでコードを置くために私を助けることができます。ありがとうございました。
マティアングル_rsi_.mq4
聯絡
本当に助けが必要な人
コメントについて
私は、画面に表示するコメントを設定しようとしていますが、あまりうまくいっていません。
私は、単一のペアのピップカウントを取得するために管理しているが、私は複数のペアの照合合計を表示するように見えることはできません。
どのようなヘルプも素晴らしいでしょう
これは、そのコードの例です。
//================ FUNCTION getPipValue
double getPipValue(double ord,int dir)
{
double val;
RefreshRates();
if(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits))
NormalizeDouble(Ask,Digits));
else val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits));
val = val/Point*co;
return(val);
}
//== 関数終了
int getSpread()
{
int spread=MarketInfo(Symbol(),MODE_SPREAD).return(spread);etc;
return(spread)。
}
//=========================== FUNCTION getOpenOrders
void getOpenOrders()
{
int nsl, nsd;
文字列 mngMagic, trailon;
int totalorders = OrdersTotal();
for(int j=0; j<totalorders;j++)。
{
OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
if((OrderType() == OP_BUY || OrderType() == OP_SELL) && (OrderSymbol() == Symbol) )
OrderSymbol() == Symbol()&&(MagicNumber==0 || MagicNumber ==)
OrderMagicNumber())
{
double val=getPipValue(OrderOpenPrice(),OrderType())。
//int val = OrderProfit()/(OrderLots()*10);
}
if(MagicNumber == 0)
mngMagic = "すべての "+Symbol()+"トレード.";
さもなくば
mngMagic = "マジックナンバーが "+MagicNumber "の取引。
//RefreshRates();
Comment("残高:",AccountBalance(),",Account Equity:",AccountEquity(),", Account Profit:",AccountProfit(), "Order Open: ",OrderOpenPrice(),
"ⅷピップ数:", val,
"ⅳMy Account Cutoff Limit: ",Open_Loss_To_CloseTrades,
"ⅳMnManaging:", mngMagic);
乾杯
現在の注文の pips 値は、次のようにして得ることができます。
もし、"bid" と "ask" を使いたい場合は、注文記号に 関連したもの、すなわち、MarketInfo( OrderSymbol(), MODE_BID ) と MarketInfo( OrderSymbol(), MODE_ASK ) も使う必要がある。
RALPH.RONNQUIST
ギデー
私はそれを使用しましたが、それは1つのペアのためにカウントされ、すべてのペアの合計ではありませんコードをありがとうございました。
私は様々なシナリオで実験してきたが、まだ動作していない
私は5つのペアで実行される3つのポジションを開くEAを持っている私は、各ペアのピップカウントを見ることができますが、集団ではありません。
RALPH.RONNQUIST
Gidday
ありがとうございます。
私は様々なシナリオで実験されているが、まだ動作しません
私は5つのペアで実行される3つのポジションを開くEAを持っています私は各ペアのピップカウントを見ることができますが、集団ではありません。さて、あなたはグローバル変数に精通している場合、あなたは各シンボルによって参照される各ペアのピップス情報を格納するためにそれらを使用することができます。総pips値を参照する別のグローバル変数を作成し、この特定のグローバル変数を呼び出し、pipsが増加するとそれを更新取得し、それを格納します。グローバル変数はMT4のメモリに格納されているので、各EAからアクセスすることができます。
もし必要であれば、私がコーディングのお手伝いをします。
Gidday ShahJB
私は前にコードでグローバル変数を見たことがあるが、私はそれらを経験したことがないので、はい、私はこれをコーディングするためにあなたの助けを受け入れたいと思いますそのように私は気が狂いそうです。
Gidday ShahJB 私は前にコードでグローバル変数を見たことがあるが、私はそれを経験したゼロだったので、はい、私はこれをコーディングするためにあなたの助けを受け入れたいと思いますそのように私を狂わせるように
早速、次のようなコードを書いてみました。まず、このコードを追加してみてください。試してみて、もし失敗したら私に連絡してください。私は少し睡眠を取る必要があります。
文字列 val_old_string = "val_old" + Symbol();
int val_old = GlobalVariableGet(val_old_string);
if(val != val_old)
{
int pips_increment_decrement;
int current_total_pips;
string counter = "ピップスカウンター";
double pips_counter = GlobalVariableGet(counter);
if (val>val_old)
{
pips_increment_decrement = val - val_old;
current_total_pips = pips_increment_decrement + pips_counter;
GlobalVariableSet(counter, current_total_pips);
GlobalVariableSet(val_old_string, val);
}
さもなくば
{
pips_increment_decrement = val_old - val;
current_total_pips = pips_counter - pips_increment_decrement;
GlobalVariableSet(counter, current_total_pips);
GlobalVariableSet(val_old_string, val);
}
}
なぜ動かないのか?
こんにちは。
私はプログラミングの完全な初心者です。 このサイトの投稿や学習リソースのおかげで、いくつかのEAを構築する勇気が湧いてきました。そのうちの1つはトリガーの1つとしてLguerreを使用します(このサイトを参考にしました ;Expert Advisor Builder for MetaTrader 4)。私のEAの問題は、トリガーがヒットしたときに買い注文をオープンしないことです。前述のサイトを使っていくつかのEAを作りましたが、それらはロングとショートのポジションの注文をうまく実行しました(EAはRSIを使用しました)。添付のEA、3-28を見て、何が間違っているのか教えてください...取引が実行される前にヒットするレベルのフォーマットを間違って使っているのでしょうか?Laguerreは追加のパラメータが必要ですか?
このために恥ずかしいほどの時間を費やしてしまい、あきらめる寸前です...どんな助けでも大歓迎です!!!!
答えは見つかったようです...しかし、なぜ私のEAでラゲールを掛ける必要があるのでしょうか?
ポジションを閉じるときに問題が発生しました。助けてください
解決方法が分からない問題が発生しました。私のプログラムはいくつかのオープンオーダーを持っており、それらをすべて一緒に閉じますが、時々、いくつかのオーダーが満たされていないと思うので、それらが満たされるまで待ち続け、私のプログラムがロックされます。すべての未決済注文を閉じるための最良の方法は何でしょうか?よろしくお願いします。
以下はそのコードです。
int OrdersTotalLong()
{
int order_total = 0;
for (int i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS, MODE_TRADES);
if (OrderType() == OP_BUY)
order_total++;
}
return(order_total);
int MaxLongOrder()
{
int order = 0;
double lotsbuyed = 0;
for (int i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS, MODE_TRADES);
if ((OrderType() == OP_BUY) && (OrderLots() > lotsbuyed))
{
lotsbuyed = OrderLots();
order = i;
}
}
return(order)。
}
int CloseLong()
{
while (OrdersTotalLong() > 0) //開いている注文がなくなるまで(すべて閉じる)。
{
if (OrderSelect(MaxLongOrder(), SELECT_BY_POS, MODE_TRADES) == false) continue;
OrderClose(OrderTicket(),OrderLots(), Bid, 3, Green);
}
return(0);