初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1327 1...132013211322132313241325132613271328132913301331133213331334...1503 新しいコメント Aleksandr Egorov 2021.07.14 19:39 #13261 SanAlex:はすべて同じゼロで、手数料を表示しないようにします。 double Komsa(string Pair) { double commicion=0; int tikett,entry; ulong tik,ord; //--------------------------------------------------------------- for(int i=PositionsTotal()-1;i>=0;i--) { if(PositionGetSymbol(i)==Pair){ tik=PositionGetTicket(i); //--------------------------------------------------------------- HistorySelect(0,TimeCurrent()); for(uint r=HistoryDealsTotal()-1;r>0;r--) { if((tikett=HistoryDealGetTicket(r))>0) { ord=HistoryDealGetInteger(tikett,DEAL_ORDER); entry =HistoryDealGetInteger(tikett,DEAL_ENTRY); if(entry==DEAL_ENTRY_IN) { if(tik==ord) { commicion+=HistoryDealGetDouble(tikett,DEAL_COMMISSION)*2; } } } } } } //-------------------------------------------------------------- Comment( " commisia "+commicion); return(commicion); } 正しいのか間違っているのかわかりませんが、確認したところ正しく表示されました SanAlex 2021.07.14 19:41 #13262 Aleksandr Egorov:とにかく、選択されたペアでカウントされる方法です ありがとうございました。- 今試してみます、やっぱりこの機能を把握しないといけませんね \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ はい!効いてますね。ありがとうございました。 Aleksandr Egorov 2021.07.14 19:58 #13263 SanAlex:ありがとうございました。- これから試してみます、やっぱりこの機能を把握しないとね。\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\そうです!表示されています。ありがとうございました。手数料が片側だけカウントされる場合、2倍されるため、関数が正しく動作しないことが判明したDEAL_ENTRY_IN 何とかして完成させたい SanAlex 2021.07.14 20:11 #13264 Aleksandr Egorov:手数料が片方だけしかカウントされない場合、2倍されるため、関数が正しく動作しないことが判明しました。 完璧なまでに修正する必要がある すべて正しく表示されるようです 調整しました。これが正しいかどうかは分かりませんが、警告は消えました //+------------------------------------------------------------------+ //| Commission.mq5 | //| Copyright 2021, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- Komsa(_Symbol); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double Komsa(string Pair) { double commicion=0; ulong tikett,entry; ulong tik,ord; //--------------------------------------------------------------- for(int i=PositionsTotal()-1; i>=0; i--) { if(PositionGetSymbol(i)==Pair) { tik=PositionGetTicket(i); //--------------------------------------------------------------- HistorySelect(0,TimeCurrent()); for(uint r=HistoryDealsTotal()-1; r>0; r--) { if((tikett=HistoryDealGetTicket(r))>0) { ord=HistoryDealGetInteger(tikett,DEAL_ORDER); entry =HistoryDealGetInteger(tikett,DEAL_ENTRY); if(entry==DEAL_ENTRY_IN) { if(tik==ord) { commicion+=HistoryDealGetDouble(tikett,DEAL_COMMISSION); } } } } } } //-------------------------------------------------------------- Comment(" commisia "+DoubleToString(commicion,2)); return(commicion); } //+------------------------------------------------------------------+ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 反対側のポジションを建てたところ、手数料が増えた - 正しいと思われる Aleksandr Egorov 2021.07.14 20:21 #13265 SanAlex:すべてを正確に映し出しているようです。ちょっといじってみました。正しいかどうかはわかりませんが、警告が消えました\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\反対側のポジションを建てたところ、手数料が増えたのですが......正しいようです。1ロットで建てて0.5ロットで決済した場合、エントリーとエグジットでカウントするのか、エントリーと一部撤退でカウントするのか確認する必要があります。 やることがたくさんあるんです。 Dmitiry Ananiev 2021.07.14 20:26 #13266 このスクリプトは、期間中の利益、合計ロット、各商品の 手数料を表示します。 結構です。 ファイル: All_Profit.mq5 7 kb Aleksandr Egorov 2021.07.14 20:30 #13267 Dmitiry Ananiev:このスクリプトは、期間中の利益、合計ロット、各商品の 手数料を表示します。 礼を言わないでください。 スクリプトはOKですが、オープンポジションのコムサが必要で、これはヒストリーにあります。 Valeriy Yastremskiy 2021.07.15 05:14 #13268 Aleksandr Egorov:脚本はいいのですが、オープンポーズにコムサが必要ということで、これはストーリーの中に入っています。 すでに以前から議論されていることです。手数料(ブローカーが申告したもの)は、ブローカーの取引条件で確認できます。そして、注文(オーダー)の執行にかかる本当の手数料は、注文の執行後にしかわからず、執行前にはわからないのです。 ZS. 次のティックのスプレッドと同じです。現在のティックでは、次のティックがどうなるかは分からない。価格も、スプレッドも、スワップも、手数料も分からない。そして、ブローカーはそれらを変更する権利を持っています。 SanAlex 2021.07.15 06:06 #13269 Aleksandr Egorov:1ロットでオープンし、0.5ロットでクローズした場合、エントリーとエグジットのどちらをカウントするのか、エントリーのみで、ポジションの一部を差し引くのかを確認する必要があります。 まだまだガチャガチャしないといけないんです。 おかしな ことをやっているな~と自分でもまだ理解できていません。 ポジションを開くときと閉じるときで別々にチェックしています。 //+------------------------------------------------------------------+ //| Commission.mq5 | //| Copyright 2021, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #include <Trade\Trade.mqh> CTrade trade; #property script_show_inputs //--- input bool Inp_open_close = false; // Open --> false || Close --> true //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart(void) { //--- if(!Inp_open_close) { if(!trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,0.1,SYMBOL_ASK,0.0,0.0)) Print(trade.ResultRetcode()); PlaySound("ok.wav"); CSV_OPEN(); } if(Inp_open_close) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) trade.PositionClose(_Symbol,3); PlaySound("ok.wav"); CSV_CLOS(); } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double Komsa(void) { double commicion=0; ulong tikett,entry; ulong tik,ord; //--------------------------------------------------------------- for(int i=PositionsTotal()-1; i>=0; i--) { if(PositionGetSymbol(i)==_Symbol) { tik=PositionGetTicket(i); //--------------------------------------------------------------- HistorySelect(0,TimeCurrent()); for(uint r=HistoryDealsTotal()-1; r>0; r--) { if((tikett=HistoryDealGetTicket(r))>0) { ord=HistoryDealGetInteger(tikett,DEAL_ORDER); entry =HistoryDealGetInteger(tikett,DEAL_ENTRY); if(entry==DEAL_ENTRY_IN) { if(tik==ord) { commicion+=HistoryDealGetDouble(tikett,DEAL_COMMISSION); } } } } } } //-------------------------------------------------------------- Comment(" commisia "+DoubleToString(commicion,2)); return(commicion); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void CSV_OPEN(void) { //--- ResetLastError(); int filehandle=FileOpen("CommissionOpen.csv",FILE_READ|FILE_WRITE|FILE_CSV); if(filehandle==-1) { int res=GetLastError(); Print("File open error : ", res); return; } FileSeek(filehandle, 0, SEEK_END); FileWrite(filehandle,Komsa()); FileClose(filehandle); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void CSV_CLOS(void) { //--- ResetLastError(); int filehandle=FileOpen("CommissionClose.csv",FILE_READ|FILE_WRITE|FILE_CSV); if(filehandle==-1) { int res=GetLastError(); Print("File open error : ", res); return; } FileSeek(filehandle, 0, SEEK_END); FileWrite(filehandle,Komsa()); FileClose(filehandle); } //+------------------------------------------------------------------+ Vitaly Muzichenko 2021.07.15 07:32 #13270 Valeriy Yastremskiy:すでに以前から議論されていることです。手数料(ブローカーが申告)は、ブローカーの取引条件で確認することができます。そして、注文(オーダー)執行の実質的な手数料は、注文執行後にしかわからず、執行前にはわからないのです。ZS. 次のティックのスプレッドと同じです。現在のティックでは、次のティックがどうなるかは分からない。価格も、スプレッドも、スワップも、手数料も分からない。そして、ブローカーはそれらを変更する権利を持っています。 だから、彼は自分のオープンポジションについて知る必要があるのです。 トレーディング、自動売買システム、ストラテジーテスターに関するフォーラム 初心者の方からの質問 MQL5 MT5 MetaTrader 5 アレクサンドル・エゴロフ, 2021.07.14 22:30 歴史の中で使おうとしているポジションが よく見えている 1...132013211322132313241325132613271328132913301331133213331334...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
はすべて同じゼロで、手数料を表示しないようにします。
正しいのか間違っているのかわかりませんが、確認したところ正しく表示されました
とにかく、選択されたペアでカウントされる方法です
ありがとうございました。- 今試してみます、やっぱりこの機能を把握しないといけませんね
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
はい!効いてますね。ありがとうございました。
ありがとうございました。- これから試してみます、やっぱりこの機能を把握しないとね。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
そうです!表示されています。ありがとうございました。
手数料が片側だけカウントされる場合、2倍されるため、関数が正しく動作しないことが判明した
DEAL_ENTRY_IN
何とかして完成させたい手数料が片方だけしかカウントされない場合、2倍されるため、関数が正しく動作しないことが判明しました。
完璧なまでに修正する必要があるすべて正しく表示されるようです
調整しました。これが正しいかどうかは分かりませんが、警告は消えました
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
反対側のポジションを建てたところ、手数料が増えた - 正しいと思われる
すべてを正確に映し出しているようです。
ちょっといじってみました。正しいかどうかはわかりませんが、警告が消えました
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
反対側のポジションを建てたところ、手数料が増えたのですが......正しいようです。
1ロットで建てて0.5ロットで決済した場合、エントリーとエグジットでカウントするのか、エントリーと一部撤退でカウントするのか確認する必要があります。
やることがたくさんあるんです。このスクリプトは、期間中の利益、合計ロット、各商品の 手数料を表示します。
結構です。
このスクリプトは、期間中の利益、合計ロット、各商品の 手数料を表示します。
礼を言わないでください。
スクリプトはOKですが、オープンポジションのコムサが必要で、これはヒストリーにあります。
脚本はいいのですが、オープンポーズにコムサが必要ということで、これはストーリーの中に入っています。
すでに以前から議論されていることです。手数料(ブローカーが申告したもの)は、ブローカーの取引条件で確認できます。そして、注文(オーダー)の執行にかかる本当の手数料は、注文の執行後にしかわからず、執行前にはわからないのです。
ZS. 次のティックのスプレッドと同じです。現在のティックでは、次のティックがどうなるかは分からない。価格も、スプレッドも、スワップも、手数料も分からない。そして、ブローカーはそれらを変更する権利を持っています。
1ロットでオープンし、0.5ロットでクローズした場合、エントリーとエグジットのどちらをカウントするのか、エントリーのみで、ポジションの一部を差し引くのかを確認する必要があります。
まだまだガチャガチャしないといけないんです。おかしな ことをやっているな~と自分でもまだ理解できていません。 ポジションを開くときと閉じるときで別々にチェックしています。
すでに以前から議論されていることです。手数料(ブローカーが申告)は、ブローカーの取引条件で確認することができます。そして、注文(オーダー)執行の実質的な手数料は、注文執行後にしかわからず、執行前にはわからないのです。
ZS. 次のティックのスプレッドと同じです。現在のティックでは、次のティックがどうなるかは分からない。価格も、スプレッドも、スワップも、手数料も分からない。そして、ブローカーはそれらを変更する権利を持っています。
だから、彼は自分のオープンポジションについて知る必要があるのです。
トレーディング、自動売買システム、ストラテジーテスターに関するフォーラム
初心者の方からの質問 MQL5 MT5 MetaTrader 5
アレクサンドル・エゴロフ, 2021.07.14 22:30
歴史の中で使おうとしているポジションが よく見えている