[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 880 1...873874875876877878879880881882883884885886887...1145 新しいコメント Igor Makanu 2010.10.02 04:01 #8791 FoxUA: 正確な意味ではないかもしれませんが、BalansEURUSD 変数に利益または損失をパーセントで表示さ せる必要があります"BalansEURUSD =5%"、こんな感じ です。などなど、あと数組、例えばポンドとドロレーンとか。 一度 の方が難しいですが、計算することは可能です。 売り注文の場合 profit=NormalizeDouble((OrderOpenPrice()-Ask)*MarketInfo("EURUSD",MODE_TICKVALUE)*OrderLots() /Point,2) です。 margin=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck("EURUSD",OP_SELL,OrderLots(),2)); をBUYにしました。 profit=NormalizeDouble((Bid-OrderOpenPrice())*MarketInfo("EURUSD",MODE_TICKVALUE)*OrderLots()/Point,2) となります。 margin=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck("EURUSD",OP_BUY,OrderLots(),2)); これらは、この注文の注文+マージンの利益を計算するための完全な式であり、マージンは、注文が閉じている場合は、リリースされたマージンは、バランスに追加されるため、考慮する必要がありますお金は、数値的に増加しますが、実際の利益はされていない可能性があります。 Vladimir Pastushak 2010.10.02 06:23 #8792 みんな、1つの保留中の注文を トリガーして、別の注文を出す方法を教えてくれませんか?オーダーセレクトで試したのですが、うまくいきません...... order type == buy, // where buystop was earlier open pending order // (it doesn't open.) Роман 2010.10.02 07:15 #8793 VOLDEMAR: ある保留中の注文をトリガーして、別の注文を出す方法を教えてください。オーダーセレクトでやろうとしたのですが、うまくいきませんでした・・・・・・・・。 後 order type == buy, // 以前はbystopであったところ。 オープン・オブ・ペンディング・オーダー // (オープンしない) もしあれば、(先に設定した)保留中の注文が成行となったことを意味し、次の注文(必要な別の保留中の注文、例えば:買い注文が成行なら、バイストップを出す、など)を出します。を読むことをお勧めします。 alpariウェブサイト上 - FXトレーニング - トレーダーズマニュアル - オートトレーディングMKL4(左側のパネル) - トレーディングアドバイザー - (オーダーセレクト、オーダーエンド、条件演算子など)。 http://www.alpari.ru/ru/school/textbook/autotrading/expert_advisors/- 簡潔で情報量が多い... Dimka-novitsek 2010.10.02 09:37 #8794 プログラミングを勉強中なのですが、教えてください。 Expert Advisorで以下の条件が満たされないのではないかと思うのですが、教えてください。 while (B*Point >zmm) Comment("差分値 ", B); OrderSend(Symbol(,OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point, "macd sample",16384,0,Green); どのように確認するのか、どのような方法があるのか。 また、ティックが効かない時は可能でしょうか? fanat 2010.10.02 11:44 #8795 専門家の皆様へEAの書き方を勉強中です。使えるけど、全部じゃない。注文の変更と終了のブロックが機能しない。その理由が見つからない。とお願いしています。 //+------------------------------------------------------------------+ //| Monetny dvor1.mq4 | //| fanat | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "fanat" #property link "http://www.metaquotes.net" extern int TakeProfit=484; // extern int StopLoss=89; // extern bool BStop=true; //Включение безубытка extern int Stop=90; // //+------------------------------------------------------------ int start() {//1 if(TakeProfit<10){Alert("Ошибка,Take слишком близко");return;} if(StopLoss<10){Alert("Ошибка,StopLoss слишком близко");return;} bool Buy=false; bool Sell=false; if(Close[0]>High[1])Buy=true; if(Close[0]<Low[1])Sell=true; int err; int Order_Count[6]; int OP=-1; ArrayInitialize(Order_Count,0); for(int i=0;i<=OrdersTotal();i++) // {//2 // Блок учета ордеров if(OrderSelect(i,SELECT_BY_POS)==true)// {//3 // Order_Count[OrderType()]++; // if(OP!=-1)return(Order_Count[OP]); // }//3 }//2 if(OrdersTotal()>0) {//2 if(BStop==true&&OrderOpenPrice()!=OrderStopLoss()) //Модификация ордеров {//3 // if((OrderType()==0&&(Ask-OrderOpenPrice())>Stop)||(OrderType()==1&&(OrderOpenPrice()-Bid)>Stop))// {//4 // int ticket=OrderTicket(); // double Price=OrderOpenPrice(); // double SL=OrderOpenPrice(); // double TP=OrderTakeProfit(); // bool Ans=OrderModify(ticket,Price,SL,TP,0); // if(Ans==false){err=GetLastError();Alert(err);Sleep(500);return;} //Обработка ошибок }//4 }//3 // if(OrderType()==1&&(Buy==true||Ask<OrderTakeProfit()||Bid>OrderStopLoss())) //Условия закрытия ордеров Sell {//3 ticket=OrderTicket(); //Закрытие ордеров Sell double Lots=OrderLots(); // OrderClose(ticket,Lots,Ask,4); // err=GetLastError(); //Обработка ошибок if(err>0){Alert(err);Sleep(500);return;} // }//3 if(OrderType()==0&&(Sell==true||Bid>OrderTakeProfit()||Ask<OrderStopLoss())) //Условия закрытие ордеров Buy {//3 ticket=OrderTicket(); //Закрытие ордеров Buy Lots=OrderLots(); // OrderClose(ticket,Lots,Bid,4); // err=GetLastError(); //Обработка ошибок if(err>0){Alert(err);Sleep(500);return;} // }//3 }//2 if(Buy==false&&Sell==false)return; int Total=1; double Lot=0.03; /* if(AccountBalance()>400)Lot=0.04; // if(AccountBalance()>500)Lot=0.05; // if(AccountBalance()>600)Total=2; // if(AccountBalance()>800)Lot=0.04;Total=2; // Блок вычисления лота для реала if(AccountBalance()>1000)Lot=0.05;Total=2; // if(AccountBalance()>1200)Lot=0.04;Total=3; // if(AccountBalance()>1500)Lot=0.05;Total=3; // if(AccountBalance()>1600)Lot=0.04;Total=4; // if(AccountBalance()>1800)Lot=0.03;Total=6;*/ // Lot=0.1; if(AccountBalance()>1600)Lot=0.2; if(AccountBalance()>2400)Lot=0.3; if(Order_Count[OP_BUY]<Total&&Order_Count[OP_SELL]==0&&Buy==true) //Открытие ордеров Buy {//2 // OrderSend(Symbol(), OP_BUY, Lot, Ask, 4, Ask-StopLoss*Point, Ask+TakeProfit*Point);// err=GetLastError(); //Обработка ошибок if(err>0){Alert(err);Sleep(500);} // return; }//2 if(Order_Count[OP_SELL]<Total&&Order_Count[OP_BUY]==0&&Sell==true) //Открытие ордеров Sell {//2 // OrderSend(Symbol(), OP_SELL, Lot, Bid, 4, Bid+StopLoss*Point, Bid-TakeProfit*Point);// err=GetLastError(); //Обработка ошибок if(err>0){Alert(err);Sleep(500);} // }//2 return; }//1 お願いしているのです。 Victor Nikolaev 2010.10.02 16:14 #8796 fanat: 専門家の皆様へEAの書き方を勉強中です。使えるけど、全部じゃない。注文の変更と終了のブロックが機能しない。その理由が見つからない。とお願いしています。 お願いしているのです。 そろそろ機能に慣れてきた頃かもしれませんね。 Rossi 2010.10.02 18:28 #8797 それが問題なのです。 MathSrand(TimeLocal())。 int periodRandom=period+ MathRand()/10000; int period2Random=period2+ MathRand()/10000。 Moving1=iMA(Symbol(),0,periodRandom,0,MODE_SMA,price,1) ; Moving2=iMA(Symbol(),0,period2Random,0,MODE_SMA,price,1) となります。 振っている期間-期間+0~3のランダムな値をランダムに変更することにしました。 しかし、テスターでは、常に同じ利益値が表示されます。もしかしたらピリオドが変わらないかもしれない、何を間違えて保存したんだろう? 削除済み 2010.10.03 00:16 #8798 こんにちは!質問は簡単です:定数を介してではなく、2次元配列の2番目の次元を設定することは可能ですか? つまり、double massiv[5][5] とすべきところ、double massiv[5][k] としたい。k は、例えば extern int k = 5 などで先に設定した既知の整数値である。1次元目はArrayResize関数で 変更できるのですが、2次元目がなぜか変更できません...。 Igor Makanu 2010.10.03 04:42 #8799 fru1t: こんにちは、私の質問は簡単です:定数を介して以外の方法で2次元配列の2番目の次元を指定することは可能ですか? つまり、double massiv[5][5] とすべきところ、double massiv[5][k] としたい。k は既知の整数で、例えば extern int k = 5 などで先に定義されています。1次元目はArrayResize関数で変更できるのですが、2次元目がなぜか変更できません...。 #define k 5 https://docs.mql4.com/ru/basis/preprosessor/constant Dersu 2010.10.03 06:50 #8800 専門家の皆さん、こんにちは。 左上のインジケーターサブウィンドウから情報を削除する方法を教えてください。 邪魔なんです。 1...873874875876877878879880881882883884885886887...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
正確な意味ではないかもしれませんが、BalansEURUSD 変数に利益または損失をパーセントで表示さ せる必要があります"BalansEURUSD =5%"、こんな感じ です。
などなど、あと数組、例えばポンドとドロレーンとか。
一度
の方が難しいですが、計算することは可能です。
売り注文の場合
profit=NormalizeDouble((OrderOpenPrice()-Ask)*MarketInfo("EURUSD",MODE_TICKVALUE)*OrderLots() /Point,2) です。
margin=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck("EURUSD",OP_SELL,OrderLots(),2));
をBUYにしました。
profit=NormalizeDouble((Bid-OrderOpenPrice())*MarketInfo("EURUSD",MODE_TICKVALUE)*OrderLots()/Point,2) となります。
margin=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck("EURUSD",OP_BUY,OrderLots(),2));
これらは、この注文の注文+マージンの利益を計算するための完全な式であり、マージンは、注文が閉じている場合は、リリースされたマージンは、バランスに追加されるため、考慮する必要がありますお金は、数値的に増加しますが、実際の利益はされていない可能性があります。
みんな、1つの保留中の注文を トリガーして、別の注文を出す方法を教えてくれませんか?オーダーセレクトで試したのですが、うまくいきません......
order type == buy, // where buystop was earlier
open pending order // (it doesn't open.)
ある保留中の注文をトリガーして、別の注文を出す方法を教えてください。オーダーセレクトでやろうとしたのですが、うまくいきませんでした・・・・・・・・。
後
order type == buy, // 以前はbystopであったところ。
オープン・オブ・ペンディング・オーダー // (オープンしない)
もしあれば、(先に設定した)保留中の注文が成行となったことを意味し、次の注文(必要な別の保留中の注文、例えば:買い注文が成行なら、バイストップを出す、など)を出します。を読むことをお勧めします。
alpariウェブサイト上 - FXトレーニング - トレーダーズマニュアル - オートトレーディングMKL4(左側のパネル) - トレーディングアドバイザー - (オーダーセレクト、オーダーエンド、条件演算子など)。
http://www.alpari.ru/ru/school/textbook/autotrading/expert_advisors/- 簡潔で情報量が多い...
プログラミングを勉強中なのですが、教えてください。 Expert Advisorで以下の条件が満たされないのではないかと思うのですが、教えてください。
while (B*Point >zmm)
Comment("差分値 ", B);
OrderSend(Symbol(,OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point, "macd sample",16384,0,Green);
どのように確認するのか、どのような方法があるのか。 また、ティックが効かない時は可能でしょうか?
専門家の皆様へEAの書き方を勉強中です。使えるけど、全部じゃない。注文の変更と終了のブロックが機能しない。その理由が見つからない。とお願いしています。
お願いしているのです。
専門家の皆様へEAの書き方を勉強中です。使えるけど、全部じゃない。注文の変更と終了のブロックが機能しない。その理由が見つからない。とお願いしています。
お願いしているのです。
そろそろ機能に慣れてきた頃かもしれませんね。
それが問題なのです。
MathSrand(TimeLocal())。
int periodRandom=period+ MathRand()/10000;
int period2Random=period2+ MathRand()/10000。
Moving1=iMA(Symbol(),0,periodRandom,0,MODE_SMA,price,1) ;
Moving2=iMA(Symbol(),0,period2Random,0,MODE_SMA,price,1) となります。
振っている期間-期間+0~3のランダムな値をランダムに変更することにしました。
しかし、テスターでは、常に同じ利益値が表示されます。もしかしたらピリオドが変わらないかもしれない、何を間違えて保存したんだろう?
こんにちは!質問は簡単です:定数を介してではなく、2次元配列の2番目の次元を設定することは可能ですか?
つまり、double massiv[5][5] とすべきところ、double massiv[5][k] としたい。k は、例えば extern int k = 5 などで先に設定した既知の整数値である。1次元目はArrayResize関数で 変更できるのですが、2次元目がなぜか変更できません...。
こんにちは、私の質問は簡単です:定数を介して以外の方法で2次元配列の2番目の次元を指定することは可能ですか?
つまり、double massiv[5][5] とすべきところ、double massiv[5][k] としたい。k は既知の整数で、例えば extern int k = 5 などで先に定義されています。1次元目はArrayResize関数で変更できるのですが、2次元目がなぜか変更できません...。
#define k 5
https://docs.mql4.com/ru/basis/preprosessor/constant
専門家の皆さん、こんにちは。
左上のインジケーターサブウィンドウから情報を削除する方法を教えてください。
邪魔なんです。